aboutsummaryrefslogtreecommitdiffstats
path: root/Domains
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kris7topher@gmail.com>2019-06-08 19:17:34 -0400
committerLibravatar Kristóf Marussy <kris7topher@gmail.com>2019-06-08 19:17:34 -0400
commitb21af04ea821c3daa9ce8a6d26c63e9cd198f9a5 (patch)
tree4be566b25415ca97cb007b5da7d89f216ef515b2 /Domains
parentMerge remote-tracking branch 'origin/master' into kris (diff)
downloadVIATRA-Generator-b21af04ea821c3daa9ce8a6d26c63e9cd198f9a5.tar.gz
VIATRA-Generator-b21af04ea821c3daa9ce8a6d26c63e9cd198f9a5.tar.zst
VIATRA-Generator-b21af04ea821c3daa9ce8a6d26c63e9cd198f9a5.zip
Trying to simplify Satellite case study
Diffstat (limited to 'Domains')
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CbcCpsMain.xtendbinbin7229 -> 7229 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CpsToLpTranslator.xtendbinbin11104 -> 11104 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.CpsStateCoder.xtendbinbin7626 -> 7626 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsMain.xtendbinbin5193 -> 5193 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsSolver.xtendbinbin7336 -> 7336 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.CpsGenerator.xtendbinbin9849 -> 9849 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.CpsMdeOptimiserMain.xtendbinbin6286 -> 6286 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ExcludedOptimisationInterpreter.xtendbinbin7559 -> 7559 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NonRedundantAllocationsConstraint.xtendbinbin3332 -> 3332 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotAllocatedAppInstancesConstraint.xtendbinbin3440 -> 3440 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotSatisfiedRequirementsConstraint.xtendbinbin3412 -> 3412 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ResourceUtilizationUtil.xtendbinbin3546 -> 3546 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageHddConstraint.xtendbinbin3790 -> 3790 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageMemoryConstraint.xtendbinbin3797 -> 3797 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TotalCostFitnessFunction.xtendbinbin2975 -> 2975 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableHddConstraint.xtendbinbin3131 -> 3131 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableMemoryConstraint.xtendbinbin3130 -> 3130 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.classpath1
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.project1
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.settings/org.eclipse.core.resources.prefs3
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/META-INF/MANIFEST.MF25
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/configs/generation.vsconfig2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/AntennaGain.java242
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/CommSubsystem.java83
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/CommunicatingElement.java69
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/ConstellationMission.java69
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/CubeSat3U.java16
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/CubeSat6U.java16
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/DirectedCommunicationLink.java77
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/GroundStationNetwork.java16
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/InterferometryMission.java49
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/InterferometryPayload.java16
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/Payload.java18
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/SatelliteFactory.java105
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/SatellitePackage.java1306
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/SmallSat.java16
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/Spacecraft.java66
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/SpacecraftKind.java241
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/TransceiverBand.java242
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/CommSubsystemImpl.java226
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/CommunicatingElementImpl.java237
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/ConstellationMissionImpl.java237
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/CubeSat3UImpl.java37
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/CubeSat6UImpl.java37
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/DirectedCommunicationLinkImpl.java227
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/GroundStationNetworkImpl.java37
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/InterferometryMissionImpl.java166
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/InterferometryPayloadImpl.java37
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/PayloadImpl.java39
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/SatelliteFactoryImpl.java294
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/SatellitePackageImpl.java684
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/SmallSatImpl.java37
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/SpacecraftImpl.java212
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/util/SatelliteAdapterFactory.java347
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/util/SatelliteSwitch.java404
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/AntennaGain.java12
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommSubsystem.java66
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommunicatingElement.java8
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/ConstellationMission.java8
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat.java (renamed from Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/CubeSat.java)4
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat3U.java2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat6U.java2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/DirectedCommunicationLink.java8
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/InterferometryMission.java4
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/KaCommSubsystem.java16
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatelliteFactory.java36
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatellitePackage.java326
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/Spacecraft.java23
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SpacecraftKind.java12
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/TransceiverBand.java12
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/UHFCommSubsystem.java16
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/XCommSubsystem.java16
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommSubsystemImpl.java191
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSat3UImpl.java2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSat6UImpl.java2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSatImpl.java (renamed from Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/CubeSatImpl.java)8
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/KaCommSubsystemImpl.java37
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SatelliteFactoryImpl.java115
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SatellitePackageImpl.java154
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SpacecraftImpl.java28
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/UHFCommSubsystemImpl.java37
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/XCommSubsystemImpl.java37
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteAdapterFactory.java76
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteSwitch.java102
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/inputs/SatelliteInstance.xmi6
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-data-steps.csv145
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-outcome.txt20
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-serialized-objectives.pf1
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/mutation-operators/satellite.ecore68
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0796A23B6.xmi13
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/experiment-data.csv2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/satellite.mopt35
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshinoverall-results.txt27
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.aird2225
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.ecore32
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.genmodel25
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.henshin61
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.henshin_diagram131
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite_fixup.henshin23
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/errors.txt13
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generated3valued.vql_deactivated1744
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generation.logicproblem1127
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/init.partialmodel99
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/log.txt2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/1.gml741
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/1.pngbin230838 -> 248114 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/1.xmi20
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/statistics.csv2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml22
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.gitignore17
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CostMetric.java544
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CoverageMetric.java552
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CubeSatWithKaAntenna.java27
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetBand.java21
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetGain.java582
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/KaAntennaGainLow.java574
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.java88
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SpacecraftOfKind.java754
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/TimeMetric.java544
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/UhfAntennaGainNotLow.java576
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/XAntennaGainNotMedium.java570
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.CubeSat6U.java._tracebin0 -> 718 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.MatchingCommSubsystem.java._tracebin0 -> 755 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.gitignore28
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/AdditionalCommSubsystemCost.java173
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/BasePrice.java195
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBand.java140
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBandUhf.java23
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGain.java140
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGainMedium.java138
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CubeSat6U.java (renamed from Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGainLow.java)47
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IncomingData.java145
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/InterferometryPayloadCost.java175
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/LinkAllowed.java23
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MatchingAntenna.java67
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MatchingCommSubsystem.java173
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MissionCost.java183
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MissionCoverage.java183
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MissionTime.java183
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SatelliteQueriesAll.java81
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/ScienceData.java179
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftCost.java209
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftUplink.java171
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftWithTwoCommSubsystems.java146
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/TransmitRate.java277
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/TransmitTime.java200
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/CostObjective.xtend13
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/ExcludedOptimisationInterpreter.xtend85
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/LocalSearchEngineManager.xtend31
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/MetricBasedGuidanceFunction.xtend47
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/PatternMatchConstraint.xtend29
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/SatelliteMdeOptimiserMain.xtend52
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/satellite.mopt35
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql378
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/runner/SatelliteGeneratorMain.xtend4
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.gitignore3
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.gitignore10
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/runner/.gitignore2
158 files changed, 3143 insertions, 19555 deletions
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CbcCpsMain.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CbcCpsMain.xtendbin
index 71900272..0dcd0b1d 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CbcCpsMain.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CbcCpsMain.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CpsToLpTranslator.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CpsToLpTranslator.xtendbin
index b0bc1a5c..c3d3202c 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CpsToLpTranslator.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CpsToLpTranslator.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.CpsStateCoder.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.CpsStateCoder.xtendbin
index 94ae5907..4d56573f 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.CpsStateCoder.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.CpsStateCoder.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsMain.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsMain.xtendbin
index 933852a1..91af090d 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsMain.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsMain.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsSolver.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsSolver.xtendbin
index 1462e776..67d12b2f 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsSolver.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsSolver.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.CpsGenerator.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.CpsGenerator.xtendbin
index a46b8a8e..05dfa951 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.CpsGenerator.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.CpsGenerator.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.CpsMdeOptimiserMain.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.CpsMdeOptimiserMain.xtendbin
index c7d29222..2b90f81c 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.CpsMdeOptimiserMain.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.CpsMdeOptimiserMain.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ExcludedOptimisationInterpreter.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ExcludedOptimisationInterpreter.xtendbin
index 40ce34e3..b299659d 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ExcludedOptimisationInterpreter.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ExcludedOptimisationInterpreter.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NonRedundantAllocationsConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NonRedundantAllocationsConstraint.xtendbin
index 667c165b..a0b4f289 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NonRedundantAllocationsConstraint.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NonRedundantAllocationsConstraint.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotAllocatedAppInstancesConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotAllocatedAppInstancesConstraint.xtendbin
index b1b1967a..a2180cf1 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotAllocatedAppInstancesConstraint.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotAllocatedAppInstancesConstraint.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotSatisfiedRequirementsConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotSatisfiedRequirementsConstraint.xtendbin
index b4385fa3..9685c9d3 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotSatisfiedRequirementsConstraint.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotSatisfiedRequirementsConstraint.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ResourceUtilizationUtil.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ResourceUtilizationUtil.xtendbin
index a46e86d4..0ceac5a2 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ResourceUtilizationUtil.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ResourceUtilizationUtil.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageHddConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageHddConstraint.xtendbin
index 5a6b7da0..b36fc701 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageHddConstraint.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageHddConstraint.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageMemoryConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageMemoryConstraint.xtendbin
index 5b1f5002..3c576360 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageMemoryConstraint.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageMemoryConstraint.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TotalCostFitnessFunction.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TotalCostFitnessFunction.xtendbin
index fdfd8717..bcca2c43 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TotalCostFitnessFunction.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TotalCostFitnessFunction.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableHddConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableHddConstraint.xtendbin
index 43ca6549..3e869977 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableHddConstraint.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableHddConstraint.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableMemoryConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableMemoryConstraint.xtendbin
index aff12eca..33c482e3 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableMemoryConstraint.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableMemoryConstraint.xtendbin
Binary files differ
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 @@
6 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> 6 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
7 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> 7 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
8 <classpathentry kind="src" path="src-gen"/> 8 <classpathentry kind="src" path="src-gen"/>
9 <classpathentry kind="con" path="uk.ac.kcl.inf.mdeoptimiser.languages.ui.Mopt.MDEO_CONTAINER/dsl"/>
9 <classpathentry kind="output" path="bin"/> 10 <classpathentry kind="output" path="bin"/>
10</classpath> 11</classpath>
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 @@
32 </buildCommand> 32 </buildCommand>
33 </buildSpec> 33 </buildSpec>
34 <natures> 34 <natures>
35 <nature>org.eclipse.sirius.nature.modelingproject</nature>
36 <nature>org.eclipse.jdt.core.javanature</nature> 35 <nature>org.eclipse.jdt.core.javanature</nature>
37 <nature>org.eclipse.pde.PluginNature</nature> 36 <nature>org.eclipse.pde.PluginNature</nature>
38 <nature>org.eclipse.viatra.query.projectnature</nature> 37 <nature>org.eclipse.viatra.query.projectnature</nature>
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 @@
1eclipse.preferences.version=1
2encoding//model/satellite.henshin=UTF-8
3encoding//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
6Bundle-ClassPath: . 6Bundle-ClassPath: .
7Bundle-Vendor: %providerName 7Bundle-Vendor: %providerName
8Bundle-Localization: plugin 8Bundle-Localization: plugin
9Export-Package: hu.bme.mit.inf.dslreasoner.domains.satellite, 9Export-Package: hu.bme.mit.inf.dslreasoner.domains.satellite.queries,
10 hu.bme.mit.inf.dslreasoner.domains.satellite.impl,
11 hu.bme.mit.inf.dslreasoner.domains.satellite.queries,
12 hu.bme.mit.inf.dslreasoner.domains.satellite.runner,
13 hu.bme.mit.inf.dslreasoner.domains.satellite.util,
14 satellite, 10 satellite,
15 satellite.impl, 11 satellite.impl,
16 satellite.util 12 satellite.util
@@ -21,7 +17,24 @@ Require-Bundle: org.eclipse.viatra.addon.querybasedfeatures.runtime,
21 org.eclipse.xtext.xbase.lib, 17 org.eclipse.xtext.xbase.lib,
22 org.eclipse.emf.ecore;visibility:=reexport, 18 org.eclipse.emf.ecore;visibility:=reexport,
23 org.eclipse.core.runtime, 19 org.eclipse.core.runtime,
24 hu.bme.mit.inf.dslreasoner.application 20 hu.bme.mit.inf.dslreasoner.application,
21 org.eclipse.viatra.dse;bundle-version="0.22.0",
22 org.eclipse.viatra.dse.genetic;bundle-version="0.22.0",
23 hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner;bundle-version="1.0.0",
24 org.eclipse.emf.ecore.xmi;bundle-version="2.15.0",
25 uk.ac.kcl.inf.mdeoptimiser.libraries.core;bundle-version="1.0.0",
26 uk.ac.kcl.inf.mdeoptimiser.interfaces.cli;bundle-version="1.0.0",
27 org.eclipse.emf.henshin.interpreter;bundle-version="1.5.0",
28 uk.ac.kcl.inf.mdeoptimiser.libraries.rulegen;bundle-version="1.0.0",
29 org.sidiff.common;bundle-version="1.0.0",
30 org.sidiff.common.emf;bundle-version="1.0.0",
31 org.sidiff.common.emf.extensions;bundle-version="1.0.0",
32 org.moeaframework;bundle-version="2.13.0",
33 org.apache.commons.math3;bundle-version="3.6.1",
34 org.apache.commons.lang3;bundle-version="3.8.1",
35 com.google.inject;bundle-version="3.0.0",
36 org.sidiff.common.henshin;bundle-version="1.0.0",
37 org.sidiff.serge;bundle-version="1.0.0"
25Import-Package: org.apache.log4j 38Import-Package: org.apache.log4j
26Automatic-Module-Name: hu.bme.mit.inf.dslreasoner.domains.satellite 39Automatic-Module-Name: hu.bme.mit.inf.dslreasoner.domains.satellite
27Bundle-ActivationPolicy: lazy 40Bundle-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 {
7 partial-model = { "inputs/SatelliteInstance.xmi"} 7 partial-model = { "inputs/SatelliteInstance.xmi"}
8 solver = ViatraSolver 8 solver = ViatraSolver
9 scope = { 9 scope = {
10 #node += 16..32 10 #node += 0..10
11 } 11 }
12 12
13 config = { 13 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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite;
4
5import java.util.Arrays;
6import java.util.Collections;
7import java.util.List;
8
9import org.eclipse.emf.common.util.Enumerator;
10
11/**
12 * <!-- begin-user-doc -->
13 * A representation of the literals of the enumeration '<em><b>Antenna Gain</b></em>',
14 * and utility methods for working with them.
15 * <!-- end-user-doc -->
16 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getAntennaGain()
17 * @model
18 * @generated
19 */
20public enum AntennaGain implements Enumerator {
21 /**
22 * The '<em><b>LOW</b></em>' literal object.
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @see #LOW_VALUE
26 * @generated
27 * @ordered
28 */
29 LOW(0, "LOW", "LOW"),
30
31 /**
32 * The '<em><b>MEDIUM</b></em>' literal object.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #MEDIUM_VALUE
36 * @generated
37 * @ordered
38 */
39 MEDIUM(1, "MEDIUM", "MEDIUM"),
40
41 /**
42 * The '<em><b>HIGH</b></em>' literal object.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #HIGH_VALUE
46 * @generated
47 * @ordered
48 */
49 HIGH(2, "HIGH", "HIGH");
50
51 /**
52 * The '<em><b>LOW</b></em>' literal value.
53 * <!-- begin-user-doc -->
54 * <p>
55 * If the meaning of '<em><b>LOW</b></em>' literal object isn't clear,
56 * there really should be more of a description here...
57 * </p>
58 * <!-- end-user-doc -->
59 * @see #LOW
60 * @model
61 * @generated
62 * @ordered
63 */
64 public static final int LOW_VALUE = 0;
65
66 /**
67 * The '<em><b>MEDIUM</b></em>' literal value.
68 * <!-- begin-user-doc -->
69 * <p>
70 * If the meaning of '<em><b>MEDIUM</b></em>' literal object isn't clear,
71 * there really should be more of a description here...
72 * </p>
73 * <!-- end-user-doc -->
74 * @see #MEDIUM
75 * @model
76 * @generated
77 * @ordered
78 */
79 public static final int MEDIUM_VALUE = 1;
80
81 /**
82 * The '<em><b>HIGH</b></em>' literal value.
83 * <!-- begin-user-doc -->
84 * <p>
85 * If the meaning of '<em><b>HIGH</b></em>' literal object isn't clear,
86 * there really should be more of a description here...
87 * </p>
88 * <!-- end-user-doc -->
89 * @see #HIGH
90 * @model
91 * @generated
92 * @ordered
93 */
94 public static final int HIGH_VALUE = 2;
95
96 /**
97 * An array of all the '<em><b>Antenna Gain</b></em>' enumerators.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 private static final AntennaGain[] VALUES_ARRAY = new AntennaGain[] { LOW, MEDIUM, HIGH, };
103
104 /**
105 * A public read-only list of all the '<em><b>Antenna Gain</b></em>' enumerators.
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 public static final List<AntennaGain> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
111
112 /**
113 * Returns the '<em><b>Antenna Gain</b></em>' literal with the specified literal value.
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @param literal the literal.
117 * @return the matching enumerator or <code>null</code>.
118 * @generated
119 */
120 public static AntennaGain get(String literal) {
121 for (int i = 0; i < VALUES_ARRAY.length; ++i) {
122 AntennaGain result = VALUES_ARRAY[i];
123 if (result.toString().equals(literal)) {
124 return result;
125 }
126 }
127 return null;
128 }
129
130 /**
131 * Returns the '<em><b>Antenna Gain</b></em>' literal with the specified name.
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @param name the name.
135 * @return the matching enumerator or <code>null</code>.
136 * @generated
137 */
138 public static AntennaGain getByName(String name) {
139 for (int i = 0; i < VALUES_ARRAY.length; ++i) {
140 AntennaGain result = VALUES_ARRAY[i];
141 if (result.getName().equals(name)) {
142 return result;
143 }
144 }
145 return null;
146 }
147
148 /**
149 * Returns the '<em><b>Antenna Gain</b></em>' literal with the specified integer value.
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @param value the integer value.
153 * @return the matching enumerator or <code>null</code>.
154 * @generated
155 */
156 public static AntennaGain get(int value) {
157 switch (value) {
158 case LOW_VALUE:
159 return LOW;
160 case MEDIUM_VALUE:
161 return MEDIUM;
162 case HIGH_VALUE:
163 return HIGH;
164 }
165 return null;
166 }
167
168 /**
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 private final int value;
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 private final String name;
181
182 /**
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @generated
186 */
187 private final String literal;
188
189 /**
190 * Only this class can construct instances.
191 * <!-- begin-user-doc -->
192 * <!-- end-user-doc -->
193 * @generated
194 */
195 private AntennaGain(int value, String name, String literal) {
196 this.value = value;
197 this.name = name;
198 this.literal = literal;
199 }
200
201 /**
202 * <!-- begin-user-doc -->
203 * <!-- end-user-doc -->
204 * @generated
205 */
206 @Override
207 public int getValue() {
208 return value;
209 }
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 @Override
217 public String getName() {
218 return name;
219 }
220
221 /**
222 * <!-- begin-user-doc -->
223 * <!-- end-user-doc -->
224 * @generated
225 */
226 @Override
227 public String getLiteral() {
228 return literal;
229 }
230
231 /**
232 * Returns the literal value of the enumerator, which is its string representation.
233 * <!-- begin-user-doc -->
234 * <!-- end-user-doc -->
235 * @generated
236 */
237 @Override
238 public String toString() {
239 return literal;
240 }
241
242} //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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Comm Subsystem</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem#getBand <em>Band</em>}</li>
17 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem#getGain <em>Gain</em>}</li>
18 * </ul>
19 *
20 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getCommSubsystem()
21 * @model
22 * @generated
23 */
24public interface CommSubsystem extends EObject {
25 /**
26 * Returns the value of the '<em><b>Band</b></em>' attribute.
27 * The literals are from the enumeration {@link hu.bme.mit.inf.dslreasoner.domains.satellite.TransceiverBand}.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>Band</em>' attribute isn't clear,
31 * there really should be more of a description here...
32 * </p>
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Band</em>' attribute.
35 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.TransceiverBand
36 * @see #setBand(TransceiverBand)
37 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getCommSubsystem_Band()
38 * @model required="true"
39 * @generated
40 */
41 TransceiverBand getBand();
42
43 /**
44 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem#getBand <em>Band</em>}' attribute.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @param value the new value of the '<em>Band</em>' attribute.
48 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.TransceiverBand
49 * @see #getBand()
50 * @generated
51 */
52 void setBand(TransceiverBand value);
53
54 /**
55 * Returns the value of the '<em><b>Gain</b></em>' attribute.
56 * The literals are from the enumeration {@link hu.bme.mit.inf.dslreasoner.domains.satellite.AntennaGain}.
57 * <!-- begin-user-doc -->
58 * <p>
59 * If the meaning of the '<em>Gain</em>' attribute isn't clear,
60 * there really should be more of a description here...
61 * </p>
62 * <!-- end-user-doc -->
63 * @return the value of the '<em>Gain</em>' attribute.
64 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.AntennaGain
65 * @see #setGain(AntennaGain)
66 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getCommSubsystem_Gain()
67 * @model required="true"
68 * @generated
69 */
70 AntennaGain getGain();
71
72 /**
73 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem#getGain <em>Gain</em>}' attribute.
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @param value the new value of the '<em>Gain</em>' attribute.
77 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.AntennaGain
78 * @see #getGain()
79 * @generated
80 */
81 void setGain(AntennaGain value);
82
83} // 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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite;
4
5import org.eclipse.emf.common.util.EList;
6
7import org.eclipse.emf.ecore.EObject;
8
9/**
10 * <!-- begin-user-doc -->
11 * A representation of the model object '<em><b>Communicating Element</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement#getCommSubsystem <em>Comm Subsystem</em>}</li>
19 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement#getCommunicationLink <em>Communication Link</em>}</li>
20 * </ul>
21 *
22 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getCommunicatingElement()
23 * @model abstract="true"
24 * @generated
25 */
26public interface CommunicatingElement extends EObject {
27 /**
28 * Returns the value of the '<em><b>Comm Subsystem</b></em>' containment reference list.
29 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem}.
30 * <!-- begin-user-doc -->
31 * <p>
32 * If the meaning of the '<em>Comm Subsystem</em>' containment reference list isn't clear,
33 * there really should be more of a description here...
34 * </p>
35 * <!-- end-user-doc -->
36 * @return the value of the '<em>Comm Subsystem</em>' containment reference list.
37 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getCommunicatingElement_CommSubsystem()
38 * @model containment="true" required="true" upper="2"
39 * @generated
40 */
41 EList<CommSubsystem> getCommSubsystem();
42
43 /**
44 * Returns the value of the '<em><b>Communication Link</b></em>' containment reference.
45 * <!-- begin-user-doc -->
46 * <p>
47 * If the meaning of the '<em>Communication Link</em>' containment reference isn't clear,
48 * there really should be more of a description here...
49 * </p>
50 * <!-- end-user-doc -->
51 * @return the value of the '<em>Communication Link</em>' containment reference.
52 * @see #setCommunicationLink(DirectedCommunicationLink)
53 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getCommunicatingElement_CommunicationLink()
54 * @model containment="true"
55 * @generated
56 */
57 DirectedCommunicationLink getCommunicationLink();
58
59 /**
60 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement#getCommunicationLink <em>Communication Link</em>}' containment reference.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @param value the new value of the '<em>Communication Link</em>' containment reference.
64 * @see #getCommunicationLink()
65 * @generated
66 */
67 void setCommunicationLink(DirectedCommunicationLink value);
68
69} // 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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite;
4
5import org.eclipse.emf.common.util.EList;
6
7import org.eclipse.emf.ecore.EObject;
8
9/**
10 * <!-- begin-user-doc -->
11 * A representation of the model object '<em><b>Constellation Mission</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.satellite.ConstellationMission#getGroundStationNetwork <em>Ground Station Network</em>}</li>
19 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.satellite.ConstellationMission#getSpacecraft <em>Spacecraft</em>}</li>
20 * </ul>
21 *
22 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getConstellationMission()
23 * @model abstract="true"
24 * @generated
25 */
26public interface ConstellationMission extends EObject {
27 /**
28 * Returns the value of the '<em><b>Ground Station Network</b></em>' containment reference.
29 * <!-- begin-user-doc -->
30 * <p>
31 * If the meaning of the '<em>Ground Station Network</em>' containment reference isn't clear,
32 * there really should be more of a description here...
33 * </p>
34 * <!-- end-user-doc -->
35 * @return the value of the '<em>Ground Station Network</em>' containment reference.
36 * @see #setGroundStationNetwork(GroundStationNetwork)
37 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getConstellationMission_GroundStationNetwork()
38 * @model containment="true" required="true"
39 * @generated
40 */
41 GroundStationNetwork getGroundStationNetwork();
42
43 /**
44 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.ConstellationMission#getGroundStationNetwork <em>Ground Station Network</em>}' containment reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @param value the new value of the '<em>Ground Station Network</em>' containment reference.
48 * @see #getGroundStationNetwork()
49 * @generated
50 */
51 void setGroundStationNetwork(GroundStationNetwork value);
52
53 /**
54 * Returns the value of the '<em><b>Spacecraft</b></em>' containment reference list.
55 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft}.
56 * <!-- begin-user-doc -->
57 * <p>
58 * If the meaning of the '<em>Spacecraft</em>' containment reference list isn't clear,
59 * there really should be more of a description here...
60 * </p>
61 * <!-- end-user-doc -->
62 * @return the value of the '<em>Spacecraft</em>' containment reference list.
63 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getConstellationMission_Spacecraft()
64 * @model containment="true" lower="2" upper="50"
65 * @generated
66 */
67 EList<Spacecraft> getSpacecraft();
68
69} // ConstellationMission
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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Cube Sat3 U</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getCubeSat3U()
12 * @model
13 * @generated
14 */
15public interface CubeSat3U extends CubeSat {
16} // CubeSat3U
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Cube Sat6 U</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getCubeSat6U()
12 * @model
13 * @generated
14 */
15public interface CubeSat6U extends CubeSat {
16} // CubeSat6U
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Directed Communication Link</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink#getSource <em>Source</em>}</li>
17 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink#getTarget <em>Target</em>}</li>
18 * </ul>
19 *
20 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getDirectedCommunicationLink()
21 * @model
22 * @generated
23 */
24public interface DirectedCommunicationLink extends EObject {
25 /**
26 * Returns the value of the '<em><b>Source</b></em>' reference.
27 * <!-- begin-user-doc -->
28 * <p>
29 * If the meaning of the '<em>Source</em>' reference isn't clear,
30 * there really should be more of a description here...
31 * </p>
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Source</em>' reference.
34 * @see #setSource(CommSubsystem)
35 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getDirectedCommunicationLink_Source()
36 * @model required="true"
37 * @generated
38 */
39 CommSubsystem getSource();
40
41 /**
42 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink#getSource <em>Source</em>}' reference.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @param value the new value of the '<em>Source</em>' reference.
46 * @see #getSource()
47 * @generated
48 */
49 void setSource(CommSubsystem value);
50
51 /**
52 * Returns the value of the '<em><b>Target</b></em>' reference.
53 * <!-- begin-user-doc -->
54 * <p>
55 * If the meaning of the '<em>Target</em>' reference isn't clear,
56 * there really should be more of a description here...
57 * </p>
58 * <!-- end-user-doc -->
59 * @return the value of the '<em>Target</em>' reference.
60 * @see #setTarget(CommSubsystem)
61 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getDirectedCommunicationLink_Target()
62 * @model required="true"
63 * @generated
64 */
65 CommSubsystem getTarget();
66
67 /**
68 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink#getTarget <em>Target</em>}' reference.
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @param value the new value of the '<em>Target</em>' reference.
72 * @see #getTarget()
73 * @generated
74 */
75 void setTarget(CommSubsystem value);
76
77} // 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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Ground Station Network</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getGroundStationNetwork()
12 * @model
13 * @generated
14 */
15public interface GroundStationNetwork extends CommunicatingElement {
16} // GroundStationNetwork
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Interferometry Mission</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 * <p>
11 * The following features are supported:
12 * </p>
13 * <ul>
14 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission#getObservationTime <em>Observation Time</em>}</li>
15 * </ul>
16 *
17 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getInterferometryMission()
18 * @model
19 * @generated
20 */
21public interface InterferometryMission extends ConstellationMission {
22 /**
23 * Returns the value of the '<em><b>Observation Time</b></em>' attribute.
24 * The default value is <code>"2.0"</code>.
25 * <!-- begin-user-doc -->
26 * <p>
27 * If the meaning of the '<em>Observation Time</em>' attribute isn't clear,
28 * there really should be more of a description here...
29 * </p>
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Observation Time</em>' attribute.
32 * @see #setObservationTime(float)
33 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getInterferometryMission_ObservationTime()
34 * @model default="2.0" required="true"
35 * @generated
36 */
37 float getObservationTime();
38
39 /**
40 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission#getObservationTime <em>Observation Time</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Observation Time</em>' attribute.
44 * @see #getObservationTime()
45 * @generated
46 */
47 void setObservationTime(float value);
48
49} // 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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Interferometry Payload</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getInterferometryPayload()
12 * @model
13 * @generated
14 */
15public interface InterferometryPayload extends Payload {
16} // InterferometryPayload
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Payload</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getPayload()
14 * @model abstract="true"
15 * @generated
16 */
17public interface Payload extends EObject {
18} // Payload
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite;
4
5import org.eclipse.emf.ecore.EFactory;
6
7/**
8 * <!-- begin-user-doc -->
9 * The <b>Factory</b> for the model.
10 * It provides a create method for each non-abstract class of the model.
11 * <!-- end-user-doc -->
12 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage
13 * @generated
14 */
15public interface SatelliteFactory extends EFactory {
16 /**
17 * The singleton instance of the factory.
18 * <!-- begin-user-doc -->
19 * <!-- end-user-doc -->
20 * @generated
21 */
22 SatelliteFactory eINSTANCE = hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatelliteFactoryImpl.init();
23
24 /**
25 * Returns a new object of class '<em>Interferometry Mission</em>'.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return a new object of class '<em>Interferometry Mission</em>'.
29 * @generated
30 */
31 InterferometryMission createInterferometryMission();
32
33 /**
34 * Returns a new object of class '<em>Ground Station Network</em>'.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @return a new object of class '<em>Ground Station Network</em>'.
38 * @generated
39 */
40 GroundStationNetwork createGroundStationNetwork();
41
42 /**
43 * Returns a new object of class '<em>Comm Subsystem</em>'.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @return a new object of class '<em>Comm Subsystem</em>'.
47 * @generated
48 */
49 CommSubsystem createCommSubsystem();
50
51 /**
52 * Returns a new object of class '<em>Directed Communication Link</em>'.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return a new object of class '<em>Directed Communication Link</em>'.
56 * @generated
57 */
58 DirectedCommunicationLink createDirectedCommunicationLink();
59
60 /**
61 * Returns a new object of class '<em>Interferometry Payload</em>'.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @return a new object of class '<em>Interferometry Payload</em>'.
65 * @generated
66 */
67 InterferometryPayload createInterferometryPayload();
68
69 /**
70 * Returns a new object of class '<em>Cube Sat3 U</em>'.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @return a new object of class '<em>Cube Sat3 U</em>'.
74 * @generated
75 */
76 CubeSat3U createCubeSat3U();
77
78 /**
79 * Returns a new object of class '<em>Cube Sat6 U</em>'.
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @return a new object of class '<em>Cube Sat6 U</em>'.
83 * @generated
84 */
85 CubeSat6U createCubeSat6U();
86
87 /**
88 * Returns a new object of class '<em>Small Sat</em>'.
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @return a new object of class '<em>Small Sat</em>'.
92 * @generated
93 */
94 SmallSat createSmallSat();
95
96 /**
97 * Returns the package supported by this factory.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @return the package supported by this factory.
101 * @generated
102 */
103 SatellitePackage getSatellitePackage();
104
105} //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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite;
4
5import org.eclipse.emf.ecore.EAttribute;
6import org.eclipse.emf.ecore.EClass;
7import org.eclipse.emf.ecore.EEnum;
8import org.eclipse.emf.ecore.EPackage;
9import org.eclipse.emf.ecore.EReference;
10
11/**
12 * <!-- begin-user-doc -->
13 * The <b>Package</b> for the model.
14 * It contains accessors for the meta objects to represent
15 * <ul>
16 * <li>each class,</li>
17 * <li>each feature of each class,</li>
18 * <li>each operation of each class,</li>
19 * <li>each enum,</li>
20 * <li>and each data type</li>
21 * </ul>
22 * <!-- end-user-doc -->
23 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatelliteFactory
24 * @model kind="package"
25 * @generated
26 */
27public interface SatellitePackage extends EPackage {
28 /**
29 * The package name.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 String eNAME = "satellite";
35
36 /**
37 * The package namespace URI.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @generated
41 */
42 String eNS_URI = "http://www.example.org/satellite";
43
44 /**
45 * The package namespace name.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 String eNS_PREFIX = "satellite";
51
52 /**
53 * The singleton instance of the package.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 SatellitePackage eINSTANCE = hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl.init();
59
60 /**
61 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.ConstellationMissionImpl <em>Constellation Mission</em>}' class.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.ConstellationMissionImpl
65 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getConstellationMission()
66 * @generated
67 */
68 int CONSTELLATION_MISSION = 0;
69
70 /**
71 * The feature id for the '<em><b>Ground Station Network</b></em>' containment reference.
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 * @ordered
76 */
77 int CONSTELLATION_MISSION__GROUND_STATION_NETWORK = 0;
78
79 /**
80 * The feature id for the '<em><b>Spacecraft</b></em>' containment reference list.
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 * @ordered
85 */
86 int CONSTELLATION_MISSION__SPACECRAFT = 1;
87
88 /**
89 * The number of structural features of the '<em>Constellation Mission</em>' class.
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 * @ordered
94 */
95 int CONSTELLATION_MISSION_FEATURE_COUNT = 2;
96
97 /**
98 * The number of operations of the '<em>Constellation Mission</em>' class.
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 * @ordered
103 */
104 int CONSTELLATION_MISSION_OPERATION_COUNT = 0;
105
106 /**
107 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.InterferometryMissionImpl <em>Interferometry Mission</em>}' class.
108 * <!-- begin-user-doc -->
109 * <!-- end-user-doc -->
110 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.InterferometryMissionImpl
111 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getInterferometryMission()
112 * @generated
113 */
114 int INTERFEROMETRY_MISSION = 1;
115
116 /**
117 * The feature id for the '<em><b>Ground Station Network</b></em>' containment reference.
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 * @ordered
122 */
123 int INTERFEROMETRY_MISSION__GROUND_STATION_NETWORK = CONSTELLATION_MISSION__GROUND_STATION_NETWORK;
124
125 /**
126 * The feature id for the '<em><b>Spacecraft</b></em>' containment reference list.
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 * @ordered
131 */
132 int INTERFEROMETRY_MISSION__SPACECRAFT = CONSTELLATION_MISSION__SPACECRAFT;
133
134 /**
135 * The feature id for the '<em><b>Observation Time</b></em>' attribute.
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 * @ordered
140 */
141 int INTERFEROMETRY_MISSION__OBSERVATION_TIME = CONSTELLATION_MISSION_FEATURE_COUNT + 0;
142
143 /**
144 * The number of structural features of the '<em>Interferometry Mission</em>' class.
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @generated
148 * @ordered
149 */
150 int INTERFEROMETRY_MISSION_FEATURE_COUNT = CONSTELLATION_MISSION_FEATURE_COUNT + 1;
151
152 /**
153 * The number of operations of the '<em>Interferometry Mission</em>' class.
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 * @ordered
158 */
159 int INTERFEROMETRY_MISSION_OPERATION_COUNT = CONSTELLATION_MISSION_OPERATION_COUNT + 0;
160
161 /**
162 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CommunicatingElementImpl <em>Communicating Element</em>}' class.
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CommunicatingElementImpl
166 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getCommunicatingElement()
167 * @generated
168 */
169 int COMMUNICATING_ELEMENT = 2;
170
171 /**
172 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list.
173 * <!-- begin-user-doc -->
174 * <!-- end-user-doc -->
175 * @generated
176 * @ordered
177 */
178 int COMMUNICATING_ELEMENT__COMM_SUBSYSTEM = 0;
179
180 /**
181 * The feature id for the '<em><b>Communication Link</b></em>' containment reference.
182 * <!-- begin-user-doc -->
183 * <!-- end-user-doc -->
184 * @generated
185 * @ordered
186 */
187 int COMMUNICATING_ELEMENT__COMMUNICATION_LINK = 1;
188
189 /**
190 * The number of structural features of the '<em>Communicating Element</em>' class.
191 * <!-- begin-user-doc -->
192 * <!-- end-user-doc -->
193 * @generated
194 * @ordered
195 */
196 int COMMUNICATING_ELEMENT_FEATURE_COUNT = 2;
197
198 /**
199 * The number of operations of the '<em>Communicating Element</em>' class.
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @generated
203 * @ordered
204 */
205 int COMMUNICATING_ELEMENT_OPERATION_COUNT = 0;
206
207 /**
208 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.GroundStationNetworkImpl <em>Ground Station Network</em>}' class.
209 * <!-- begin-user-doc -->
210 * <!-- end-user-doc -->
211 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.GroundStationNetworkImpl
212 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getGroundStationNetwork()
213 * @generated
214 */
215 int GROUND_STATION_NETWORK = 3;
216
217 /**
218 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list.
219 * <!-- begin-user-doc -->
220 * <!-- end-user-doc -->
221 * @generated
222 * @ordered
223 */
224 int GROUND_STATION_NETWORK__COMM_SUBSYSTEM = COMMUNICATING_ELEMENT__COMM_SUBSYSTEM;
225
226 /**
227 * The feature id for the '<em><b>Communication Link</b></em>' containment reference.
228 * <!-- begin-user-doc -->
229 * <!-- end-user-doc -->
230 * @generated
231 * @ordered
232 */
233 int GROUND_STATION_NETWORK__COMMUNICATION_LINK = COMMUNICATING_ELEMENT__COMMUNICATION_LINK;
234
235 /**
236 * The number of structural features of the '<em>Ground Station Network</em>' class.
237 * <!-- begin-user-doc -->
238 * <!-- end-user-doc -->
239 * @generated
240 * @ordered
241 */
242 int GROUND_STATION_NETWORK_FEATURE_COUNT = COMMUNICATING_ELEMENT_FEATURE_COUNT + 0;
243
244 /**
245 * The number of operations of the '<em>Ground Station Network</em>' class.
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @generated
249 * @ordered
250 */
251 int GROUND_STATION_NETWORK_OPERATION_COUNT = COMMUNICATING_ELEMENT_OPERATION_COUNT + 0;
252
253 /**
254 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SpacecraftImpl <em>Spacecraft</em>}' class.
255 * <!-- begin-user-doc -->
256 * <!-- end-user-doc -->
257 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SpacecraftImpl
258 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getSpacecraft()
259 * @generated
260 */
261 int SPACECRAFT = 4;
262
263 /**
264 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list.
265 * <!-- begin-user-doc -->
266 * <!-- end-user-doc -->
267 * @generated
268 * @ordered
269 */
270 int SPACECRAFT__COMM_SUBSYSTEM = COMMUNICATING_ELEMENT__COMM_SUBSYSTEM;
271
272 /**
273 * The feature id for the '<em><b>Communication Link</b></em>' containment reference.
274 * <!-- begin-user-doc -->
275 * <!-- end-user-doc -->
276 * @generated
277 * @ordered
278 */
279 int SPACECRAFT__COMMUNICATION_LINK = COMMUNICATING_ELEMENT__COMMUNICATION_LINK;
280
281 /**
282 * The feature id for the '<em><b>Payload</b></em>' containment reference.
283 * <!-- begin-user-doc -->
284 * <!-- end-user-doc -->
285 * @generated
286 * @ordered
287 */
288 int SPACECRAFT__PAYLOAD = COMMUNICATING_ELEMENT_FEATURE_COUNT + 0;
289
290 /**
291 * The feature id for the '<em><b>Kind</b></em>' attribute.
292 * <!-- begin-user-doc -->
293 * <!-- end-user-doc -->
294 * @generated
295 * @ordered
296 */
297 int SPACECRAFT__KIND = COMMUNICATING_ELEMENT_FEATURE_COUNT + 1;
298
299 /**
300 * The number of structural features of the '<em>Spacecraft</em>' class.
301 * <!-- begin-user-doc -->
302 * <!-- end-user-doc -->
303 * @generated
304 * @ordered
305 */
306 int SPACECRAFT_FEATURE_COUNT = COMMUNICATING_ELEMENT_FEATURE_COUNT + 2;
307
308 /**
309 * The number of operations of the '<em>Spacecraft</em>' class.
310 * <!-- begin-user-doc -->
311 * <!-- end-user-doc -->
312 * @generated
313 * @ordered
314 */
315 int SPACECRAFT_OPERATION_COUNT = COMMUNICATING_ELEMENT_OPERATION_COUNT + 0;
316
317 /**
318 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CommSubsystemImpl <em>Comm Subsystem</em>}' class.
319 * <!-- begin-user-doc -->
320 * <!-- end-user-doc -->
321 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CommSubsystemImpl
322 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getCommSubsystem()
323 * @generated
324 */
325 int COMM_SUBSYSTEM = 5;
326
327 /**
328 * The feature id for the '<em><b>Band</b></em>' attribute.
329 * <!-- begin-user-doc -->
330 * <!-- end-user-doc -->
331 * @generated
332 * @ordered
333 */
334 int COMM_SUBSYSTEM__BAND = 0;
335
336 /**
337 * The feature id for the '<em><b>Gain</b></em>' attribute.
338 * <!-- begin-user-doc -->
339 * <!-- end-user-doc -->
340 * @generated
341 * @ordered
342 */
343 int COMM_SUBSYSTEM__GAIN = 1;
344
345 /**
346 * The number of structural features of the '<em>Comm Subsystem</em>' class.
347 * <!-- begin-user-doc -->
348 * <!-- end-user-doc -->
349 * @generated
350 * @ordered
351 */
352 int COMM_SUBSYSTEM_FEATURE_COUNT = 2;
353
354 /**
355 * The number of operations of the '<em>Comm Subsystem</em>' class.
356 * <!-- begin-user-doc -->
357 * <!-- end-user-doc -->
358 * @generated
359 * @ordered
360 */
361 int COMM_SUBSYSTEM_OPERATION_COUNT = 0;
362
363 /**
364 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.DirectedCommunicationLinkImpl <em>Directed Communication Link</em>}' class.
365 * <!-- begin-user-doc -->
366 * <!-- end-user-doc -->
367 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.DirectedCommunicationLinkImpl
368 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getDirectedCommunicationLink()
369 * @generated
370 */
371 int DIRECTED_COMMUNICATION_LINK = 6;
372
373 /**
374 * The feature id for the '<em><b>Source</b></em>' reference.
375 * <!-- begin-user-doc -->
376 * <!-- end-user-doc -->
377 * @generated
378 * @ordered
379 */
380 int DIRECTED_COMMUNICATION_LINK__SOURCE = 0;
381
382 /**
383 * The feature id for the '<em><b>Target</b></em>' reference.
384 * <!-- begin-user-doc -->
385 * <!-- end-user-doc -->
386 * @generated
387 * @ordered
388 */
389 int DIRECTED_COMMUNICATION_LINK__TARGET = 1;
390
391 /**
392 * The number of structural features of the '<em>Directed Communication Link</em>' class.
393 * <!-- begin-user-doc -->
394 * <!-- end-user-doc -->
395 * @generated
396 * @ordered
397 */
398 int DIRECTED_COMMUNICATION_LINK_FEATURE_COUNT = 2;
399
400 /**
401 * The number of operations of the '<em>Directed Communication Link</em>' class.
402 * <!-- begin-user-doc -->
403 * <!-- end-user-doc -->
404 * @generated
405 * @ordered
406 */
407 int DIRECTED_COMMUNICATION_LINK_OPERATION_COUNT = 0;
408
409 /**
410 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.PayloadImpl <em>Payload</em>}' class.
411 * <!-- begin-user-doc -->
412 * <!-- end-user-doc -->
413 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.PayloadImpl
414 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getPayload()
415 * @generated
416 */
417 int PAYLOAD = 7;
418
419 /**
420 * The number of structural features of the '<em>Payload</em>' class.
421 * <!-- begin-user-doc -->
422 * <!-- end-user-doc -->
423 * @generated
424 * @ordered
425 */
426 int PAYLOAD_FEATURE_COUNT = 0;
427
428 /**
429 * The number of operations of the '<em>Payload</em>' class.
430 * <!-- begin-user-doc -->
431 * <!-- end-user-doc -->
432 * @generated
433 * @ordered
434 */
435 int PAYLOAD_OPERATION_COUNT = 0;
436
437 /**
438 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.InterferometryPayloadImpl <em>Interferometry Payload</em>}' class.
439 * <!-- begin-user-doc -->
440 * <!-- end-user-doc -->
441 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.InterferometryPayloadImpl
442 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getInterferometryPayload()
443 * @generated
444 */
445 int INTERFEROMETRY_PAYLOAD = 8;
446
447 /**
448 * The number of structural features of the '<em>Interferometry Payload</em>' class.
449 * <!-- begin-user-doc -->
450 * <!-- end-user-doc -->
451 * @generated
452 * @ordered
453 */
454 int INTERFEROMETRY_PAYLOAD_FEATURE_COUNT = PAYLOAD_FEATURE_COUNT + 0;
455
456 /**
457 * The number of operations of the '<em>Interferometry Payload</em>' class.
458 * <!-- begin-user-doc -->
459 * <!-- end-user-doc -->
460 * @generated
461 * @ordered
462 */
463 int INTERFEROMETRY_PAYLOAD_OPERATION_COUNT = PAYLOAD_OPERATION_COUNT + 0;
464
465 /**
466 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CubeSatImpl <em>Cube Sat</em>}' class.
467 * <!-- begin-user-doc -->
468 * <!-- end-user-doc -->
469 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CubeSatImpl
470 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getCubeSat()
471 * @generated
472 */
473 int CUBE_SAT = 12;
474
475 /**
476 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list.
477 * <!-- begin-user-doc -->
478 * <!-- end-user-doc -->
479 * @generated
480 * @ordered
481 */
482 int CUBE_SAT__COMM_SUBSYSTEM = SPACECRAFT__COMM_SUBSYSTEM;
483
484 /**
485 * The feature id for the '<em><b>Communication Link</b></em>' containment reference.
486 * <!-- begin-user-doc -->
487 * <!-- end-user-doc -->
488 * @generated
489 * @ordered
490 */
491 int CUBE_SAT__COMMUNICATION_LINK = SPACECRAFT__COMMUNICATION_LINK;
492
493 /**
494 * The feature id for the '<em><b>Payload</b></em>' containment reference.
495 * <!-- begin-user-doc -->
496 * <!-- end-user-doc -->
497 * @generated
498 * @ordered
499 */
500 int CUBE_SAT__PAYLOAD = SPACECRAFT__PAYLOAD;
501
502 /**
503 * The feature id for the '<em><b>Kind</b></em>' attribute.
504 * <!-- begin-user-doc -->
505 * <!-- end-user-doc -->
506 * @generated
507 * @ordered
508 */
509 int CUBE_SAT__KIND = SPACECRAFT__KIND;
510
511 /**
512 * The number of structural features of the '<em>Cube Sat</em>' class.
513 * <!-- begin-user-doc -->
514 * <!-- end-user-doc -->
515 * @generated
516 * @ordered
517 */
518 int CUBE_SAT_FEATURE_COUNT = SPACECRAFT_FEATURE_COUNT + 0;
519
520 /**
521 * The number of operations of the '<em>Cube Sat</em>' class.
522 * <!-- begin-user-doc -->
523 * <!-- end-user-doc -->
524 * @generated
525 * @ordered
526 */
527 int CUBE_SAT_OPERATION_COUNT = SPACECRAFT_OPERATION_COUNT + 0;
528
529 /**
530 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CubeSat3UImpl <em>Cube Sat3 U</em>}' class.
531 * <!-- begin-user-doc -->
532 * <!-- end-user-doc -->
533 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CubeSat3UImpl
534 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getCubeSat3U()
535 * @generated
536 */
537 int CUBE_SAT3_U = 9;
538
539 /**
540 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list.
541 * <!-- begin-user-doc -->
542 * <!-- end-user-doc -->
543 * @generated
544 * @ordered
545 */
546 int CUBE_SAT3_U__COMM_SUBSYSTEM = CUBE_SAT__COMM_SUBSYSTEM;
547
548 /**
549 * The feature id for the '<em><b>Communication Link</b></em>' containment reference.
550 * <!-- begin-user-doc -->
551 * <!-- end-user-doc -->
552 * @generated
553 * @ordered
554 */
555 int CUBE_SAT3_U__COMMUNICATION_LINK = CUBE_SAT__COMMUNICATION_LINK;
556
557 /**
558 * The feature id for the '<em><b>Payload</b></em>' containment reference.
559 * <!-- begin-user-doc -->
560 * <!-- end-user-doc -->
561 * @generated
562 * @ordered
563 */
564 int CUBE_SAT3_U__PAYLOAD = CUBE_SAT__PAYLOAD;
565
566 /**
567 * The feature id for the '<em><b>Kind</b></em>' attribute.
568 * <!-- begin-user-doc -->
569 * <!-- end-user-doc -->
570 * @generated
571 * @ordered
572 */
573 int CUBE_SAT3_U__KIND = CUBE_SAT__KIND;
574
575 /**
576 * The number of structural features of the '<em>Cube Sat3 U</em>' class.
577 * <!-- begin-user-doc -->
578 * <!-- end-user-doc -->
579 * @generated
580 * @ordered
581 */
582 int CUBE_SAT3_U_FEATURE_COUNT = CUBE_SAT_FEATURE_COUNT + 0;
583
584 /**
585 * The number of operations of the '<em>Cube Sat3 U</em>' class.
586 * <!-- begin-user-doc -->
587 * <!-- end-user-doc -->
588 * @generated
589 * @ordered
590 */
591 int CUBE_SAT3_U_OPERATION_COUNT = CUBE_SAT_OPERATION_COUNT + 0;
592
593 /**
594 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CubeSat6UImpl <em>Cube Sat6 U</em>}' class.
595 * <!-- begin-user-doc -->
596 * <!-- end-user-doc -->
597 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CubeSat6UImpl
598 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getCubeSat6U()
599 * @generated
600 */
601 int CUBE_SAT6_U = 10;
602
603 /**
604 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list.
605 * <!-- begin-user-doc -->
606 * <!-- end-user-doc -->
607 * @generated
608 * @ordered
609 */
610 int CUBE_SAT6_U__COMM_SUBSYSTEM = CUBE_SAT__COMM_SUBSYSTEM;
611
612 /**
613 * The feature id for the '<em><b>Communication Link</b></em>' containment reference.
614 * <!-- begin-user-doc -->
615 * <!-- end-user-doc -->
616 * @generated
617 * @ordered
618 */
619 int CUBE_SAT6_U__COMMUNICATION_LINK = CUBE_SAT__COMMUNICATION_LINK;
620
621 /**
622 * The feature id for the '<em><b>Payload</b></em>' containment reference.
623 * <!-- begin-user-doc -->
624 * <!-- end-user-doc -->
625 * @generated
626 * @ordered
627 */
628 int CUBE_SAT6_U__PAYLOAD = CUBE_SAT__PAYLOAD;
629
630 /**
631 * The feature id for the '<em><b>Kind</b></em>' attribute.
632 * <!-- begin-user-doc -->
633 * <!-- end-user-doc -->
634 * @generated
635 * @ordered
636 */
637 int CUBE_SAT6_U__KIND = CUBE_SAT__KIND;
638
639 /**
640 * The number of structural features of the '<em>Cube Sat6 U</em>' class.
641 * <!-- begin-user-doc -->
642 * <!-- end-user-doc -->
643 * @generated
644 * @ordered
645 */
646 int CUBE_SAT6_U_FEATURE_COUNT = CUBE_SAT_FEATURE_COUNT + 0;
647
648 /**
649 * The number of operations of the '<em>Cube Sat6 U</em>' class.
650 * <!-- begin-user-doc -->
651 * <!-- end-user-doc -->
652 * @generated
653 * @ordered
654 */
655 int CUBE_SAT6_U_OPERATION_COUNT = CUBE_SAT_OPERATION_COUNT + 0;
656
657 /**
658 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SmallSatImpl <em>Small Sat</em>}' class.
659 * <!-- begin-user-doc -->
660 * <!-- end-user-doc -->
661 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SmallSatImpl
662 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getSmallSat()
663 * @generated
664 */
665 int SMALL_SAT = 11;
666
667 /**
668 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list.
669 * <!-- begin-user-doc -->
670 * <!-- end-user-doc -->
671 * @generated
672 * @ordered
673 */
674 int SMALL_SAT__COMM_SUBSYSTEM = SPACECRAFT__COMM_SUBSYSTEM;
675
676 /**
677 * The feature id for the '<em><b>Communication Link</b></em>' containment reference.
678 * <!-- begin-user-doc -->
679 * <!-- end-user-doc -->
680 * @generated
681 * @ordered
682 */
683 int SMALL_SAT__COMMUNICATION_LINK = SPACECRAFT__COMMUNICATION_LINK;
684
685 /**
686 * The feature id for the '<em><b>Payload</b></em>' containment reference.
687 * <!-- begin-user-doc -->
688 * <!-- end-user-doc -->
689 * @generated
690 * @ordered
691 */
692 int SMALL_SAT__PAYLOAD = SPACECRAFT__PAYLOAD;
693
694 /**
695 * The feature id for the '<em><b>Kind</b></em>' attribute.
696 * <!-- begin-user-doc -->
697 * <!-- end-user-doc -->
698 * @generated
699 * @ordered
700 */
701 int SMALL_SAT__KIND = SPACECRAFT__KIND;
702
703 /**
704 * The number of structural features of the '<em>Small Sat</em>' class.
705 * <!-- begin-user-doc -->
706 * <!-- end-user-doc -->
707 * @generated
708 * @ordered
709 */
710 int SMALL_SAT_FEATURE_COUNT = SPACECRAFT_FEATURE_COUNT + 0;
711
712 /**
713 * The number of operations of the '<em>Small Sat</em>' class.
714 * <!-- begin-user-doc -->
715 * <!-- end-user-doc -->
716 * @generated
717 * @ordered
718 */
719 int SMALL_SAT_OPERATION_COUNT = SPACECRAFT_OPERATION_COUNT + 0;
720
721 /**
722 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.TransceiverBand <em>Transceiver Band</em>}' enum.
723 * <!-- begin-user-doc -->
724 * <!-- end-user-doc -->
725 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.TransceiverBand
726 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getTransceiverBand()
727 * @generated
728 */
729 int TRANSCEIVER_BAND = 13;
730
731 /**
732 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.AntennaGain <em>Antenna Gain</em>}' enum.
733 * <!-- begin-user-doc -->
734 * <!-- end-user-doc -->
735 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.AntennaGain
736 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getAntennaGain()
737 * @generated
738 */
739 int ANTENNA_GAIN = 14;
740
741 /**
742 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind <em>Spacecraft Kind</em>}' enum.
743 * <!-- begin-user-doc -->
744 * <!-- end-user-doc -->
745 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind
746 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getSpacecraftKind()
747 * @generated
748 */
749 int SPACECRAFT_KIND = 15;
750
751 /**
752 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.ConstellationMission <em>Constellation Mission</em>}'.
753 * <!-- begin-user-doc -->
754 * <!-- end-user-doc -->
755 * @return the meta object for class '<em>Constellation Mission</em>'.
756 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.ConstellationMission
757 * @generated
758 */
759 EClass getConstellationMission();
760
761 /**
762 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.ConstellationMission#getGroundStationNetwork <em>Ground Station Network</em>}'.
763 * <!-- begin-user-doc -->
764 * <!-- end-user-doc -->
765 * @return the meta object for the containment reference '<em>Ground Station Network</em>'.
766 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.ConstellationMission#getGroundStationNetwork()
767 * @see #getConstellationMission()
768 * @generated
769 */
770 EReference getConstellationMission_GroundStationNetwork();
771
772 /**
773 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.ConstellationMission#getSpacecraft <em>Spacecraft</em>}'.
774 * <!-- begin-user-doc -->
775 * <!-- end-user-doc -->
776 * @return the meta object for the containment reference list '<em>Spacecraft</em>'.
777 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.ConstellationMission#getSpacecraft()
778 * @see #getConstellationMission()
779 * @generated
780 */
781 EReference getConstellationMission_Spacecraft();
782
783 /**
784 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission <em>Interferometry Mission</em>}'.
785 * <!-- begin-user-doc -->
786 * <!-- end-user-doc -->
787 * @return the meta object for class '<em>Interferometry Mission</em>'.
788 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission
789 * @generated
790 */
791 EClass getInterferometryMission();
792
793 /**
794 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission#getObservationTime <em>Observation Time</em>}'.
795 * <!-- begin-user-doc -->
796 * <!-- end-user-doc -->
797 * @return the meta object for the attribute '<em>Observation Time</em>'.
798 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission#getObservationTime()
799 * @see #getInterferometryMission()
800 * @generated
801 */
802 EAttribute getInterferometryMission_ObservationTime();
803
804 /**
805 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement <em>Communicating Element</em>}'.
806 * <!-- begin-user-doc -->
807 * <!-- end-user-doc -->
808 * @return the meta object for class '<em>Communicating Element</em>'.
809 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement
810 * @generated
811 */
812 EClass getCommunicatingElement();
813
814 /**
815 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement#getCommSubsystem <em>Comm Subsystem</em>}'.
816 * <!-- begin-user-doc -->
817 * <!-- end-user-doc -->
818 * @return the meta object for the containment reference list '<em>Comm Subsystem</em>'.
819 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement#getCommSubsystem()
820 * @see #getCommunicatingElement()
821 * @generated
822 */
823 EReference getCommunicatingElement_CommSubsystem();
824
825 /**
826 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement#getCommunicationLink <em>Communication Link</em>}'.
827 * <!-- begin-user-doc -->
828 * <!-- end-user-doc -->
829 * @return the meta object for the containment reference '<em>Communication Link</em>'.
830 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement#getCommunicationLink()
831 * @see #getCommunicatingElement()
832 * @generated
833 */
834 EReference getCommunicatingElement_CommunicationLink();
835
836 /**
837 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.GroundStationNetwork <em>Ground Station Network</em>}'.
838 * <!-- begin-user-doc -->
839 * <!-- end-user-doc -->
840 * @return the meta object for class '<em>Ground Station Network</em>'.
841 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.GroundStationNetwork
842 * @generated
843 */
844 EClass getGroundStationNetwork();
845
846 /**
847 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft <em>Spacecraft</em>}'.
848 * <!-- begin-user-doc -->
849 * <!-- end-user-doc -->
850 * @return the meta object for class '<em>Spacecraft</em>'.
851 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft
852 * @generated
853 */
854 EClass getSpacecraft();
855
856 /**
857 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft#getPayload <em>Payload</em>}'.
858 * <!-- begin-user-doc -->
859 * <!-- end-user-doc -->
860 * @return the meta object for the containment reference '<em>Payload</em>'.
861 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft#getPayload()
862 * @see #getSpacecraft()
863 * @generated
864 */
865 EReference getSpacecraft_Payload();
866
867 /**
868 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft#getKind <em>Kind</em>}'.
869 * <!-- begin-user-doc -->
870 * <!-- end-user-doc -->
871 * @return the meta object for the attribute '<em>Kind</em>'.
872 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft#getKind()
873 * @see #getSpacecraft()
874 * @generated
875 */
876 EAttribute getSpacecraft_Kind();
877
878 /**
879 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem <em>Comm Subsystem</em>}'.
880 * <!-- begin-user-doc -->
881 * <!-- end-user-doc -->
882 * @return the meta object for class '<em>Comm Subsystem</em>'.
883 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem
884 * @generated
885 */
886 EClass getCommSubsystem();
887
888 /**
889 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem#getBand <em>Band</em>}'.
890 * <!-- begin-user-doc -->
891 * <!-- end-user-doc -->
892 * @return the meta object for the attribute '<em>Band</em>'.
893 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem#getBand()
894 * @see #getCommSubsystem()
895 * @generated
896 */
897 EAttribute getCommSubsystem_Band();
898
899 /**
900 * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem#getGain <em>Gain</em>}'.
901 * <!-- begin-user-doc -->
902 * <!-- end-user-doc -->
903 * @return the meta object for the attribute '<em>Gain</em>'.
904 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem#getGain()
905 * @see #getCommSubsystem()
906 * @generated
907 */
908 EAttribute getCommSubsystem_Gain();
909
910 /**
911 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink <em>Directed Communication Link</em>}'.
912 * <!-- begin-user-doc -->
913 * <!-- end-user-doc -->
914 * @return the meta object for class '<em>Directed Communication Link</em>'.
915 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink
916 * @generated
917 */
918 EClass getDirectedCommunicationLink();
919
920 /**
921 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink#getSource <em>Source</em>}'.
922 * <!-- begin-user-doc -->
923 * <!-- end-user-doc -->
924 * @return the meta object for the reference '<em>Source</em>'.
925 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink#getSource()
926 * @see #getDirectedCommunicationLink()
927 * @generated
928 */
929 EReference getDirectedCommunicationLink_Source();
930
931 /**
932 * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink#getTarget <em>Target</em>}'.
933 * <!-- begin-user-doc -->
934 * <!-- end-user-doc -->
935 * @return the meta object for the reference '<em>Target</em>'.
936 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink#getTarget()
937 * @see #getDirectedCommunicationLink()
938 * @generated
939 */
940 EReference getDirectedCommunicationLink_Target();
941
942 /**
943 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.Payload <em>Payload</em>}'.
944 * <!-- begin-user-doc -->
945 * <!-- end-user-doc -->
946 * @return the meta object for class '<em>Payload</em>'.
947 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.Payload
948 * @generated
949 */
950 EClass getPayload();
951
952 /**
953 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryPayload <em>Interferometry Payload</em>}'.
954 * <!-- begin-user-doc -->
955 * <!-- end-user-doc -->
956 * @return the meta object for class '<em>Interferometry Payload</em>'.
957 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryPayload
958 * @generated
959 */
960 EClass getInterferometryPayload();
961
962 /**
963 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat3U <em>Cube Sat3 U</em>}'.
964 * <!-- begin-user-doc -->
965 * <!-- end-user-doc -->
966 * @return the meta object for class '<em>Cube Sat3 U</em>'.
967 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat3U
968 * @generated
969 */
970 EClass getCubeSat3U();
971
972 /**
973 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat6U <em>Cube Sat6 U</em>}'.
974 * <!-- begin-user-doc -->
975 * <!-- end-user-doc -->
976 * @return the meta object for class '<em>Cube Sat6 U</em>'.
977 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat6U
978 * @generated
979 */
980 EClass getCubeSat6U();
981
982 /**
983 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat <em>Small Sat</em>}'.
984 * <!-- begin-user-doc -->
985 * <!-- end-user-doc -->
986 * @return the meta object for class '<em>Small Sat</em>'.
987 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat
988 * @generated
989 */
990 EClass getSmallSat();
991
992 /**
993 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat <em>Cube Sat</em>}'.
994 * <!-- begin-user-doc -->
995 * <!-- end-user-doc -->
996 * @return the meta object for class '<em>Cube Sat</em>'.
997 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat
998 * @generated
999 */
1000 EClass getCubeSat();
1001
1002 /**
1003 * Returns the meta object for enum '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.TransceiverBand <em>Transceiver Band</em>}'.
1004 * <!-- begin-user-doc -->
1005 * <!-- end-user-doc -->
1006 * @return the meta object for enum '<em>Transceiver Band</em>'.
1007 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.TransceiverBand
1008 * @generated
1009 */
1010 EEnum getTransceiverBand();
1011
1012 /**
1013 * Returns the meta object for enum '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.AntennaGain <em>Antenna Gain</em>}'.
1014 * <!-- begin-user-doc -->
1015 * <!-- end-user-doc -->
1016 * @return the meta object for enum '<em>Antenna Gain</em>'.
1017 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.AntennaGain
1018 * @generated
1019 */
1020 EEnum getAntennaGain();
1021
1022 /**
1023 * Returns the meta object for enum '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind <em>Spacecraft Kind</em>}'.
1024 * <!-- begin-user-doc -->
1025 * <!-- end-user-doc -->
1026 * @return the meta object for enum '<em>Spacecraft Kind</em>'.
1027 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind
1028 * @generated
1029 */
1030 EEnum getSpacecraftKind();
1031
1032 /**
1033 * Returns the factory that creates the instances of the model.
1034 * <!-- begin-user-doc -->
1035 * <!-- end-user-doc -->
1036 * @return the factory that creates the instances of the model.
1037 * @generated
1038 */
1039 SatelliteFactory getSatelliteFactory();
1040
1041 /**
1042 * <!-- begin-user-doc -->
1043 * Defines literals for the meta objects that represent
1044 * <ul>
1045 * <li>each class,</li>
1046 * <li>each feature of each class,</li>
1047 * <li>each operation of each class,</li>
1048 * <li>each enum,</li>
1049 * <li>and each data type</li>
1050 * </ul>
1051 * <!-- end-user-doc -->
1052 * @generated
1053 */
1054 interface Literals {
1055 /**
1056 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.ConstellationMissionImpl <em>Constellation Mission</em>}' class.
1057 * <!-- begin-user-doc -->
1058 * <!-- end-user-doc -->
1059 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.ConstellationMissionImpl
1060 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getConstellationMission()
1061 * @generated
1062 */
1063 EClass CONSTELLATION_MISSION = eINSTANCE.getConstellationMission();
1064
1065 /**
1066 * The meta object literal for the '<em><b>Ground Station Network</b></em>' containment reference feature.
1067 * <!-- begin-user-doc -->
1068 * <!-- end-user-doc -->
1069 * @generated
1070 */
1071 EReference CONSTELLATION_MISSION__GROUND_STATION_NETWORK = eINSTANCE
1072 .getConstellationMission_GroundStationNetwork();
1073
1074 /**
1075 * The meta object literal for the '<em><b>Spacecraft</b></em>' containment reference list feature.
1076 * <!-- begin-user-doc -->
1077 * <!-- end-user-doc -->
1078 * @generated
1079 */
1080 EReference CONSTELLATION_MISSION__SPACECRAFT = eINSTANCE.getConstellationMission_Spacecraft();
1081
1082 /**
1083 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.InterferometryMissionImpl <em>Interferometry Mission</em>}' class.
1084 * <!-- begin-user-doc -->
1085 * <!-- end-user-doc -->
1086 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.InterferometryMissionImpl
1087 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getInterferometryMission()
1088 * @generated
1089 */
1090 EClass INTERFEROMETRY_MISSION = eINSTANCE.getInterferometryMission();
1091
1092 /**
1093 * The meta object literal for the '<em><b>Observation Time</b></em>' attribute feature.
1094 * <!-- begin-user-doc -->
1095 * <!-- end-user-doc -->
1096 * @generated
1097 */
1098 EAttribute INTERFEROMETRY_MISSION__OBSERVATION_TIME = eINSTANCE.getInterferometryMission_ObservationTime();
1099
1100 /**
1101 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CommunicatingElementImpl <em>Communicating Element</em>}' class.
1102 * <!-- begin-user-doc -->
1103 * <!-- end-user-doc -->
1104 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CommunicatingElementImpl
1105 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getCommunicatingElement()
1106 * @generated
1107 */
1108 EClass COMMUNICATING_ELEMENT = eINSTANCE.getCommunicatingElement();
1109
1110 /**
1111 * The meta object literal for the '<em><b>Comm Subsystem</b></em>' containment reference list feature.
1112 * <!-- begin-user-doc -->
1113 * <!-- end-user-doc -->
1114 * @generated
1115 */
1116 EReference COMMUNICATING_ELEMENT__COMM_SUBSYSTEM = eINSTANCE.getCommunicatingElement_CommSubsystem();
1117
1118 /**
1119 * The meta object literal for the '<em><b>Communication Link</b></em>' containment reference feature.
1120 * <!-- begin-user-doc -->
1121 * <!-- end-user-doc -->
1122 * @generated
1123 */
1124 EReference COMMUNICATING_ELEMENT__COMMUNICATION_LINK = eINSTANCE.getCommunicatingElement_CommunicationLink();
1125
1126 /**
1127 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.GroundStationNetworkImpl <em>Ground Station Network</em>}' class.
1128 * <!-- begin-user-doc -->
1129 * <!-- end-user-doc -->
1130 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.GroundStationNetworkImpl
1131 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getGroundStationNetwork()
1132 * @generated
1133 */
1134 EClass GROUND_STATION_NETWORK = eINSTANCE.getGroundStationNetwork();
1135
1136 /**
1137 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SpacecraftImpl <em>Spacecraft</em>}' class.
1138 * <!-- begin-user-doc -->
1139 * <!-- end-user-doc -->
1140 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SpacecraftImpl
1141 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getSpacecraft()
1142 * @generated
1143 */
1144 EClass SPACECRAFT = eINSTANCE.getSpacecraft();
1145
1146 /**
1147 * The meta object literal for the '<em><b>Payload</b></em>' containment reference feature.
1148 * <!-- begin-user-doc -->
1149 * <!-- end-user-doc -->
1150 * @generated
1151 */
1152 EReference SPACECRAFT__PAYLOAD = eINSTANCE.getSpacecraft_Payload();
1153
1154 /**
1155 * The meta object literal for the '<em><b>Kind</b></em>' attribute feature.
1156 * <!-- begin-user-doc -->
1157 * <!-- end-user-doc -->
1158 * @generated
1159 */
1160 EAttribute SPACECRAFT__KIND = eINSTANCE.getSpacecraft_Kind();
1161
1162 /**
1163 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CommSubsystemImpl <em>Comm Subsystem</em>}' class.
1164 * <!-- begin-user-doc -->
1165 * <!-- end-user-doc -->
1166 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CommSubsystemImpl
1167 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getCommSubsystem()
1168 * @generated
1169 */
1170 EClass COMM_SUBSYSTEM = eINSTANCE.getCommSubsystem();
1171
1172 /**
1173 * The meta object literal for the '<em><b>Band</b></em>' attribute feature.
1174 * <!-- begin-user-doc -->
1175 * <!-- end-user-doc -->
1176 * @generated
1177 */
1178 EAttribute COMM_SUBSYSTEM__BAND = eINSTANCE.getCommSubsystem_Band();
1179
1180 /**
1181 * The meta object literal for the '<em><b>Gain</b></em>' attribute feature.
1182 * <!-- begin-user-doc -->
1183 * <!-- end-user-doc -->
1184 * @generated
1185 */
1186 EAttribute COMM_SUBSYSTEM__GAIN = eINSTANCE.getCommSubsystem_Gain();
1187
1188 /**
1189 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.DirectedCommunicationLinkImpl <em>Directed Communication Link</em>}' class.
1190 * <!-- begin-user-doc -->
1191 * <!-- end-user-doc -->
1192 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.DirectedCommunicationLinkImpl
1193 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getDirectedCommunicationLink()
1194 * @generated
1195 */
1196 EClass DIRECTED_COMMUNICATION_LINK = eINSTANCE.getDirectedCommunicationLink();
1197
1198 /**
1199 * The meta object literal for the '<em><b>Source</b></em>' reference feature.
1200 * <!-- begin-user-doc -->
1201 * <!-- end-user-doc -->
1202 * @generated
1203 */
1204 EReference DIRECTED_COMMUNICATION_LINK__SOURCE = eINSTANCE.getDirectedCommunicationLink_Source();
1205
1206 /**
1207 * The meta object literal for the '<em><b>Target</b></em>' reference feature.
1208 * <!-- begin-user-doc -->
1209 * <!-- end-user-doc -->
1210 * @generated
1211 */
1212 EReference DIRECTED_COMMUNICATION_LINK__TARGET = eINSTANCE.getDirectedCommunicationLink_Target();
1213
1214 /**
1215 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.PayloadImpl <em>Payload</em>}' class.
1216 * <!-- begin-user-doc -->
1217 * <!-- end-user-doc -->
1218 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.PayloadImpl
1219 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getPayload()
1220 * @generated
1221 */
1222 EClass PAYLOAD = eINSTANCE.getPayload();
1223
1224 /**
1225 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.InterferometryPayloadImpl <em>Interferometry Payload</em>}' class.
1226 * <!-- begin-user-doc -->
1227 * <!-- end-user-doc -->
1228 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.InterferometryPayloadImpl
1229 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getInterferometryPayload()
1230 * @generated
1231 */
1232 EClass INTERFEROMETRY_PAYLOAD = eINSTANCE.getInterferometryPayload();
1233
1234 /**
1235 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CubeSat3UImpl <em>Cube Sat3 U</em>}' class.
1236 * <!-- begin-user-doc -->
1237 * <!-- end-user-doc -->
1238 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CubeSat3UImpl
1239 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getCubeSat3U()
1240 * @generated
1241 */
1242 EClass CUBE_SAT3_U = eINSTANCE.getCubeSat3U();
1243
1244 /**
1245 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CubeSat6UImpl <em>Cube Sat6 U</em>}' class.
1246 * <!-- begin-user-doc -->
1247 * <!-- end-user-doc -->
1248 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CubeSat6UImpl
1249 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getCubeSat6U()
1250 * @generated
1251 */
1252 EClass CUBE_SAT6_U = eINSTANCE.getCubeSat6U();
1253
1254 /**
1255 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SmallSatImpl <em>Small Sat</em>}' class.
1256 * <!-- begin-user-doc -->
1257 * <!-- end-user-doc -->
1258 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SmallSatImpl
1259 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getSmallSat()
1260 * @generated
1261 */
1262 EClass SMALL_SAT = eINSTANCE.getSmallSat();
1263
1264 /**
1265 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CubeSatImpl <em>Cube Sat</em>}' class.
1266 * <!-- begin-user-doc -->
1267 * <!-- end-user-doc -->
1268 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CubeSatImpl
1269 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getCubeSat()
1270 * @generated
1271 */
1272 EClass CUBE_SAT = eINSTANCE.getCubeSat();
1273
1274 /**
1275 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.TransceiverBand <em>Transceiver Band</em>}' enum.
1276 * <!-- begin-user-doc -->
1277 * <!-- end-user-doc -->
1278 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.TransceiverBand
1279 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getTransceiverBand()
1280 * @generated
1281 */
1282 EEnum TRANSCEIVER_BAND = eINSTANCE.getTransceiverBand();
1283
1284 /**
1285 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.AntennaGain <em>Antenna Gain</em>}' enum.
1286 * <!-- begin-user-doc -->
1287 * <!-- end-user-doc -->
1288 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.AntennaGain
1289 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getAntennaGain()
1290 * @generated
1291 */
1292 EEnum ANTENNA_GAIN = eINSTANCE.getAntennaGain();
1293
1294 /**
1295 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind <em>Spacecraft Kind</em>}' enum.
1296 * <!-- begin-user-doc -->
1297 * <!-- end-user-doc -->
1298 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind
1299 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getSpacecraftKind()
1300 * @generated
1301 */
1302 EEnum SPACECRAFT_KIND = eINSTANCE.getSpacecraftKind();
1303
1304 }
1305
1306} //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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Small Sat</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getSmallSat()
12 * @model
13 * @generated
14 */
15public interface SmallSat extends Spacecraft {
16} // SmallSat
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Spacecraft</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 * <p>
11 * The following features are supported:
12 * </p>
13 * <ul>
14 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft#getPayload <em>Payload</em>}</li>
15 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft#getKind <em>Kind</em>}</li>
16 * </ul>
17 *
18 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getSpacecraft()
19 * @model abstract="true"
20 * @generated
21 */
22public interface Spacecraft extends CommunicatingElement {
23 /**
24 * Returns the value of the '<em><b>Payload</b></em>' containment reference.
25 * <!-- begin-user-doc -->
26 * <p>
27 * If the meaning of the '<em>Payload</em>' containment reference isn't clear,
28 * there really should be more of a description here...
29 * </p>
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Payload</em>' containment reference.
32 * @see #setPayload(Payload)
33 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getSpacecraft_Payload()
34 * @model containment="true"
35 * @generated
36 */
37 Payload getPayload();
38
39 /**
40 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft#getPayload <em>Payload</em>}' containment reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Payload</em>' containment reference.
44 * @see #getPayload()
45 * @generated
46 */
47 void setPayload(Payload value);
48
49 /**
50 * Returns the value of the '<em><b>Kind</b></em>' attribute.
51 * The literals are from the enumeration {@link hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind}.
52 * <!-- begin-user-doc -->
53 * <p>
54 * If the meaning of the '<em>Kind</em>' attribute isn't clear,
55 * there really should be more of a description here...
56 * </p>
57 * <!-- end-user-doc -->
58 * @return the value of the '<em>Kind</em>' attribute.
59 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind
60 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getSpacecraft_Kind()
61 * @model required="true" transient="true" changeable="false" volatile="true" derived="true"
62 * @generated
63 */
64 SpacecraftKind getKind();
65
66} // 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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite;
4
5import java.util.Arrays;
6import java.util.Collections;
7import java.util.List;
8
9import org.eclipse.emf.common.util.Enumerator;
10
11/**
12 * <!-- begin-user-doc -->
13 * A representation of the literals of the enumeration '<em><b>Spacecraft Kind</b></em>',
14 * and utility methods for working with them.
15 * <!-- end-user-doc -->
16 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getSpacecraftKind()
17 * @model
18 * @generated
19 */
20public enum SpacecraftKind implements Enumerator {
21 /**
22 * The '<em><b>Cube Sat3 U</b></em>' literal object.
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @see #CUBE_SAT3_U_VALUE
26 * @generated
27 * @ordered
28 */
29 CUBE_SAT3_U(0, "CubeSat3U", "CubeSat3U"),
30
31 /**
32 * The '<em><b>Cube Sat6 U</b></em>' literal object.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #CUBE_SAT6_U_VALUE
36 * @generated
37 * @ordered
38 */
39 CUBE_SAT6_U(1, "CubeSat6U", "CubeSat6U"),
40 /**
41 * The '<em><b>Small Sat</b></em>' literal object.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @see #SMALL_SAT_VALUE
45 * @generated
46 * @ordered
47 */
48 SMALL_SAT(2, "SmallSat", "SmallSat");
49
50 /**
51 * The '<em><b>Cube Sat3 U</b></em>' literal value.
52 * <!-- begin-user-doc -->
53 * <p>
54 * If the meaning of '<em><b>Cube Sat3 U</b></em>' literal object isn't clear,
55 * there really should be more of a description here...
56 * </p>
57 * <!-- end-user-doc -->
58 * @see #CUBE_SAT3_U
59 * @model name="CubeSat3U"
60 * @generated
61 * @ordered
62 */
63 public static final int CUBE_SAT3_U_VALUE = 0;
64
65 /**
66 * The '<em><b>Cube Sat6 U</b></em>' literal value.
67 * <!-- begin-user-doc -->
68 * <p>
69 * If the meaning of '<em><b>Cube Sat6 U</b></em>' literal object isn't clear,
70 * there really should be more of a description here...
71 * </p>
72 * <!-- end-user-doc -->
73 * @see #CUBE_SAT6_U
74 * @model name="CubeSat6U"
75 * @generated
76 * @ordered
77 */
78 public static final int CUBE_SAT6_U_VALUE = 1;
79
80 /**
81 * The '<em><b>Small Sat</b></em>' literal value.
82 * <!-- begin-user-doc -->
83 * <p>
84 * If the meaning of '<em><b>Small Sat</b></em>' literal object isn't clear,
85 * there really should be more of a description here...
86 * </p>
87 * <!-- end-user-doc -->
88 * @see #SMALL_SAT
89 * @model name="SmallSat"
90 * @generated
91 * @ordered
92 */
93 public static final int SMALL_SAT_VALUE = 2;
94
95 /**
96 * An array of all the '<em><b>Spacecraft Kind</b></em>' enumerators.
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 */
101 private static final SpacecraftKind[] VALUES_ARRAY = new SpacecraftKind[] { CUBE_SAT3_U, CUBE_SAT6_U, SMALL_SAT, };
102
103 /**
104 * A public read-only list of all the '<em><b>Spacecraft Kind</b></em>' enumerators.
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 public static final List<SpacecraftKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
110
111 /**
112 * Returns the '<em><b>Spacecraft Kind</b></em>' literal with the specified literal value.
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @param literal the literal.
116 * @return the matching enumerator or <code>null</code>.
117 * @generated
118 */
119 public static SpacecraftKind get(String literal) {
120 for (int i = 0; i < VALUES_ARRAY.length; ++i) {
121 SpacecraftKind result = VALUES_ARRAY[i];
122 if (result.toString().equals(literal)) {
123 return result;
124 }
125 }
126 return null;
127 }
128
129 /**
130 * Returns the '<em><b>Spacecraft Kind</b></em>' literal with the specified name.
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @param name the name.
134 * @return the matching enumerator or <code>null</code>.
135 * @generated
136 */
137 public static SpacecraftKind getByName(String name) {
138 for (int i = 0; i < VALUES_ARRAY.length; ++i) {
139 SpacecraftKind result = VALUES_ARRAY[i];
140 if (result.getName().equals(name)) {
141 return result;
142 }
143 }
144 return null;
145 }
146
147 /**
148 * Returns the '<em><b>Spacecraft Kind</b></em>' literal with the specified integer value.
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @param value the integer value.
152 * @return the matching enumerator or <code>null</code>.
153 * @generated
154 */
155 public static SpacecraftKind get(int value) {
156 switch (value) {
157 case CUBE_SAT3_U_VALUE:
158 return CUBE_SAT3_U;
159 case CUBE_SAT6_U_VALUE:
160 return CUBE_SAT6_U;
161 case SMALL_SAT_VALUE:
162 return SMALL_SAT;
163 }
164 return null;
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 private final int value;
173
174 /**
175 * <!-- begin-user-doc -->
176 * <!-- end-user-doc -->
177 * @generated
178 */
179 private final String name;
180
181 /**
182 * <!-- begin-user-doc -->
183 * <!-- end-user-doc -->
184 * @generated
185 */
186 private final String literal;
187
188 /**
189 * Only this class can construct instances.
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 private SpacecraftKind(int value, String name, String literal) {
195 this.value = value;
196 this.name = name;
197 this.literal = literal;
198 }
199
200 /**
201 * <!-- begin-user-doc -->
202 * <!-- end-user-doc -->
203 * @generated
204 */
205 @Override
206 public int getValue() {
207 return value;
208 }
209
210 /**
211 * <!-- begin-user-doc -->
212 * <!-- end-user-doc -->
213 * @generated
214 */
215 @Override
216 public String getName() {
217 return name;
218 }
219
220 /**
221 * <!-- begin-user-doc -->
222 * <!-- end-user-doc -->
223 * @generated
224 */
225 @Override
226 public String getLiteral() {
227 return literal;
228 }
229
230 /**
231 * Returns the literal value of the enumerator, which is its string representation.
232 * <!-- begin-user-doc -->
233 * <!-- end-user-doc -->
234 * @generated
235 */
236 @Override
237 public String toString() {
238 return literal;
239 }
240
241} //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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite;
4
5import java.util.Arrays;
6import java.util.Collections;
7import java.util.List;
8
9import org.eclipse.emf.common.util.Enumerator;
10
11/**
12 * <!-- begin-user-doc -->
13 * A representation of the literals of the enumeration '<em><b>Transceiver Band</b></em>',
14 * and utility methods for working with them.
15 * <!-- end-user-doc -->
16 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getTransceiverBand()
17 * @model
18 * @generated
19 */
20public enum TransceiverBand implements Enumerator {
21 /**
22 * The '<em><b>UHF</b></em>' literal object.
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @see #UHF_VALUE
26 * @generated
27 * @ordered
28 */
29 UHF(0, "UHF", "UHF"),
30
31 /**
32 * The '<em><b>X</b></em>' literal object.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #X_VALUE
36 * @generated
37 * @ordered
38 */
39 X(1, "X", "X"),
40
41 /**
42 * The '<em><b>Ka</b></em>' literal object.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #KA_VALUE
46 * @generated
47 * @ordered
48 */
49 KA(2, "Ka", "Ka");
50
51 /**
52 * The '<em><b>UHF</b></em>' literal value.
53 * <!-- begin-user-doc -->
54 * <p>
55 * If the meaning of '<em><b>UHF</b></em>' literal object isn't clear,
56 * there really should be more of a description here...
57 * </p>
58 * <!-- end-user-doc -->
59 * @see #UHF
60 * @model
61 * @generated
62 * @ordered
63 */
64 public static final int UHF_VALUE = 0;
65
66 /**
67 * The '<em><b>X</b></em>' literal value.
68 * <!-- begin-user-doc -->
69 * <p>
70 * If the meaning of '<em><b>X</b></em>' literal object isn't clear,
71 * there really should be more of a description here...
72 * </p>
73 * <!-- end-user-doc -->
74 * @see #X
75 * @model
76 * @generated
77 * @ordered
78 */
79 public static final int X_VALUE = 1;
80
81 /**
82 * The '<em><b>Ka</b></em>' literal value.
83 * <!-- begin-user-doc -->
84 * <p>
85 * If the meaning of '<em><b>Ka</b></em>' literal object isn't clear,
86 * there really should be more of a description here...
87 * </p>
88 * <!-- end-user-doc -->
89 * @see #KA
90 * @model name="Ka"
91 * @generated
92 * @ordered
93 */
94 public static final int KA_VALUE = 2;
95
96 /**
97 * An array of all the '<em><b>Transceiver Band</b></em>' enumerators.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 private static final TransceiverBand[] VALUES_ARRAY = new TransceiverBand[] { UHF, X, KA, };
103
104 /**
105 * A public read-only list of all the '<em><b>Transceiver Band</b></em>' enumerators.
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 public static final List<TransceiverBand> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
111
112 /**
113 * Returns the '<em><b>Transceiver Band</b></em>' literal with the specified literal value.
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @param literal the literal.
117 * @return the matching enumerator or <code>null</code>.
118 * @generated
119 */
120 public static TransceiverBand get(String literal) {
121 for (int i = 0; i < VALUES_ARRAY.length; ++i) {
122 TransceiverBand result = VALUES_ARRAY[i];
123 if (result.toString().equals(literal)) {
124 return result;
125 }
126 }
127 return null;
128 }
129
130 /**
131 * Returns the '<em><b>Transceiver Band</b></em>' literal with the specified name.
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @param name the name.
135 * @return the matching enumerator or <code>null</code>.
136 * @generated
137 */
138 public static TransceiverBand getByName(String name) {
139 for (int i = 0; i < VALUES_ARRAY.length; ++i) {
140 TransceiverBand result = VALUES_ARRAY[i];
141 if (result.getName().equals(name)) {
142 return result;
143 }
144 }
145 return null;
146 }
147
148 /**
149 * Returns the '<em><b>Transceiver Band</b></em>' literal with the specified integer value.
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @param value the integer value.
153 * @return the matching enumerator or <code>null</code>.
154 * @generated
155 */
156 public static TransceiverBand get(int value) {
157 switch (value) {
158 case UHF_VALUE:
159 return UHF;
160 case X_VALUE:
161 return X;
162 case KA_VALUE:
163 return KA;
164 }
165 return null;
166 }
167
168 /**
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 private final int value;
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 private final String name;
181
182 /**
183 * <!-- begin-user-doc -->
184 * <!-- end-user-doc -->
185 * @generated
186 */
187 private final String literal;
188
189 /**
190 * Only this class can construct instances.
191 * <!-- begin-user-doc -->
192 * <!-- end-user-doc -->
193 * @generated
194 */
195 private TransceiverBand(int value, String name, String literal) {
196 this.value = value;
197 this.name = name;
198 this.literal = literal;
199 }
200
201 /**
202 * <!-- begin-user-doc -->
203 * <!-- end-user-doc -->
204 * @generated
205 */
206 @Override
207 public int getValue() {
208 return value;
209 }
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 @Override
217 public String getName() {
218 return name;
219 }
220
221 /**
222 * <!-- begin-user-doc -->
223 * <!-- end-user-doc -->
224 * @generated
225 */
226 @Override
227 public String getLiteral() {
228 return literal;
229 }
230
231 /**
232 * Returns the literal value of the enumerator, which is its string representation.
233 * <!-- begin-user-doc -->
234 * <!-- end-user-doc -->
235 * @generated
236 */
237 @Override
238 public String toString() {
239 return literal;
240 }
241
242} //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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.satellite.AntennaGain;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem;
7import hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage;
8import hu.bme.mit.inf.dslreasoner.domains.satellite.TransceiverBand;
9
10import org.eclipse.emf.common.notify.Notification;
11
12import org.eclipse.emf.ecore.EClass;
13
14import org.eclipse.emf.ecore.impl.ENotificationImpl;
15import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Comm Subsystem</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CommSubsystemImpl#getBand <em>Band</em>}</li>
26 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CommSubsystemImpl#getGain <em>Gain</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class CommSubsystemImpl extends MinimalEObjectImpl.Container implements CommSubsystem {
32 /**
33 * The default value of the '{@link #getBand() <em>Band</em>}' attribute.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getBand()
37 * @generated
38 * @ordered
39 */
40 protected static final TransceiverBand BAND_EDEFAULT = TransceiverBand.UHF;
41
42 /**
43 * The cached value of the '{@link #getBand() <em>Band</em>}' attribute.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getBand()
47 * @generated
48 * @ordered
49 */
50 protected TransceiverBand band = BAND_EDEFAULT;
51
52 /**
53 * The default value of the '{@link #getGain() <em>Gain</em>}' attribute.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @see #getGain()
57 * @generated
58 * @ordered
59 */
60 protected static final AntennaGain GAIN_EDEFAULT = AntennaGain.LOW;
61
62 /**
63 * The cached value of the '{@link #getGain() <em>Gain</em>}' attribute.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @see #getGain()
67 * @generated
68 * @ordered
69 */
70 protected AntennaGain gain = GAIN_EDEFAULT;
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 protected CommSubsystemImpl() {
78 super();
79 }
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 @Override
87 protected EClass eStaticClass() {
88 return SatellitePackage.Literals.COMM_SUBSYSTEM;
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 @Override
97 public TransceiverBand getBand() {
98 return band;
99 }
100
101 /**
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @generated
105 */
106 @Override
107 public void setBand(TransceiverBand newBand) {
108 TransceiverBand oldBand = band;
109 band = newBand == null ? BAND_EDEFAULT : newBand;
110 if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.SET, SatellitePackage.COMM_SUBSYSTEM__BAND, oldBand,
112 band));
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 @Override
121 public AntennaGain getGain() {
122 return gain;
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public void setGain(AntennaGain newGain) {
132 AntennaGain oldGain = gain;
133 gain = newGain == null ? GAIN_EDEFAULT : newGain;
134 if (eNotificationRequired())
135 eNotify(new ENotificationImpl(this, Notification.SET, SatellitePackage.COMM_SUBSYSTEM__GAIN, oldGain,
136 gain));
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 @Override
145 public Object eGet(int featureID, boolean resolve, boolean coreType) {
146 switch (featureID) {
147 case SatellitePackage.COMM_SUBSYSTEM__BAND:
148 return getBand();
149 case SatellitePackage.COMM_SUBSYSTEM__GAIN:
150 return getGain();
151 }
152 return super.eGet(featureID, resolve, coreType);
153 }
154
155 /**
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @generated
159 */
160 @Override
161 public void eSet(int featureID, Object newValue) {
162 switch (featureID) {
163 case SatellitePackage.COMM_SUBSYSTEM__BAND:
164 setBand((TransceiverBand) newValue);
165 return;
166 case SatellitePackage.COMM_SUBSYSTEM__GAIN:
167 setGain((AntennaGain) newValue);
168 return;
169 }
170 super.eSet(featureID, newValue);
171 }
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 @Override
179 public void eUnset(int featureID) {
180 switch (featureID) {
181 case SatellitePackage.COMM_SUBSYSTEM__BAND:
182 setBand(BAND_EDEFAULT);
183 return;
184 case SatellitePackage.COMM_SUBSYSTEM__GAIN:
185 setGain(GAIN_EDEFAULT);
186 return;
187 }
188 super.eUnset(featureID);
189 }
190
191 /**
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @generated
195 */
196 @Override
197 public boolean eIsSet(int featureID) {
198 switch (featureID) {
199 case SatellitePackage.COMM_SUBSYSTEM__BAND:
200 return band != BAND_EDEFAULT;
201 case SatellitePackage.COMM_SUBSYSTEM__GAIN:
202 return gain != GAIN_EDEFAULT;
203 }
204 return super.eIsSet(featureID);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public String toString() {
214 if (eIsProxy())
215 return super.toString();
216
217 StringBuilder result = new StringBuilder(super.toString());
218 result.append(" (band: ");
219 result.append(band);
220 result.append(", gain: ");
221 result.append(gain);
222 result.append(')');
223 return result.toString();
224 }
225
226} //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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement;
7import hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink;
8import hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage;
9
10import java.util.Collection;
11
12import org.eclipse.emf.common.notify.Notification;
13import org.eclipse.emf.common.notify.NotificationChain;
14
15import org.eclipse.emf.common.util.EList;
16
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.emf.ecore.InternalEObject;
19
20import org.eclipse.emf.ecore.impl.ENotificationImpl;
21import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
22
23import org.eclipse.emf.ecore.util.EObjectContainmentEList;
24import org.eclipse.emf.ecore.util.InternalEList;
25
26/**
27 * <!-- begin-user-doc -->
28 * An implementation of the model object '<em><b>Communicating Element</b></em>'.
29 * <!-- end-user-doc -->
30 * <p>
31 * The following features are implemented:
32 * </p>
33 * <ul>
34 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CommunicatingElementImpl#getCommSubsystem <em>Comm Subsystem</em>}</li>
35 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CommunicatingElementImpl#getCommunicationLink <em>Communication Link</em>}</li>
36 * </ul>
37 *
38 * @generated
39 */
40public abstract class CommunicatingElementImpl extends MinimalEObjectImpl.Container implements CommunicatingElement {
41 /**
42 * The cached value of the '{@link #getCommSubsystem() <em>Comm Subsystem</em>}' containment reference list.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getCommSubsystem()
46 * @generated
47 * @ordered
48 */
49 protected EList<CommSubsystem> commSubsystem;
50
51 /**
52 * The cached value of the '{@link #getCommunicationLink() <em>Communication Link</em>}' containment reference.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #getCommunicationLink()
56 * @generated
57 * @ordered
58 */
59 protected DirectedCommunicationLink communicationLink;
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 protected CommunicatingElementImpl() {
67 super();
68 }
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 @Override
76 protected EClass eStaticClass() {
77 return SatellitePackage.Literals.COMMUNICATING_ELEMENT;
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 @Override
86 public EList<CommSubsystem> getCommSubsystem() {
87 if (commSubsystem == null) {
88 commSubsystem = new EObjectContainmentEList<CommSubsystem>(CommSubsystem.class, this,
89 SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM);
90 }
91 return commSubsystem;
92 }
93
94 /**
95 * <!-- begin-user-doc -->
96 * <!-- end-user-doc -->
97 * @generated
98 */
99 @Override
100 public DirectedCommunicationLink getCommunicationLink() {
101 return communicationLink;
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 public NotificationChain basicSetCommunicationLink(DirectedCommunicationLink newCommunicationLink,
110 NotificationChain msgs) {
111 DirectedCommunicationLink oldCommunicationLink = communicationLink;
112 communicationLink = newCommunicationLink;
113 if (eNotificationRequired()) {
114 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
115 SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK, oldCommunicationLink,
116 newCommunicationLink);
117 if (msgs == null)
118 msgs = notification;
119 else
120 msgs.add(notification);
121 }
122 return msgs;
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public void setCommunicationLink(DirectedCommunicationLink newCommunicationLink) {
132 if (newCommunicationLink != communicationLink) {
133 NotificationChain msgs = null;
134 if (communicationLink != null)
135 msgs = ((InternalEObject) communicationLink).eInverseRemove(this,
136 EOPPOSITE_FEATURE_BASE - SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK, null,
137 msgs);
138 if (newCommunicationLink != null)
139 msgs = ((InternalEObject) newCommunicationLink).eInverseAdd(this,
140 EOPPOSITE_FEATURE_BASE - SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK, null,
141 msgs);
142 msgs = basicSetCommunicationLink(newCommunicationLink, msgs);
143 if (msgs != null)
144 msgs.dispatch();
145 } else if (eNotificationRequired())
146 eNotify(new ENotificationImpl(this, Notification.SET,
147 SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK, newCommunicationLink,
148 newCommunicationLink));
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
158 switch (featureID) {
159 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM:
160 return ((InternalEList<?>) getCommSubsystem()).basicRemove(otherEnd, msgs);
161 case SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK:
162 return basicSetCommunicationLink(null, msgs);
163 }
164 return super.eInverseRemove(otherEnd, featureID, msgs);
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 @Override
173 public Object eGet(int featureID, boolean resolve, boolean coreType) {
174 switch (featureID) {
175 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM:
176 return getCommSubsystem();
177 case SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK:
178 return getCommunicationLink();
179 }
180 return super.eGet(featureID, resolve, coreType);
181 }
182
183 /**
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @generated
187 */
188 @SuppressWarnings("unchecked")
189 @Override
190 public void eSet(int featureID, Object newValue) {
191 switch (featureID) {
192 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM:
193 getCommSubsystem().clear();
194 getCommSubsystem().addAll((Collection<? extends CommSubsystem>) newValue);
195 return;
196 case SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK:
197 setCommunicationLink((DirectedCommunicationLink) newValue);
198 return;
199 }
200 super.eSet(featureID, newValue);
201 }
202
203 /**
204 * <!-- begin-user-doc -->
205 * <!-- end-user-doc -->
206 * @generated
207 */
208 @Override
209 public void eUnset(int featureID) {
210 switch (featureID) {
211 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM:
212 getCommSubsystem().clear();
213 return;
214 case SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK:
215 setCommunicationLink((DirectedCommunicationLink) null);
216 return;
217 }
218 super.eUnset(featureID);
219 }
220
221 /**
222 * <!-- begin-user-doc -->
223 * <!-- end-user-doc -->
224 * @generated
225 */
226 @Override
227 public boolean eIsSet(int featureID) {
228 switch (featureID) {
229 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM:
230 return commSubsystem != null && !commSubsystem.isEmpty();
231 case SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK:
232 return communicationLink != null;
233 }
234 return super.eIsSet(featureID);
235 }
236
237} //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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.satellite.ConstellationMission;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.GroundStationNetwork;
7import hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage;
8import hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft;
9
10import java.util.Collection;
11
12import org.eclipse.emf.common.notify.Notification;
13import org.eclipse.emf.common.notify.NotificationChain;
14
15import org.eclipse.emf.common.util.EList;
16
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.emf.ecore.InternalEObject;
19
20import org.eclipse.emf.ecore.impl.ENotificationImpl;
21import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
22
23import org.eclipse.emf.ecore.util.EObjectContainmentEList;
24import org.eclipse.emf.ecore.util.InternalEList;
25
26/**
27 * <!-- begin-user-doc -->
28 * An implementation of the model object '<em><b>Constellation Mission</b></em>'.
29 * <!-- end-user-doc -->
30 * <p>
31 * The following features are implemented:
32 * </p>
33 * <ul>
34 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.ConstellationMissionImpl#getGroundStationNetwork <em>Ground Station Network</em>}</li>
35 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.ConstellationMissionImpl#getSpacecraft <em>Spacecraft</em>}</li>
36 * </ul>
37 *
38 * @generated
39 */
40public abstract class ConstellationMissionImpl extends MinimalEObjectImpl.Container implements ConstellationMission {
41 /**
42 * The cached value of the '{@link #getGroundStationNetwork() <em>Ground Station Network</em>}' containment reference.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getGroundStationNetwork()
46 * @generated
47 * @ordered
48 */
49 protected GroundStationNetwork groundStationNetwork;
50
51 /**
52 * The cached value of the '{@link #getSpacecraft() <em>Spacecraft</em>}' containment reference list.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #getSpacecraft()
56 * @generated
57 * @ordered
58 */
59 protected EList<Spacecraft> spacecraft;
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 protected ConstellationMissionImpl() {
67 super();
68 }
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 @Override
76 protected EClass eStaticClass() {
77 return SatellitePackage.Literals.CONSTELLATION_MISSION;
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 @Override
86 public GroundStationNetwork getGroundStationNetwork() {
87 return groundStationNetwork;
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 public NotificationChain basicSetGroundStationNetwork(GroundStationNetwork newGroundStationNetwork,
96 NotificationChain msgs) {
97 GroundStationNetwork oldGroundStationNetwork = groundStationNetwork;
98 groundStationNetwork = newGroundStationNetwork;
99 if (eNotificationRequired()) {
100 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
101 SatellitePackage.CONSTELLATION_MISSION__GROUND_STATION_NETWORK, oldGroundStationNetwork,
102 newGroundStationNetwork);
103 if (msgs == null)
104 msgs = notification;
105 else
106 msgs.add(notification);
107 }
108 return msgs;
109 }
110
111 /**
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @generated
115 */
116 @Override
117 public void setGroundStationNetwork(GroundStationNetwork newGroundStationNetwork) {
118 if (newGroundStationNetwork != groundStationNetwork) {
119 NotificationChain msgs = null;
120 if (groundStationNetwork != null)
121 msgs = ((InternalEObject) groundStationNetwork).eInverseRemove(this,
122 EOPPOSITE_FEATURE_BASE - SatellitePackage.CONSTELLATION_MISSION__GROUND_STATION_NETWORK, null,
123 msgs);
124 if (newGroundStationNetwork != null)
125 msgs = ((InternalEObject) newGroundStationNetwork).eInverseAdd(this,
126 EOPPOSITE_FEATURE_BASE - SatellitePackage.CONSTELLATION_MISSION__GROUND_STATION_NETWORK, null,
127 msgs);
128 msgs = basicSetGroundStationNetwork(newGroundStationNetwork, msgs);
129 if (msgs != null)
130 msgs.dispatch();
131 } else if (eNotificationRequired())
132 eNotify(new ENotificationImpl(this, Notification.SET,
133 SatellitePackage.CONSTELLATION_MISSION__GROUND_STATION_NETWORK, newGroundStationNetwork,
134 newGroundStationNetwork));
135 }
136
137 /**
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 */
142 @Override
143 public EList<Spacecraft> getSpacecraft() {
144 if (spacecraft == null) {
145 spacecraft = new EObjectContainmentEList<Spacecraft>(Spacecraft.class, this,
146 SatellitePackage.CONSTELLATION_MISSION__SPACECRAFT);
147 }
148 return spacecraft;
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
158 switch (featureID) {
159 case SatellitePackage.CONSTELLATION_MISSION__GROUND_STATION_NETWORK:
160 return basicSetGroundStationNetwork(null, msgs);
161 case SatellitePackage.CONSTELLATION_MISSION__SPACECRAFT:
162 return ((InternalEList<?>) getSpacecraft()).basicRemove(otherEnd, msgs);
163 }
164 return super.eInverseRemove(otherEnd, featureID, msgs);
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 @Override
173 public Object eGet(int featureID, boolean resolve, boolean coreType) {
174 switch (featureID) {
175 case SatellitePackage.CONSTELLATION_MISSION__GROUND_STATION_NETWORK:
176 return getGroundStationNetwork();
177 case SatellitePackage.CONSTELLATION_MISSION__SPACECRAFT:
178 return getSpacecraft();
179 }
180 return super.eGet(featureID, resolve, coreType);
181 }
182
183 /**
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @generated
187 */
188 @SuppressWarnings("unchecked")
189 @Override
190 public void eSet(int featureID, Object newValue) {
191 switch (featureID) {
192 case SatellitePackage.CONSTELLATION_MISSION__GROUND_STATION_NETWORK:
193 setGroundStationNetwork((GroundStationNetwork) newValue);
194 return;
195 case SatellitePackage.CONSTELLATION_MISSION__SPACECRAFT:
196 getSpacecraft().clear();
197 getSpacecraft().addAll((Collection<? extends Spacecraft>) newValue);
198 return;
199 }
200 super.eSet(featureID, newValue);
201 }
202
203 /**
204 * <!-- begin-user-doc -->
205 * <!-- end-user-doc -->
206 * @generated
207 */
208 @Override
209 public void eUnset(int featureID) {
210 switch (featureID) {
211 case SatellitePackage.CONSTELLATION_MISSION__GROUND_STATION_NETWORK:
212 setGroundStationNetwork((GroundStationNetwork) null);
213 return;
214 case SatellitePackage.CONSTELLATION_MISSION__SPACECRAFT:
215 getSpacecraft().clear();
216 return;
217 }
218 super.eUnset(featureID);
219 }
220
221 /**
222 * <!-- begin-user-doc -->
223 * <!-- end-user-doc -->
224 * @generated
225 */
226 @Override
227 public boolean eIsSet(int featureID) {
228 switch (featureID) {
229 case SatellitePackage.CONSTELLATION_MISSION__GROUND_STATION_NETWORK:
230 return groundStationNetwork != null;
231 case SatellitePackage.CONSTELLATION_MISSION__SPACECRAFT:
232 return spacecraft != null && !spacecraft.isEmpty();
233 }
234 return super.eIsSet(featureID);
235 }
236
237} //ConstellationMissionImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat3U;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Cube Sat3 U</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class CubeSat3UImpl extends CubeSatImpl implements CubeSat3U {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected CubeSat3UImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SatellitePackage.Literals.CUBE_SAT3_U;
35 }
36
37} //CubeSat3UImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat6U;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Cube Sat6 U</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class CubeSat6UImpl extends CubeSatImpl implements CubeSat6U {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected CubeSat6UImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SatellitePackage.Literals.CUBE_SAT6_U;
35 }
36
37} //CubeSat6UImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink;
7import hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage;
8
9import org.eclipse.emf.common.notify.Notification;
10
11import org.eclipse.emf.ecore.EClass;
12import org.eclipse.emf.ecore.InternalEObject;
13
14import org.eclipse.emf.ecore.impl.ENotificationImpl;
15import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Directed Communication Link</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.DirectedCommunicationLinkImpl#getSource <em>Source</em>}</li>
26 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.DirectedCommunicationLinkImpl#getTarget <em>Target</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class DirectedCommunicationLinkImpl extends MinimalEObjectImpl.Container implements DirectedCommunicationLink {
32 /**
33 * The cached value of the '{@link #getSource() <em>Source</em>}' reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getSource()
37 * @generated
38 * @ordered
39 */
40 protected CommSubsystem source;
41
42 /**
43 * The cached value of the '{@link #getTarget() <em>Target</em>}' reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getTarget()
47 * @generated
48 * @ordered
49 */
50 protected CommSubsystem target;
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 protected DirectedCommunicationLinkImpl() {
58 super();
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 @Override
67 protected EClass eStaticClass() {
68 return SatellitePackage.Literals.DIRECTED_COMMUNICATION_LINK;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 @Override
77 public CommSubsystem getSource() {
78 if (source != null && source.eIsProxy()) {
79 InternalEObject oldSource = (InternalEObject) source;
80 source = (CommSubsystem) eResolveProxy(oldSource);
81 if (source != oldSource) {
82 if (eNotificationRequired())
83 eNotify(new ENotificationImpl(this, Notification.RESOLVE,
84 SatellitePackage.DIRECTED_COMMUNICATION_LINK__SOURCE, oldSource, source));
85 }
86 }
87 return source;
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 public CommSubsystem basicGetSource() {
96 return source;
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 public void setSource(CommSubsystem newSource) {
106 CommSubsystem oldSource = source;
107 source = newSource;
108 if (eNotificationRequired())
109 eNotify(new ENotificationImpl(this, Notification.SET, SatellitePackage.DIRECTED_COMMUNICATION_LINK__SOURCE,
110 oldSource, source));
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 @Override
119 public CommSubsystem getTarget() {
120 if (target != null && target.eIsProxy()) {
121 InternalEObject oldTarget = (InternalEObject) target;
122 target = (CommSubsystem) eResolveProxy(oldTarget);
123 if (target != oldTarget) {
124 if (eNotificationRequired())
125 eNotify(new ENotificationImpl(this, Notification.RESOLVE,
126 SatellitePackage.DIRECTED_COMMUNICATION_LINK__TARGET, oldTarget, target));
127 }
128 }
129 return target;
130 }
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 public CommSubsystem basicGetTarget() {
138 return target;
139 }
140
141 /**
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @generated
145 */
146 @Override
147 public void setTarget(CommSubsystem newTarget) {
148 CommSubsystem oldTarget = target;
149 target = newTarget;
150 if (eNotificationRequired())
151 eNotify(new ENotificationImpl(this, Notification.SET, SatellitePackage.DIRECTED_COMMUNICATION_LINK__TARGET,
152 oldTarget, target));
153 }
154
155 /**
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @generated
159 */
160 @Override
161 public Object eGet(int featureID, boolean resolve, boolean coreType) {
162 switch (featureID) {
163 case SatellitePackage.DIRECTED_COMMUNICATION_LINK__SOURCE:
164 if (resolve)
165 return getSource();
166 return basicGetSource();
167 case SatellitePackage.DIRECTED_COMMUNICATION_LINK__TARGET:
168 if (resolve)
169 return getTarget();
170 return basicGetTarget();
171 }
172 return super.eGet(featureID, resolve, coreType);
173 }
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 @Override
181 public void eSet(int featureID, Object newValue) {
182 switch (featureID) {
183 case SatellitePackage.DIRECTED_COMMUNICATION_LINK__SOURCE:
184 setSource((CommSubsystem) newValue);
185 return;
186 case SatellitePackage.DIRECTED_COMMUNICATION_LINK__TARGET:
187 setTarget((CommSubsystem) newValue);
188 return;
189 }
190 super.eSet(featureID, newValue);
191 }
192
193 /**
194 * <!-- begin-user-doc -->
195 * <!-- end-user-doc -->
196 * @generated
197 */
198 @Override
199 public void eUnset(int featureID) {
200 switch (featureID) {
201 case SatellitePackage.DIRECTED_COMMUNICATION_LINK__SOURCE:
202 setSource((CommSubsystem) null);
203 return;
204 case SatellitePackage.DIRECTED_COMMUNICATION_LINK__TARGET:
205 setTarget((CommSubsystem) null);
206 return;
207 }
208 super.eUnset(featureID);
209 }
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 @Override
217 public boolean eIsSet(int featureID) {
218 switch (featureID) {
219 case SatellitePackage.DIRECTED_COMMUNICATION_LINK__SOURCE:
220 return source != null;
221 case SatellitePackage.DIRECTED_COMMUNICATION_LINK__TARGET:
222 return target != null;
223 }
224 return super.eIsSet(featureID);
225 }
226
227} //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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.satellite.GroundStationNetwork;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Ground Station Network</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class GroundStationNetworkImpl extends CommunicatingElementImpl implements GroundStationNetwork {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected GroundStationNetworkImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SatellitePackage.Literals.GROUND_STATION_NETWORK;
35 }
36
37} //GroundStationNetworkImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage;
7
8import org.eclipse.emf.common.notify.Notification;
9
10import org.eclipse.emf.ecore.EClass;
11
12import org.eclipse.emf.ecore.impl.ENotificationImpl;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Interferometry Mission</b></em>'.
17 * <!-- end-user-doc -->
18 * <p>
19 * The following features are implemented:
20 * </p>
21 * <ul>
22 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.InterferometryMissionImpl#getObservationTime <em>Observation Time</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class InterferometryMissionImpl extends ConstellationMissionImpl implements InterferometryMission {
28 /**
29 * The default value of the '{@link #getObservationTime() <em>Observation Time</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #getObservationTime()
33 * @generated
34 * @ordered
35 */
36 protected static final float OBSERVATION_TIME_EDEFAULT = 2.0F;
37
38 /**
39 * The cached value of the '{@link #getObservationTime() <em>Observation Time</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getObservationTime()
43 * @generated
44 * @ordered
45 */
46 protected float observationTime = OBSERVATION_TIME_EDEFAULT;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected InterferometryMissionImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return SatellitePackage.Literals.INTERFEROMETRY_MISSION;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 @Override
73 public float getObservationTime() {
74 return observationTime;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 @Override
83 public void setObservationTime(float newObservationTime) {
84 float oldObservationTime = observationTime;
85 observationTime = newObservationTime;
86 if (eNotificationRequired())
87 eNotify(new ENotificationImpl(this, Notification.SET,
88 SatellitePackage.INTERFEROMETRY_MISSION__OBSERVATION_TIME, oldObservationTime, observationTime));
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 @Override
97 public Object eGet(int featureID, boolean resolve, boolean coreType) {
98 switch (featureID) {
99 case SatellitePackage.INTERFEROMETRY_MISSION__OBSERVATION_TIME:
100 return getObservationTime();
101 }
102 return super.eGet(featureID, resolve, coreType);
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @Override
111 public void eSet(int featureID, Object newValue) {
112 switch (featureID) {
113 case SatellitePackage.INTERFEROMETRY_MISSION__OBSERVATION_TIME:
114 setObservationTime((Float) newValue);
115 return;
116 }
117 super.eSet(featureID, newValue);
118 }
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 @Override
126 public void eUnset(int featureID) {
127 switch (featureID) {
128 case SatellitePackage.INTERFEROMETRY_MISSION__OBSERVATION_TIME:
129 setObservationTime(OBSERVATION_TIME_EDEFAULT);
130 return;
131 }
132 super.eUnset(featureID);
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 @Override
141 public boolean eIsSet(int featureID) {
142 switch (featureID) {
143 case SatellitePackage.INTERFEROMETRY_MISSION__OBSERVATION_TIME:
144 return observationTime != OBSERVATION_TIME_EDEFAULT;
145 }
146 return super.eIsSet(featureID);
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 @Override
155 public String toString() {
156 if (eIsProxy())
157 return super.toString();
158
159 StringBuilder result = new StringBuilder(super.toString());
160 result.append(" (observationTime: ");
161 result.append(observationTime);
162 result.append(')');
163 return result.toString();
164 }
165
166} //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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryPayload;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Interferometry Payload</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class InterferometryPayloadImpl extends PayloadImpl implements InterferometryPayload {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected InterferometryPayloadImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SatellitePackage.Literals.INTERFEROMETRY_PAYLOAD;
35 }
36
37} //InterferometryPayloadImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.satellite.Payload;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage;
7
8import org.eclipse.emf.ecore.EClass;
9
10import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
11
12/**
13 * <!-- begin-user-doc -->
14 * An implementation of the model object '<em><b>Payload</b></em>'.
15 * <!-- end-user-doc -->
16 *
17 * @generated
18 */
19public abstract class PayloadImpl extends MinimalEObjectImpl.Container implements Payload {
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected PayloadImpl() {
26 super();
27 }
28
29 /**
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 @Override
35 protected EClass eStaticClass() {
36 return SatellitePackage.Literals.PAYLOAD;
37 }
38
39} //PayloadImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.satellite.*;
6
7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.EDataType;
9import org.eclipse.emf.ecore.EObject;
10import org.eclipse.emf.ecore.EPackage;
11
12import org.eclipse.emf.ecore.impl.EFactoryImpl;
13
14import org.eclipse.emf.ecore.plugin.EcorePlugin;
15
16/**
17 * <!-- begin-user-doc -->
18 * An implementation of the model <b>Factory</b>.
19 * <!-- end-user-doc -->
20 * @generated
21 */
22public class SatelliteFactoryImpl extends EFactoryImpl implements SatelliteFactory {
23 /**
24 * Creates the default factory implementation.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @generated
28 */
29 public static SatelliteFactory init() {
30 try {
31 SatelliteFactory theSatelliteFactory = (SatelliteFactory) EPackage.Registry.INSTANCE
32 .getEFactory(SatellitePackage.eNS_URI);
33 if (theSatelliteFactory != null) {
34 return theSatelliteFactory;
35 }
36 } catch (Exception exception) {
37 EcorePlugin.INSTANCE.log(exception);
38 }
39 return new SatelliteFactoryImpl();
40 }
41
42 /**
43 * Creates an instance of the factory.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 public SatelliteFactoryImpl() {
49 super();
50 }
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 @Override
58 public EObject create(EClass eClass) {
59 switch (eClass.getClassifierID()) {
60 case SatellitePackage.INTERFEROMETRY_MISSION:
61 return createInterferometryMission();
62 case SatellitePackage.GROUND_STATION_NETWORK:
63 return createGroundStationNetwork();
64 case SatellitePackage.COMM_SUBSYSTEM:
65 return createCommSubsystem();
66 case SatellitePackage.DIRECTED_COMMUNICATION_LINK:
67 return createDirectedCommunicationLink();
68 case SatellitePackage.INTERFEROMETRY_PAYLOAD:
69 return createInterferometryPayload();
70 case SatellitePackage.CUBE_SAT3_U:
71 return createCubeSat3U();
72 case SatellitePackage.CUBE_SAT6_U:
73 return createCubeSat6U();
74 case SatellitePackage.SMALL_SAT:
75 return createSmallSat();
76 default:
77 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
78 }
79 }
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 @Override
87 public Object createFromString(EDataType eDataType, String initialValue) {
88 switch (eDataType.getClassifierID()) {
89 case SatellitePackage.TRANSCEIVER_BAND:
90 return createTransceiverBandFromString(eDataType, initialValue);
91 case SatellitePackage.ANTENNA_GAIN:
92 return createAntennaGainFromString(eDataType, initialValue);
93 case SatellitePackage.SPACECRAFT_KIND:
94 return createSpacecraftKindFromString(eDataType, initialValue);
95 default:
96 throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
97 }
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 @Override
106 public String convertToString(EDataType eDataType, Object instanceValue) {
107 switch (eDataType.getClassifierID()) {
108 case SatellitePackage.TRANSCEIVER_BAND:
109 return convertTransceiverBandToString(eDataType, instanceValue);
110 case SatellitePackage.ANTENNA_GAIN:
111 return convertAntennaGainToString(eDataType, instanceValue);
112 case SatellitePackage.SPACECRAFT_KIND:
113 return convertSpacecraftKindToString(eDataType, instanceValue);
114 default:
115 throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
116 }
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @Override
125 public InterferometryMission createInterferometryMission() {
126 InterferometryMissionImpl interferometryMission = new InterferometryMissionImpl();
127 return interferometryMission;
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 @Override
136 public GroundStationNetwork createGroundStationNetwork() {
137 GroundStationNetworkImpl groundStationNetwork = new GroundStationNetworkImpl();
138 return groundStationNetwork;
139 }
140
141 /**
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @generated
145 */
146 @Override
147 public CommSubsystem createCommSubsystem() {
148 CommSubsystemImpl commSubsystem = new CommSubsystemImpl();
149 return commSubsystem;
150 }
151
152 /**
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @generated
156 */
157 @Override
158 public DirectedCommunicationLink createDirectedCommunicationLink() {
159 DirectedCommunicationLinkImpl directedCommunicationLink = new DirectedCommunicationLinkImpl();
160 return directedCommunicationLink;
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public InterferometryPayload createInterferometryPayload() {
170 InterferometryPayloadImpl interferometryPayload = new InterferometryPayloadImpl();
171 return interferometryPayload;
172 }
173
174 /**
175 * <!-- begin-user-doc -->
176 * <!-- end-user-doc -->
177 * @generated
178 */
179 @Override
180 public CubeSat3U createCubeSat3U() {
181 CubeSat3UImpl cubeSat3U = new CubeSat3UImpl();
182 return cubeSat3U;
183 }
184
185 /**
186 * <!-- begin-user-doc -->
187 * <!-- end-user-doc -->
188 * @generated
189 */
190 @Override
191 public CubeSat6U createCubeSat6U() {
192 CubeSat6UImpl cubeSat6U = new CubeSat6UImpl();
193 return cubeSat6U;
194 }
195
196 /**
197 * <!-- begin-user-doc -->
198 * <!-- end-user-doc -->
199 * @generated
200 */
201 @Override
202 public SmallSat createSmallSat() {
203 SmallSatImpl smallSat = new SmallSatImpl();
204 return smallSat;
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 public TransceiverBand createTransceiverBandFromString(EDataType eDataType, String initialValue) {
213 TransceiverBand result = TransceiverBand.get(initialValue);
214 if (result == null)
215 throw new IllegalArgumentException(
216 "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
217 return result;
218 }
219
220 /**
221 * <!-- begin-user-doc -->
222 * <!-- end-user-doc -->
223 * @generated
224 */
225 public String convertTransceiverBandToString(EDataType eDataType, Object instanceValue) {
226 return instanceValue == null ? null : instanceValue.toString();
227 }
228
229 /**
230 * <!-- begin-user-doc -->
231 * <!-- end-user-doc -->
232 * @generated
233 */
234 public AntennaGain createAntennaGainFromString(EDataType eDataType, String initialValue) {
235 AntennaGain result = AntennaGain.get(initialValue);
236 if (result == null)
237 throw new IllegalArgumentException(
238 "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
239 return result;
240 }
241
242 /**
243 * <!-- begin-user-doc -->
244 * <!-- end-user-doc -->
245 * @generated
246 */
247 public String convertAntennaGainToString(EDataType eDataType, Object instanceValue) {
248 return instanceValue == null ? null : instanceValue.toString();
249 }
250
251 /**
252 * <!-- begin-user-doc -->
253 * <!-- end-user-doc -->
254 * @generated
255 */
256 public SpacecraftKind createSpacecraftKindFromString(EDataType eDataType, String initialValue) {
257 SpacecraftKind result = SpacecraftKind.get(initialValue);
258 if (result == null)
259 throw new IllegalArgumentException(
260 "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
261 return result;
262 }
263
264 /**
265 * <!-- begin-user-doc -->
266 * <!-- end-user-doc -->
267 * @generated
268 */
269 public String convertSpacecraftKindToString(EDataType eDataType, Object instanceValue) {
270 return instanceValue == null ? null : instanceValue.toString();
271 }
272
273 /**
274 * <!-- begin-user-doc -->
275 * <!-- end-user-doc -->
276 * @generated
277 */
278 @Override
279 public SatellitePackage getSatellitePackage() {
280 return (SatellitePackage) getEPackage();
281 }
282
283 /**
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @deprecated
287 * @generated
288 */
289 @Deprecated
290 public static SatellitePackage getPackage() {
291 return SatellitePackage.eINSTANCE;
292 }
293
294} //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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.satellite.AntennaGain;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem;
7import hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement;
8import hu.bme.mit.inf.dslreasoner.domains.satellite.ConstellationMission;
9import hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat;
10import hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat3U;
11import hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat6U;
12import hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink;
13import hu.bme.mit.inf.dslreasoner.domains.satellite.GroundStationNetwork;
14import hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission;
15import hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryPayload;
16import hu.bme.mit.inf.dslreasoner.domains.satellite.Payload;
17import hu.bme.mit.inf.dslreasoner.domains.satellite.SatelliteFactory;
18import hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage;
19import hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat;
20import hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft;
21import hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind;
22import hu.bme.mit.inf.dslreasoner.domains.satellite.TransceiverBand;
23
24import org.eclipse.emf.ecore.EAttribute;
25import org.eclipse.emf.ecore.EClass;
26import org.eclipse.emf.ecore.EEnum;
27import org.eclipse.emf.ecore.EPackage;
28import org.eclipse.emf.ecore.EReference;
29
30import org.eclipse.emf.ecore.impl.EPackageImpl;
31
32/**
33 * <!-- begin-user-doc -->
34 * An implementation of the model <b>Package</b>.
35 * <!-- end-user-doc -->
36 * @generated
37 */
38public class SatellitePackageImpl extends EPackageImpl implements SatellitePackage {
39 /**
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @generated
43 */
44 private EClass constellationMissionEClass = null;
45
46 /**
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @generated
50 */
51 private EClass interferometryMissionEClass = null;
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 private EClass communicatingElementEClass = null;
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 private EClass groundStationNetworkEClass = null;
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 private EClass spacecraftEClass = null;
73
74 /**
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @generated
78 */
79 private EClass commSubsystemEClass = null;
80
81 /**
82 * <!-- begin-user-doc -->
83 * <!-- end-user-doc -->
84 * @generated
85 */
86 private EClass directedCommunicationLinkEClass = null;
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 private EClass payloadEClass = null;
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 private EClass interferometryPayloadEClass = null;
101
102 /**
103 * <!-- begin-user-doc -->
104 * <!-- end-user-doc -->
105 * @generated
106 */
107 private EClass cubeSat3UEClass = null;
108
109 /**
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @generated
113 */
114 private EClass cubeSat6UEClass = null;
115
116 /**
117 * <!-- begin-user-doc -->
118 * <!-- end-user-doc -->
119 * @generated
120 */
121 private EClass smallSatEClass = null;
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 private EClass cubeSatEClass = null;
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 private EEnum transceiverBandEEnum = null;
136
137 /**
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 */
142 private EEnum antennaGainEEnum = null;
143
144 /**
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @generated
148 */
149 private EEnum spacecraftKindEEnum = null;
150
151 /**
152 * Creates an instance of the model <b>Package</b>, registered with
153 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
154 * package URI value.
155 * <p>Note: the correct way to create the package is via the static
156 * factory method {@link #init init()}, which also performs
157 * initialization of the package, or returns the registered package,
158 * if one already exists.
159 * <!-- begin-user-doc -->
160 * <!-- end-user-doc -->
161 * @see org.eclipse.emf.ecore.EPackage.Registry
162 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#eNS_URI
163 * @see #init()
164 * @generated
165 */
166 private SatellitePackageImpl() {
167 super(eNS_URI, SatelliteFactory.eINSTANCE);
168 }
169
170 /**
171 * <!-- begin-user-doc -->
172 * <!-- end-user-doc -->
173 * @generated
174 */
175 private static boolean isInited = false;
176
177 /**
178 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
179 *
180 * <p>This method is used to initialize {@link SatellitePackage#eINSTANCE} when that field is accessed.
181 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
182 * <!-- begin-user-doc -->
183 * <!-- end-user-doc -->
184 * @see #eNS_URI
185 * @see #createPackageContents()
186 * @see #initializePackageContents()
187 * @generated
188 */
189 public static SatellitePackage init() {
190 if (isInited)
191 return (SatellitePackage) EPackage.Registry.INSTANCE.getEPackage(SatellitePackage.eNS_URI);
192
193 // Obtain or create and register package
194 Object registeredSatellitePackage = EPackage.Registry.INSTANCE.get(eNS_URI);
195 SatellitePackageImpl theSatellitePackage = registeredSatellitePackage instanceof SatellitePackageImpl
196 ? (SatellitePackageImpl) registeredSatellitePackage
197 : new SatellitePackageImpl();
198
199 isInited = true;
200
201 // Create package meta-data objects
202 theSatellitePackage.createPackageContents();
203
204 // Initialize created meta-data
205 theSatellitePackage.initializePackageContents();
206
207 // Mark meta-data to indicate it can't be changed
208 theSatellitePackage.freeze();
209
210 // Update the registry and return the package
211 EPackage.Registry.INSTANCE.put(SatellitePackage.eNS_URI, theSatellitePackage);
212 return theSatellitePackage;
213 }
214
215 /**
216 * <!-- begin-user-doc -->
217 * <!-- end-user-doc -->
218 * @generated
219 */
220 @Override
221 public EClass getConstellationMission() {
222 return constellationMissionEClass;
223 }
224
225 /**
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 */
230 @Override
231 public EReference getConstellationMission_GroundStationNetwork() {
232 return (EReference) constellationMissionEClass.getEStructuralFeatures().get(0);
233 }
234
235 /**
236 * <!-- begin-user-doc -->
237 * <!-- end-user-doc -->
238 * @generated
239 */
240 @Override
241 public EReference getConstellationMission_Spacecraft() {
242 return (EReference) constellationMissionEClass.getEStructuralFeatures().get(1);
243 }
244
245 /**
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @generated
249 */
250 @Override
251 public EClass getInterferometryMission() {
252 return interferometryMissionEClass;
253 }
254
255 /**
256 * <!-- begin-user-doc -->
257 * <!-- end-user-doc -->
258 * @generated
259 */
260 @Override
261 public EAttribute getInterferometryMission_ObservationTime() {
262 return (EAttribute) interferometryMissionEClass.getEStructuralFeatures().get(0);
263 }
264
265 /**
266 * <!-- begin-user-doc -->
267 * <!-- end-user-doc -->
268 * @generated
269 */
270 @Override
271 public EClass getCommunicatingElement() {
272 return communicatingElementEClass;
273 }
274
275 /**
276 * <!-- begin-user-doc -->
277 * <!-- end-user-doc -->
278 * @generated
279 */
280 @Override
281 public EReference getCommunicatingElement_CommSubsystem() {
282 return (EReference) communicatingElementEClass.getEStructuralFeatures().get(0);
283 }
284
285 /**
286 * <!-- begin-user-doc -->
287 * <!-- end-user-doc -->
288 * @generated
289 */
290 @Override
291 public EReference getCommunicatingElement_CommunicationLink() {
292 return (EReference) communicatingElementEClass.getEStructuralFeatures().get(1);
293 }
294
295 /**
296 * <!-- begin-user-doc -->
297 * <!-- end-user-doc -->
298 * @generated
299 */
300 @Override
301 public EClass getGroundStationNetwork() {
302 return groundStationNetworkEClass;
303 }
304
305 /**
306 * <!-- begin-user-doc -->
307 * <!-- end-user-doc -->
308 * @generated
309 */
310 @Override
311 public EClass getSpacecraft() {
312 return spacecraftEClass;
313 }
314
315 /**
316 * <!-- begin-user-doc -->
317 * <!-- end-user-doc -->
318 * @generated
319 */
320 @Override
321 public EReference getSpacecraft_Payload() {
322 return (EReference) spacecraftEClass.getEStructuralFeatures().get(0);
323 }
324
325 /**
326 * <!-- begin-user-doc -->
327 * <!-- end-user-doc -->
328 * @generated
329 */
330 @Override
331 public EAttribute getSpacecraft_Kind() {
332 return (EAttribute) spacecraftEClass.getEStructuralFeatures().get(1);
333 }
334
335 /**
336 * <!-- begin-user-doc -->
337 * <!-- end-user-doc -->
338 * @generated
339 */
340 @Override
341 public EClass getCommSubsystem() {
342 return commSubsystemEClass;
343 }
344
345 /**
346 * <!-- begin-user-doc -->
347 * <!-- end-user-doc -->
348 * @generated
349 */
350 @Override
351 public EAttribute getCommSubsystem_Band() {
352 return (EAttribute) commSubsystemEClass.getEStructuralFeatures().get(0);
353 }
354
355 /**
356 * <!-- begin-user-doc -->
357 * <!-- end-user-doc -->
358 * @generated
359 */
360 @Override
361 public EAttribute getCommSubsystem_Gain() {
362 return (EAttribute) commSubsystemEClass.getEStructuralFeatures().get(1);
363 }
364
365 /**
366 * <!-- begin-user-doc -->
367 * <!-- end-user-doc -->
368 * @generated
369 */
370 @Override
371 public EClass getDirectedCommunicationLink() {
372 return directedCommunicationLinkEClass;
373 }
374
375 /**
376 * <!-- begin-user-doc -->
377 * <!-- end-user-doc -->
378 * @generated
379 */
380 @Override
381 public EReference getDirectedCommunicationLink_Source() {
382 return (EReference) directedCommunicationLinkEClass.getEStructuralFeatures().get(0);
383 }
384
385 /**
386 * <!-- begin-user-doc -->
387 * <!-- end-user-doc -->
388 * @generated
389 */
390 @Override
391 public EReference getDirectedCommunicationLink_Target() {
392 return (EReference) directedCommunicationLinkEClass.getEStructuralFeatures().get(1);
393 }
394
395 /**
396 * <!-- begin-user-doc -->
397 * <!-- end-user-doc -->
398 * @generated
399 */
400 @Override
401 public EClass getPayload() {
402 return payloadEClass;
403 }
404
405 /**
406 * <!-- begin-user-doc -->
407 * <!-- end-user-doc -->
408 * @generated
409 */
410 @Override
411 public EClass getInterferometryPayload() {
412 return interferometryPayloadEClass;
413 }
414
415 /**
416 * <!-- begin-user-doc -->
417 * <!-- end-user-doc -->
418 * @generated
419 */
420 @Override
421 public EClass getCubeSat3U() {
422 return cubeSat3UEClass;
423 }
424
425 /**
426 * <!-- begin-user-doc -->
427 * <!-- end-user-doc -->
428 * @generated
429 */
430 @Override
431 public EClass getCubeSat6U() {
432 return cubeSat6UEClass;
433 }
434
435 /**
436 * <!-- begin-user-doc -->
437 * <!-- end-user-doc -->
438 * @generated
439 */
440 @Override
441 public EClass getSmallSat() {
442 return smallSatEClass;
443 }
444
445 /**
446 * <!-- begin-user-doc -->
447 * <!-- end-user-doc -->
448 * @generated
449 */
450 @Override
451 public EClass getCubeSat() {
452 return cubeSatEClass;
453 }
454
455 /**
456 * <!-- begin-user-doc -->
457 * <!-- end-user-doc -->
458 * @generated
459 */
460 @Override
461 public EEnum getTransceiverBand() {
462 return transceiverBandEEnum;
463 }
464
465 /**
466 * <!-- begin-user-doc -->
467 * <!-- end-user-doc -->
468 * @generated
469 */
470 @Override
471 public EEnum getAntennaGain() {
472 return antennaGainEEnum;
473 }
474
475 /**
476 * <!-- begin-user-doc -->
477 * <!-- end-user-doc -->
478 * @generated
479 */
480 @Override
481 public EEnum getSpacecraftKind() {
482 return spacecraftKindEEnum;
483 }
484
485 /**
486 * <!-- begin-user-doc -->
487 * <!-- end-user-doc -->
488 * @generated
489 */
490 @Override
491 public SatelliteFactory getSatelliteFactory() {
492 return (SatelliteFactory) getEFactoryInstance();
493 }
494
495 /**
496 * <!-- begin-user-doc -->
497 * <!-- end-user-doc -->
498 * @generated
499 */
500 private boolean isCreated = false;
501
502 /**
503 * Creates the meta-model objects for the package. This method is
504 * guarded to have no affect on any invocation but its first.
505 * <!-- begin-user-doc -->
506 * <!-- end-user-doc -->
507 * @generated
508 */
509 public void createPackageContents() {
510 if (isCreated)
511 return;
512 isCreated = true;
513
514 // Create classes and their features
515 constellationMissionEClass = createEClass(CONSTELLATION_MISSION);
516 createEReference(constellationMissionEClass, CONSTELLATION_MISSION__GROUND_STATION_NETWORK);
517 createEReference(constellationMissionEClass, CONSTELLATION_MISSION__SPACECRAFT);
518
519 interferometryMissionEClass = createEClass(INTERFEROMETRY_MISSION);
520 createEAttribute(interferometryMissionEClass, INTERFEROMETRY_MISSION__OBSERVATION_TIME);
521
522 communicatingElementEClass = createEClass(COMMUNICATING_ELEMENT);
523 createEReference(communicatingElementEClass, COMMUNICATING_ELEMENT__COMM_SUBSYSTEM);
524 createEReference(communicatingElementEClass, COMMUNICATING_ELEMENT__COMMUNICATION_LINK);
525
526 groundStationNetworkEClass = createEClass(GROUND_STATION_NETWORK);
527
528 spacecraftEClass = createEClass(SPACECRAFT);
529 createEReference(spacecraftEClass, SPACECRAFT__PAYLOAD);
530 createEAttribute(spacecraftEClass, SPACECRAFT__KIND);
531
532 commSubsystemEClass = createEClass(COMM_SUBSYSTEM);
533 createEAttribute(commSubsystemEClass, COMM_SUBSYSTEM__BAND);
534 createEAttribute(commSubsystemEClass, COMM_SUBSYSTEM__GAIN);
535
536 directedCommunicationLinkEClass = createEClass(DIRECTED_COMMUNICATION_LINK);
537 createEReference(directedCommunicationLinkEClass, DIRECTED_COMMUNICATION_LINK__SOURCE);
538 createEReference(directedCommunicationLinkEClass, DIRECTED_COMMUNICATION_LINK__TARGET);
539
540 payloadEClass = createEClass(PAYLOAD);
541
542 interferometryPayloadEClass = createEClass(INTERFEROMETRY_PAYLOAD);
543
544 cubeSat3UEClass = createEClass(CUBE_SAT3_U);
545
546 cubeSat6UEClass = createEClass(CUBE_SAT6_U);
547
548 smallSatEClass = createEClass(SMALL_SAT);
549
550 cubeSatEClass = createEClass(CUBE_SAT);
551
552 // Create enums
553 transceiverBandEEnum = createEEnum(TRANSCEIVER_BAND);
554 antennaGainEEnum = createEEnum(ANTENNA_GAIN);
555 spacecraftKindEEnum = createEEnum(SPACECRAFT_KIND);
556 }
557
558 /**
559 * <!-- begin-user-doc -->
560 * <!-- end-user-doc -->
561 * @generated
562 */
563 private boolean isInitialized = false;
564
565 /**
566 * Complete the initialization of the package and its meta-model. This
567 * method is guarded to have no affect on any invocation but its first.
568 * <!-- begin-user-doc -->
569 * <!-- end-user-doc -->
570 * @generated
571 */
572 public void initializePackageContents() {
573 if (isInitialized)
574 return;
575 isInitialized = true;
576
577 // Initialize package
578 setName(eNAME);
579 setNsPrefix(eNS_PREFIX);
580 setNsURI(eNS_URI);
581
582 // Create type parameters
583
584 // Set bounds for type parameters
585
586 // Add supertypes to classes
587 interferometryMissionEClass.getESuperTypes().add(this.getConstellationMission());
588 groundStationNetworkEClass.getESuperTypes().add(this.getCommunicatingElement());
589 spacecraftEClass.getESuperTypes().add(this.getCommunicatingElement());
590 interferometryPayloadEClass.getESuperTypes().add(this.getPayload());
591 cubeSat3UEClass.getESuperTypes().add(this.getCubeSat());
592 cubeSat6UEClass.getESuperTypes().add(this.getCubeSat());
593 smallSatEClass.getESuperTypes().add(this.getSpacecraft());
594 cubeSatEClass.getESuperTypes().add(this.getSpacecraft());
595
596 // Initialize classes, features, and operations; add parameters
597 initEClass(constellationMissionEClass, ConstellationMission.class, "ConstellationMission", IS_ABSTRACT,
598 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
599 initEReference(getConstellationMission_GroundStationNetwork(), this.getGroundStationNetwork(), null,
600 "groundStationNetwork", null, 1, 1, ConstellationMission.class, !IS_TRANSIENT, !IS_VOLATILE,
601 IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
602 initEReference(getConstellationMission_Spacecraft(), this.getSpacecraft(), null, "spacecraft", null, 2, 50,
603 ConstellationMission.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
604 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
605
606 initEClass(interferometryMissionEClass, InterferometryMission.class, "InterferometryMission", !IS_ABSTRACT,
607 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
608 initEAttribute(getInterferometryMission_ObservationTime(), ecorePackage.getEFloat(), "observationTime", "2.0",
609 1, 1, InterferometryMission.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
610 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
611
612 initEClass(communicatingElementEClass, CommunicatingElement.class, "CommunicatingElement", IS_ABSTRACT,
613 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
614 initEReference(getCommunicatingElement_CommSubsystem(), this.getCommSubsystem(), null, "commSubsystem", null, 1,
615 2, CommunicatingElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
616 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
617 initEReference(getCommunicatingElement_CommunicationLink(), this.getDirectedCommunicationLink(), null,
618 "communicationLink", null, 0, 1, CommunicatingElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
619 IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
620
621 initEClass(groundStationNetworkEClass, GroundStationNetwork.class, "GroundStationNetwork", !IS_ABSTRACT,
622 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
623
624 initEClass(spacecraftEClass, Spacecraft.class, "Spacecraft", IS_ABSTRACT, !IS_INTERFACE,
625 IS_GENERATED_INSTANCE_CLASS);
626 initEReference(getSpacecraft_Payload(), this.getPayload(), null, "payload", null, 0, 1, Spacecraft.class,
627 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
628 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
629 initEAttribute(getSpacecraft_Kind(), this.getSpacecraftKind(), "kind", null, 1, 1, Spacecraft.class,
630 IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
631
632 initEClass(commSubsystemEClass, CommSubsystem.class, "CommSubsystem", !IS_ABSTRACT, !IS_INTERFACE,
633 IS_GENERATED_INSTANCE_CLASS);
634 initEAttribute(getCommSubsystem_Band(), this.getTransceiverBand(), "band", null, 1, 1, CommSubsystem.class,
635 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
636 initEAttribute(getCommSubsystem_Gain(), this.getAntennaGain(), "gain", null, 1, 1, CommSubsystem.class,
637 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
638
639 initEClass(directedCommunicationLinkEClass, DirectedCommunicationLink.class, "DirectedCommunicationLink",
640 !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
641 initEReference(getDirectedCommunicationLink_Source(), this.getCommSubsystem(), null, "source", null, 1, 1,
642 DirectedCommunicationLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
643 IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
644 initEReference(getDirectedCommunicationLink_Target(), this.getCommSubsystem(), null, "target", null, 1, 1,
645 DirectedCommunicationLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
646 IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
647
648 initEClass(payloadEClass, Payload.class, "Payload", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
649
650 initEClass(interferometryPayloadEClass, InterferometryPayload.class, "InterferometryPayload", !IS_ABSTRACT,
651 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
652
653 initEClass(cubeSat3UEClass, CubeSat3U.class, "CubeSat3U", !IS_ABSTRACT, !IS_INTERFACE,
654 IS_GENERATED_INSTANCE_CLASS);
655
656 initEClass(cubeSat6UEClass, CubeSat6U.class, "CubeSat6U", !IS_ABSTRACT, !IS_INTERFACE,
657 IS_GENERATED_INSTANCE_CLASS);
658
659 initEClass(smallSatEClass, SmallSat.class, "SmallSat", !IS_ABSTRACT, !IS_INTERFACE,
660 IS_GENERATED_INSTANCE_CLASS);
661
662 initEClass(cubeSatEClass, CubeSat.class, "CubeSat", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
663
664 // Initialize enums and add enum literals
665 initEEnum(transceiverBandEEnum, TransceiverBand.class, "TransceiverBand");
666 addEEnumLiteral(transceiverBandEEnum, TransceiverBand.UHF);
667 addEEnumLiteral(transceiverBandEEnum, TransceiverBand.X);
668 addEEnumLiteral(transceiverBandEEnum, TransceiverBand.KA);
669
670 initEEnum(antennaGainEEnum, AntennaGain.class, "AntennaGain");
671 addEEnumLiteral(antennaGainEEnum, AntennaGain.LOW);
672 addEEnumLiteral(antennaGainEEnum, AntennaGain.MEDIUM);
673 addEEnumLiteral(antennaGainEEnum, AntennaGain.HIGH);
674
675 initEEnum(spacecraftKindEEnum, SpacecraftKind.class, "SpacecraftKind");
676 addEEnumLiteral(spacecraftKindEEnum, SpacecraftKind.CUBE_SAT3_U);
677 addEEnumLiteral(spacecraftKindEEnum, SpacecraftKind.CUBE_SAT6_U);
678 addEEnumLiteral(spacecraftKindEEnum, SpacecraftKind.SMALL_SAT);
679
680 // Create resource
681 createResource(eNS_URI);
682 }
683
684} //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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat;
7
8import org.eclipse.emf.ecore.EClass;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Small Sat</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class SmallSatImpl extends SpacecraftImpl implements SmallSat {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected SmallSatImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SatellitePackage.Literals.SMALL_SAT;
35 }
36
37} //SmallSatImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.satellite.Payload;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage;
7import hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft;
8
9import hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind;
10import org.eclipse.emf.common.notify.Notification;
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.InternalEObject;
15
16import org.eclipse.emf.ecore.impl.ENotificationImpl;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Spacecraft</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SpacecraftImpl#getPayload <em>Payload</em>}</li>
27 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SpacecraftImpl#getKind <em>Kind</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public abstract class SpacecraftImpl extends CommunicatingElementImpl implements Spacecraft {
33 /**
34 * The cached value of the '{@link #getPayload() <em>Payload</em>}' containment reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getPayload()
38 * @generated
39 * @ordered
40 */
41 protected Payload payload;
42
43 /**
44 * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #getKind()
48 * @generated
49 * @ordered
50 */
51 protected static final SpacecraftKind KIND_EDEFAULT = SpacecraftKind.CUBE_SAT3_U;
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 protected SpacecraftImpl() {
59 super();
60 }
61
62 /**
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @generated
66 */
67 @Override
68 protected EClass eStaticClass() {
69 return SatellitePackage.Literals.SPACECRAFT;
70 }
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 @Override
78 public Payload getPayload() {
79 return payload;
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 public NotificationChain basicSetPayload(Payload newPayload, NotificationChain msgs) {
88 Payload oldPayload = payload;
89 payload = newPayload;
90 if (eNotificationRequired()) {
91 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
92 SatellitePackage.SPACECRAFT__PAYLOAD, oldPayload, newPayload);
93 if (msgs == null)
94 msgs = notification;
95 else
96 msgs.add(notification);
97 }
98 return msgs;
99 }
100
101 /**
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @generated
105 */
106 @Override
107 public void setPayload(Payload newPayload) {
108 if (newPayload != payload) {
109 NotificationChain msgs = null;
110 if (payload != null)
111 msgs = ((InternalEObject) payload).eInverseRemove(this,
112 EOPPOSITE_FEATURE_BASE - SatellitePackage.SPACECRAFT__PAYLOAD, null, msgs);
113 if (newPayload != null)
114 msgs = ((InternalEObject) newPayload).eInverseAdd(this,
115 EOPPOSITE_FEATURE_BASE - SatellitePackage.SPACECRAFT__PAYLOAD, null, msgs);
116 msgs = basicSetPayload(newPayload, msgs);
117 if (msgs != null)
118 msgs.dispatch();
119 } else if (eNotificationRequired())
120 eNotify(new ENotificationImpl(this, Notification.SET, SatellitePackage.SPACECRAFT__PAYLOAD, newPayload,
121 newPayload));
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 @Override
130 public SpacecraftKind getKind() {
131 // TODO: implement this method to return the 'Kind' attribute
132 // Ensure that you remove @generated or mark it @generated NOT
133 throw new UnsupportedOperationException();
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
143 switch (featureID) {
144 case SatellitePackage.SPACECRAFT__PAYLOAD:
145 return basicSetPayload(null, msgs);
146 }
147 return super.eInverseRemove(otherEnd, featureID, msgs);
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 @Override
156 public Object eGet(int featureID, boolean resolve, boolean coreType) {
157 switch (featureID) {
158 case SatellitePackage.SPACECRAFT__PAYLOAD:
159 return getPayload();
160 case SatellitePackage.SPACECRAFT__KIND:
161 return getKind();
162 }
163 return super.eGet(featureID, resolve, coreType);
164 }
165
166 /**
167 * <!-- begin-user-doc -->
168 * <!-- end-user-doc -->
169 * @generated
170 */
171 @Override
172 public void eSet(int featureID, Object newValue) {
173 switch (featureID) {
174 case SatellitePackage.SPACECRAFT__PAYLOAD:
175 setPayload((Payload) newValue);
176 return;
177 }
178 super.eSet(featureID, newValue);
179 }
180
181 /**
182 * <!-- begin-user-doc -->
183 * <!-- end-user-doc -->
184 * @generated
185 */
186 @Override
187 public void eUnset(int featureID) {
188 switch (featureID) {
189 case SatellitePackage.SPACECRAFT__PAYLOAD:
190 setPayload((Payload) null);
191 return;
192 }
193 super.eUnset(featureID);
194 }
195
196 /**
197 * <!-- begin-user-doc -->
198 * <!-- end-user-doc -->
199 * @generated
200 */
201 @Override
202 public boolean eIsSet(int featureID) {
203 switch (featureID) {
204 case SatellitePackage.SPACECRAFT__PAYLOAD:
205 return payload != null;
206 case SatellitePackage.SPACECRAFT__KIND:
207 return getKind() != KIND_EDEFAULT;
208 }
209 return super.eIsSet(featureID);
210 }
211
212} //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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite.util;
4
5import hu.bme.mit.inf.dslreasoner.domains.satellite.*;
6
7import org.eclipse.emf.common.notify.Adapter;
8import org.eclipse.emf.common.notify.Notifier;
9
10import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
11
12import org.eclipse.emf.ecore.EObject;
13
14/**
15 * <!-- begin-user-doc -->
16 * The <b>Adapter Factory</b> for the model.
17 * It provides an adapter <code>createXXX</code> method for each class of the model.
18 * <!-- end-user-doc -->
19 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage
20 * @generated
21 */
22public class SatelliteAdapterFactory extends AdapterFactoryImpl {
23 /**
24 * The cached model package.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @generated
28 */
29 protected static SatellitePackage modelPackage;
30
31 /**
32 * Creates an instance of the adapter factory.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 public SatelliteAdapterFactory() {
38 if (modelPackage == null) {
39 modelPackage = SatellitePackage.eINSTANCE;
40 }
41 }
42
43 /**
44 * Returns whether this factory is applicable for the type of the object.
45 * <!-- begin-user-doc -->
46 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
47 * <!-- end-user-doc -->
48 * @return whether this factory is applicable for the type of the object.
49 * @generated
50 */
51 @Override
52 public boolean isFactoryForType(Object object) {
53 if (object == modelPackage) {
54 return true;
55 }
56 if (object instanceof EObject) {
57 return ((EObject) object).eClass().getEPackage() == modelPackage;
58 }
59 return false;
60 }
61
62 /**
63 * The switch that delegates to the <code>createXXX</code> methods.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 protected SatelliteSwitch<Adapter> modelSwitch = new SatelliteSwitch<Adapter>() {
69 @Override
70 public Adapter caseConstellationMission(ConstellationMission object) {
71 return createConstellationMissionAdapter();
72 }
73
74 @Override
75 public Adapter caseInterferometryMission(InterferometryMission object) {
76 return createInterferometryMissionAdapter();
77 }
78
79 @Override
80 public Adapter caseCommunicatingElement(CommunicatingElement object) {
81 return createCommunicatingElementAdapter();
82 }
83
84 @Override
85 public Adapter caseGroundStationNetwork(GroundStationNetwork object) {
86 return createGroundStationNetworkAdapter();
87 }
88
89 @Override
90 public Adapter caseSpacecraft(Spacecraft object) {
91 return createSpacecraftAdapter();
92 }
93
94 @Override
95 public Adapter caseCommSubsystem(CommSubsystem object) {
96 return createCommSubsystemAdapter();
97 }
98
99 @Override
100 public Adapter caseDirectedCommunicationLink(DirectedCommunicationLink object) {
101 return createDirectedCommunicationLinkAdapter();
102 }
103
104 @Override
105 public Adapter casePayload(Payload object) {
106 return createPayloadAdapter();
107 }
108
109 @Override
110 public Adapter caseInterferometryPayload(InterferometryPayload object) {
111 return createInterferometryPayloadAdapter();
112 }
113
114 @Override
115 public Adapter caseCubeSat3U(CubeSat3U object) {
116 return createCubeSat3UAdapter();
117 }
118
119 @Override
120 public Adapter caseCubeSat6U(CubeSat6U object) {
121 return createCubeSat6UAdapter();
122 }
123
124 @Override
125 public Adapter caseSmallSat(SmallSat object) {
126 return createSmallSatAdapter();
127 }
128
129 @Override
130 public Adapter caseCubeSat(CubeSat object) {
131 return createCubeSatAdapter();
132 }
133
134 @Override
135 public Adapter defaultCase(EObject object) {
136 return createEObjectAdapter();
137 }
138 };
139
140 /**
141 * Creates an adapter for the <code>target</code>.
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @param target the object to adapt.
145 * @return the adapter for the <code>target</code>.
146 * @generated
147 */
148 @Override
149 public Adapter createAdapter(Notifier target) {
150 return modelSwitch.doSwitch((EObject) target);
151 }
152
153 /**
154 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.ConstellationMission <em>Constellation Mission</em>}'.
155 * <!-- begin-user-doc -->
156 * This default implementation returns null so that we can easily ignore cases;
157 * it's useful to ignore a case when inheritance will catch all the cases anyway.
158 * <!-- end-user-doc -->
159 * @return the new adapter.
160 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.ConstellationMission
161 * @generated
162 */
163 public Adapter createConstellationMissionAdapter() {
164 return null;
165 }
166
167 /**
168 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission <em>Interferometry Mission</em>}'.
169 * <!-- begin-user-doc -->
170 * This default implementation returns null so that we can easily ignore cases;
171 * it's useful to ignore a case when inheritance will catch all the cases anyway.
172 * <!-- end-user-doc -->
173 * @return the new adapter.
174 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission
175 * @generated
176 */
177 public Adapter createInterferometryMissionAdapter() {
178 return null;
179 }
180
181 /**
182 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement <em>Communicating Element</em>}'.
183 * <!-- begin-user-doc -->
184 * This default implementation returns null so that we can easily ignore cases;
185 * it's useful to ignore a case when inheritance will catch all the cases anyway.
186 * <!-- end-user-doc -->
187 * @return the new adapter.
188 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement
189 * @generated
190 */
191 public Adapter createCommunicatingElementAdapter() {
192 return null;
193 }
194
195 /**
196 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.GroundStationNetwork <em>Ground Station Network</em>}'.
197 * <!-- begin-user-doc -->
198 * This default implementation returns null so that we can easily ignore cases;
199 * it's useful to ignore a case when inheritance will catch all the cases anyway.
200 * <!-- end-user-doc -->
201 * @return the new adapter.
202 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.GroundStationNetwork
203 * @generated
204 */
205 public Adapter createGroundStationNetworkAdapter() {
206 return null;
207 }
208
209 /**
210 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft <em>Spacecraft</em>}'.
211 * <!-- begin-user-doc -->
212 * This default implementation returns null so that we can easily ignore cases;
213 * it's useful to ignore a case when inheritance will catch all the cases anyway.
214 * <!-- end-user-doc -->
215 * @return the new adapter.
216 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft
217 * @generated
218 */
219 public Adapter createSpacecraftAdapter() {
220 return null;
221 }
222
223 /**
224 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem <em>Comm Subsystem</em>}'.
225 * <!-- begin-user-doc -->
226 * This default implementation returns null so that we can easily ignore cases;
227 * it's useful to ignore a case when inheritance will catch all the cases anyway.
228 * <!-- end-user-doc -->
229 * @return the new adapter.
230 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem
231 * @generated
232 */
233 public Adapter createCommSubsystemAdapter() {
234 return null;
235 }
236
237 /**
238 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink <em>Directed Communication Link</em>}'.
239 * <!-- begin-user-doc -->
240 * This default implementation returns null so that we can easily ignore cases;
241 * it's useful to ignore a case when inheritance will catch all the cases anyway.
242 * <!-- end-user-doc -->
243 * @return the new adapter.
244 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink
245 * @generated
246 */
247 public Adapter createDirectedCommunicationLinkAdapter() {
248 return null;
249 }
250
251 /**
252 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.Payload <em>Payload</em>}'.
253 * <!-- begin-user-doc -->
254 * This default implementation returns null so that we can easily ignore cases;
255 * it's useful to ignore a case when inheritance will catch all the cases anyway.
256 * <!-- end-user-doc -->
257 * @return the new adapter.
258 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.Payload
259 * @generated
260 */
261 public Adapter createPayloadAdapter() {
262 return null;
263 }
264
265 /**
266 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryPayload <em>Interferometry Payload</em>}'.
267 * <!-- begin-user-doc -->
268 * This default implementation returns null so that we can easily ignore cases;
269 * it's useful to ignore a case when inheritance will catch all the cases anyway.
270 * <!-- end-user-doc -->
271 * @return the new adapter.
272 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryPayload
273 * @generated
274 */
275 public Adapter createInterferometryPayloadAdapter() {
276 return null;
277 }
278
279 /**
280 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat3U <em>Cube Sat3 U</em>}'.
281 * <!-- begin-user-doc -->
282 * This default implementation returns null so that we can easily ignore cases;
283 * it's useful to ignore a case when inheritance will catch all the cases anyway.
284 * <!-- end-user-doc -->
285 * @return the new adapter.
286 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat3U
287 * @generated
288 */
289 public Adapter createCubeSat3UAdapter() {
290 return null;
291 }
292
293 /**
294 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat6U <em>Cube Sat6 U</em>}'.
295 * <!-- begin-user-doc -->
296 * This default implementation returns null so that we can easily ignore cases;
297 * it's useful to ignore a case when inheritance will catch all the cases anyway.
298 * <!-- end-user-doc -->
299 * @return the new adapter.
300 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat6U
301 * @generated
302 */
303 public Adapter createCubeSat6UAdapter() {
304 return null;
305 }
306
307 /**
308 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat <em>Small Sat</em>}'.
309 * <!-- begin-user-doc -->
310 * This default implementation returns null so that we can easily ignore cases;
311 * it's useful to ignore a case when inheritance will catch all the cases anyway.
312 * <!-- end-user-doc -->
313 * @return the new adapter.
314 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat
315 * @generated
316 */
317 public Adapter createSmallSatAdapter() {
318 return null;
319 }
320
321 /**
322 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat <em>Cube Sat</em>}'.
323 * <!-- begin-user-doc -->
324 * This default implementation returns null so that we can easily ignore cases;
325 * it's useful to ignore a case when inheritance will catch all the cases anyway.
326 * <!-- end-user-doc -->
327 * @return the new adapter.
328 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat
329 * @generated
330 */
331 public Adapter createCubeSatAdapter() {
332 return null;
333 }
334
335 /**
336 * Creates a new adapter for the default case.
337 * <!-- begin-user-doc -->
338 * This default implementation returns null.
339 * <!-- end-user-doc -->
340 * @return the new adapter.
341 * @generated
342 */
343 public Adapter createEObjectAdapter() {
344 return null;
345 }
346
347} //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 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite.util;
4
5import hu.bme.mit.inf.dslreasoner.domains.satellite.*;
6
7import org.eclipse.emf.ecore.EObject;
8import org.eclipse.emf.ecore.EPackage;
9
10import org.eclipse.emf.ecore.util.Switch;
11
12/**
13 * <!-- begin-user-doc -->
14 * The <b>Switch</b> for the model's inheritance hierarchy.
15 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
16 * to invoke the <code>caseXXX</code> method for each class of the model,
17 * starting with the actual class of the object
18 * and proceeding up the inheritance hierarchy
19 * until a non-null result is returned,
20 * which is the result of the switch.
21 * <!-- end-user-doc -->
22 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage
23 * @generated
24 */
25public class SatelliteSwitch<T> extends Switch<T> {
26 /**
27 * The cached model package
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 protected static SatellitePackage modelPackage;
33
34 /**
35 * Creates an instance of the switch.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @generated
39 */
40 public SatelliteSwitch() {
41 if (modelPackage == null) {
42 modelPackage = SatellitePackage.eINSTANCE;
43 }
44 }
45
46 /**
47 * Checks whether this is a switch for the given package.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @param ePackage the package in question.
51 * @return whether this is a switch for the given package.
52 * @generated
53 */
54 @Override
55 protected boolean isSwitchFor(EPackage ePackage) {
56 return ePackage == modelPackage;
57 }
58
59 /**
60 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @return the first non-null result returned by a <code>caseXXX</code> call.
64 * @generated
65 */
66 @Override
67 protected T doSwitch(int classifierID, EObject theEObject) {
68 switch (classifierID) {
69 case SatellitePackage.CONSTELLATION_MISSION: {
70 ConstellationMission constellationMission = (ConstellationMission) theEObject;
71 T result = caseConstellationMission(constellationMission);
72 if (result == null)
73 result = defaultCase(theEObject);
74 return result;
75 }
76 case SatellitePackage.INTERFEROMETRY_MISSION: {
77 InterferometryMission interferometryMission = (InterferometryMission) theEObject;
78 T result = caseInterferometryMission(interferometryMission);
79 if (result == null)
80 result = caseConstellationMission(interferometryMission);
81 if (result == null)
82 result = defaultCase(theEObject);
83 return result;
84 }
85 case SatellitePackage.COMMUNICATING_ELEMENT: {
86 CommunicatingElement communicatingElement = (CommunicatingElement) theEObject;
87 T result = caseCommunicatingElement(communicatingElement);
88 if (result == null)
89 result = defaultCase(theEObject);
90 return result;
91 }
92 case SatellitePackage.GROUND_STATION_NETWORK: {
93 GroundStationNetwork groundStationNetwork = (GroundStationNetwork) theEObject;
94 T result = caseGroundStationNetwork(groundStationNetwork);
95 if (result == null)
96 result = caseCommunicatingElement(groundStationNetwork);
97 if (result == null)
98 result = defaultCase(theEObject);
99 return result;
100 }
101 case SatellitePackage.SPACECRAFT: {
102 Spacecraft spacecraft = (Spacecraft) theEObject;
103 T result = caseSpacecraft(spacecraft);
104 if (result == null)
105 result = caseCommunicatingElement(spacecraft);
106 if (result == null)
107 result = defaultCase(theEObject);
108 return result;
109 }
110 case SatellitePackage.COMM_SUBSYSTEM: {
111 CommSubsystem commSubsystem = (CommSubsystem) theEObject;
112 T result = caseCommSubsystem(commSubsystem);
113 if (result == null)
114 result = defaultCase(theEObject);
115 return result;
116 }
117 case SatellitePackage.DIRECTED_COMMUNICATION_LINK: {
118 DirectedCommunicationLink directedCommunicationLink = (DirectedCommunicationLink) theEObject;
119 T result = caseDirectedCommunicationLink(directedCommunicationLink);
120 if (result == null)
121 result = defaultCase(theEObject);
122 return result;
123 }
124 case SatellitePackage.PAYLOAD: {
125 Payload payload = (Payload) theEObject;
126 T result = casePayload(payload);
127 if (result == null)
128 result = defaultCase(theEObject);
129 return result;
130 }
131 case SatellitePackage.INTERFEROMETRY_PAYLOAD: {
132 InterferometryPayload interferometryPayload = (InterferometryPayload) theEObject;
133 T result = caseInterferometryPayload(interferometryPayload);
134 if (result == null)
135 result = casePayload(interferometryPayload);
136 if (result == null)
137 result = defaultCase(theEObject);
138 return result;
139 }
140 case SatellitePackage.CUBE_SAT3_U: {
141 CubeSat3U cubeSat3U = (CubeSat3U) theEObject;
142 T result = caseCubeSat3U(cubeSat3U);
143 if (result == null)
144 result = caseCubeSat(cubeSat3U);
145 if (result == null)
146 result = caseSpacecraft(cubeSat3U);
147 if (result == null)
148 result = caseCommunicatingElement(cubeSat3U);
149 if (result == null)
150 result = defaultCase(theEObject);
151 return result;
152 }
153 case SatellitePackage.CUBE_SAT6_U: {
154 CubeSat6U cubeSat6U = (CubeSat6U) theEObject;
155 T result = caseCubeSat6U(cubeSat6U);
156 if (result == null)
157 result = caseCubeSat(cubeSat6U);
158 if (result == null)
159 result = caseSpacecraft(cubeSat6U);
160 if (result == null)
161 result = caseCommunicatingElement(cubeSat6U);
162 if (result == null)
163 result = defaultCase(theEObject);
164 return result;
165 }
166 case SatellitePackage.SMALL_SAT: {
167 SmallSat smallSat = (SmallSat) theEObject;
168 T result = caseSmallSat(smallSat);
169 if (result == null)
170 result = caseSpacecraft(smallSat);
171 if (result == null)
172 result = caseCommunicatingElement(smallSat);
173 if (result == null)
174 result = defaultCase(theEObject);
175 return result;
176 }
177 case SatellitePackage.CUBE_SAT: {
178 CubeSat cubeSat = (CubeSat) theEObject;
179 T result = caseCubeSat(cubeSat);
180 if (result == null)
181 result = caseSpacecraft(cubeSat);
182 if (result == null)
183 result = caseCommunicatingElement(cubeSat);
184 if (result == null)
185 result = defaultCase(theEObject);
186 return result;
187 }
188 default:
189 return defaultCase(theEObject);
190 }
191 }
192
193 /**
194 * Returns the result of interpreting the object as an instance of '<em>Constellation Mission</em>'.
195 * <!-- begin-user-doc -->
196 * This implementation returns null;
197 * returning a non-null result will terminate the switch.
198 * <!-- end-user-doc -->
199 * @param object the target of the switch.
200 * @return the result of interpreting the object as an instance of '<em>Constellation Mission</em>'.
201 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
202 * @generated
203 */
204 public T caseConstellationMission(ConstellationMission object) {
205 return null;
206 }
207
208 /**
209 * Returns the result of interpreting the object as an instance of '<em>Interferometry Mission</em>'.
210 * <!-- begin-user-doc -->
211 * This implementation returns null;
212 * returning a non-null result will terminate the switch.
213 * <!-- end-user-doc -->
214 * @param object the target of the switch.
215 * @return the result of interpreting the object as an instance of '<em>Interferometry Mission</em>'.
216 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
217 * @generated
218 */
219 public T caseInterferometryMission(InterferometryMission object) {
220 return null;
221 }
222
223 /**
224 * Returns the result of interpreting the object as an instance of '<em>Communicating Element</em>'.
225 * <!-- begin-user-doc -->
226 * This implementation returns null;
227 * returning a non-null result will terminate the switch.
228 * <!-- end-user-doc -->
229 * @param object the target of the switch.
230 * @return the result of interpreting the object as an instance of '<em>Communicating Element</em>'.
231 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
232 * @generated
233 */
234 public T caseCommunicatingElement(CommunicatingElement object) {
235 return null;
236 }
237
238 /**
239 * Returns the result of interpreting the object as an instance of '<em>Ground Station Network</em>'.
240 * <!-- begin-user-doc -->
241 * This implementation returns null;
242 * returning a non-null result will terminate the switch.
243 * <!-- end-user-doc -->
244 * @param object the target of the switch.
245 * @return the result of interpreting the object as an instance of '<em>Ground Station Network</em>'.
246 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
247 * @generated
248 */
249 public T caseGroundStationNetwork(GroundStationNetwork object) {
250 return null;
251 }
252
253 /**
254 * Returns the result of interpreting the object as an instance of '<em>Spacecraft</em>'.
255 * <!-- begin-user-doc -->
256 * This implementation returns null;
257 * returning a non-null result will terminate the switch.
258 * <!-- end-user-doc -->
259 * @param object the target of the switch.
260 * @return the result of interpreting the object as an instance of '<em>Spacecraft</em>'.
261 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
262 * @generated
263 */
264 public T caseSpacecraft(Spacecraft object) {
265 return null;
266 }
267
268 /**
269 * Returns the result of interpreting the object as an instance of '<em>Comm Subsystem</em>'.
270 * <!-- begin-user-doc -->
271 * This implementation returns null;
272 * returning a non-null result will terminate the switch.
273 * <!-- end-user-doc -->
274 * @param object the target of the switch.
275 * @return the result of interpreting the object as an instance of '<em>Comm Subsystem</em>'.
276 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
277 * @generated
278 */
279 public T caseCommSubsystem(CommSubsystem object) {
280 return null;
281 }
282
283 /**
284 * Returns the result of interpreting the object as an instance of '<em>Directed Communication Link</em>'.
285 * <!-- begin-user-doc -->
286 * This implementation returns null;
287 * returning a non-null result will terminate the switch.
288 * <!-- end-user-doc -->
289 * @param object the target of the switch.
290 * @return the result of interpreting the object as an instance of '<em>Directed Communication Link</em>'.
291 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
292 * @generated
293 */
294 public T caseDirectedCommunicationLink(DirectedCommunicationLink object) {
295 return null;
296 }
297
298 /**
299 * Returns the result of interpreting the object as an instance of '<em>Payload</em>'.
300 * <!-- begin-user-doc -->
301 * This implementation returns null;
302 * returning a non-null result will terminate the switch.
303 * <!-- end-user-doc -->
304 * @param object the target of the switch.
305 * @return the result of interpreting the object as an instance of '<em>Payload</em>'.
306 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
307 * @generated
308 */
309 public T casePayload(Payload object) {
310 return null;
311 }
312
313 /**
314 * Returns the result of interpreting the object as an instance of '<em>Interferometry Payload</em>'.
315 * <!-- begin-user-doc -->
316 * This implementation returns null;
317 * returning a non-null result will terminate the switch.
318 * <!-- end-user-doc -->
319 * @param object the target of the switch.
320 * @return the result of interpreting the object as an instance of '<em>Interferometry Payload</em>'.
321 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
322 * @generated
323 */
324 public T caseInterferometryPayload(InterferometryPayload object) {
325 return null;
326 }
327
328 /**
329 * Returns the result of interpreting the object as an instance of '<em>Cube Sat3 U</em>'.
330 * <!-- begin-user-doc -->
331 * This implementation returns null;
332 * returning a non-null result will terminate the switch.
333 * <!-- end-user-doc -->
334 * @param object the target of the switch.
335 * @return the result of interpreting the object as an instance of '<em>Cube Sat3 U</em>'.
336 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
337 * @generated
338 */
339 public T caseCubeSat3U(CubeSat3U object) {
340 return null;
341 }
342
343 /**
344 * Returns the result of interpreting the object as an instance of '<em>Cube Sat6 U</em>'.
345 * <!-- begin-user-doc -->
346 * This implementation returns null;
347 * returning a non-null result will terminate the switch.
348 * <!-- end-user-doc -->
349 * @param object the target of the switch.
350 * @return the result of interpreting the object as an instance of '<em>Cube Sat6 U</em>'.
351 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
352 * @generated
353 */
354 public T caseCubeSat6U(CubeSat6U object) {
355 return null;
356 }
357
358 /**
359 * Returns the result of interpreting the object as an instance of '<em>Small Sat</em>'.
360 * <!-- begin-user-doc -->
361 * This implementation returns null;
362 * returning a non-null result will terminate the switch.
363 * <!-- end-user-doc -->
364 * @param object the target of the switch.
365 * @return the result of interpreting the object as an instance of '<em>Small Sat</em>'.
366 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
367 * @generated
368 */
369 public T caseSmallSat(SmallSat object) {
370 return null;
371 }
372
373 /**
374 * Returns the result of interpreting the object as an instance of '<em>Cube Sat</em>'.
375 * <!-- begin-user-doc -->
376 * This implementation returns null;
377 * returning a non-null result will terminate the switch.
378 * <!-- end-user-doc -->
379 * @param object the target of the switch.
380 * @return the result of interpreting the object as an instance of '<em>Cube Sat</em>'.
381 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
382 * @generated
383 */
384 public T caseCubeSat(CubeSat object) {
385 return null;
386 }
387
388 /**
389 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
390 * <!-- begin-user-doc -->
391 * This implementation returns null;
392 * returning a non-null result will terminate the switch, but this is the last case anyway.
393 * <!-- end-user-doc -->
394 * @param object the target of the switch.
395 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
396 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
397 * @generated
398 */
399 @Override
400 public T defaultCase(EObject object) {
401 return null;
402 }
403
404} //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 {
51 /** 51 /**
52 * The '<em><b>LOW</b></em>' literal value. 52 * The '<em><b>LOW</b></em>' literal value.
53 * <!-- begin-user-doc --> 53 * <!-- begin-user-doc -->
54 * <p>
55 * If the meaning of '<em><b>LOW</b></em>' literal object isn't clear,
56 * there really should be more of a description here...
57 * </p>
58 * <!-- end-user-doc --> 54 * <!-- end-user-doc -->
59 * @see #LOW 55 * @see #LOW
60 * @model 56 * @model
@@ -66,10 +62,6 @@ public enum AntennaGain implements Enumerator {
66 /** 62 /**
67 * The '<em><b>MEDIUM</b></em>' literal value. 63 * The '<em><b>MEDIUM</b></em>' literal value.
68 * <!-- begin-user-doc --> 64 * <!-- begin-user-doc -->
69 * <p>
70 * If the meaning of '<em><b>MEDIUM</b></em>' literal object isn't clear,
71 * there really should be more of a description here...
72 * </p>
73 * <!-- end-user-doc --> 65 * <!-- end-user-doc -->
74 * @see #MEDIUM 66 * @see #MEDIUM
75 * @model 67 * @model
@@ -81,10 +73,6 @@ public enum AntennaGain implements Enumerator {
81 /** 73 /**
82 * The '<em><b>HIGH</b></em>' literal value. 74 * The '<em><b>HIGH</b></em>' literal value.
83 * <!-- begin-user-doc --> 75 * <!-- begin-user-doc -->
84 * <p>
85 * If the meaning of '<em><b>HIGH</b></em>' literal object isn't clear,
86 * there really should be more of a description here...
87 * </p>
88 * <!-- end-user-doc --> 76 * <!-- end-user-doc -->
89 * @see #HIGH 77 * @see #HIGH
90 * @model 78 * @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;
9 * A representation of the model object '<em><b>Comm Subsystem</b></em>'. 9 * A representation of the model object '<em><b>Comm Subsystem</b></em>'.
10 * <!-- end-user-doc --> 10 * <!-- end-user-doc -->
11 * 11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link satellite.CommSubsystem#getBand <em>Band</em>}</li>
17 * <li>{@link satellite.CommSubsystem#getGain <em>Gain</em>}</li>
18 * </ul>
19 * 12 *
20 * @see satellite.SatellitePackage#getCommSubsystem() 13 * @see satellite.SatellitePackage#getCommSubsystem()
21 * @model 14 * @model abstract="true"
22 * @generated 15 * @generated
23 */ 16 */
24public interface CommSubsystem extends EObject { 17public interface CommSubsystem extends EObject {
25 /**
26 * Returns the value of the '<em><b>Band</b></em>' attribute.
27 * The literals are from the enumeration {@link satellite.TransceiverBand}.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>Band</em>' attribute isn't clear,
31 * there really should be more of a description here...
32 * </p>
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Band</em>' attribute.
35 * @see satellite.TransceiverBand
36 * @see #setBand(TransceiverBand)
37 * @see satellite.SatellitePackage#getCommSubsystem_Band()
38 * @model required="true"
39 * @generated
40 */
41 TransceiverBand getBand();
42
43 /**
44 * Sets the value of the '{@link satellite.CommSubsystem#getBand <em>Band</em>}' attribute.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @param value the new value of the '<em>Band</em>' attribute.
48 * @see satellite.TransceiverBand
49 * @see #getBand()
50 * @generated
51 */
52 void setBand(TransceiverBand value);
53
54 /**
55 * Returns the value of the '<em><b>Gain</b></em>' attribute.
56 * The literals are from the enumeration {@link satellite.AntennaGain}.
57 * <!-- begin-user-doc -->
58 * <p>
59 * If the meaning of the '<em>Gain</em>' attribute isn't clear,
60 * there really should be more of a description here...
61 * </p>
62 * <!-- end-user-doc -->
63 * @return the value of the '<em>Gain</em>' attribute.
64 * @see satellite.AntennaGain
65 * @see #setGain(AntennaGain)
66 * @see satellite.SatellitePackage#getCommSubsystem_Gain()
67 * @model required="true"
68 * @generated
69 */
70 AntennaGain getGain();
71
72 /**
73 * Sets the value of the '{@link satellite.CommSubsystem#getGain <em>Gain</em>}' attribute.
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @param value the new value of the '<em>Gain</em>' attribute.
77 * @see satellite.AntennaGain
78 * @see #getGain()
79 * @generated
80 */
81 void setGain(AntennaGain value);
82 18
83} // CommSubsystem 19} // 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 {
28 * Returns the value of the '<em><b>Comm Subsystem</b></em>' containment reference list. 28 * Returns the value of the '<em><b>Comm Subsystem</b></em>' containment reference list.
29 * The list contents are of type {@link satellite.CommSubsystem}. 29 * The list contents are of type {@link satellite.CommSubsystem}.
30 * <!-- begin-user-doc --> 30 * <!-- begin-user-doc -->
31 * <p>
32 * If the meaning of the '<em>Comm Subsystem</em>' containment reference list isn't clear,
33 * there really should be more of a description here...
34 * </p>
35 * <!-- end-user-doc --> 31 * <!-- end-user-doc -->
36 * @return the value of the '<em>Comm Subsystem</em>' containment reference list. 32 * @return the value of the '<em>Comm Subsystem</em>' containment reference list.
37 * @see satellite.SatellitePackage#getCommunicatingElement_CommSubsystem() 33 * @see satellite.SatellitePackage#getCommunicatingElement_CommSubsystem()
@@ -43,10 +39,6 @@ public interface CommunicatingElement extends EObject {
43 /** 39 /**
44 * Returns the value of the '<em><b>Communication Link</b></em>' containment reference. 40 * Returns the value of the '<em><b>Communication Link</b></em>' containment reference.
45 * <!-- begin-user-doc --> 41 * <!-- begin-user-doc -->
46 * <p>
47 * If the meaning of the '<em>Communication Link</em>' containment reference isn't clear,
48 * there really should be more of a description here...
49 * </p>
50 * <!-- end-user-doc --> 42 * <!-- end-user-doc -->
51 * @return the value of the '<em>Communication Link</em>' containment reference. 43 * @return the value of the '<em>Communication Link</em>' containment reference.
52 * @see #setCommunicationLink(DirectedCommunicationLink) 44 * @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 {
27 /** 27 /**
28 * Returns the value of the '<em><b>Ground Station Network</b></em>' containment reference. 28 * Returns the value of the '<em><b>Ground Station Network</b></em>' containment reference.
29 * <!-- begin-user-doc --> 29 * <!-- begin-user-doc -->
30 * <p>
31 * If the meaning of the '<em>Ground Station Network</em>' containment reference isn't clear,
32 * there really should be more of a description here...
33 * </p>
34 * <!-- end-user-doc --> 30 * <!-- end-user-doc -->
35 * @return the value of the '<em>Ground Station Network</em>' containment reference. 31 * @return the value of the '<em>Ground Station Network</em>' containment reference.
36 * @see #setGroundStationNetwork(GroundStationNetwork) 32 * @see #setGroundStationNetwork(GroundStationNetwork)
@@ -54,10 +50,6 @@ public interface ConstellationMission extends EObject {
54 * Returns the value of the '<em><b>Spacecraft</b></em>' containment reference list. 50 * Returns the value of the '<em><b>Spacecraft</b></em>' containment reference list.
55 * The list contents are of type {@link satellite.Spacecraft}. 51 * The list contents are of type {@link satellite.Spacecraft}.
56 * <!-- begin-user-doc --> 52 * <!-- begin-user-doc -->
57 * <p>
58 * If the meaning of the '<em>Spacecraft</em>' containment reference list isn't clear,
59 * there really should be more of a description here...
60 * </p>
61 * <!-- end-user-doc --> 53 * <!-- end-user-doc -->
62 * @return the value of the '<em>Spacecraft</em>' containment reference list. 54 * @return the value of the '<em>Spacecraft</em>' containment reference list.
63 * @see satellite.SatellitePackage#getConstellationMission_Spacecraft() 55 * @see satellite.SatellitePackage#getConstellationMission_Spacecraft()
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/satellite/CubeSat.java
index ef66dce5..a38926d4 100644
--- 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/satellite/CubeSat.java
@@ -1,6 +1,6 @@
1/** 1/**
2 */ 2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite; 3package satellite;
4 4
5/** 5/**
6 * <!-- begin-user-doc --> 6 * <!-- begin-user-doc -->
@@ -8,7 +8,7 @@ package hu.bme.mit.inf.dslreasoner.domains.satellite;
8 * <!-- end-user-doc --> 8 * <!-- end-user-doc -->
9 * 9 *
10 * 10 *
11 * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getCubeSat() 11 * @see satellite.SatellitePackage#getCubeSat()
12 * @model abstract="true" 12 * @model abstract="true"
13 * @generated 13 * @generated
14 */ 14 */
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;
12 * @model 12 * @model
13 * @generated 13 * @generated
14 */ 14 */
15public interface CubeSat3U extends Spacecraft { 15public interface CubeSat3U extends CubeSat {
16} // CubeSat3U 16} // CubeSat3U
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat6U.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat6U.java
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;
12 * @model 12 * @model
13 * @generated 13 * @generated
14 */ 14 */
15public interface CubeSat6U extends Spacecraft { 15public interface CubeSat6U extends CubeSat {
16} // CubeSat6U 16} // 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 {
25 /** 25 /**
26 * Returns the value of the '<em><b>Source</b></em>' reference. 26 * Returns the value of the '<em><b>Source</b></em>' reference.
27 * <!-- begin-user-doc --> 27 * <!-- begin-user-doc -->
28 * <p>
29 * If the meaning of the '<em>Source</em>' reference isn't clear,
30 * there really should be more of a description here...
31 * </p>
32 * <!-- end-user-doc --> 28 * <!-- end-user-doc -->
33 * @return the value of the '<em>Source</em>' reference. 29 * @return the value of the '<em>Source</em>' reference.
34 * @see #setSource(CommSubsystem) 30 * @see #setSource(CommSubsystem)
@@ -51,10 +47,6 @@ public interface DirectedCommunicationLink extends EObject {
51 /** 47 /**
52 * Returns the value of the '<em><b>Target</b></em>' reference. 48 * Returns the value of the '<em><b>Target</b></em>' reference.
53 * <!-- begin-user-doc --> 49 * <!-- begin-user-doc -->
54 * <p>
55 * If the meaning of the '<em>Target</em>' reference isn't clear,
56 * there really should be more of a description here...
57 * </p>
58 * <!-- end-user-doc --> 50 * <!-- end-user-doc -->
59 * @return the value of the '<em>Target</em>' reference. 51 * @return the value of the '<em>Target</em>' reference.
60 * @see #setTarget(CommSubsystem) 52 * @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 {
23 * Returns the value of the '<em><b>Observation Time</b></em>' attribute. 23 * Returns the value of the '<em><b>Observation Time</b></em>' attribute.
24 * The default value is <code>"2.0"</code>. 24 * The default value is <code>"2.0"</code>.
25 * <!-- begin-user-doc --> 25 * <!-- begin-user-doc -->
26 * <p>
27 * If the meaning of the '<em>Observation Time</em>' attribute isn't clear,
28 * there really should be more of a description here...
29 * </p>
30 * <!-- end-user-doc --> 26 * <!-- end-user-doc -->
31 * @return the value of the '<em>Observation Time</em>' attribute. 27 * @return the value of the '<em>Observation Time</em>' attribute.
32 * @see #setObservationTime(float) 28 * @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 @@
1/**
2 */
3package satellite;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Ka Comm Subsystem</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see satellite.SatellitePackage#getKaCommSubsystem()
12 * @model
13 * @generated
14 */
15public interface KaCommSubsystem extends CommSubsystem {
16} // KaCommSubsystem
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/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
@@ -40,15 +40,6 @@ public interface SatelliteFactory extends EFactory {
40 GroundStationNetwork createGroundStationNetwork(); 40 GroundStationNetwork createGroundStationNetwork();
41 41
42 /** 42 /**
43 * Returns a new object of class '<em>Comm Subsystem</em>'.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @return a new object of class '<em>Comm Subsystem</em>'.
47 * @generated
48 */
49 CommSubsystem createCommSubsystem();
50
51 /**
52 * Returns a new object of class '<em>Directed Communication Link</em>'. 43 * Returns a new object of class '<em>Directed Communication Link</em>'.
53 * <!-- begin-user-doc --> 44 * <!-- begin-user-doc -->
54 * <!-- end-user-doc --> 45 * <!-- end-user-doc -->
@@ -94,6 +85,33 @@ public interface SatelliteFactory extends EFactory {
94 SmallSat createSmallSat(); 85 SmallSat createSmallSat();
95 86
96 /** 87 /**
88 * Returns a new object of class '<em>UHF Comm Subsystem</em>'.
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @return a new object of class '<em>UHF Comm Subsystem</em>'.
92 * @generated
93 */
94 UHFCommSubsystem createUHFCommSubsystem();
95
96 /**
97 * Returns a new object of class '<em>XComm Subsystem</em>'.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @return a new object of class '<em>XComm Subsystem</em>'.
101 * @generated
102 */
103 XCommSubsystem createXCommSubsystem();
104
105 /**
106 * Returns a new object of class '<em>Ka Comm Subsystem</em>'.
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @return a new object of class '<em>Ka Comm Subsystem</em>'.
110 * @generated
111 */
112 KaCommSubsystem createKaCommSubsystem();
113
114 /**
97 * Returns the package supported by this factory. 115 * Returns the package supported by this factory.
98 * <!-- begin-user-doc --> 116 * <!-- begin-user-doc -->
99 * <!-- end-user-doc --> 117 * <!-- end-user-doc -->
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;
4 4
5import org.eclipse.emf.ecore.EAttribute; 5import org.eclipse.emf.ecore.EAttribute;
6import org.eclipse.emf.ecore.EClass; 6import org.eclipse.emf.ecore.EClass;
7import org.eclipse.emf.ecore.EEnum;
8import org.eclipse.emf.ecore.EPackage; 7import org.eclipse.emf.ecore.EPackage;
9import org.eclipse.emf.ecore.EReference; 8import org.eclipse.emf.ecore.EReference;
10 9
@@ -22,7 +21,6 @@ import org.eclipse.emf.ecore.EReference;
22 * <!-- end-user-doc --> 21 * <!-- end-user-doc -->
23 * @see satellite.SatelliteFactory 22 * @see satellite.SatelliteFactory
24 * @model kind="package" 23 * @model kind="package"
25 * annotation="http://www.eclipse.org/emf/2002/Ecore settingDelegates='org.eclipse.viatra.query.querybasedfeature'"
26 * @generated 24 * @generated
27 */ 25 */
28public interface SatellitePackage extends EPackage { 26public interface SatellitePackage extends EPackage {
@@ -289,22 +287,13 @@ public interface SatellitePackage extends EPackage {
289 int SPACECRAFT__PAYLOAD = COMMUNICATING_ELEMENT_FEATURE_COUNT + 0; 287 int SPACECRAFT__PAYLOAD = COMMUNICATING_ELEMENT_FEATURE_COUNT + 0;
290 288
291 /** 289 /**
292 * The feature id for the '<em><b>Kind</b></em>' attribute.
293 * <!-- begin-user-doc -->
294 * <!-- end-user-doc -->
295 * @generated
296 * @ordered
297 */
298 int SPACECRAFT__KIND = COMMUNICATING_ELEMENT_FEATURE_COUNT + 1;
299
300 /**
301 * The number of structural features of the '<em>Spacecraft</em>' class. 290 * The number of structural features of the '<em>Spacecraft</em>' class.
302 * <!-- begin-user-doc --> 291 * <!-- begin-user-doc -->
303 * <!-- end-user-doc --> 292 * <!-- end-user-doc -->
304 * @generated 293 * @generated
305 * @ordered 294 * @ordered
306 */ 295 */
307 int SPACECRAFT_FEATURE_COUNT = COMMUNICATING_ELEMENT_FEATURE_COUNT + 2; 296 int SPACECRAFT_FEATURE_COUNT = COMMUNICATING_ELEMENT_FEATURE_COUNT + 1;
308 297
309 /** 298 /**
310 * The number of operations of the '<em>Spacecraft</em>' class. 299 * The number of operations of the '<em>Spacecraft</em>' class.
@@ -326,31 +315,13 @@ public interface SatellitePackage extends EPackage {
326 int COMM_SUBSYSTEM = 5; 315 int COMM_SUBSYSTEM = 5;
327 316
328 /** 317 /**
329 * The feature id for the '<em><b>Band</b></em>' attribute.
330 * <!-- begin-user-doc -->
331 * <!-- end-user-doc -->
332 * @generated
333 * @ordered
334 */
335 int COMM_SUBSYSTEM__BAND = 0;
336
337 /**
338 * The feature id for the '<em><b>Gain</b></em>' attribute.
339 * <!-- begin-user-doc -->
340 * <!-- end-user-doc -->
341 * @generated
342 * @ordered
343 */
344 int COMM_SUBSYSTEM__GAIN = 1;
345
346 /**
347 * The number of structural features of the '<em>Comm Subsystem</em>' class. 318 * The number of structural features of the '<em>Comm Subsystem</em>' class.
348 * <!-- begin-user-doc --> 319 * <!-- begin-user-doc -->
349 * <!-- end-user-doc --> 320 * <!-- end-user-doc -->
350 * @generated 321 * @generated
351 * @ordered 322 * @ordered
352 */ 323 */
353 int COMM_SUBSYSTEM_FEATURE_COUNT = 2; 324 int COMM_SUBSYSTEM_FEATURE_COUNT = 0;
354 325
355 /** 326 /**
356 * The number of operations of the '<em>Comm Subsystem</em>' class. 327 * The number of operations of the '<em>Comm Subsystem</em>' class.
@@ -464,14 +435,14 @@ public interface SatellitePackage extends EPackage {
464 int INTERFEROMETRY_PAYLOAD_OPERATION_COUNT = PAYLOAD_OPERATION_COUNT + 0; 435 int INTERFEROMETRY_PAYLOAD_OPERATION_COUNT = PAYLOAD_OPERATION_COUNT + 0;
465 436
466 /** 437 /**
467 * The meta object id for the '{@link satellite.impl.CubeSat3UImpl <em>Cube Sat3 U</em>}' class. 438 * The meta object id for the '{@link satellite.impl.CubeSatImpl <em>Cube Sat</em>}' class.
468 * <!-- begin-user-doc --> 439 * <!-- begin-user-doc -->
469 * <!-- end-user-doc --> 440 * <!-- end-user-doc -->
470 * @see satellite.impl.CubeSat3UImpl 441 * @see satellite.impl.CubeSatImpl
471 * @see satellite.impl.SatellitePackageImpl#getCubeSat3U() 442 * @see satellite.impl.SatellitePackageImpl#getCubeSat()
472 * @generated 443 * @generated
473 */ 444 */
474 int CUBE_SAT3_U = 9; 445 int CUBE_SAT = 12;
475 446
476 /** 447 /**
477 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list. 448 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list.
@@ -480,7 +451,7 @@ public interface SatellitePackage extends EPackage {
480 * @generated 451 * @generated
481 * @ordered 452 * @ordered
482 */ 453 */
483 int CUBE_SAT3_U__COMM_SUBSYSTEM = SPACECRAFT__COMM_SUBSYSTEM; 454 int CUBE_SAT__COMM_SUBSYSTEM = SPACECRAFT__COMM_SUBSYSTEM;
484 455
485 /** 456 /**
486 * The feature id for the '<em><b>Communication Link</b></em>' containment reference. 457 * The feature id for the '<em><b>Communication Link</b></em>' containment reference.
@@ -489,7 +460,7 @@ public interface SatellitePackage extends EPackage {
489 * @generated 460 * @generated
490 * @ordered 461 * @ordered
491 */ 462 */
492 int CUBE_SAT3_U__COMMUNICATION_LINK = SPACECRAFT__COMMUNICATION_LINK; 463 int CUBE_SAT__COMMUNICATION_LINK = SPACECRAFT__COMMUNICATION_LINK;
493 464
494 /** 465 /**
495 * The feature id for the '<em><b>Payload</b></em>' containment reference. 466 * The feature id for the '<em><b>Payload</b></em>' containment reference.
@@ -498,16 +469,62 @@ public interface SatellitePackage extends EPackage {
498 * @generated 469 * @generated
499 * @ordered 470 * @ordered
500 */ 471 */
501 int CUBE_SAT3_U__PAYLOAD = SPACECRAFT__PAYLOAD; 472 int CUBE_SAT__PAYLOAD = SPACECRAFT__PAYLOAD;
473
474 /**
475 * The number of structural features of the '<em>Cube Sat</em>' class.
476 * <!-- begin-user-doc -->
477 * <!-- end-user-doc -->
478 * @generated
479 * @ordered
480 */
481 int CUBE_SAT_FEATURE_COUNT = SPACECRAFT_FEATURE_COUNT + 0;
502 482
503 /** 483 /**
504 * The feature id for the '<em><b>Kind</b></em>' attribute. 484 * The number of operations of the '<em>Cube Sat</em>' class.
505 * <!-- begin-user-doc --> 485 * <!-- begin-user-doc -->
506 * <!-- end-user-doc --> 486 * <!-- end-user-doc -->
507 * @generated 487 * @generated
508 * @ordered 488 * @ordered
509 */ 489 */
510 int CUBE_SAT3_U__KIND = SPACECRAFT__KIND; 490 int CUBE_SAT_OPERATION_COUNT = SPACECRAFT_OPERATION_COUNT + 0;
491
492 /**
493 * The meta object id for the '{@link satellite.impl.CubeSat3UImpl <em>Cube Sat3 U</em>}' class.
494 * <!-- begin-user-doc -->
495 * <!-- end-user-doc -->
496 * @see satellite.impl.CubeSat3UImpl
497 * @see satellite.impl.SatellitePackageImpl#getCubeSat3U()
498 * @generated
499 */
500 int CUBE_SAT3_U = 9;
501
502 /**
503 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list.
504 * <!-- begin-user-doc -->
505 * <!-- end-user-doc -->
506 * @generated
507 * @ordered
508 */
509 int CUBE_SAT3_U__COMM_SUBSYSTEM = CUBE_SAT__COMM_SUBSYSTEM;
510
511 /**
512 * The feature id for the '<em><b>Communication Link</b></em>' containment reference.
513 * <!-- begin-user-doc -->
514 * <!-- end-user-doc -->
515 * @generated
516 * @ordered
517 */
518 int CUBE_SAT3_U__COMMUNICATION_LINK = CUBE_SAT__COMMUNICATION_LINK;
519
520 /**
521 * The feature id for the '<em><b>Payload</b></em>' containment reference.
522 * <!-- begin-user-doc -->
523 * <!-- end-user-doc -->
524 * @generated
525 * @ordered
526 */
527 int CUBE_SAT3_U__PAYLOAD = CUBE_SAT__PAYLOAD;
511 528
512 /** 529 /**
513 * The number of structural features of the '<em>Cube Sat3 U</em>' class. 530 * The number of structural features of the '<em>Cube Sat3 U</em>' class.
@@ -516,7 +533,7 @@ public interface SatellitePackage extends EPackage {
516 * @generated 533 * @generated
517 * @ordered 534 * @ordered
518 */ 535 */
519 int CUBE_SAT3_U_FEATURE_COUNT = SPACECRAFT_FEATURE_COUNT + 0; 536 int CUBE_SAT3_U_FEATURE_COUNT = CUBE_SAT_FEATURE_COUNT + 0;
520 537
521 /** 538 /**
522 * The number of operations of the '<em>Cube Sat3 U</em>' class. 539 * The number of operations of the '<em>Cube Sat3 U</em>' class.
@@ -525,7 +542,7 @@ public interface SatellitePackage extends EPackage {
525 * @generated 542 * @generated
526 * @ordered 543 * @ordered
527 */ 544 */
528 int CUBE_SAT3_U_OPERATION_COUNT = SPACECRAFT_OPERATION_COUNT + 0; 545 int CUBE_SAT3_U_OPERATION_COUNT = CUBE_SAT_OPERATION_COUNT + 0;
529 546
530 /** 547 /**
531 * The meta object id for the '{@link satellite.impl.CubeSat6UImpl <em>Cube Sat6 U</em>}' class. 548 * The meta object id for the '{@link satellite.impl.CubeSat6UImpl <em>Cube Sat6 U</em>}' class.
@@ -544,7 +561,7 @@ public interface SatellitePackage extends EPackage {
544 * @generated 561 * @generated
545 * @ordered 562 * @ordered
546 */ 563 */
547 int CUBE_SAT6_U__COMM_SUBSYSTEM = SPACECRAFT__COMM_SUBSYSTEM; 564 int CUBE_SAT6_U__COMM_SUBSYSTEM = CUBE_SAT__COMM_SUBSYSTEM;
548 565
549 /** 566 /**
550 * The feature id for the '<em><b>Communication Link</b></em>' containment reference. 567 * The feature id for the '<em><b>Communication Link</b></em>' containment reference.
@@ -553,7 +570,7 @@ public interface SatellitePackage extends EPackage {
553 * @generated 570 * @generated
554 * @ordered 571 * @ordered
555 */ 572 */
556 int CUBE_SAT6_U__COMMUNICATION_LINK = SPACECRAFT__COMMUNICATION_LINK; 573 int CUBE_SAT6_U__COMMUNICATION_LINK = CUBE_SAT__COMMUNICATION_LINK;
557 574
558 /** 575 /**
559 * The feature id for the '<em><b>Payload</b></em>' containment reference. 576 * The feature id for the '<em><b>Payload</b></em>' containment reference.
@@ -562,16 +579,7 @@ public interface SatellitePackage extends EPackage {
562 * @generated 579 * @generated
563 * @ordered 580 * @ordered
564 */ 581 */
565 int CUBE_SAT6_U__PAYLOAD = SPACECRAFT__PAYLOAD; 582 int CUBE_SAT6_U__PAYLOAD = CUBE_SAT__PAYLOAD;
566
567 /**
568 * The feature id for the '<em><b>Kind</b></em>' attribute.
569 * <!-- begin-user-doc -->
570 * <!-- end-user-doc -->
571 * @generated
572 * @ordered
573 */
574 int CUBE_SAT6_U__KIND = SPACECRAFT__KIND;
575 583
576 /** 584 /**
577 * The number of structural features of the '<em>Cube Sat6 U</em>' class. 585 * The number of structural features of the '<em>Cube Sat6 U</em>' class.
@@ -580,7 +588,7 @@ public interface SatellitePackage extends EPackage {
580 * @generated 588 * @generated
581 * @ordered 589 * @ordered
582 */ 590 */
583 int CUBE_SAT6_U_FEATURE_COUNT = SPACECRAFT_FEATURE_COUNT + 0; 591 int CUBE_SAT6_U_FEATURE_COUNT = CUBE_SAT_FEATURE_COUNT + 0;
584 592
585 /** 593 /**
586 * The number of operations of the '<em>Cube Sat6 U</em>' class. 594 * The number of operations of the '<em>Cube Sat6 U</em>' class.
@@ -589,7 +597,7 @@ public interface SatellitePackage extends EPackage {
589 * @generated 597 * @generated
590 * @ordered 598 * @ordered
591 */ 599 */
592 int CUBE_SAT6_U_OPERATION_COUNT = SPACECRAFT_OPERATION_COUNT + 0; 600 int CUBE_SAT6_U_OPERATION_COUNT = CUBE_SAT_OPERATION_COUNT + 0;
593 601
594 /** 602 /**
595 * The meta object id for the '{@link satellite.impl.SmallSatImpl <em>Small Sat</em>}' class. 603 * The meta object id for the '{@link satellite.impl.SmallSatImpl <em>Small Sat</em>}' class.
@@ -629,61 +637,106 @@ public interface SatellitePackage extends EPackage {
629 int SMALL_SAT__PAYLOAD = SPACECRAFT__PAYLOAD; 637 int SMALL_SAT__PAYLOAD = SPACECRAFT__PAYLOAD;
630 638
631 /** 639 /**
632 * The feature id for the '<em><b>Kind</b></em>' attribute. 640 * The number of structural features of the '<em>Small Sat</em>' class.
633 * <!-- begin-user-doc --> 641 * <!-- begin-user-doc -->
634 * <!-- end-user-doc --> 642 * <!-- end-user-doc -->
635 * @generated 643 * @generated
636 * @ordered 644 * @ordered
637 */ 645 */
638 int SMALL_SAT__KIND = SPACECRAFT__KIND; 646 int SMALL_SAT_FEATURE_COUNT = SPACECRAFT_FEATURE_COUNT + 0;
639 647
640 /** 648 /**
641 * The number of structural features of the '<em>Small Sat</em>' class. 649 * The number of operations of the '<em>Small Sat</em>' class.
642 * <!-- begin-user-doc --> 650 * <!-- begin-user-doc -->
643 * <!-- end-user-doc --> 651 * <!-- end-user-doc -->
644 * @generated 652 * @generated
645 * @ordered 653 * @ordered
646 */ 654 */
647 int SMALL_SAT_FEATURE_COUNT = SPACECRAFT_FEATURE_COUNT + 0; 655 int SMALL_SAT_OPERATION_COUNT = SPACECRAFT_OPERATION_COUNT + 0;
648 656
649 /** 657 /**
650 * The number of operations of the '<em>Small Sat</em>' class. 658 * The meta object id for the '{@link satellite.impl.UHFCommSubsystemImpl <em>UHF Comm Subsystem</em>}' class.
659 * <!-- begin-user-doc -->
660 * <!-- end-user-doc -->
661 * @see satellite.impl.UHFCommSubsystemImpl
662 * @see satellite.impl.SatellitePackageImpl#getUHFCommSubsystem()
663 * @generated
664 */
665 int UHF_COMM_SUBSYSTEM = 13;
666
667 /**
668 * The number of structural features of the '<em>UHF Comm Subsystem</em>' class.
651 * <!-- begin-user-doc --> 669 * <!-- begin-user-doc -->
652 * <!-- end-user-doc --> 670 * <!-- end-user-doc -->
653 * @generated 671 * @generated
654 * @ordered 672 * @ordered
655 */ 673 */
656 int SMALL_SAT_OPERATION_COUNT = SPACECRAFT_OPERATION_COUNT + 0; 674 int UHF_COMM_SUBSYSTEM_FEATURE_COUNT = COMM_SUBSYSTEM_FEATURE_COUNT + 0;
657 675
658 /** 676 /**
659 * The meta object id for the '{@link satellite.TransceiverBand <em>Transceiver Band</em>}' enum. 677 * The number of operations of the '<em>UHF Comm Subsystem</em>' class.
660 * <!-- begin-user-doc --> 678 * <!-- begin-user-doc -->
661 * <!-- end-user-doc --> 679 * <!-- end-user-doc -->
662 * @see satellite.TransceiverBand
663 * @see satellite.impl.SatellitePackageImpl#getTransceiverBand()
664 * @generated 680 * @generated
681 * @ordered
665 */ 682 */
666 int TRANSCEIVER_BAND = 12; 683 int UHF_COMM_SUBSYSTEM_OPERATION_COUNT = COMM_SUBSYSTEM_OPERATION_COUNT + 0;
667 684
668 /** 685 /**
669 * The meta object id for the '{@link satellite.AntennaGain <em>Antenna Gain</em>}' enum. 686 * The meta object id for the '{@link satellite.impl.XCommSubsystemImpl <em>XComm Subsystem</em>}' class.
670 * <!-- begin-user-doc --> 687 * <!-- begin-user-doc -->
671 * <!-- end-user-doc --> 688 * <!-- end-user-doc -->
672 * @see satellite.AntennaGain 689 * @see satellite.impl.XCommSubsystemImpl
673 * @see satellite.impl.SatellitePackageImpl#getAntennaGain() 690 * @see satellite.impl.SatellitePackageImpl#getXCommSubsystem()
674 * @generated 691 * @generated
675 */ 692 */
676 int ANTENNA_GAIN = 13; 693 int XCOMM_SUBSYSTEM = 14;
677 694
678 /** 695 /**
679 * The meta object id for the '{@link satellite.SpacecraftKind <em>Spacecraft Kind</em>}' enum. 696 * The number of structural features of the '<em>XComm Subsystem</em>' class.
680 * <!-- begin-user-doc --> 697 * <!-- begin-user-doc -->
681 * <!-- end-user-doc --> 698 * <!-- end-user-doc -->
682 * @see satellite.SpacecraftKind
683 * @see satellite.impl.SatellitePackageImpl#getSpacecraftKind()
684 * @generated 699 * @generated
700 * @ordered
685 */ 701 */
686 int SPACECRAFT_KIND = 14; 702 int XCOMM_SUBSYSTEM_FEATURE_COUNT = COMM_SUBSYSTEM_FEATURE_COUNT + 0;
703
704 /**
705 * The number of operations of the '<em>XComm Subsystem</em>' class.
706 * <!-- begin-user-doc -->
707 * <!-- end-user-doc -->
708 * @generated
709 * @ordered
710 */
711 int XCOMM_SUBSYSTEM_OPERATION_COUNT = COMM_SUBSYSTEM_OPERATION_COUNT + 0;
712
713 /**
714 * The meta object id for the '{@link satellite.impl.KaCommSubsystemImpl <em>Ka Comm Subsystem</em>}' class.
715 * <!-- begin-user-doc -->
716 * <!-- end-user-doc -->
717 * @see satellite.impl.KaCommSubsystemImpl
718 * @see satellite.impl.SatellitePackageImpl#getKaCommSubsystem()
719 * @generated
720 */
721 int KA_COMM_SUBSYSTEM = 15;
722
723 /**
724 * The number of structural features of the '<em>Ka Comm Subsystem</em>' class.
725 * <!-- begin-user-doc -->
726 * <!-- end-user-doc -->
727 * @generated
728 * @ordered
729 */
730 int KA_COMM_SUBSYSTEM_FEATURE_COUNT = COMM_SUBSYSTEM_FEATURE_COUNT + 0;
731
732 /**
733 * The number of operations of the '<em>Ka Comm Subsystem</em>' class.
734 * <!-- begin-user-doc -->
735 * <!-- end-user-doc -->
736 * @generated
737 * @ordered
738 */
739 int KA_COMM_SUBSYSTEM_OPERATION_COUNT = COMM_SUBSYSTEM_OPERATION_COUNT + 0;
687 740
688 /** 741 /**
689 * Returns the meta object for class '{@link satellite.ConstellationMission <em>Constellation Mission</em>}'. 742 * Returns the meta object for class '{@link satellite.ConstellationMission <em>Constellation Mission</em>}'.
@@ -802,17 +855,6 @@ public interface SatellitePackage extends EPackage {
802 EReference getSpacecraft_Payload(); 855 EReference getSpacecraft_Payload();
803 856
804 /** 857 /**
805 * Returns the meta object for the attribute '{@link satellite.Spacecraft#getKind <em>Kind</em>}'.
806 * <!-- begin-user-doc -->
807 * <!-- end-user-doc -->
808 * @return the meta object for the attribute '<em>Kind</em>'.
809 * @see satellite.Spacecraft#getKind()
810 * @see #getSpacecraft()
811 * @generated
812 */
813 EAttribute getSpacecraft_Kind();
814
815 /**
816 * Returns the meta object for class '{@link satellite.CommSubsystem <em>Comm Subsystem</em>}'. 858 * Returns the meta object for class '{@link satellite.CommSubsystem <em>Comm Subsystem</em>}'.
817 * <!-- begin-user-doc --> 859 * <!-- begin-user-doc -->
818 * <!-- end-user-doc --> 860 * <!-- end-user-doc -->
@@ -823,28 +865,6 @@ public interface SatellitePackage extends EPackage {
823 EClass getCommSubsystem(); 865 EClass getCommSubsystem();
824 866
825 /** 867 /**
826 * Returns the meta object for the attribute '{@link satellite.CommSubsystem#getBand <em>Band</em>}'.
827 * <!-- begin-user-doc -->
828 * <!-- end-user-doc -->
829 * @return the meta object for the attribute '<em>Band</em>'.
830 * @see satellite.CommSubsystem#getBand()
831 * @see #getCommSubsystem()
832 * @generated
833 */
834 EAttribute getCommSubsystem_Band();
835
836 /**
837 * Returns the meta object for the attribute '{@link satellite.CommSubsystem#getGain <em>Gain</em>}'.
838 * <!-- begin-user-doc -->
839 * <!-- end-user-doc -->
840 * @return the meta object for the attribute '<em>Gain</em>'.
841 * @see satellite.CommSubsystem#getGain()
842 * @see #getCommSubsystem()
843 * @generated
844 */
845 EAttribute getCommSubsystem_Gain();
846
847 /**
848 * Returns the meta object for class '{@link satellite.DirectedCommunicationLink <em>Directed Communication Link</em>}'. 868 * Returns the meta object for class '{@link satellite.DirectedCommunicationLink <em>Directed Communication Link</em>}'.
849 * <!-- begin-user-doc --> 869 * <!-- begin-user-doc -->
850 * <!-- end-user-doc --> 870 * <!-- end-user-doc -->
@@ -927,34 +947,44 @@ public interface SatellitePackage extends EPackage {
927 EClass getSmallSat(); 947 EClass getSmallSat();
928 948
929 /** 949 /**
930 * Returns the meta object for enum '{@link satellite.TransceiverBand <em>Transceiver Band</em>}'. 950 * Returns the meta object for class '{@link satellite.CubeSat <em>Cube Sat</em>}'.
931 * <!-- begin-user-doc --> 951 * <!-- begin-user-doc -->
932 * <!-- end-user-doc --> 952 * <!-- end-user-doc -->
933 * @return the meta object for enum '<em>Transceiver Band</em>'. 953 * @return the meta object for class '<em>Cube Sat</em>'.
934 * @see satellite.TransceiverBand 954 * @see satellite.CubeSat
935 * @generated 955 * @generated
936 */ 956 */
937 EEnum getTransceiverBand(); 957 EClass getCubeSat();
938 958
939 /** 959 /**
940 * Returns the meta object for enum '{@link satellite.AntennaGain <em>Antenna Gain</em>}'. 960 * Returns the meta object for class '{@link satellite.UHFCommSubsystem <em>UHF Comm Subsystem</em>}'.
941 * <!-- begin-user-doc --> 961 * <!-- begin-user-doc -->
942 * <!-- end-user-doc --> 962 * <!-- end-user-doc -->
943 * @return the meta object for enum '<em>Antenna Gain</em>'. 963 * @return the meta object for class '<em>UHF Comm Subsystem</em>'.
944 * @see satellite.AntennaGain 964 * @see satellite.UHFCommSubsystem
945 * @generated 965 * @generated
946 */ 966 */
947 EEnum getAntennaGain(); 967 EClass getUHFCommSubsystem();
948 968
949 /** 969 /**
950 * Returns the meta object for enum '{@link satellite.SpacecraftKind <em>Spacecraft Kind</em>}'. 970 * Returns the meta object for class '{@link satellite.XCommSubsystem <em>XComm Subsystem</em>}'.
951 * <!-- begin-user-doc --> 971 * <!-- begin-user-doc -->
952 * <!-- end-user-doc --> 972 * <!-- end-user-doc -->
953 * @return the meta object for enum '<em>Spacecraft Kind</em>'. 973 * @return the meta object for class '<em>XComm Subsystem</em>'.
954 * @see satellite.SpacecraftKind 974 * @see satellite.XCommSubsystem
955 * @generated 975 * @generated
956 */ 976 */
957 EEnum getSpacecraftKind(); 977 EClass getXCommSubsystem();
978
979 /**
980 * Returns the meta object for class '{@link satellite.KaCommSubsystem <em>Ka Comm Subsystem</em>}'.
981 * <!-- begin-user-doc -->
982 * <!-- end-user-doc -->
983 * @return the meta object for class '<em>Ka Comm Subsystem</em>'.
984 * @see satellite.KaCommSubsystem
985 * @generated
986 */
987 EClass getKaCommSubsystem();
958 988
959 /** 989 /**
960 * Returns the factory that creates the instances of the model. 990 * Returns the factory that creates the instances of the model.
@@ -1079,14 +1109,6 @@ public interface SatellitePackage extends EPackage {
1079 EReference SPACECRAFT__PAYLOAD = eINSTANCE.getSpacecraft_Payload(); 1109 EReference SPACECRAFT__PAYLOAD = eINSTANCE.getSpacecraft_Payload();
1080 1110
1081 /** 1111 /**
1082 * The meta object literal for the '<em><b>Kind</b></em>' attribute feature.
1083 * <!-- begin-user-doc -->
1084 * <!-- end-user-doc -->
1085 * @generated
1086 */
1087 EAttribute SPACECRAFT__KIND = eINSTANCE.getSpacecraft_Kind();
1088
1089 /**
1090 * The meta object literal for the '{@link satellite.impl.CommSubsystemImpl <em>Comm Subsystem</em>}' class. 1112 * The meta object literal for the '{@link satellite.impl.CommSubsystemImpl <em>Comm Subsystem</em>}' class.
1091 * <!-- begin-user-doc --> 1113 * <!-- begin-user-doc -->
1092 * <!-- end-user-doc --> 1114 * <!-- end-user-doc -->
@@ -1097,22 +1119,6 @@ public interface SatellitePackage extends EPackage {
1097 EClass COMM_SUBSYSTEM = eINSTANCE.getCommSubsystem(); 1119 EClass COMM_SUBSYSTEM = eINSTANCE.getCommSubsystem();
1098 1120
1099 /** 1121 /**
1100 * The meta object literal for the '<em><b>Band</b></em>' attribute feature.
1101 * <!-- begin-user-doc -->
1102 * <!-- end-user-doc -->
1103 * @generated
1104 */
1105 EAttribute COMM_SUBSYSTEM__BAND = eINSTANCE.getCommSubsystem_Band();
1106
1107 /**
1108 * The meta object literal for the '<em><b>Gain</b></em>' attribute feature.
1109 * <!-- begin-user-doc -->
1110 * <!-- end-user-doc -->
1111 * @generated
1112 */
1113 EAttribute COMM_SUBSYSTEM__GAIN = eINSTANCE.getCommSubsystem_Gain();
1114
1115 /**
1116 * The meta object literal for the '{@link satellite.impl.DirectedCommunicationLinkImpl <em>Directed Communication Link</em>}' class. 1122 * The meta object literal for the '{@link satellite.impl.DirectedCommunicationLinkImpl <em>Directed Communication Link</em>}' class.
1117 * <!-- begin-user-doc --> 1123 * <!-- begin-user-doc -->
1118 * <!-- end-user-doc --> 1124 * <!-- end-user-doc -->
@@ -1189,34 +1195,44 @@ public interface SatellitePackage extends EPackage {
1189 EClass SMALL_SAT = eINSTANCE.getSmallSat(); 1195 EClass SMALL_SAT = eINSTANCE.getSmallSat();
1190 1196
1191 /** 1197 /**
1192 * The meta object literal for the '{@link satellite.TransceiverBand <em>Transceiver Band</em>}' enum. 1198 * The meta object literal for the '{@link satellite.impl.CubeSatImpl <em>Cube Sat</em>}' class.
1199 * <!-- begin-user-doc -->
1200 * <!-- end-user-doc -->
1201 * @see satellite.impl.CubeSatImpl
1202 * @see satellite.impl.SatellitePackageImpl#getCubeSat()
1203 * @generated
1204 */
1205 EClass CUBE_SAT = eINSTANCE.getCubeSat();
1206
1207 /**
1208 * The meta object literal for the '{@link satellite.impl.UHFCommSubsystemImpl <em>UHF Comm Subsystem</em>}' class.
1193 * <!-- begin-user-doc --> 1209 * <!-- begin-user-doc -->
1194 * <!-- end-user-doc --> 1210 * <!-- end-user-doc -->
1195 * @see satellite.TransceiverBand 1211 * @see satellite.impl.UHFCommSubsystemImpl
1196 * @see satellite.impl.SatellitePackageImpl#getTransceiverBand() 1212 * @see satellite.impl.SatellitePackageImpl#getUHFCommSubsystem()
1197 * @generated 1213 * @generated
1198 */ 1214 */
1199 EEnum TRANSCEIVER_BAND = eINSTANCE.getTransceiverBand(); 1215 EClass UHF_COMM_SUBSYSTEM = eINSTANCE.getUHFCommSubsystem();
1200 1216
1201 /** 1217 /**
1202 * The meta object literal for the '{@link satellite.AntennaGain <em>Antenna Gain</em>}' enum. 1218 * The meta object literal for the '{@link satellite.impl.XCommSubsystemImpl <em>XComm Subsystem</em>}' class.
1203 * <!-- begin-user-doc --> 1219 * <!-- begin-user-doc -->
1204 * <!-- end-user-doc --> 1220 * <!-- end-user-doc -->
1205 * @see satellite.AntennaGain 1221 * @see satellite.impl.XCommSubsystemImpl
1206 * @see satellite.impl.SatellitePackageImpl#getAntennaGain() 1222 * @see satellite.impl.SatellitePackageImpl#getXCommSubsystem()
1207 * @generated 1223 * @generated
1208 */ 1224 */
1209 EEnum ANTENNA_GAIN = eINSTANCE.getAntennaGain(); 1225 EClass XCOMM_SUBSYSTEM = eINSTANCE.getXCommSubsystem();
1210 1226
1211 /** 1227 /**
1212 * The meta object literal for the '{@link satellite.SpacecraftKind <em>Spacecraft Kind</em>}' enum. 1228 * The meta object literal for the '{@link satellite.impl.KaCommSubsystemImpl <em>Ka Comm Subsystem</em>}' class.
1213 * <!-- begin-user-doc --> 1229 * <!-- begin-user-doc -->
1214 * <!-- end-user-doc --> 1230 * <!-- end-user-doc -->
1215 * @see satellite.SpacecraftKind 1231 * @see satellite.impl.KaCommSubsystemImpl
1216 * @see satellite.impl.SatellitePackageImpl#getSpacecraftKind() 1232 * @see satellite.impl.SatellitePackageImpl#getKaCommSubsystem()
1217 * @generated 1233 * @generated
1218 */ 1234 */
1219 EEnum SPACECRAFT_KIND = eINSTANCE.getSpacecraftKind(); 1235 EClass KA_COMM_SUBSYSTEM = eINSTANCE.getKaCommSubsystem();
1220 1236
1221 } 1237 }
1222 1238
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;
12 * </p> 12 * </p>
13 * <ul> 13 * <ul>
14 * <li>{@link satellite.Spacecraft#getPayload <em>Payload</em>}</li> 14 * <li>{@link satellite.Spacecraft#getPayload <em>Payload</em>}</li>
15 * <li>{@link satellite.Spacecraft#getKind <em>Kind</em>}</li>
16 * </ul> 15 * </ul>
17 * 16 *
18 * @see satellite.SatellitePackage#getSpacecraft() 17 * @see satellite.SatellitePackage#getSpacecraft()
@@ -23,10 +22,6 @@ public interface Spacecraft extends CommunicatingElement {
23 /** 22 /**
24 * Returns the value of the '<em><b>Payload</b></em>' containment reference. 23 * Returns the value of the '<em><b>Payload</b></em>' containment reference.
25 * <!-- begin-user-doc --> 24 * <!-- begin-user-doc -->
26 * <p>
27 * If the meaning of the '<em>Payload</em>' containment reference isn't clear,
28 * there really should be more of a description here...
29 * </p>
30 * <!-- end-user-doc --> 25 * <!-- end-user-doc -->
31 * @return the value of the '<em>Payload</em>' containment reference. 26 * @return the value of the '<em>Payload</em>' containment reference.
32 * @see #setPayload(Payload) 27 * @see #setPayload(Payload)
@@ -46,22 +41,4 @@ public interface Spacecraft extends CommunicatingElement {
46 */ 41 */
47 void setPayload(Payload value); 42 void setPayload(Payload value);
48 43
49 /**
50 * Returns the value of the '<em><b>Kind</b></em>' attribute.
51 * The literals are from the enumeration {@link satellite.SpacecraftKind}.
52 * <!-- begin-user-doc -->
53 * <p>
54 * If the meaning of the '<em>Kind</em>' attribute isn't clear,
55 * there really should be more of a description here...
56 * </p>
57 * <!-- end-user-doc -->
58 * @return the value of the '<em>Kind</em>' attribute.
59 * @see satellite.SpacecraftKind
60 * @see satellite.SatellitePackage#getSpacecraft_Kind()
61 * @model required="true" transient="true" changeable="false" volatile="true" derived="true"
62 * annotation="org.eclipse.viatra.query.querybasedfeature patternFQN='hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftOfKind'"
63 * @generated
64 */
65 SpacecraftKind getKind();
66
67} // Spacecraft 44} // Spacecraft
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SpacecraftKind.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SpacecraftKind.java
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 {
51 /** 51 /**
52 * The '<em><b>Cube Sat3 U</b></em>' literal value. 52 * The '<em><b>Cube Sat3 U</b></em>' literal value.
53 * <!-- begin-user-doc --> 53 * <!-- begin-user-doc -->
54 * <p>
55 * If the meaning of '<em><b>Cube Sat3 U</b></em>' literal object isn't clear,
56 * there really should be more of a description here...
57 * </p>
58 * <!-- end-user-doc --> 54 * <!-- end-user-doc -->
59 * @see #CUBE_SAT3_U 55 * @see #CUBE_SAT3_U
60 * @model name="CubeSat3U" 56 * @model name="CubeSat3U"
@@ -66,10 +62,6 @@ public enum SpacecraftKind implements Enumerator {
66 /** 62 /**
67 * The '<em><b>Cube Sat6 U</b></em>' literal value. 63 * The '<em><b>Cube Sat6 U</b></em>' literal value.
68 * <!-- begin-user-doc --> 64 * <!-- begin-user-doc -->
69 * <p>
70 * If the meaning of '<em><b>Cube Sat6 U</b></em>' literal object isn't clear,
71 * there really should be more of a description here...
72 * </p>
73 * <!-- end-user-doc --> 65 * <!-- end-user-doc -->
74 * @see #CUBE_SAT6_U 66 * @see #CUBE_SAT6_U
75 * @model name="CubeSat6U" 67 * @model name="CubeSat6U"
@@ -81,10 +73,6 @@ public enum SpacecraftKind implements Enumerator {
81 /** 73 /**
82 * The '<em><b>Small Sat</b></em>' literal value. 74 * The '<em><b>Small Sat</b></em>' literal value.
83 * <!-- begin-user-doc --> 75 * <!-- begin-user-doc -->
84 * <p>
85 * If the meaning of '<em><b>Small Sat</b></em>' literal object isn't clear,
86 * there really should be more of a description here...
87 * </p>
88 * <!-- end-user-doc --> 76 * <!-- end-user-doc -->
89 * @see #SMALL_SAT 77 * @see #SMALL_SAT
90 * @model name="SmallSat" 78 * @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 {
51 /** 51 /**
52 * The '<em><b>UHF</b></em>' literal value. 52 * The '<em><b>UHF</b></em>' literal value.
53 * <!-- begin-user-doc --> 53 * <!-- begin-user-doc -->
54 * <p>
55 * If the meaning of '<em><b>UHF</b></em>' literal object isn't clear,
56 * there really should be more of a description here...
57 * </p>
58 * <!-- end-user-doc --> 54 * <!-- end-user-doc -->
59 * @see #UHF 55 * @see #UHF
60 * @model 56 * @model
@@ -66,10 +62,6 @@ public enum TransceiverBand implements Enumerator {
66 /** 62 /**
67 * The '<em><b>X</b></em>' literal value. 63 * The '<em><b>X</b></em>' literal value.
68 * <!-- begin-user-doc --> 64 * <!-- begin-user-doc -->
69 * <p>
70 * If the meaning of '<em><b>X</b></em>' literal object isn't clear,
71 * there really should be more of a description here...
72 * </p>
73 * <!-- end-user-doc --> 65 * <!-- end-user-doc -->
74 * @see #X 66 * @see #X
75 * @model 67 * @model
@@ -81,10 +73,6 @@ public enum TransceiverBand implements Enumerator {
81 /** 73 /**
82 * The '<em><b>Ka</b></em>' literal value. 74 * The '<em><b>Ka</b></em>' literal value.
83 * <!-- begin-user-doc --> 75 * <!-- begin-user-doc -->
84 * <p>
85 * If the meaning of '<em><b>Ka</b></em>' literal object isn't clear,
86 * there really should be more of a description here...
87 * </p>
88 * <!-- end-user-doc --> 76 * <!-- end-user-doc -->
89 * @see #KA 77 * @see #KA
90 * @model name="Ka" 78 * @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 @@
1/**
2 */
3package satellite;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>UHF Comm Subsystem</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see satellite.SatellitePackage#getUHFCommSubsystem()
12 * @model
13 * @generated
14 */
15public interface UHFCommSubsystem extends CommSubsystem {
16} // UHFCommSubsystem
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/XCommSubsystem.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/XCommSubsystem.java
new file mode 100644
index 00000000..c2b0ecd5
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/XCommSubsystem.java
@@ -0,0 +1,16 @@
1/**
2 */
3package satellite;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>XComm Subsystem</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see satellite.SatellitePackage#getXCommSubsystem()
12 * @model
13 * @generated
14 */
15public interface XCommSubsystem extends CommSubsystem {
16} // XCommSubsystem
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommSubsystemImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommSubsystemImpl.java
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 @@
2 */ 2 */
3package satellite.impl; 3package satellite.impl;
4 4
5import org.eclipse.emf.common.notify.Notification;
6
7import org.eclipse.emf.ecore.EClass; 5import org.eclipse.emf.ecore.EClass;
8
9import org.eclipse.emf.ecore.impl.ENotificationImpl;
10import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; 6import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
11
12import satellite.AntennaGain;
13import satellite.CommSubsystem; 7import satellite.CommSubsystem;
14import satellite.SatellitePackage; 8import satellite.SatellitePackage;
15import satellite.TransceiverBand;
16 9
17/** 10/**
18 * <!-- begin-user-doc --> 11 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Comm Subsystem</b></em>'. 12 * An implementation of the model object '<em><b>Comm Subsystem</b></em>'.
20 * <!-- end-user-doc --> 13 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link satellite.impl.CommSubsystemImpl#getBand <em>Band</em>}</li>
26 * <li>{@link satellite.impl.CommSubsystemImpl#getGain <em>Gain</em>}</li>
27 * </ul>
28 * 14 *
29 * @generated 15 * @generated
30 */ 16 */
31public class CommSubsystemImpl extends MinimalEObjectImpl.Container implements CommSubsystem { 17public abstract class CommSubsystemImpl extends MinimalEObjectImpl.Container implements CommSubsystem {
32 /**
33 * The default value of the '{@link #getBand() <em>Band</em>}' attribute.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getBand()
37 * @generated
38 * @ordered
39 */
40 protected static final TransceiverBand BAND_EDEFAULT = TransceiverBand.UHF;
41
42 /**
43 * The cached value of the '{@link #getBand() <em>Band</em>}' attribute.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getBand()
47 * @generated
48 * @ordered
49 */
50 protected TransceiverBand band = BAND_EDEFAULT;
51
52 /**
53 * The default value of the '{@link #getGain() <em>Gain</em>}' attribute.
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @see #getGain()
57 * @generated
58 * @ordered
59 */
60 protected static final AntennaGain GAIN_EDEFAULT = AntennaGain.LOW;
61
62 /**
63 * The cached value of the '{@link #getGain() <em>Gain</em>}' attribute.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @see #getGain()
67 * @generated
68 * @ordered
69 */
70 protected AntennaGain gain = GAIN_EDEFAULT;
71
72 /** 18 /**
73 * <!-- begin-user-doc --> 19 * <!-- begin-user-doc -->
74 * <!-- end-user-doc --> 20 * <!-- end-user-doc -->
@@ -88,139 +34,4 @@ public class CommSubsystemImpl extends MinimalEObjectImpl.Container implements C
88 return SatellitePackage.Literals.COMM_SUBSYSTEM; 34 return SatellitePackage.Literals.COMM_SUBSYSTEM;
89 } 35 }
90 36
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 @Override
97 public TransceiverBand getBand() {
98 return band;
99 }
100
101 /**
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @generated
105 */
106 @Override
107 public void setBand(TransceiverBand newBand) {
108 TransceiverBand oldBand = band;
109 band = newBand == null ? BAND_EDEFAULT : newBand;
110 if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.SET, SatellitePackage.COMM_SUBSYSTEM__BAND, oldBand,
112 band));
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 @Override
121 public AntennaGain getGain() {
122 return gain;
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public void setGain(AntennaGain newGain) {
132 AntennaGain oldGain = gain;
133 gain = newGain == null ? GAIN_EDEFAULT : newGain;
134 if (eNotificationRequired())
135 eNotify(new ENotificationImpl(this, Notification.SET, SatellitePackage.COMM_SUBSYSTEM__GAIN, oldGain,
136 gain));
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 @Override
145 public Object eGet(int featureID, boolean resolve, boolean coreType) {
146 switch (featureID) {
147 case SatellitePackage.COMM_SUBSYSTEM__BAND:
148 return getBand();
149 case SatellitePackage.COMM_SUBSYSTEM__GAIN:
150 return getGain();
151 }
152 return super.eGet(featureID, resolve, coreType);
153 }
154
155 /**
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @generated
159 */
160 @Override
161 public void eSet(int featureID, Object newValue) {
162 switch (featureID) {
163 case SatellitePackage.COMM_SUBSYSTEM__BAND:
164 setBand((TransceiverBand) newValue);
165 return;
166 case SatellitePackage.COMM_SUBSYSTEM__GAIN:
167 setGain((AntennaGain) newValue);
168 return;
169 }
170 super.eSet(featureID, newValue);
171 }
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 @Override
179 public void eUnset(int featureID) {
180 switch (featureID) {
181 case SatellitePackage.COMM_SUBSYSTEM__BAND:
182 setBand(BAND_EDEFAULT);
183 return;
184 case SatellitePackage.COMM_SUBSYSTEM__GAIN:
185 setGain(GAIN_EDEFAULT);
186 return;
187 }
188 super.eUnset(featureID);
189 }
190
191 /**
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @generated
195 */
196 @Override
197 public boolean eIsSet(int featureID) {
198 switch (featureID) {
199 case SatellitePackage.COMM_SUBSYSTEM__BAND:
200 return band != BAND_EDEFAULT;
201 case SatellitePackage.COMM_SUBSYSTEM__GAIN:
202 return gain != GAIN_EDEFAULT;
203 }
204 return super.eIsSet(featureID);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public String toString() {
214 if (eIsProxy())
215 return super.toString();
216
217 StringBuilder result = new StringBuilder(super.toString());
218 result.append(" (band: ");
219 result.append(band);
220 result.append(", gain: ");
221 result.append(gain);
222 result.append(')');
223 return result.toString();
224 }
225
226} //CommSubsystemImpl 37} //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;
14 * 14 *
15 * @generated 15 * @generated
16 */ 16 */
17public class CubeSat3UImpl extends SpacecraftImpl implements CubeSat3U { 17public class CubeSat3UImpl extends CubeSatImpl implements CubeSat3U {
18 /** 18 /**
19 * <!-- begin-user-doc --> 19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc --> 20 * <!-- end-user-doc -->
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;
14 * 14 *
15 * @generated 15 * @generated
16 */ 16 */
17public class CubeSat6UImpl extends SpacecraftImpl implements CubeSat6U { 17public class CubeSat6UImpl extends CubeSatImpl implements CubeSat6U {
18 /** 18 /**
19 * <!-- begin-user-doc --> 19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc --> 20 * <!-- end-user-doc -->
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/satellite/impl/CubeSatImpl.java
index b8e364a3..660bd062 100644
--- 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/satellite/impl/CubeSatImpl.java
@@ -1,12 +1,12 @@
1/** 1/**
2 */ 2 */
3package hu.bme.mit.inf.dslreasoner.domains.satellite.impl; 3package satellite.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat;
6import hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage;
7 4
8import org.eclipse.emf.ecore.EClass; 5import org.eclipse.emf.ecore.EClass;
9 6
7import satellite.CubeSat;
8import satellite.SatellitePackage;
9
10/** 10/**
11 * <!-- begin-user-doc --> 11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Cube Sat</b></em>'. 12 * An implementation of the model object '<em><b>Cube Sat</b></em>'.
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/KaCommSubsystemImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/KaCommSubsystemImpl.java
new file mode 100644
index 00000000..3f4fc432
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/KaCommSubsystemImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package satellite.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import satellite.KaCommSubsystem;
8import satellite.SatellitePackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Ka Comm Subsystem</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class KaCommSubsystemImpl extends CommSubsystemImpl implements KaCommSubsystem {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected KaCommSubsystemImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SatellitePackage.Literals.KA_COMM_SUBSYSTEM;
35 }
36
37} //KaCommSubsystemImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/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 @@
3package satellite.impl; 3package satellite.impl;
4 4
5import org.eclipse.emf.ecore.EClass; 5import org.eclipse.emf.ecore.EClass;
6import org.eclipse.emf.ecore.EDataType;
7import org.eclipse.emf.ecore.EObject; 6import org.eclipse.emf.ecore.EObject;
8import org.eclipse.emf.ecore.EPackage; 7import org.eclipse.emf.ecore.EPackage;
9 8
@@ -61,8 +60,6 @@ public class SatelliteFactoryImpl extends EFactoryImpl implements SatelliteFacto
61 return createInterferometryMission(); 60 return createInterferometryMission();
62 case SatellitePackage.GROUND_STATION_NETWORK: 61 case SatellitePackage.GROUND_STATION_NETWORK:
63 return createGroundStationNetwork(); 62 return createGroundStationNetwork();
64 case SatellitePackage.COMM_SUBSYSTEM:
65 return createCommSubsystem();
66 case SatellitePackage.DIRECTED_COMMUNICATION_LINK: 63 case SatellitePackage.DIRECTED_COMMUNICATION_LINK:
67 return createDirectedCommunicationLink(); 64 return createDirectedCommunicationLink();
68 case SatellitePackage.INTERFEROMETRY_PAYLOAD: 65 case SatellitePackage.INTERFEROMETRY_PAYLOAD:
@@ -73,6 +70,12 @@ public class SatelliteFactoryImpl extends EFactoryImpl implements SatelliteFacto
73 return createCubeSat6U(); 70 return createCubeSat6U();
74 case SatellitePackage.SMALL_SAT: 71 case SatellitePackage.SMALL_SAT:
75 return createSmallSat(); 72 return createSmallSat();
73 case SatellitePackage.UHF_COMM_SUBSYSTEM:
74 return createUHFCommSubsystem();
75 case SatellitePackage.XCOMM_SUBSYSTEM:
76 return createXCommSubsystem();
77 case SatellitePackage.KA_COMM_SUBSYSTEM:
78 return createKaCommSubsystem();
76 default: 79 default:
77 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); 80 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
78 } 81 }
@@ -84,44 +87,6 @@ public class SatelliteFactoryImpl extends EFactoryImpl implements SatelliteFacto
84 * @generated 87 * @generated
85 */ 88 */
86 @Override 89 @Override
87 public Object createFromString(EDataType eDataType, String initialValue) {
88 switch (eDataType.getClassifierID()) {
89 case SatellitePackage.TRANSCEIVER_BAND:
90 return createTransceiverBandFromString(eDataType, initialValue);
91 case SatellitePackage.ANTENNA_GAIN:
92 return createAntennaGainFromString(eDataType, initialValue);
93 case SatellitePackage.SPACECRAFT_KIND:
94 return createSpacecraftKindFromString(eDataType, initialValue);
95 default:
96 throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
97 }
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 @Override
106 public String convertToString(EDataType eDataType, Object instanceValue) {
107 switch (eDataType.getClassifierID()) {
108 case SatellitePackage.TRANSCEIVER_BAND:
109 return convertTransceiverBandToString(eDataType, instanceValue);
110 case SatellitePackage.ANTENNA_GAIN:
111 return convertAntennaGainToString(eDataType, instanceValue);
112 case SatellitePackage.SPACECRAFT_KIND:
113 return convertSpacecraftKindToString(eDataType, instanceValue);
114 default:
115 throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
116 }
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @Override
125 public InterferometryMission createInterferometryMission() { 90 public InterferometryMission createInterferometryMission() {
126 InterferometryMissionImpl interferometryMission = new InterferometryMissionImpl(); 91 InterferometryMissionImpl interferometryMission = new InterferometryMissionImpl();
127 return interferometryMission; 92 return interferometryMission;
@@ -144,17 +109,6 @@ public class SatelliteFactoryImpl extends EFactoryImpl implements SatelliteFacto
144 * @generated 109 * @generated
145 */ 110 */
146 @Override 111 @Override
147 public CommSubsystem createCommSubsystem() {
148 CommSubsystemImpl commSubsystem = new CommSubsystemImpl();
149 return commSubsystem;
150 }
151
152 /**
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @generated
156 */
157 @Override
158 public DirectedCommunicationLink createDirectedCommunicationLink() { 112 public DirectedCommunicationLink createDirectedCommunicationLink() {
159 DirectedCommunicationLinkImpl directedCommunicationLink = new DirectedCommunicationLinkImpl(); 113 DirectedCommunicationLinkImpl directedCommunicationLink = new DirectedCommunicationLinkImpl();
160 return directedCommunicationLink; 114 return directedCommunicationLink;
@@ -209,43 +163,10 @@ public class SatelliteFactoryImpl extends EFactoryImpl implements SatelliteFacto
209 * <!-- end-user-doc --> 163 * <!-- end-user-doc -->
210 * @generated 164 * @generated
211 */ 165 */
212 public TransceiverBand createTransceiverBandFromString(EDataType eDataType, String initialValue) { 166 @Override
213 TransceiverBand result = TransceiverBand.get(initialValue); 167 public UHFCommSubsystem createUHFCommSubsystem() {
214 if (result == null) 168 UHFCommSubsystemImpl uhfCommSubsystem = new UHFCommSubsystemImpl();
215 throw new IllegalArgumentException( 169 return uhfCommSubsystem;
216 "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
217 return result;
218 }
219
220 /**
221 * <!-- begin-user-doc -->
222 * <!-- end-user-doc -->
223 * @generated
224 */
225 public String convertTransceiverBandToString(EDataType eDataType, Object instanceValue) {
226 return instanceValue == null ? null : instanceValue.toString();
227 }
228
229 /**
230 * <!-- begin-user-doc -->
231 * <!-- end-user-doc -->
232 * @generated
233 */
234 public AntennaGain createAntennaGainFromString(EDataType eDataType, String initialValue) {
235 AntennaGain result = AntennaGain.get(initialValue);
236 if (result == null)
237 throw new IllegalArgumentException(
238 "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
239 return result;
240 }
241
242 /**
243 * <!-- begin-user-doc -->
244 * <!-- end-user-doc -->
245 * @generated
246 */
247 public String convertAntennaGainToString(EDataType eDataType, Object instanceValue) {
248 return instanceValue == null ? null : instanceValue.toString();
249 } 170 }
250 171
251 /** 172 /**
@@ -253,12 +174,10 @@ public class SatelliteFactoryImpl extends EFactoryImpl implements SatelliteFacto
253 * <!-- end-user-doc --> 174 * <!-- end-user-doc -->
254 * @generated 175 * @generated
255 */ 176 */
256 public SpacecraftKind createSpacecraftKindFromString(EDataType eDataType, String initialValue) { 177 @Override
257 SpacecraftKind result = SpacecraftKind.get(initialValue); 178 public XCommSubsystem createXCommSubsystem() {
258 if (result == null) 179 XCommSubsystemImpl xCommSubsystem = new XCommSubsystemImpl();
259 throw new IllegalArgumentException( 180 return xCommSubsystem;
260 "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
261 return result;
262 } 181 }
263 182
264 /** 183 /**
@@ -266,8 +185,10 @@ public class SatelliteFactoryImpl extends EFactoryImpl implements SatelliteFacto
266 * <!-- end-user-doc --> 185 * <!-- end-user-doc -->
267 * @generated 186 * @generated
268 */ 187 */
269 public String convertSpacecraftKindToString(EDataType eDataType, Object instanceValue) { 188 @Override
270 return instanceValue == null ? null : instanceValue.toString(); 189 public KaCommSubsystem createKaCommSubsystem() {
190 KaCommSubsystemImpl kaCommSubsystem = new KaCommSubsystemImpl();
191 return kaCommSubsystem;
271 } 192 }
272 193
273 /** 194 /**
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;
4 4
5import org.eclipse.emf.ecore.EAttribute; 5import org.eclipse.emf.ecore.EAttribute;
6import org.eclipse.emf.ecore.EClass; 6import org.eclipse.emf.ecore.EClass;
7import org.eclipse.emf.ecore.EEnum;
8import org.eclipse.emf.ecore.EPackage; 7import org.eclipse.emf.ecore.EPackage;
9import org.eclipse.emf.ecore.EReference; 8import org.eclipse.emf.ecore.EReference;
10 9
11import org.eclipse.emf.ecore.impl.EPackageImpl; 10import org.eclipse.emf.ecore.impl.EPackageImpl;
12
13import satellite.AntennaGain;
14import satellite.CommSubsystem; 11import satellite.CommSubsystem;
15import satellite.CommunicatingElement; 12import satellite.CommunicatingElement;
16import satellite.ConstellationMission; 13import satellite.ConstellationMission;
14import satellite.CubeSat;
17import satellite.CubeSat3U; 15import satellite.CubeSat3U;
18import satellite.CubeSat6U; 16import satellite.CubeSat6U;
19import satellite.DirectedCommunicationLink; 17import satellite.DirectedCommunicationLink;
20import satellite.GroundStationNetwork; 18import satellite.GroundStationNetwork;
21import satellite.InterferometryMission; 19import satellite.InterferometryMission;
22import satellite.InterferometryPayload; 20import satellite.InterferometryPayload;
21import satellite.KaCommSubsystem;
23import satellite.Payload; 22import satellite.Payload;
24import satellite.SatelliteFactory; 23import satellite.SatelliteFactory;
25import satellite.SatellitePackage; 24import satellite.SatellitePackage;
26import satellite.SmallSat; 25import satellite.SmallSat;
27import satellite.Spacecraft; 26import satellite.Spacecraft;
28import satellite.SpacecraftKind; 27import satellite.UHFCommSubsystem;
29import satellite.TransceiverBand; 28import satellite.XCommSubsystem;
30 29
31/** 30/**
32 * <!-- begin-user-doc --> 31 * <!-- begin-user-doc -->
@@ -124,21 +123,28 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
124 * <!-- end-user-doc --> 123 * <!-- end-user-doc -->
125 * @generated 124 * @generated
126 */ 125 */
127 private EEnum transceiverBandEEnum = null; 126 private EClass cubeSatEClass = null;
127
128 /**
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @generated
132 */
133 private EClass uhfCommSubsystemEClass = null;
128 134
129 /** 135 /**
130 * <!-- begin-user-doc --> 136 * <!-- begin-user-doc -->
131 * <!-- end-user-doc --> 137 * <!-- end-user-doc -->
132 * @generated 138 * @generated
133 */ 139 */
134 private EEnum antennaGainEEnum = null; 140 private EClass xCommSubsystemEClass = null;
135 141
136 /** 142 /**
137 * <!-- begin-user-doc --> 143 * <!-- begin-user-doc -->
138 * <!-- end-user-doc --> 144 * <!-- end-user-doc -->
139 * @generated 145 * @generated
140 */ 146 */
141 private EEnum spacecraftKindEEnum = null; 147 private EClass kaCommSubsystemEClass = null;
142 148
143 /** 149 /**
144 * Creates an instance of the model <b>Package</b>, registered with 150 * Creates an instance of the model <b>Package</b>, registered with
@@ -320,16 +326,6 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
320 * @generated 326 * @generated
321 */ 327 */
322 @Override 328 @Override
323 public EAttribute getSpacecraft_Kind() {
324 return (EAttribute) spacecraftEClass.getEStructuralFeatures().get(1);
325 }
326
327 /**
328 * <!-- begin-user-doc -->
329 * <!-- end-user-doc -->
330 * @generated
331 */
332 @Override
333 public EClass getCommSubsystem() { 329 public EClass getCommSubsystem() {
334 return commSubsystemEClass; 330 return commSubsystemEClass;
335 } 331 }
@@ -340,26 +336,6 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
340 * @generated 336 * @generated
341 */ 337 */
342 @Override 338 @Override
343 public EAttribute getCommSubsystem_Band() {
344 return (EAttribute) commSubsystemEClass.getEStructuralFeatures().get(0);
345 }
346
347 /**
348 * <!-- begin-user-doc -->
349 * <!-- end-user-doc -->
350 * @generated
351 */
352 @Override
353 public EAttribute getCommSubsystem_Gain() {
354 return (EAttribute) commSubsystemEClass.getEStructuralFeatures().get(1);
355 }
356
357 /**
358 * <!-- begin-user-doc -->
359 * <!-- end-user-doc -->
360 * @generated
361 */
362 @Override
363 public EClass getDirectedCommunicationLink() { 339 public EClass getDirectedCommunicationLink() {
364 return directedCommunicationLinkEClass; 340 return directedCommunicationLinkEClass;
365 } 341 }
@@ -440,8 +416,8 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
440 * @generated 416 * @generated
441 */ 417 */
442 @Override 418 @Override
443 public EEnum getTransceiverBand() { 419 public EClass getCubeSat() {
444 return transceiverBandEEnum; 420 return cubeSatEClass;
445 } 421 }
446 422
447 /** 423 /**
@@ -450,8 +426,8 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
450 * @generated 426 * @generated
451 */ 427 */
452 @Override 428 @Override
453 public EEnum getAntennaGain() { 429 public EClass getUHFCommSubsystem() {
454 return antennaGainEEnum; 430 return uhfCommSubsystemEClass;
455 } 431 }
456 432
457 /** 433 /**
@@ -460,8 +436,18 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
460 * @generated 436 * @generated
461 */ 437 */
462 @Override 438 @Override
463 public EEnum getSpacecraftKind() { 439 public EClass getXCommSubsystem() {
464 return spacecraftKindEEnum; 440 return xCommSubsystemEClass;
441 }
442
443 /**
444 * <!-- begin-user-doc -->
445 * <!-- end-user-doc -->
446 * @generated
447 */
448 @Override
449 public EClass getKaCommSubsystem() {
450 return kaCommSubsystemEClass;
465 } 451 }
466 452
467 /** 453 /**
@@ -509,11 +495,8 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
509 495
510 spacecraftEClass = createEClass(SPACECRAFT); 496 spacecraftEClass = createEClass(SPACECRAFT);
511 createEReference(spacecraftEClass, SPACECRAFT__PAYLOAD); 497 createEReference(spacecraftEClass, SPACECRAFT__PAYLOAD);
512 createEAttribute(spacecraftEClass, SPACECRAFT__KIND);
513 498
514 commSubsystemEClass = createEClass(COMM_SUBSYSTEM); 499 commSubsystemEClass = createEClass(COMM_SUBSYSTEM);
515 createEAttribute(commSubsystemEClass, COMM_SUBSYSTEM__BAND);
516 createEAttribute(commSubsystemEClass, COMM_SUBSYSTEM__GAIN);
517 500
518 directedCommunicationLinkEClass = createEClass(DIRECTED_COMMUNICATION_LINK); 501 directedCommunicationLinkEClass = createEClass(DIRECTED_COMMUNICATION_LINK);
519 createEReference(directedCommunicationLinkEClass, DIRECTED_COMMUNICATION_LINK__SOURCE); 502 createEReference(directedCommunicationLinkEClass, DIRECTED_COMMUNICATION_LINK__SOURCE);
@@ -529,10 +512,13 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
529 512
530 smallSatEClass = createEClass(SMALL_SAT); 513 smallSatEClass = createEClass(SMALL_SAT);
531 514
532 // Create enums 515 cubeSatEClass = createEClass(CUBE_SAT);
533 transceiverBandEEnum = createEEnum(TRANSCEIVER_BAND); 516
534 antennaGainEEnum = createEEnum(ANTENNA_GAIN); 517 uhfCommSubsystemEClass = createEClass(UHF_COMM_SUBSYSTEM);
535 spacecraftKindEEnum = createEEnum(SPACECRAFT_KIND); 518
519 xCommSubsystemEClass = createEClass(XCOMM_SUBSYSTEM);
520
521 kaCommSubsystemEClass = createEClass(KA_COMM_SUBSYSTEM);
536 } 522 }
537 523
538 /** 524 /**
@@ -568,9 +554,13 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
568 groundStationNetworkEClass.getESuperTypes().add(this.getCommunicatingElement()); 554 groundStationNetworkEClass.getESuperTypes().add(this.getCommunicatingElement());
569 spacecraftEClass.getESuperTypes().add(this.getCommunicatingElement()); 555 spacecraftEClass.getESuperTypes().add(this.getCommunicatingElement());
570 interferometryPayloadEClass.getESuperTypes().add(this.getPayload()); 556 interferometryPayloadEClass.getESuperTypes().add(this.getPayload());
571 cubeSat3UEClass.getESuperTypes().add(this.getSpacecraft()); 557 cubeSat3UEClass.getESuperTypes().add(this.getCubeSat());
572 cubeSat6UEClass.getESuperTypes().add(this.getSpacecraft()); 558 cubeSat6UEClass.getESuperTypes().add(this.getCubeSat());
573 smallSatEClass.getESuperTypes().add(this.getSpacecraft()); 559 smallSatEClass.getESuperTypes().add(this.getSpacecraft());
560 cubeSatEClass.getESuperTypes().add(this.getSpacecraft());
561 uhfCommSubsystemEClass.getESuperTypes().add(this.getCommSubsystem());
562 xCommSubsystemEClass.getESuperTypes().add(this.getCommSubsystem());
563 kaCommSubsystemEClass.getESuperTypes().add(this.getCommSubsystem());
574 564
575 // Initialize classes, features, and operations; add parameters 565 // Initialize classes, features, and operations; add parameters
576 initEClass(constellationMissionEClass, ConstellationMission.class, "ConstellationMission", IS_ABSTRACT, 566 initEClass(constellationMissionEClass, ConstellationMission.class, "ConstellationMission", IS_ABSTRACT,
@@ -605,15 +595,9 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
605 initEReference(getSpacecraft_Payload(), this.getPayload(), null, "payload", null, 0, 1, Spacecraft.class, 595 initEReference(getSpacecraft_Payload(), this.getPayload(), null, "payload", null, 0, 1, Spacecraft.class,
606 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, 596 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
607 IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 597 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
608 initEAttribute(getSpacecraft_Kind(), this.getSpacecraftKind(), "kind", null, 1, 1, Spacecraft.class,
609 IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
610 598
611 initEClass(commSubsystemEClass, CommSubsystem.class, "CommSubsystem", !IS_ABSTRACT, !IS_INTERFACE, 599 initEClass(commSubsystemEClass, CommSubsystem.class, "CommSubsystem", IS_ABSTRACT, !IS_INTERFACE,
612 IS_GENERATED_INSTANCE_CLASS); 600 IS_GENERATED_INSTANCE_CLASS);
613 initEAttribute(getCommSubsystem_Band(), this.getTransceiverBand(), "band", null, 1, 1, CommSubsystem.class,
614 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
615 initEAttribute(getCommSubsystem_Gain(), this.getAntennaGain(), "gain", null, 1, 1, CommSubsystem.class,
616 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
617 601
618 initEClass(directedCommunicationLinkEClass, DirectedCommunicationLink.class, "DirectedCommunicationLink", 602 initEClass(directedCommunicationLinkEClass, DirectedCommunicationLink.class, "DirectedCommunicationLink",
619 !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 603 !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -638,53 +622,19 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
638 initEClass(smallSatEClass, SmallSat.class, "SmallSat", !IS_ABSTRACT, !IS_INTERFACE, 622 initEClass(smallSatEClass, SmallSat.class, "SmallSat", !IS_ABSTRACT, !IS_INTERFACE,
639 IS_GENERATED_INSTANCE_CLASS); 623 IS_GENERATED_INSTANCE_CLASS);
640 624
641 // Initialize enums and add enum literals 625 initEClass(cubeSatEClass, CubeSat.class, "CubeSat", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
642 initEEnum(transceiverBandEEnum, TransceiverBand.class, "TransceiverBand");
643 addEEnumLiteral(transceiverBandEEnum, TransceiverBand.UHF);
644 addEEnumLiteral(transceiverBandEEnum, TransceiverBand.X);
645 addEEnumLiteral(transceiverBandEEnum, TransceiverBand.KA);
646 626
647 initEEnum(antennaGainEEnum, AntennaGain.class, "AntennaGain"); 627 initEClass(uhfCommSubsystemEClass, UHFCommSubsystem.class, "UHFCommSubsystem", !IS_ABSTRACT, !IS_INTERFACE,
648 addEEnumLiteral(antennaGainEEnum, AntennaGain.LOW); 628 IS_GENERATED_INSTANCE_CLASS);
649 addEEnumLiteral(antennaGainEEnum, AntennaGain.MEDIUM);
650 addEEnumLiteral(antennaGainEEnum, AntennaGain.HIGH);
651 629
652 initEEnum(spacecraftKindEEnum, SpacecraftKind.class, "SpacecraftKind"); 630 initEClass(xCommSubsystemEClass, XCommSubsystem.class, "XCommSubsystem", !IS_ABSTRACT, !IS_INTERFACE,
653 addEEnumLiteral(spacecraftKindEEnum, SpacecraftKind.CUBE_SAT3_U); 631 IS_GENERATED_INSTANCE_CLASS);
654 addEEnumLiteral(spacecraftKindEEnum, SpacecraftKind.CUBE_SAT6_U); 632
655 addEEnumLiteral(spacecraftKindEEnum, SpacecraftKind.SMALL_SAT); 633 initEClass(kaCommSubsystemEClass, KaCommSubsystem.class, "KaCommSubsystem", !IS_ABSTRACT, !IS_INTERFACE,
634 IS_GENERATED_INSTANCE_CLASS);
656 635
657 // Create resource 636 // Create resource
658 createResource(eNS_URI); 637 createResource(eNS_URI);
659
660 // Create annotations
661 // http://www.eclipse.org/emf/2002/Ecore
662 createEcoreAnnotations();
663 // org.eclipse.viatra.query.querybasedfeature
664 createOrgAnnotations();
665 }
666
667 /**
668 * Initializes the annotations for <b>http://www.eclipse.org/emf/2002/Ecore</b>.
669 * <!-- begin-user-doc -->
670 * <!-- end-user-doc -->
671 * @generated
672 */
673 protected void createEcoreAnnotations() {
674 String source = "http://www.eclipse.org/emf/2002/Ecore";
675 addAnnotation(this, source, new String[] { "settingDelegates", "org.eclipse.viatra.query.querybasedfeature" });
676 }
677
678 /**
679 * Initializes the annotations for <b>org.eclipse.viatra.query.querybasedfeature</b>.
680 * <!-- begin-user-doc -->
681 * <!-- end-user-doc -->
682 * @generated
683 */
684 protected void createOrgAnnotations() {
685 String source = "org.eclipse.viatra.query.querybasedfeature";
686 addAnnotation(getSpacecraft_Kind(), source,
687 new String[] { "patternFQN", "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftOfKind" });
688 } 638 }
689 639
690} //SatellitePackageImpl 640} //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;
6import org.eclipse.emf.common.notify.NotificationChain; 6import org.eclipse.emf.common.notify.NotificationChain;
7 7
8import org.eclipse.emf.ecore.EClass; 8import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.EStructuralFeature;
10import org.eclipse.emf.ecore.InternalEObject; 9import org.eclipse.emf.ecore.InternalEObject;
11 10
12import org.eclipse.emf.ecore.impl.ENotificationImpl; 11import org.eclipse.emf.ecore.impl.ENotificationImpl;
@@ -14,7 +13,6 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl;
14import satellite.Payload; 13import satellite.Payload;
15import satellite.SatellitePackage; 14import satellite.SatellitePackage;
16import satellite.Spacecraft; 15import satellite.Spacecraft;
17import satellite.SpacecraftKind;
18 16
19/** 17/**
20 * <!-- begin-user-doc --> 18 * <!-- begin-user-doc -->
@@ -25,7 +23,6 @@ import satellite.SpacecraftKind;
25 * </p> 23 * </p>
26 * <ul> 24 * <ul>
27 * <li>{@link satellite.impl.SpacecraftImpl#getPayload <em>Payload</em>}</li> 25 * <li>{@link satellite.impl.SpacecraftImpl#getPayload <em>Payload</em>}</li>
28 * <li>{@link satellite.impl.SpacecraftImpl#getKind <em>Kind</em>}</li>
29 * </ul> 26 * </ul>
30 * 27 *
31 * @generated 28 * @generated
@@ -42,17 +39,6 @@ public abstract class SpacecraftImpl extends CommunicatingElementImpl implements
42 protected Payload payload; 39 protected Payload payload;
43 40
44 /** 41 /**
45 * The cached setting delegate for the '{@link #getKind() <em>Kind</em>}' attribute.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getKind()
49 * @generated
50 * @ordered
51 */
52 protected EStructuralFeature.Internal.SettingDelegate KIND__ESETTING_DELEGATE = ((EStructuralFeature.Internal) SatellitePackage.Literals.SPACECRAFT__KIND)
53 .getSettingDelegate();
54
55 /**
56 * <!-- begin-user-doc --> 42 * <!-- begin-user-doc -->
57 * <!-- end-user-doc --> 43 * <!-- end-user-doc -->
58 * @generated 44 * @generated
@@ -129,16 +115,6 @@ public abstract class SpacecraftImpl extends CommunicatingElementImpl implements
129 * @generated 115 * @generated
130 */ 116 */
131 @Override 117 @Override
132 public SpacecraftKind getKind() {
133 return (SpacecraftKind) KIND__ESETTING_DELEGATE.dynamicGet(this, null, 0, true, false);
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { 118 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
143 switch (featureID) { 119 switch (featureID) {
144 case SatellitePackage.SPACECRAFT__PAYLOAD: 120 case SatellitePackage.SPACECRAFT__PAYLOAD:
@@ -157,8 +133,6 @@ public abstract class SpacecraftImpl extends CommunicatingElementImpl implements
157 switch (featureID) { 133 switch (featureID) {
158 case SatellitePackage.SPACECRAFT__PAYLOAD: 134 case SatellitePackage.SPACECRAFT__PAYLOAD:
159 return getPayload(); 135 return getPayload();
160 case SatellitePackage.SPACECRAFT__KIND:
161 return getKind();
162 } 136 }
163 return super.eGet(featureID, resolve, coreType); 137 return super.eGet(featureID, resolve, coreType);
164 } 138 }
@@ -203,8 +177,6 @@ public abstract class SpacecraftImpl extends CommunicatingElementImpl implements
203 switch (featureID) { 177 switch (featureID) {
204 case SatellitePackage.SPACECRAFT__PAYLOAD: 178 case SatellitePackage.SPACECRAFT__PAYLOAD:
205 return payload != null; 179 return payload != null;
206 case SatellitePackage.SPACECRAFT__KIND:
207 return KIND__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);
208 } 180 }
209 return super.eIsSet(featureID); 181 return super.eIsSet(featureID);
210 } 182 }
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/UHFCommSubsystemImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/UHFCommSubsystemImpl.java
new file mode 100644
index 00000000..df21b9e1
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/UHFCommSubsystemImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package satellite.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import satellite.SatellitePackage;
8import satellite.UHFCommSubsystem;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>UHF Comm Subsystem</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class UHFCommSubsystemImpl extends CommSubsystemImpl implements UHFCommSubsystem {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected UHFCommSubsystemImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SatellitePackage.Literals.UHF_COMM_SUBSYSTEM;
35 }
36
37} //UHFCommSubsystemImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/XCommSubsystemImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/XCommSubsystemImpl.java
new file mode 100644
index 00000000..c686a50e
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/XCommSubsystemImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package satellite.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import satellite.SatellitePackage;
8import satellite.XCommSubsystem;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>XComm Subsystem</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class XCommSubsystemImpl extends CommSubsystemImpl implements XCommSubsystem {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected XCommSubsystemImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SatellitePackage.Literals.XCOMM_SUBSYSTEM;
35 }
36
37} //XCommSubsystemImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteAdapterFactory.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteAdapterFactory.java
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
@@ -127,6 +127,26 @@ public class SatelliteAdapterFactory extends AdapterFactoryImpl {
127 } 127 }
128 128
129 @Override 129 @Override
130 public Adapter caseCubeSat(CubeSat object) {
131 return createCubeSatAdapter();
132 }
133
134 @Override
135 public Adapter caseUHFCommSubsystem(UHFCommSubsystem object) {
136 return createUHFCommSubsystemAdapter();
137 }
138
139 @Override
140 public Adapter caseXCommSubsystem(XCommSubsystem object) {
141 return createXCommSubsystemAdapter();
142 }
143
144 @Override
145 public Adapter caseKaCommSubsystem(KaCommSubsystem object) {
146 return createKaCommSubsystemAdapter();
147 }
148
149 @Override
130 public Adapter defaultCase(EObject object) { 150 public Adapter defaultCase(EObject object) {
131 return createEObjectAdapter(); 151 return createEObjectAdapter();
132 } 152 }
@@ -314,6 +334,62 @@ public class SatelliteAdapterFactory extends AdapterFactoryImpl {
314 } 334 }
315 335
316 /** 336 /**
337 * Creates a new adapter for an object of class '{@link satellite.CubeSat <em>Cube Sat</em>}'.
338 * <!-- begin-user-doc -->
339 * This default implementation returns null so that we can easily ignore cases;
340 * it's useful to ignore a case when inheritance will catch all the cases anyway.
341 * <!-- end-user-doc -->
342 * @return the new adapter.
343 * @see satellite.CubeSat
344 * @generated
345 */
346 public Adapter createCubeSatAdapter() {
347 return null;
348 }
349
350 /**
351 * Creates a new adapter for an object of class '{@link satellite.UHFCommSubsystem <em>UHF Comm Subsystem</em>}'.
352 * <!-- begin-user-doc -->
353 * This default implementation returns null so that we can easily ignore cases;
354 * it's useful to ignore a case when inheritance will catch all the cases anyway.
355 * <!-- end-user-doc -->
356 * @return the new adapter.
357 * @see satellite.UHFCommSubsystem
358 * @generated
359 */
360 public Adapter createUHFCommSubsystemAdapter() {
361 return null;
362 }
363
364 /**
365 * Creates a new adapter for an object of class '{@link satellite.XCommSubsystem <em>XComm Subsystem</em>}'.
366 * <!-- begin-user-doc -->
367 * This default implementation returns null so that we can easily ignore cases;
368 * it's useful to ignore a case when inheritance will catch all the cases anyway.
369 * <!-- end-user-doc -->
370 * @return the new adapter.
371 * @see satellite.XCommSubsystem
372 * @generated
373 */
374 public Adapter createXCommSubsystemAdapter() {
375 return null;
376 }
377
378 /**
379 * Creates a new adapter for an object of class '{@link satellite.KaCommSubsystem <em>Ka Comm Subsystem</em>}'.
380 * <!-- begin-user-doc -->
381 * This default implementation returns null so that we can easily ignore cases;
382 * it's useful to ignore a case when inheritance will catch all the cases anyway.
383 * <!-- end-user-doc -->
384 * @return the new adapter.
385 * @see satellite.KaCommSubsystem
386 * @generated
387 */
388 public Adapter createKaCommSubsystemAdapter() {
389 return null;
390 }
391
392 /**
317 * Creates a new adapter for the default case. 393 * Creates a new adapter for the default case.
318 * <!-- begin-user-doc --> 394 * <!-- begin-user-doc -->
319 * This default implementation returns null. 395 * This default implementation returns null.
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
@@ -141,6 +141,8 @@ public class SatelliteSwitch<T> extends Switch<T> {
141 CubeSat3U cubeSat3U = (CubeSat3U) theEObject; 141 CubeSat3U cubeSat3U = (CubeSat3U) theEObject;
142 T result = caseCubeSat3U(cubeSat3U); 142 T result = caseCubeSat3U(cubeSat3U);
143 if (result == null) 143 if (result == null)
144 result = caseCubeSat(cubeSat3U);
145 if (result == null)
144 result = caseSpacecraft(cubeSat3U); 146 result = caseSpacecraft(cubeSat3U);
145 if (result == null) 147 if (result == null)
146 result = caseCommunicatingElement(cubeSat3U); 148 result = caseCommunicatingElement(cubeSat3U);
@@ -152,6 +154,8 @@ public class SatelliteSwitch<T> extends Switch<T> {
152 CubeSat6U cubeSat6U = (CubeSat6U) theEObject; 154 CubeSat6U cubeSat6U = (CubeSat6U) theEObject;
153 T result = caseCubeSat6U(cubeSat6U); 155 T result = caseCubeSat6U(cubeSat6U);
154 if (result == null) 156 if (result == null)
157 result = caseCubeSat(cubeSat6U);
158 if (result == null)
155 result = caseSpacecraft(cubeSat6U); 159 result = caseSpacecraft(cubeSat6U);
156 if (result == null) 160 if (result == null)
157 result = caseCommunicatingElement(cubeSat6U); 161 result = caseCommunicatingElement(cubeSat6U);
@@ -170,6 +174,44 @@ public class SatelliteSwitch<T> extends Switch<T> {
170 result = defaultCase(theEObject); 174 result = defaultCase(theEObject);
171 return result; 175 return result;
172 } 176 }
177 case SatellitePackage.CUBE_SAT: {
178 CubeSat cubeSat = (CubeSat) theEObject;
179 T result = caseCubeSat(cubeSat);
180 if (result == null)
181 result = caseSpacecraft(cubeSat);
182 if (result == null)
183 result = caseCommunicatingElement(cubeSat);
184 if (result == null)
185 result = defaultCase(theEObject);
186 return result;
187 }
188 case SatellitePackage.UHF_COMM_SUBSYSTEM: {
189 UHFCommSubsystem uhfCommSubsystem = (UHFCommSubsystem) theEObject;
190 T result = caseUHFCommSubsystem(uhfCommSubsystem);
191 if (result == null)
192 result = caseCommSubsystem(uhfCommSubsystem);
193 if (result == null)
194 result = defaultCase(theEObject);
195 return result;
196 }
197 case SatellitePackage.XCOMM_SUBSYSTEM: {
198 XCommSubsystem xCommSubsystem = (XCommSubsystem) theEObject;
199 T result = caseXCommSubsystem(xCommSubsystem);
200 if (result == null)
201 result = caseCommSubsystem(xCommSubsystem);
202 if (result == null)
203 result = defaultCase(theEObject);
204 return result;
205 }
206 case SatellitePackage.KA_COMM_SUBSYSTEM: {
207 KaCommSubsystem kaCommSubsystem = (KaCommSubsystem) theEObject;
208 T result = caseKaCommSubsystem(kaCommSubsystem);
209 if (result == null)
210 result = caseCommSubsystem(kaCommSubsystem);
211 if (result == null)
212 result = defaultCase(theEObject);
213 return result;
214 }
173 default: 215 default:
174 return defaultCase(theEObject); 216 return defaultCase(theEObject);
175 } 217 }
@@ -356,6 +398,66 @@ public class SatelliteSwitch<T> extends Switch<T> {
356 } 398 }
357 399
358 /** 400 /**
401 * Returns the result of interpreting the object as an instance of '<em>Cube Sat</em>'.
402 * <!-- begin-user-doc -->
403 * This implementation returns null;
404 * returning a non-null result will terminate the switch.
405 * <!-- end-user-doc -->
406 * @param object the target of the switch.
407 * @return the result of interpreting the object as an instance of '<em>Cube Sat</em>'.
408 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
409 * @generated
410 */
411 public T caseCubeSat(CubeSat object) {
412 return null;
413 }
414
415 /**
416 * Returns the result of interpreting the object as an instance of '<em>UHF Comm Subsystem</em>'.
417 * <!-- begin-user-doc -->
418 * This implementation returns null;
419 * returning a non-null result will terminate the switch.
420 * <!-- end-user-doc -->
421 * @param object the target of the switch.
422 * @return the result of interpreting the object as an instance of '<em>UHF Comm Subsystem</em>'.
423 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
424 * @generated
425 */
426 public T caseUHFCommSubsystem(UHFCommSubsystem object) {
427 return null;
428 }
429
430 /**
431 * Returns the result of interpreting the object as an instance of '<em>XComm Subsystem</em>'.
432 * <!-- begin-user-doc -->
433 * This implementation returns null;
434 * returning a non-null result will terminate the switch.
435 * <!-- end-user-doc -->
436 * @param object the target of the switch.
437 * @return the result of interpreting the object as an instance of '<em>XComm Subsystem</em>'.
438 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
439 * @generated
440 */
441 public T caseXCommSubsystem(XCommSubsystem object) {
442 return null;
443 }
444
445 /**
446 * Returns the result of interpreting the object as an instance of '<em>Ka Comm Subsystem</em>'.
447 * <!-- begin-user-doc -->
448 * This implementation returns null;
449 * returning a non-null result will terminate the switch.
450 * <!-- end-user-doc -->
451 * @param object the target of the switch.
452 * @return the result of interpreting the object as an instance of '<em>Ka Comm Subsystem</em>'.
453 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
454 * @generated
455 */
456 public T caseKaCommSubsystem(KaCommSubsystem object) {
457 return null;
458 }
459
460 /**
359 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. 461 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
360 * <!-- begin-user-doc --> 462 * <!-- begin-user-doc -->
361 * This implementation returns null; 463 * This implementation returns null;
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 @@
7 xsi:schemaLocation="http://www.example.org/satellite ../model/satellite.ecore"> 7 xsi:schemaLocation="http://www.example.org/satellite ../model/satellite.ecore">
8 <groundStationNetwork> 8 <groundStationNetwork>
9 <commSubsystem 9 <commSubsystem
10 band="X" 10 xsi:type="satellite:XCommSubsystem"/>
11 gain="MEDIUM"/>
12 <commSubsystem 11 <commSubsystem
13 band="Ka" 12 xsi:type="satellite:KaCommSubsystem"/>
14 gain="HIGH"/>
15 </groundStationNetwork> 13 </groundStationNetwork>
16</satellite:InterferometryMission> 14</satellite:InterferometryMission>
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 @@
1NFE, Elapsed Time, Approximation Set, Population, Population Size
225, 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
350, 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
475, 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
5100, 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
6125, 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
7150, 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
8175, 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
9200, 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
10225, 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
11250, 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
12275, 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
13300, 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
14325, 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
15350, 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
16375, 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
17400, 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
18425, 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
19450, 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
20475, 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
21500, 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
22525, 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
23550, 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
24575, 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
25600, 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
26625, 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
27650, 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
28675, 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
29700, 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
30725, 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
31750, 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
32775, 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
33800, 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
34825, 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
35850, 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
36875, 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
37900, 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
38925, 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
39950, 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
40975, 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
411000, 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
421025, 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
431050, 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
441075, 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
451100, 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
461125, 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
471150, 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
481175, 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
491200, 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
501225, 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
511250, 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
521275, 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
531300, 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
541325, 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
551350, 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
561375, 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
571400, 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
581425, 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
591450, 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
601475, 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
611500, 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
621525, 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
631550, 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
641575, 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
651600, 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
661625, 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
671650, 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
681675, 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
691700, 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
701725, 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
711750, 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
721775, 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
731800, 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
741825, 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
751850, 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
761875, 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
771900, 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
781925, 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
791950, 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
801975, 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
812000, 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
822025, 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
832050, 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
842075, 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
852100, 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
862125, 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
872150, 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
882175, 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
892200, 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
902225, 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
912250, 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
922275, 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
932300, 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
942325, 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
952350, 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
962375, 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
972400, 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
982425, 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
992450, 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
1002475, 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
1012500, 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
1022525, 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
1032550, 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
1042575, 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
1052600, 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
1062625, 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
1072650, 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
1082675, 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
1092700, 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
1102725, 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
1112750, 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
1122775, 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
1132800, 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
1142825, 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
1152850, 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
1162875, 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
1172900, 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
1182925, 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
1192950, 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
1202975, 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
1213000, 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
1223025, 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
1233050, 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
1243075, 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
1253100, 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
1263125, 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
1273150, 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
1283175, 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
1293200, 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
1303225, 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
1313250, 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
1323275, 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
1333300, 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
1343325, 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
1353350, 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
1363375, 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
1373400, 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
1383425, 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
1393450, 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
1403475, 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
1413500, 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
1423525, 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
1433550, 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
1443575, 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
1453600, 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 @@
1
2============================================
3
4Batch 0 duration: 00:02:29.245
5
6--------------------------------------------
7Evaluation data for solution: ./mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0796A23B6.xmi
8
9Objective values:
10Cost: 1158414.6563694086
11
12Constraint values:
13PatternMatch: 13.0
14
15Transformations chain:
16Length: 2
17Sequence: {1=addCubeSat3U, 2=addCubeSat3U, 3=addCubeSat3U} -> {1=addCubeSat3U, 2=addCubeSat3U, 3=addCubeSat3U}
18
19============================================
20
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 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="satellite" nsURI="http://www.example.org/satellite" nsPrefix="satellite">
4 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
5 <details key="settingDelegates" value="org.eclipse.viatra.query.querybasedfeature"/>
6 </eAnnotations>
7 <eClassifiers xsi:type="ecore:EClass" name="ConstellationMission" abstract="true">
8 <eStructuralFeatures xsi:type="ecore:EReference" name="groundStationNetwork" lowerBound="1"
9 eType="ecore:EClass satellite.ecore#//GroundStationNetwork" containment="true"
10 resolveProxies="false"/>
11 <eStructuralFeatures xsi:type="ecore:EReference" name="spacecraft" lowerBound="2"
12 upperBound="50" eType="ecore:EClass satellite.ecore#//Spacecraft" containment="true"
13 resolveProxies="false"/>
14 </eClassifiers>
15 <eClassifiers xsi:type="ecore:EClass" name="InterferometryMission" eSuperTypes="satellite.ecore#//ConstellationMission">
16 <eStructuralFeatures xsi:type="ecore:EAttribute" name="observationTime" lowerBound="1"
17 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat" defaultValueLiteral="2.0"/>
18 </eClassifiers>
19 <eClassifiers xsi:type="ecore:EClass" name="CommunicatingElement" abstract="true">
20 <eStructuralFeatures xsi:type="ecore:EReference" name="commSubsystem" lowerBound="1"
21 upperBound="2" eType="ecore:EClass satellite.ecore#//CommSubsystem" containment="true"
22 resolveProxies="false"/>
23 <eStructuralFeatures xsi:type="ecore:EReference" name="communicationLink" eType="ecore:EClass satellite.ecore#//DirectedCommunicationLink"
24 containment="true" resolveProxies="false"/>
25 </eClassifiers>
26 <eClassifiers xsi:type="ecore:EClass" name="GroundStationNetwork" eSuperTypes="satellite.ecore#//CommunicatingElement"/>
27 <eClassifiers xsi:type="ecore:EClass" name="Spacecraft" abstract="true" eSuperTypes="satellite.ecore#//CommunicatingElement">
28 <eStructuralFeatures xsi:type="ecore:EReference" name="payload" eType="ecore:EClass satellite.ecore#//Payload"
29 containment="true" resolveProxies="false"/>
30 <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" lowerBound="1" eType="ecore:EEnum satellite.ecore#//SpacecraftKind"
31 changeable="false" volatile="true" transient="true" derived="true">
32 <eAnnotations source="org.eclipse.viatra.query.querybasedfeature">
33 <details key="patternFQN" value="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftOfKind"/>
34 </eAnnotations>
35 </eStructuralFeatures>
36 </eClassifiers>
37 <eClassifiers xsi:type="ecore:EClass" name="CommSubsystem">
38 <eStructuralFeatures xsi:type="ecore:EAttribute" name="band" lowerBound="1" eType="ecore:EEnum satellite.ecore#//TransceiverBand"/>
39 <eStructuralFeatures xsi:type="ecore:EAttribute" name="gain" lowerBound="1" eType="ecore:EEnum satellite.ecore#//AntennaGain"/>
40 </eClassifiers>
41 <eClassifiers xsi:type="ecore:EClass" name="DirectedCommunicationLink">
42 <eStructuralFeatures xsi:type="ecore:EReference" name="source" lowerBound="1"
43 eType="ecore:EClass satellite.ecore#//CommSubsystem"/>
44 <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1"
45 eType="ecore:EClass satellite.ecore#//CommSubsystem"/>
46 </eClassifiers>
47 <eClassifiers xsi:type="ecore:EClass" name="Payload" abstract="true"/>
48 <eClassifiers xsi:type="ecore:EClass" name="InterferometryPayload" eSuperTypes="satellite.ecore#//Payload"/>
49 <eClassifiers xsi:type="ecore:EClass" name="CubeSat3U" eSuperTypes="satellite.ecore#//CubeSat"/>
50 <eClassifiers xsi:type="ecore:EClass" name="CubeSat6U" eSuperTypes="satellite.ecore#//CubeSat"/>
51 <eClassifiers xsi:type="ecore:EClass" name="SmallSat" eSuperTypes="satellite.ecore#//Spacecraft"/>
52 <eClassifiers xsi:type="ecore:EClass" name="CubeSat" abstract="true" eSuperTypes="satellite.ecore#//Spacecraft"/>
53 <eClassifiers xsi:type="ecore:EEnum" name="TransceiverBand">
54 <eLiterals name="UHF"/>
55 <eLiterals name="X" value="1"/>
56 <eLiterals name="Ka" value="2"/>
57 </eClassifiers>
58 <eClassifiers xsi:type="ecore:EEnum" name="AntennaGain">
59 <eLiterals name="LOW"/>
60 <eLiterals name="MEDIUM" value="1"/>
61 <eLiterals name="HIGH" value="2"/>
62 </eClassifiers>
63 <eClassifiers xsi:type="ecore:EEnum" name="SpacecraftKind">
64 <eLiterals name="CubeSat3U"/>
65 <eLiterals name="CubeSat6U" value="1"/>
66 <eLiterals name="SmallSat" value="2"/>
67 </eClassifiers>
68</ecore:EPackage>
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 @@
1<?xml version="1.0" encoding="ASCII"?>
2<satellite:InterferometryMission xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:satellite="http://www.example.org/satellite">
3 <groundStationNetwork>
4 <commSubsystem band="X" gain="MEDIUM"/>
5 <commSubsystem band="Ka" gain="HIGH"/>
6 </groundStationNetwork>
7 <spacecraft xsi:type="satellite:CubeSat3U"/>
8 <spacecraft xsi:type="satellite:CubeSat3U"/>
9 <spacecraft xsi:type="satellite:CubeSat3U"/>
10 <spacecraft xsi:type="satellite:CubeSat3U"/>
11 <spacecraft xsi:type="satellite:CubeSat3U"/>
12 <spacecraft xsi:type="satellite:CubeSat3U"/>
13</satellite:InterferometryMission>
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 @@
1batch-id,duration,o-Cost,c-PatternMatch,solutions-found,solution-model
20,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 @@
1problem {
2 basepath <model>
3 metamodel <satellite.SatellitePackage>
4 model <../inputs/SatelliteInstance.xmi>
5}
6
7goal {
8 objective Cost minimise java { "hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo.CostObjective" }
9 constraint PatternMatch java { "hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo.PatternMatchConstraint" }
10}
11
12search {
13 mutate using <satellite_fixup.henshin> unit "addCubeSat3U"
14// mutate { "CubeSat3U" }
15// mutate { "CubeSat6U" }
16// mutate { "SmallSat" }
17// mutate { "InterferometryPayload" }
18// mutate { "CommSubsystem" }
19// mutate { "DirectedCommunicationLink" }
20}
21
22solver {
23 optimisation provider moea algorithm NSGAII {
24 variation: mutation
25 population: 25
26 mutation.step: 3
27 mutation.strategy: random
28 }
29
30 termination {
31 time: 120
32 }
33
34 batches 1
35} \ 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 @@
1Average experiment time: 00:02:29.245
2
3Average value for Cost objective: 1158414.6563694086
4============================================
5
6============================================
7
8Batch 0 duration: 00:02:29.245
9
10--------------------------------------------
11Evaluation data for solution: ./mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0796A23B6.xmi
12
13Objective values:
14Cost: 1158414.6563694086
15
16Constraint values:
17PatternMatch: 13.0
18
19Transformations chain:
20Length: 2
21Sequence: {1=addCubeSat3U, 2=addCubeSat3U, 3=addCubeSat3U} -> {1=addCubeSat3U, 2=addCubeSat3U, 3=addCubeSat3U}
22
23============================================
24
25Serialized 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
26============================================
27
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 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style">
3 <viewpoint:DAnalysis uid="_rcawQF0qEemRYLyXht2IrQ" selectedViews="_reOHEF0qEemRYLyXht2IrQ" version="14.1.0.201810161215">
4 <semanticResources>satellite.ecore</semanticResources>
5 <semanticResources>satellite.genmodel</semanticResources>
6 <semanticResources>../src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql</semanticResources>
7 <semanticResources>http://www.eclipse.org/emf/2002/Ecore</semanticResources>
8 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.api.GenericPatternMatcher</semanticResources>
9 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.api.impl.BaseMatcher</semanticResources>
10 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.api.GenericPatternMatch</semanticResources>
11 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.api.GenericQuerySpecification</semanticResources>
12 <semanticResources>java:/Objects/java.lang.Object</semanticResources>
13 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.api.ViatraQueryEngine</semanticResources>
14 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.tuple.Tuple</semanticResources>
15 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.internal.apiimpl.QueryResultWrapper</semanticResources>
16 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher</semanticResources>
17 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.api.IQuerySpecification</semanticResources>
18 <semanticResources>java:/Primitives</semanticResources>
19 <semanticResources>java:/Objects/java.util.function.Consumer</semanticResources>
20 <semanticResources>java:/Objects/java.util.Collection</semanticResources>
21 <semanticResources>java:/Objects/java.lang.String</semanticResources>
22 <semanticResources>java:/Objects/java.util.Set</semanticResources>
23 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.backend.IMatcherCapability</semanticResources>
24 <semanticResources>java:/Objects/java.util.Optional</semanticResources>
25 <semanticResources>java:/Objects/java.util.List</semanticResources>
26 <semanticResources>java:/Objects/java.lang.Integer</semanticResources>
27 <semanticResources>java:/Objects/java.util.stream.Stream</semanticResources>
28 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.backend.IQueryResultProvider</semanticResources>
29 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.api.IPatternMatch</semanticResources>
30 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQueryHeader</semanticResources>
31 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery</semanticResources>
32 <semanticResources>java:/Objects/java.lang.Class</semanticResources>
33 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.api.scope.QueryScope</semanticResources>
34 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation</semanticResources>
35 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter</semanticResources>
36 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility</semanticResources>
37 <semanticResources>java:/Objects/java.util.function.BiConsumer</semanticResources>
38 <semanticResources>java:/Objects/java.lang.FunctionalInterface</semanticResources>
39 <semanticResources>java:/Objects/java.lang.annotation.Target</semanticResources>
40 <semanticResources>java:/Objects/java.lang.annotation.ElementType</semanticResources>
41 <semanticResources>java:/Objects/java.lang.annotation.Retention</semanticResources>
42 <semanticResources>java:/Objects/java.lang.annotation.RetentionPolicy</semanticResources>
43 <semanticResources>java:/Objects/java.lang.annotation.Documented</semanticResources>
44 <semanticResources>java:/Objects/java.lang.annotation.Annotation</semanticResources>
45 <semanticResources>java:/Objects/java.lang.Enum</semanticResources>
46 <semanticResources>java:/Objects/java.lang.Comparable</semanticResources>
47 <semanticResources>java:/Objects/java.io.Serializable</semanticResources>
48 <semanticResources>java:/Objects/java.lang.CloneNotSupportedException</semanticResources>
49 <semanticResources>java:/Objects/java.io.ObjectInputStream</semanticResources>
50 <semanticResources>java:/Objects/java.io.IOException</semanticResources>
51 <semanticResources>java:/Objects/java.lang.ClassNotFoundException</semanticResources>
52 <semanticResources>java:/Objects/java.io.ObjectStreamException</semanticResources>
53 <semanticResources>java:/Objects/java.lang.Exception</semanticResources>
54 <semanticResources>java:/Objects/java.lang.Throwable</semanticResources>
55 <semanticResources>java:/Objects/java.io.PrintWriter</semanticResources>
56 <semanticResources>java:/Objects/java.io.PrintStream</semanticResources>
57 <semanticResources>java:/Objects/java.lang.StackTraceElement</semanticResources>
58 <semanticResources>java:/Objects/java.io.ObjectOutputStream</semanticResources>
59 <semanticResources>java:/Objects/java.io.Writer</semanticResources>
60 <semanticResources>java:/Objects/java.io.OutputStream</semanticResources>
61 <semanticResources>java:/Objects/java.io.FileNotFoundException</semanticResources>
62 <semanticResources>java:/Objects/java.io.File</semanticResources>
63 <semanticResources>java:/Objects/java.nio.charset.Charset</semanticResources>
64 <semanticResources>java:/Objects/java.io.UnsupportedEncodingException</semanticResources>
65 <semanticResources>java:/Objects/java.lang.CharSequence</semanticResources>
66 <semanticResources>java:/Objects/java.util.Locale</semanticResources>
67 <semanticResources>java:/Objects/java.util.Formatter</semanticResources>
68 <semanticResources>java:/Objects/java.lang.Appendable</semanticResources>
69 <semanticResources>java:/Objects/java.io.Closeable</semanticResources>
70 <semanticResources>java:/Objects/java.io.Flushable</semanticResources>
71 <semanticResources>java:/Objects/java.lang.AutoCloseable</semanticResources>
72 <semanticResources>java:/Objects/java.security.SecureRandom</semanticResources>
73 <semanticResources>java:/Objects/java.net.URI</semanticResources>
74 <semanticResources>java:/Objects/java.io.FilenameFilter</semanticResources>
75 <semanticResources>java:/Objects/java.io.FileFilter</semanticResources>
76 <semanticResources>java:/Objects/java.nio.file.Path</semanticResources>
77 <semanticResources>java:/Objects/java.lang.Deprecated</semanticResources>
78 <semanticResources>java:/Objects/java.net.MalformedURLException</semanticResources>
79 <semanticResources>java:/Objects/java.net.URL</semanticResources>
80 <semanticResources>java:/Objects/sun.misc.Unsafe</semanticResources>
81 <semanticResources>java:/Objects/java.io.FileSystem</semanticResources>
82 <semanticResources>java:/Objects/java.util.Random</semanticResources>
83 <semanticResources>java:/Objects/java.util.regex.Pattern</semanticResources>
84 <semanticResources>java:/Objects/java.security.SecureRandomSpi</semanticResources>
85 <semanticResources>java:/Objects/java.security.Provider</semanticResources>
86 <semanticResources>java:/Objects/java.security.NoSuchAlgorithmException</semanticResources>
87 <semanticResources>java:/Objects/java.security.NoSuchProviderException</semanticResources>
88 <semanticResources>java:/Objects/java.security.MessageDigest</semanticResources>
89 <semanticResources>java:/Objects/sun.security.util.Debug</semanticResources>
90 <semanticResources>java:/Objects/java.util.Spliterator</semanticResources>
91 <semanticResources>java:/Objects/java.util.function.DoubleConsumer</semanticResources>
92 <semanticResources>java:/Objects/java.util.function.LongConsumer</semanticResources>
93 <semanticResources>java:/Objects/java.util.function.IntConsumer</semanticResources>
94 <semanticResources>java:/Objects/java.util.stream.DoubleStream</semanticResources>
95 <semanticResources>java:/Objects/java.util.stream.IntStream</semanticResources>
96 <semanticResources>java:/Objects/java.util.stream.LongStream</semanticResources>
97 <semanticResources>java:/Objects/java.util.concurrent.atomic.AtomicLong</semanticResources>
98 <semanticResources>java:/Objects/java.io.ObjectStreamField</semanticResources>
99 <semanticResources>java:/Objects/java.lang.Double</semanticResources>
100 <semanticResources>java:/Objects/java.lang.Long</semanticResources>
101 <semanticResources>java:/Objects/java.util.Comparator</semanticResources>
102 <semanticResources>java:/Objects/java.lang.Number</semanticResources>
103 <semanticResources>java:/Objects/java.lang.NumberFormatException</semanticResources>
104 <semanticResources>java:/Objects/java.lang.IllegalArgumentException</semanticResources>
105 <semanticResources>java:/Objects/java.lang.RuntimeException</semanticResources>
106 <semanticResources>java:/Objects/java.math.BigInteger</semanticResources>
107 <semanticResources>java:/Objects/java.lang.StringBuilder</semanticResources>
108 <semanticResources>java:/Objects/java.lang.AbstractStringBuilder</semanticResources>
109 <semanticResources>java:/Objects/java.lang.StringBuffer</semanticResources>
110 <semanticResources>java:/Objects/java.util.function.Function</semanticResources>
111 <semanticResources>java:/Objects/java.util.function.ToDoubleFunction</semanticResources>
112 <semanticResources>java:/Objects/java.util.function.ToIntFunction</semanticResources>
113 <semanticResources>java:/Objects/java.util.function.ToLongFunction</semanticResources>
114 <semanticResources>java:/Objects/java.util.stream.BaseStream</semanticResources>
115 <semanticResources>java:/Objects/java.util.function.DoublePredicate</semanticResources>
116 <semanticResources>java:/Objects/java.util.OptionalDouble</semanticResources>
117 <semanticResources>java:/Objects/java.util.function.Supplier</semanticResources>
118 <semanticResources>java:/Objects/java.util.function.ObjDoubleConsumer</semanticResources>
119 <semanticResources>java:/Objects/java.util.function.DoubleFunction</semanticResources>
120 <semanticResources>java:/Objects/java.util.function.DoubleSupplier</semanticResources>
121 <semanticResources>java:/Objects/java.util.function.DoubleUnaryOperator</semanticResources>
122 <semanticResources>java:/Objects/java.util.PrimitiveIterator</semanticResources>
123 <semanticResources>java:/Objects/java.util.function.DoubleToIntFunction</semanticResources>
124 <semanticResources>java:/Objects/java.util.function.DoubleToLongFunction</semanticResources>
125 <semanticResources>java:/Objects/java.util.function.DoubleBinaryOperator</semanticResources>
126 <semanticResources>java:/Objects/java.util.DoubleSummaryStatistics</semanticResources>
127 <semanticResources>java:/Objects/java.util.Iterator</semanticResources>
128 <semanticResources>java:/Objects/java.lang.Runnable</semanticResources>
129 <semanticResources>java:/Objects/java.util.function.IntPredicate</semanticResources>
130 <semanticResources>java:/Objects/java.util.function.ObjIntConsumer</semanticResources>
131 <semanticResources>java:/Objects/java.util.OptionalInt</semanticResources>
132 <semanticResources>java:/Objects/java.util.function.IntFunction</semanticResources>
133 <semanticResources>java:/Objects/java.util.function.IntSupplier</semanticResources>
134 <semanticResources>java:/Objects/java.util.function.IntUnaryOperator</semanticResources>
135 <semanticResources>java:/Objects/java.util.function.IntToDoubleFunction</semanticResources>
136 <semanticResources>java:/Objects/java.util.function.IntToLongFunction</semanticResources>
137 <semanticResources>java:/Objects/java.util.function.IntBinaryOperator</semanticResources>
138 <semanticResources>java:/Objects/java.util.IntSummaryStatistics</semanticResources>
139 <semanticResources>java:/Objects/java.util.function.LongPredicate</semanticResources>
140 <semanticResources>java:/Objects/java.util.function.ObjLongConsumer</semanticResources>
141 <semanticResources>java:/Objects/java.util.OptionalLong</semanticResources>
142 <semanticResources>java:/Objects/java.util.function.LongFunction</semanticResources>
143 <semanticResources>java:/Objects/java.util.function.LongSupplier</semanticResources>
144 <semanticResources>java:/Objects/java.util.function.LongUnaryOperator</semanticResources>
145 <semanticResources>java:/Objects/java.util.function.LongToDoubleFunction</semanticResources>
146 <semanticResources>java:/Objects/java.util.function.LongToIntFunction</semanticResources>
147 <semanticResources>java:/Objects/java.util.function.LongBinaryOperator</semanticResources>
148 <semanticResources>java:/Objects/java.util.LongSummaryStatistics</semanticResources>
149 <semanticResources>java:/Objects/java.lang.reflect.Field</semanticResources>
150 <semanticResources>java:/Objects/sun.reflect.CallerSensitive</semanticResources>
151 <semanticResources>java:/Objects/java.lang.reflect.AccessibleObject</semanticResources>
152 <semanticResources>java:/Objects/java.lang.reflect.Member</semanticResources>
153 <semanticResources>java:/Objects/sun.reflect.FieldAccessor</semanticResources>
154 <semanticResources>java:/Objects/java.util.Map</semanticResources>
155 <semanticResources>java:/Objects/java.lang.IllegalAccessException</semanticResources>
156 <semanticResources>java:/Objects/java.lang.reflect.AnnotatedType</semanticResources>
157 <semanticResources>java:/Objects/sun.reflect.generics.factory.GenericsFactory</semanticResources>
158 <semanticResources>java:/Objects/sun.reflect.generics.repository.FieldRepository</semanticResources>
159 <semanticResources>java:/Objects/java.lang.reflect.Type</semanticResources>
160 <semanticResources>java:/Objects/java.lang.reflect.AnnotatedElement</semanticResources>
161 <semanticResources>java:/Objects/java.lang.SecurityException</semanticResources>
162 <semanticResources>java:/Objects/java.security.Permission</semanticResources>
163 <semanticResources>java:/Objects/sun.reflect.ReflectionFactory</semanticResources>
164 <semanticResources>java:/Objects/java.security.Guard</semanticResources>
165 <semanticResources>java:/Objects/java.security.PermissionCollection</semanticResources>
166 <semanticResources>java:/Objects/java.util.Enumeration</semanticResources>
167 <semanticResources>java:/Objects/java.security.PrivilegedAction</semanticResources>
168 <semanticResources>java:/Objects/java.lang.reflect.Constructor</semanticResources>
169 <semanticResources>java:/Objects/java.lang.reflect.Method</semanticResources>
170 <semanticResources>java:/Objects/java.lang.invoke.MethodHandle</semanticResources>
171 <semanticResources>java:/Objects/sun.reflect.ConstructorAccessor</semanticResources>
172 <semanticResources>java:/Objects/java.lang.reflect.Executable</semanticResources>
173 <semanticResources>java:/Objects/sun.reflect.MethodAccessor</semanticResources>
174 <semanticResources>java:/Objects/sun.reflect.LangReflectAccess</semanticResources>
175 <semanticResources>java:/Objects/java.io.OptionalDataException</semanticResources>
176 <semanticResources>java:/Objects/sun.reflect.generics.repository.ConstructorRepository</semanticResources>
177 <semanticResources>java:/Objects/java.lang.reflect.TypeVariable</semanticResources>
178 <semanticResources>java:/Objects/java.lang.InstantiationException</semanticResources>
179 <semanticResources>java:/Objects/java.lang.reflect.InvocationTargetException</semanticResources>
180 <semanticResources>java:/Objects/sun.reflect.generics.repository.GenericDeclRepository</semanticResources>
181 <semanticResources>java:/Objects/sun.reflect.generics.tree.MethodTypeSignature</semanticResources>
182 <semanticResources>java:/Objects/sun.reflect.generics.repository.AbstractRepository</semanticResources>
183 <semanticResources>java:/Objects/sun.reflect.generics.tree.Signature</semanticResources>
184 <semanticResources>java:/Objects/sun.reflect.generics.visitor.Reifier</semanticResources>
185 <semanticResources>java:/Objects/sun.reflect.generics.tree.Tree</semanticResources>
186 <semanticResources>java:/Objects/sun.reflect.generics.visitor.TypeTreeVisitor</semanticResources>
187 <semanticResources>java:/Objects/sun.reflect.generics.tree.TypeArgument</semanticResources>
188 <semanticResources>java:/Objects/sun.reflect.generics.tree.ArrayTypeSignature</semanticResources>
189 <semanticResources>java:/Objects/sun.reflect.generics.tree.BooleanSignature</semanticResources>
190 <semanticResources>java:/Objects/sun.reflect.generics.tree.BottomSignature</semanticResources>
191 <semanticResources>java:/Objects/sun.reflect.generics.tree.ByteSignature</semanticResources>
192 <semanticResources>java:/Objects/sun.reflect.generics.tree.CharSignature</semanticResources>
193 <semanticResources>java:/Objects/sun.reflect.generics.tree.ClassTypeSignature</semanticResources>
194 <semanticResources>java:/Objects/sun.reflect.generics.tree.DoubleSignature</semanticResources>
195 <semanticResources>java:/Objects/sun.reflect.generics.tree.FloatSignature</semanticResources>
196 <semanticResources>java:/Objects/sun.reflect.generics.tree.FormalTypeParameter</semanticResources>
197 <semanticResources>java:/Objects/sun.reflect.generics.tree.IntSignature</semanticResources>
198 <semanticResources>java:/Objects/sun.reflect.generics.tree.LongSignature</semanticResources>
199 <semanticResources>java:/Objects/sun.reflect.generics.tree.ShortSignature</semanticResources>
200 <semanticResources>java:/Objects/sun.reflect.generics.tree.SimpleClassTypeSignature</semanticResources>
201 <semanticResources>java:/Objects/sun.reflect.generics.tree.TypeVariableSignature</semanticResources>
202 <semanticResources>java:/Objects/sun.reflect.generics.tree.VoidDescriptor</semanticResources>
203 <semanticResources>java:/Objects/sun.reflect.generics.tree.Wildcard</semanticResources>
204 <semanticResources>java:/Objects/sun.reflect.generics.tree.TypeTree</semanticResources>
205 <semanticResources>java:/Objects/sun.reflect.generics.tree.FieldTypeSignature</semanticResources>
206 <semanticResources>java:/Objects/sun.reflect.generics.tree.TypeSignature</semanticResources>
207 <semanticResources>java:/Objects/sun.reflect.generics.tree.BaseType</semanticResources>
208 <semanticResources>java:/Objects/sun.reflect.generics.tree.ReturnType</semanticResources>
209 <semanticResources>java:/Objects/sun.reflect.generics.visitor.Visitor</semanticResources>
210 <semanticResources>java:/Objects/sun.reflect.generics.tree.ClassSignature</semanticResources>
211 <semanticResources>java:/Objects/java.lang.reflect.GenericDeclaration</semanticResources>
212 <semanticResources>java:/Objects/java.lang.ReflectiveOperationException</semanticResources>
213 <semanticResources>java:/Objects/sun.reflect.generics.repository.MethodRepository</semanticResources>
214 <semanticResources>java:/Objects/java.lang.invoke.MethodType</semanticResources>
215 <semanticResources>java:/Objects/java.lang.invoke.LambdaForm</semanticResources>
216 <semanticResources>java:/Objects/java.lang.invoke.BoundMethodHandle</semanticResources>
217 <semanticResources>java:/Objects/java.lang.invoke.MemberName</semanticResources>
218 <semanticResources>java:/Objects/java.lang.invoke.MethodHandleImpl</semanticResources>
219 <semanticResources>java:/Objects/java.lang.ref.WeakReference</semanticResources>
220 <semanticResources>java:/Objects/java.lang.ref.ReferenceQueue</semanticResources>
221 <semanticResources>java:/Objects/java.util.concurrent.ConcurrentMap</semanticResources>
222 <semanticResources>java:/Objects/java.lang.invoke.MethodTypeForm</semanticResources>
223 <semanticResources>java:/Objects/java.lang.ClassLoader</semanticResources>
224 <semanticResources>java:/Objects/java.lang.TypeNotPresentException</semanticResources>
225 <semanticResources>java:/Objects/java.lang.invoke.Invokers</semanticResources>
226 <semanticResources>java:/Objects/java.lang.IndexOutOfBoundsException</semanticResources>
227 <semanticResources>java:/Objects/java.lang.invoke.Stable</semanticResources>
228 <semanticResources>java:/Objects/java.lang.ref.Reference</semanticResources>
229 <semanticResources>java:/Objects/java.lang.Thread</semanticResources>
230 <semanticResources>java:/Objects/java.lang.ThreadGroup</semanticResources>
231 <semanticResources>java:/Objects/java.lang.Boolean</semanticResources>
232 <semanticResources>java:/Objects/java.security.AccessControlContext</semanticResources>
233 <semanticResources>java:/Objects/sun.nio.ch.Interruptible</semanticResources>
234 <semanticResources>java:/Objects/java.lang.InterruptedException</semanticResources>
235 <semanticResources>java:/Objects/java.lang.RuntimePermission</semanticResources>
236 <semanticResources>java:/Objects/java.lang.ThreadLocal</semanticResources>
237 <semanticResources>java:/Objects/sun.misc.Contended</semanticResources>
238 <semanticResources>java:/Objects/java.security.ProtectionDomain</semanticResources>
239 <semanticResources>java:/Objects/java.security.DomainCombiner</semanticResources>
240 <semanticResources>java:/Objects/java.security.AccessControlException</semanticResources>
241 <semanticResources>java:/Objects/sun.misc.JavaSecurityAccess</semanticResources>
242 <semanticResources>java:/Objects/java.security.CodeSource</semanticResources>
243 <semanticResources>java:/Objects/java.security.Principal</semanticResources>
244 <semanticResources>java:/Objects/java.security.cert.Certificate</semanticResources>
245 <semanticResources>java:/Objects/java.security.CodeSigner</semanticResources>
246 <semanticResources>java:/Objects/java.security.cert.CertificateFactory</semanticResources>
247 <semanticResources>java:/Objects/java.net.SocketPermission</semanticResources>
248 <semanticResources>java:/Objects/java.security.cert.CertificateEncodingException</semanticResources>
249 <semanticResources>java:/Objects/java.security.PublicKey</semanticResources>
250 <semanticResources>java:/Objects/java.security.cert.CertificateException</semanticResources>
251 <semanticResources>java:/Objects/java.security.InvalidKeyException</semanticResources>
252 <semanticResources>java:/Objects/java.security.SignatureException</semanticResources>
253 <semanticResources>java:/Objects/java.security.Key</semanticResources>
254 <semanticResources>java:/Objects/java.security.GeneralSecurityException</semanticResources>
255 <semanticResources>java:/Objects/java.security.KeyException</semanticResources>
256 <semanticResources>java:/Objects/java.security.cert.CertPath</semanticResources>
257 <semanticResources>java:/Objects/java.security.Timestamp</semanticResources>
258 <semanticResources>java:/Objects/java.util.Date</semanticResources>
259 <semanticResources>java:/Objects/java.lang.Cloneable</semanticResources>
260 <semanticResources>java:/Objects/java.time.Instant</semanticResources>
261 <semanticResources>java:/Objects/sun.util.calendar.BaseCalendar</semanticResources>
262 <semanticResources>java:/Objects/java.time.temporal.Temporal</semanticResources>
263 <semanticResources>java:/Objects/java.time.temporal.TemporalAdjuster</semanticResources>
264 <semanticResources>java:/Objects/java.time.ZoneOffset</semanticResources>
265 <semanticResources>java:/Objects/java.time.OffsetDateTime</semanticResources>
266 <semanticResources>java:/Objects/java.time.ZoneId</semanticResources>
267 <semanticResources>java:/Objects/java.time.ZonedDateTime</semanticResources>
268 <semanticResources>java:/Objects/java.time.temporal.TemporalAccessor</semanticResources>
269 <semanticResources>java:/Objects/java.time.temporal.TemporalField</semanticResources>
270 <semanticResources>java:/Objects/java.time.temporal.TemporalUnit</semanticResources>
271 <semanticResources>java:/Objects/java.time.temporal.TemporalAmount</semanticResources>
272 <semanticResources>java:/Objects/java.time.Clock</semanticResources>
273 <semanticResources>java:/Objects/java.time.temporal.TemporalQuery</semanticResources>
274 <semanticResources>java:/Objects/java.time.temporal.ValueRange</semanticResources>
275 <semanticResources>java:/Objects/java.io.DataInput</semanticResources>
276 <semanticResources>java:/Objects/java.io.InvalidObjectException</semanticResources>
277 <semanticResources>java:/Objects/java.io.DataOutput</semanticResources>
278 <semanticResources>java:/Objects/java.time.zone.ZoneRules</semanticResources>
279 <semanticResources>java:/Objects/java.time.zone.ZoneOffsetTransition</semanticResources>
280 <semanticResources>java:/Objects/java.time.zone.ZoneOffsetTransitionRule</semanticResources>
281 <semanticResources>java:/Objects/java.time.LocalDateTime</semanticResources>
282 <semanticResources>java:/Objects/java.time.Duration</semanticResources>
283 <semanticResources>java:/Objects/java.time.Month</semanticResources>
284 <semanticResources>java:/Objects/java.time.DayOfWeek</semanticResources>
285 <semanticResources>java:/Objects/java.time.LocalTime</semanticResources>
286 <semanticResources>java:/Objects/java.time.format.TextStyle</semanticResources>
287 <semanticResources>java:/Objects/java.time.LocalDate</semanticResources>
288 <semanticResources>java:/Objects/java.time.OffsetTime</semanticResources>
289 <semanticResources>java:/Objects/java.time.format.DateTimeFormatter</semanticResources>
290 <semanticResources>java:/Objects/java.time.chrono.ChronoLocalDate</semanticResources>
291 <semanticResources>java:/Objects/java.time.chrono.IsoChronology</semanticResources>
292 <semanticResources>java:/Objects/java.time.chrono.Era</semanticResources>
293 <semanticResources>java:/Objects/java.time.Period</semanticResources>
294 <semanticResources>java:/Objects/java.time.chrono.ChronoLocalDateTime</semanticResources>
295 <semanticResources>java:/Objects/java.time.chrono.Chronology</semanticResources>
296 <semanticResources>java:/Objects/java.time.chrono.ChronoPeriod</semanticResources>
297 <semanticResources>java:/Objects/java.time.chrono.ChronoZonedDateTime</semanticResources>
298 <semanticResources>java:/Objects/java.time.temporal.ChronoField</semanticResources>
299 <semanticResources>java:/Objects/java.time.format.ResolverStyle</semanticResources>
300 <semanticResources>java:/Objects/java.time.chrono.AbstractChronology</semanticResources>
301 <semanticResources>java:/Objects/java.time.chrono.IsoEra</semanticResources>
302 <semanticResources>java:/Objects/java.util.concurrent.ConcurrentHashMap</semanticResources>
303 <semanticResources>java:/Objects/java.util.AbstractMap</semanticResources>
304 <semanticResources>java:/Objects/java.util.function.ToIntBiFunction</semanticResources>
305 <semanticResources>java:/Objects/java.util.function.ToLongBiFunction</semanticResources>
306 <semanticResources>java:/Objects/java.util.function.ToDoubleBiFunction</semanticResources>
307 <semanticResources>java:/Objects/java.util.function.BiFunction</semanticResources>
308 <semanticResources>java:/Objects/java.util.concurrent.atomic.AtomicReference</semanticResources>
309 <semanticResources>java:/Objects/java.lang.Void</semanticResources>
310 <semanticResources>java:/Objects/java.util.concurrent.CountedCompleter</semanticResources>
311 <semanticResources>java:/Objects/java.util.concurrent.locks.ReentrantLock</semanticResources>
312 <semanticResources>java:/Objects/java.util.function.BinaryOperator</semanticResources>
313 <semanticResources>java:/Objects/java.util.function.UnaryOperator</semanticResources>
314 <semanticResources>java:/Objects/java.util.concurrent.ForkJoinTask</semanticResources>
315 <semanticResources>java:/Objects/java.util.concurrent.Future</semanticResources>
316 <semanticResources>java:/Objects/java.util.concurrent.RunnableFuture</semanticResources>
317 <semanticResources>java:/Objects/java.util.concurrent.Callable</semanticResources>
318 <semanticResources>java:/Objects/java.util.concurrent.ExecutionException</semanticResources>
319 <semanticResources>java:/Objects/java.util.concurrent.TimeUnit</semanticResources>
320 <semanticResources>java:/Objects/java.util.concurrent.TimeoutException</semanticResources>
321 <semanticResources>java:/Objects/java.util.concurrent.ForkJoinPool</semanticResources>
322 <semanticResources>java:/Objects/java.util.concurrent.AbstractExecutorService</semanticResources>
323 <semanticResources>java:/Objects/java.util.concurrent.ForkJoinWorkerThread</semanticResources>
324 <semanticResources>java:/Objects/java.util.concurrent.ExecutorService</semanticResources>
325 <semanticResources>java:/Objects/java.util.concurrent.Executor</semanticResources>
326 <semanticResources>java:/Objects/java.util.concurrent.locks.Lock</semanticResources>
327 <semanticResources>java:/Objects/java.util.concurrent.locks.AbstractQueuedSynchronizer</semanticResources>
328 <semanticResources>java:/Objects/java.util.concurrent.locks.Condition</semanticResources>
329 <semanticResources>java:/Objects/java.util.concurrent.locks.AbstractOwnableSynchronizer</semanticResources>
330 <semanticResources>java:/Objects/java.lang.NullPointerException</semanticResources>
331 <semanticResources>java:/Objects/java.io.ObjectInput</semanticResources>
332 <semanticResources>java:/Objects/java.io.ObjectOutput</semanticResources>
333 <semanticResources>java:/Objects/java.text.Format</semanticResources>
334 <semanticResources>java:/Objects/java.text.FieldPosition</semanticResources>
335 <semanticResources>java:/Objects/java.text.ParseException</semanticResources>
336 <semanticResources>java:/Objects/java.text.ParsePosition</semanticResources>
337 <semanticResources>java:/Objects/java.time.format.DateTimeFormatterBuilder</semanticResources>
338 <semanticResources>java:/Objects/java.time.format.DecimalStyle</semanticResources>
339 <semanticResources>java:/Objects/java.time.format.DateTimeParseException</semanticResources>
340 <semanticResources>java:/Objects/java.time.format.FormatStyle</semanticResources>
341 <semanticResources>java:/Objects/java.time.format.DateTimeParseContext</semanticResources>
342 <semanticResources>java:/Objects/java.text.AttributedCharacterIterator</semanticResources>
343 <semanticResources>java:/Objects/java.text.CharacterIterator</semanticResources>
344 <semanticResources>java:/Objects/java.time.format.DateTimePrintContext</semanticResources>
345 <semanticResources>java:/Objects/java.lang.ref.SoftReference</semanticResources>
346 <semanticResources>java:/Objects/java.time.format.DateTimeTextProvider</semanticResources>
347 <semanticResources>java:/Objects/java.math.BigDecimal</semanticResources>
348 <semanticResources>java:/Objects/java.time.format.SignStyle</semanticResources>
349 <semanticResources>java:/Objects/java.lang.Character</semanticResources>
350 <semanticResources>java:/Objects/java.math.MathContext</semanticResources>
351 <semanticResources>java:/Objects/java.math.RoundingMode</semanticResources>
352 <semanticResources>java:/Objects/java.math.MutableBigInteger</semanticResources>
353 <semanticResources>java:/Objects/java.util.HashMap</semanticResources>
354 <semanticResources>java:/Objects/java.util.LinkedHashMap</semanticResources>
355 <semanticResources>java:/Objects/java.util.AbstractSet</semanticResources>
356 <semanticResources>java:/Objects/java.util.AbstractCollection</semanticResources>
357 <semanticResources>java:/Objects/java.time.DateTimeException</semanticResources>
358 <semanticResources>java:/Objects/java.time.format.Parsed</semanticResources>
359 <semanticResources>java:/Objects/java.util.ArrayList</semanticResources>
360 <semanticResources>java:/Objects/java.util.AbstractList</semanticResources>
361 <semanticResources>java:/Objects/java.util.RandomAccess</semanticResources>
362 <semanticResources>java:/Objects/java.util.ListIterator</semanticResources>
363 <semanticResources>java:/Objects/java.util.function.Predicate</semanticResources>
364 <semanticResources>java:/Objects/sun.util.calendar.AbstractCalendar</semanticResources>
365 <semanticResources>java:/Objects/sun.util.calendar.CalendarDate</semanticResources>
366 <semanticResources>java:/Objects/java.util.TimeZone</semanticResources>
367 <semanticResources>java:/Objects/sun.util.calendar.CalendarSystem</semanticResources>
368 <semanticResources>java:/Objects/sun.util.calendar.Era</semanticResources>
369 <semanticResources>java:/Objects/java.util.Properties</semanticResources>
370 <semanticResources>java:/Objects/sun.util.calendar.Gregorian</semanticResources>
371 <semanticResources>java:/Objects/java.util.Hashtable</semanticResources>
372 <semanticResources>java:/Objects/java.io.InputStream</semanticResources>
373 <semanticResources>java:/Objects/java.util.InvalidPropertiesFormatException</semanticResources>
374 <semanticResources>java:/Objects/sun.util.spi.XmlPropertiesProvider</semanticResources>
375 <semanticResources>java:/Objects/java.io.Reader</semanticResources>
376 <semanticResources>java:/Objects/java.io.BufferedWriter</semanticResources>
377 <semanticResources>java:/Objects/java.util.Dictionary</semanticResources>
378 <semanticResources>java:/Objects/java.io.StreamCorruptedException</semanticResources>
379 <semanticResources>java:/Objects/java.io.NotSerializableException</semanticResources>
380 <semanticResources>java:/Objects/java.lang.Readable</semanticResources>
381 <semanticResources>java:/Objects/java.nio.CharBuffer</semanticResources>
382 <semanticResources>java:/Objects/java.nio.Buffer</semanticResources>
383 <semanticResources>java:/Objects/java.nio.ByteOrder</semanticResources>
384 <semanticResources>java:/Objects/java.security.cert.CertificateFactorySpi</semanticResources>
385 <semanticResources>java:/Objects/java.security.cert.CRLException</semanticResources>
386 <semanticResources>java:/Objects/java.security.cert.CRL</semanticResources>
387 <semanticResources>java:/Objects/java.net.UnknownHostException</semanticResources>
388 <semanticResources>java:/Objects/java.net.InetAddress</semanticResources>
389 <semanticResources>java:/Objects/sun.net.spi.nameservice.NameService</semanticResources>
390 <semanticResources>java:/Objects/java.net.NetworkInterface</semanticResources>
391 <semanticResources>java:/Objects/java.net.InetAddressImpl</semanticResources>
392 <semanticResources>java:/Objects/java.net.SocketException</semanticResources>
393 <semanticResources>java:/Objects/java.net.InterfaceAddress</semanticResources>
394 <semanticResources>java:/Objects/java.net.Inet4Address</semanticResources>
395 <semanticResources>java:/Objects/javax.security.auth.Subject</semanticResources>
396 <semanticResources>java:/Objects/javax.security.auth.AuthPermission</semanticResources>
397 <semanticResources>java:/Objects/java.util.LinkedList</semanticResources>
398 <semanticResources>java:/Objects/java.security.PrivilegedExceptionAction</semanticResources>
399 <semanticResources>java:/Objects/java.security.PrivilegedActionException</semanticResources>
400 <semanticResources>java:/Objects/java.security.BasicPermission</semanticResources>
401 <semanticResources>java:/Objects/java.util.AbstractSequentialList</semanticResources>
402 <semanticResources>java:/Objects/java.util.Deque</semanticResources>
403 <semanticResources>java:/Objects/java.util.Queue</semanticResources>
404 <semanticResources>java:/Objects/java.util.concurrent.atomic.AtomicInteger</semanticResources>
405 <semanticResources>java:/Objects/java.lang.ClassFormatError</semanticResources>
406 <semanticResources>java:/Objects/java.nio.ByteBuffer</semanticResources>
407 <semanticResources>java:/Objects/java.lang.Package</semanticResources>
408 <semanticResources>java:/Objects/sun.misc.URLClassPath</semanticResources>
409 <semanticResources>java:/Objects/java.lang.AssertionStatusDirectives</semanticResources>
410 <semanticResources>java:/Objects/java.util.Vector</semanticResources>
411 <semanticResources>java:/Objects/java.util.Stack</semanticResources>
412 <semanticResources>java:/Objects/java.lang.LinkageError</semanticResources>
413 <semanticResources>java:/Objects/java.lang.Error</semanticResources>
414 <semanticResources>java:/Objects/java.nio.DoubleBuffer</semanticResources>
415 <semanticResources>java:/Objects/java.nio.FloatBuffer</semanticResources>
416 <semanticResources>java:/Objects/java.nio.IntBuffer</semanticResources>
417 <semanticResources>java:/Objects/java.nio.LongBuffer</semanticResources>
418 <semanticResources>java:/Objects/java.nio.ShortBuffer</semanticResources>
419 <semanticResources>java:/Objects/java.util.jar.Manifest</semanticResources>
420 <semanticResources>java:/Objects/java.io.FilterInputStream</semanticResources>
421 <semanticResources>java:/Objects/java.util.jar.JarVerifier</semanticResources>
422 <semanticResources>java:/Objects/java.util.jar.Attributes</semanticResources>
423 <semanticResources>java:/Objects/java.util.jar.JarEntry</semanticResources>
424 <semanticResources>java:/Objects/sun.security.util.ManifestEntryVerifier</semanticResources>
425 <semanticResources>java:/Objects/java.util.jar.JarFile</semanticResources>
426 <semanticResources>java:/Objects/java.util.zip.ZipEntry</semanticResources>
427 <semanticResources>java:/Objects/java.io.ByteArrayOutputStream</semanticResources>
428 <semanticResources>java:/Objects/sun.security.util.ManifestDigester</semanticResources>
429 <semanticResources>java:/Objects/sun.security.util.SignatureFileVerifier</semanticResources>
430 <semanticResources>java:/Objects/java.util.jar.JarException</semanticResources>
431 <semanticResources>java:/Objects/java.util.zip.ZipException</semanticResources>
432 <semanticResources>java:/Objects/java.util.zip.ZipFile</semanticResources>
433 <semanticResources>java:/Objects/java.util.zip.ZipConstants</semanticResources>
434 <semanticResources>java:/Objects/java.util.zip.InflaterInputStream</semanticResources>
435 <semanticResources>java:/Objects/java.util.zip.Inflater</semanticResources>
436 <semanticResources>java:/Objects/java.util.zip.ZipCoder</semanticResources>
437 <semanticResources>java:/Objects/java.util.zip.DataFormatException</semanticResources>
438 <semanticResources>java:/Objects/java.util.zip.ZStreamRef</semanticResources>
439 <semanticResources>java:/Objects/java.nio.charset.CharsetDecoder</semanticResources>
440 <semanticResources>java:/Objects/java.nio.charset.CharsetEncoder</semanticResources>
441 <semanticResources>java:/Objects/java.nio.charset.CharacterCodingException</semanticResources>
442 <semanticResources>java:/Objects/java.nio.charset.CoderResult</semanticResources>
443 <semanticResources>java:/Objects/java.nio.charset.CodingErrorAction</semanticResources>
444 <semanticResources>java:/Objects/java.nio.file.attribute.FileTime</semanticResources>
445 <semanticResources>java:/Objects/sun.security.pkcs.SignerInfo</semanticResources>
446 <semanticResources>java:/Objects/sun.security.pkcs.PKCS7</semanticResources>
447 <semanticResources>java:/Objects/sun.security.util.DisabledAlgorithmConstraints</semanticResources>
448 <semanticResources>java:/Objects/sun.security.util.DerEncoder</semanticResources>
449 <semanticResources>java:/Objects/sun.security.util.DerInputStream</semanticResources>
450 <semanticResources>java:/Objects/sun.security.pkcs.ParsingException</semanticResources>
451 <semanticResources>java:/Objects/sun.security.x509.X500Name</semanticResources>
452 <semanticResources>java:/Objects/sun.security.x509.AlgorithmId</semanticResources>
453 <semanticResources>java:/Objects/sun.security.pkcs.PKCS9Attributes</semanticResources>
454 <semanticResources>java:/Objects/sun.security.util.DerOutputStream</semanticResources>
455 <semanticResources>java:/Objects/java.security.cert.X509Certificate</semanticResources>
456 <semanticResources>java:/Objects/sun.security.timestamp.TimestampToken</semanticResources>
457 <semanticResources>java:/Objects/java.security.CryptoPrimitive</semanticResources>
458 <semanticResources>java:/Objects/sun.security.util.DerInputBuffer</semanticResources>
459 <semanticResources>java:/Objects/sun.security.util.DerValue</semanticResources>
460 <semanticResources>java:/Objects/sun.security.util.ObjectIdentifier</semanticResources>
461 <semanticResources>java:/Objects/sun.security.util.BitArray</semanticResources>
462 <semanticResources>java:/Objects/java.io.ByteArrayInputStream</semanticResources>
463 <semanticResources>java:/Objects/java.lang.ArrayIndexOutOfBoundsException</semanticResources>
464 <semanticResources>java:/Objects/sun.security.x509.GeneralNameInterface</semanticResources>
465 <semanticResources>java:/Objects/sun.security.x509.RDN</semanticResources>
466 <semanticResources>java:/Objects/sun.security.x509.AVA</semanticResources>
467 <semanticResources>java:/Objects/javax.security.auth.x500.X500Principal</semanticResources>
468 <semanticResources>java:/Objects/java.lang.UnsupportedOperationException</semanticResources>
469 <semanticResources>java:/Objects/java.lang.Byte</semanticResources>
470 <semanticResources>java:/Objects/java.io.NotActiveException</semanticResources>
471 <semanticResources>java:/Objects/java.security.AlgorithmParameters</semanticResources>
472 <semanticResources>java:/Objects/java.security.AlgorithmParametersSpi</semanticResources>
473 <semanticResources>java:/Objects/java.security.spec.AlgorithmParameterSpec</semanticResources>
474 <semanticResources>java:/Objects/java.security.spec.InvalidParameterSpecException</semanticResources>
475 <semanticResources>java:/Objects/sun.security.pkcs.PKCS9Attribute</semanticResources>
476 <semanticResources>java:/Objects/sun.security.util.ByteArrayLexOrder</semanticResources>
477 <semanticResources>java:/Objects/sun.security.util.ByteArrayTagOrder</semanticResources>
478 <semanticResources>java:/Objects/java.security.cert.X509Extension</semanticResources>
479 <semanticResources>java:/Objects/java.security.cert.CertificateExpiredException</semanticResources>
480 <semanticResources>java:/Objects/java.security.cert.CertificateNotYetValidException</semanticResources>
481 <semanticResources>java:/Objects/java.security.cert.CertificateParsingException</semanticResources>
482 <semanticResources>java:/Objects/sun.security.pkcs.ContentInfo</semanticResources>
483 <semanticResources>java:/Objects/java.security.cert.X509CRL</semanticResources>
484 <semanticResources>java:/Objects/sun.security.timestamp.Timestamper</semanticResources>
485 <semanticResources>java:/Objects/java.security.cert.X509CRLEntry</semanticResources>
486 <semanticResources>java:/Objects/java.security.cert.CRLReason</semanticResources>
487 <semanticResources>java:/Objects/sun.security.timestamp.TSRequest</semanticResources>
488 <semanticResources>java:/Objects/sun.security.timestamp.TSResponse</semanticResources>
489 <semanticResources>java:/Objects/sun.security.util.AbstractAlgorithmConstraints</semanticResources>
490 <semanticResources>java:/Objects/sun.security.util.ConstraintsParameters</semanticResources>
491 <semanticResources>java:/Objects/java.security.cert.CertPathValidatorException</semanticResources>
492 <semanticResources>java:/Objects/java.text.SimpleDateFormat</semanticResources>
493 <semanticResources>java:/Objects/sun.security.util.AlgorithmDecomposer</semanticResources>
494 <semanticResources>java:/Objects/java.security.AlgorithmConstraints</semanticResources>
495 <semanticResources>java:/Objects/java.text.DateFormat</semanticResources>
496 <semanticResources>java:/Objects/java.text.DateFormatSymbols</semanticResources>
497 <semanticResources>java:/Objects/java.text.CalendarBuilder</semanticResources>
498 <semanticResources>java:/Objects/java.text.NumberFormat</semanticResources>
499 <semanticResources>java:/Objects/sun.util.locale.provider.LocaleProviderAdapter</semanticResources>
500 <semanticResources>java:/Objects/java.util.Calendar</semanticResources>
501 <semanticResources>java:/Objects/java.util.spi.LocaleServiceProvider</semanticResources>
502 <semanticResources>java:/Objects/java.text.spi.BreakIteratorProvider</semanticResources>
503 <semanticResources>java:/Objects/java.util.spi.CalendarDataProvider</semanticResources>
504 <semanticResources>java:/Objects/java.util.spi.CalendarNameProvider</semanticResources>
505 <semanticResources>java:/Objects/sun.util.spi.CalendarProvider</semanticResources>
506 <semanticResources>java:/Objects/java.text.spi.CollatorProvider</semanticResources>
507 <semanticResources>java:/Objects/java.util.spi.CurrencyNameProvider</semanticResources>
508 <semanticResources>java:/Objects/java.text.spi.DateFormatProvider</semanticResources>
509 <semanticResources>java:/Objects/java.text.spi.DateFormatSymbolsProvider</semanticResources>
510 <semanticResources>java:/Objects/java.text.spi.DecimalFormatSymbolsProvider</semanticResources>
511 <semanticResources>java:/Objects/java.util.spi.LocaleNameProvider</semanticResources>
512 <semanticResources>java:/Objects/sun.util.locale.provider.LocaleResources</semanticResources>
513 <semanticResources>java:/Objects/java.text.spi.NumberFormatProvider</semanticResources>
514 <semanticResources>java:/Objects/java.util.spi.TimeZoneNameProvider</semanticResources>
515 <semanticResources>java:/Objects/java.text.BreakIterator</semanticResources>
516 <semanticResources>java:/Objects/java.text.Collator</semanticResources>
517 <semanticResources>java:/Objects/java.text.CollationKey</semanticResources>
518 <semanticResources>java:/Objects/java.text.DecimalFormatSymbols</semanticResources>
519 <semanticResources>java:/Objects/java.util.Currency</semanticResources>
520 <semanticResources>java:/Objects/sun.util.locale.provider.LocaleServiceProviderPool</semanticResources>
521 <semanticResources>java:/Objects/java.io.DataInputStream</semanticResources>
522 <semanticResources>java:/Objects/java.util.HashSet</semanticResources>
523 <semanticResources>java:/Objects/sun.util.locale.provider.ResourceBundleBasedAdapter</semanticResources>
524 <semanticResources>java:/Objects/java.util.ResourceBundle</semanticResources>
525 <semanticResources>java:/Objects/sun.util.resources.LocaleData</semanticResources>
526 <semanticResources>java:/Objects/sun.util.locale.LocaleObjectCache</semanticResources>
527 <semanticResources>java:/Objects/sun.util.locale.BaseLocale</semanticResources>
528 <semanticResources>java:/Objects/java.util.spi.ResourceBundleControlProvider</semanticResources>
529 <semanticResources>java:/Objects/sun.util.resources.OpenListResourceBundle</semanticResources>
530 <semanticResources>java:/Objects/sun.util.resources.TimeZoneNamesBundle</semanticResources>
531 <semanticResources>java:/Objects/sun.util.resources.ParallelListResourceBundle</semanticResources>
532 <semanticResources>java:/Objects/java.util.concurrent.atomic.AtomicMarkableReference</semanticResources>
533 <semanticResources>java:/Objects/java.io.DataOutputStream</semanticResources>
534 <semanticResources>java:/Objects/java.io.FilterOutputStream</semanticResources>
535 <semanticResources>java:/Objects/sun.misc.Resource</semanticResources>
536 <semanticResources>java:/Objects/java.net.URLStreamHandler</semanticResources>
537 <semanticResources>java:/Objects/sun.misc.JarIndex</semanticResources>
538 <semanticResources>java:/Objects/sun.misc.MetaIndex</semanticResources>
539 <semanticResources>java:/Objects/sun.misc.JavaUtilZipFileAccess</semanticResources>
540 <semanticResources>java:/Objects/java.net.URLStreamHandlerFactory</semanticResources>
541 <semanticResources>java:/Objects/java.net.URLConnection</semanticResources>
542 <semanticResources>java:/Objects/java.net.Proxy</semanticResources>
543 <semanticResources>java:/Objects/java.net.UnknownServiceException</semanticResources>
544 <semanticResources>java:/Objects/java.net.ContentHandler</semanticResources>
545 <semanticResources>java:/Objects/java.net.FileNameMap</semanticResources>
546 <semanticResources>java:/Objects/java.net.ContentHandlerFactory</semanticResources>
547 <semanticResources>java:/Objects/sun.net.www.MessageHeader</semanticResources>
548 <semanticResources>java:/Objects/java.net.SocketAddress</semanticResources>
549 <semanticResources>java:/Objects/java.lang.invoke.ForceInline</semanticResources>
550 <semanticResources>java:/Objects/java.lang.invoke.DontInline</semanticResources>
551 <semanticResources>java:/Objects/java.lang.invoke.WrongMethodTypeException</semanticResources>
552 <semanticResources>java:/Objects/sun.invoke.util.Wrapper</semanticResources>
553 <semanticResources>java:/Objects/java.lang.invoke.LambdaFormEditor</semanticResources>
554 <semanticResources>java:/Objects/java.lang.ClassCastException</semanticResources>
555 <semanticResources>java:/Objects/java.lang.invoke.LambdaFormBuffer</semanticResources>
556 <semanticResources>java:/Objects/jdk.internal.org.objectweb.asm.MethodVisitor</semanticResources>
557 <semanticResources>java:/Objects/java.lang.invoke.MethodHandles</semanticResources>
558 <semanticResources>java:/Objects/jdk.internal.org.objectweb.asm.AnnotationVisitor</semanticResources>
559 <semanticResources>java:/Objects/jdk.internal.org.objectweb.asm.Attribute</semanticResources>
560 <semanticResources>java:/Objects/jdk.internal.org.objectweb.asm.TypePath</semanticResources>
561 <semanticResources>java:/Objects/jdk.internal.org.objectweb.asm.Handle</semanticResources>
562 <semanticResources>java:/Objects/jdk.internal.org.objectweb.asm.Label</semanticResources>
563 <semanticResources>java:/Objects/jdk.internal.org.objectweb.asm.ClassWriter</semanticResources>
564 <semanticResources>java:/Objects/jdk.internal.org.objectweb.asm.ByteVector</semanticResources>
565 <semanticResources>java:/Objects/jdk.internal.org.objectweb.asm.ClassReader</semanticResources>
566 <semanticResources>java:/Objects/jdk.internal.org.objectweb.asm.ClassVisitor</semanticResources>
567 <semanticResources>java:/Objects/jdk.internal.org.objectweb.asm.Item</semanticResources>
568 <semanticResources>java:/Objects/jdk.internal.org.objectweb.asm.FieldVisitor</semanticResources>
569 <semanticResources>java:/Objects/jdk.internal.org.objectweb.asm.AnnotationWriter</semanticResources>
570 <semanticResources>java:/Objects/jdk.internal.org.objectweb.asm.FieldWriter</semanticResources>
571 <semanticResources>java:/Objects/jdk.internal.org.objectweb.asm.MethodWriter</semanticResources>
572 <semanticResources>java:/Objects/jdk.internal.org.objectweb.asm.Frame</semanticResources>
573 <semanticResources>java:/Objects/jdk.internal.org.objectweb.asm.Handler</semanticResources>
574 <semanticResources>java:/Objects/jdk.internal.org.objectweb.asm.Type</semanticResources>
575 <semanticResources>java:/Objects/jdk.internal.org.objectweb.asm.Context</semanticResources>
576 <semanticResources>java:/Objects/jdk.internal.org.objectweb.asm.Edge</semanticResources>
577 <semanticResources>java:/Objects/java.lang.NoSuchMethodException</semanticResources>
578 <semanticResources>java:/Objects/java.lang.NoSuchFieldException</semanticResources>
579 <semanticResources>java:/Objects/java.lang.invoke.DirectMethodHandle</semanticResources>
580 <semanticResources>java:/Objects/java.lang.invoke.MethodHandleInfo</semanticResources>
581 <semanticResources>java:/Objects/java.lang.ClassValue</semanticResources>
582 <semanticResources>java:/Objects/java.util.WeakHashMap</semanticResources>
583 <semanticResources>java:/Objects/java.lang.invoke.DelegatingMethodHandle</semanticResources>
584 <semanticResources>java:/Objects/sun.invoke.empty.Empty</semanticResources>
585 <semanticResources>java:/Objects/java.lang.reflect.Parameter</semanticResources>
586 <semanticResources>java:/Objects/java.lang.reflect.ParameterizedType</semanticResources>
587 <semanticResources>java:/Objects/java.lang.reflect.WildcardType</semanticResources>
588 <semanticResources>java:/Objects/java.util.regex.Matcher</semanticResources>
589 <semanticResources>java:/Objects/java.util.regex.UnicodeProp</semanticResources>
590 <semanticResources>java:/Objects/java.util.regex.PatternSyntaxException</semanticResources>
591 <semanticResources>java:/Objects/java.util.regex.MatchResult</semanticResources>
592 <semanticResources>java:/Objects/java.security.MessageDigestSpi</semanticResources>
593 <semanticResources>java:/Objects/java.security.DigestException</semanticResources>
594 <semanticResources>java:/Objects/java.net.URISyntaxException</semanticResources>
595 <semanticResources>java:/Objects/java.lang.Iterable</semanticResources>
596 <semanticResources>java:/Objects/java.nio.file.Watchable</semanticResources>
597 <semanticResources>java:/Objects/java.nio.file.FileSystem</semanticResources>
598 <semanticResources>java:/Objects/java.nio.file.WatchService</semanticResources>
599 <semanticResources>java:/Objects/java.nio.file.WatchEvent</semanticResources>
600 <semanticResources>java:/Objects/java.nio.file.WatchKey</semanticResources>
601 <semanticResources>java:/Objects/java.nio.file.LinkOption</semanticResources>
602 <semanticResources>java:/Objects/java.nio.file.FileStore</semanticResources>
603 <semanticResources>java:/Objects/java.nio.file.PathMatcher</semanticResources>
604 <semanticResources>java:/Objects/java.nio.file.attribute.UserPrincipalLookupService</semanticResources>
605 <semanticResources>java:/Objects/java.nio.file.spi.FileSystemProvider</semanticResources>
606 <semanticResources>java:/Objects/java.nio.file.attribute.FileStoreAttributeView</semanticResources>
607 <semanticResources>java:/Objects/java.nio.file.attribute.FileAttributeView</semanticResources>
608 <semanticResources>java:/Objects/java.nio.file.attribute.AttributeView</semanticResources>
609 <semanticResources>java:/Objects/java.nio.file.attribute.GroupPrincipal</semanticResources>
610 <semanticResources>java:/Objects/java.nio.file.attribute.UserPrincipal</semanticResources>
611 <semanticResources>java:/Objects/java.nio.file.AccessMode</semanticResources>
612 <semanticResources>java:/Objects/java.nio.file.CopyOption</semanticResources>
613 <semanticResources>java:/Objects/java.nio.file.attribute.FileAttribute</semanticResources>
614 <semanticResources>java:/Objects/java.nio.file.OpenOption</semanticResources>
615 <semanticResources>java:/Objects/java.nio.channels.AsynchronousFileChannel</semanticResources>
616 <semanticResources>java:/Objects/java.nio.channels.SeekableByteChannel</semanticResources>
617 <semanticResources>java:/Objects/java.nio.file.DirectoryStream</semanticResources>
618 <semanticResources>java:/Objects/java.nio.channels.FileChannel</semanticResources>
619 <semanticResources>java:/Objects/java.nio.file.attribute.BasicFileAttributes</semanticResources>
620 <semanticResources>java:/Objects/java.nio.channels.AsynchronousChannel</semanticResources>
621 <semanticResources>java:/Objects/java.nio.channels.FileLock</semanticResources>
622 <semanticResources>java:/Objects/java.nio.channels.CompletionHandler</semanticResources>
623 <semanticResources>java:/Objects/java.nio.channels.Channel</semanticResources>
624 <semanticResources>java:/Objects/java.nio.channels.ByteChannel</semanticResources>
625 <semanticResources>java:/Objects/java.nio.channels.ReadableByteChannel</semanticResources>
626 <semanticResources>java:/Objects/java.nio.channels.WritableByteChannel</semanticResources>
627 <semanticResources>java:/Objects/java.nio.channels.spi.AbstractInterruptibleChannel</semanticResources>
628 <semanticResources>java:/Objects/java.nio.channels.GatheringByteChannel</semanticResources>
629 <semanticResources>java:/Objects/java.nio.channels.ScatteringByteChannel</semanticResources>
630 <semanticResources>java:/Objects/java.nio.MappedByteBuffer</semanticResources>
631 <semanticResources>java:/Objects/java.nio.channels.InterruptibleChannel</semanticResources>
632 <semanticResources>java:/Objects/java.nio.channels.AsynchronousCloseException</semanticResources>
633 <semanticResources>java:/Objects/java.nio.channels.ClosedChannelException</semanticResources>
634 <semanticResources>java:/Objects/java.io.FileDescriptor</semanticResources>
635 <semanticResources>java:/Objects/java.io.SyncFailedException</semanticResources>
636 <semanticResources>java:/Objects/java.lang.SecurityManager</semanticResources>
637 <semanticResources>java:/Objects/java.net.UrlDeserializedState</semanticResources>
638 <semanticResources>java:/Objects/java.nio.charset.spi.CharsetProvider</semanticResources>
639 <semanticResources>java:/Objects/java.util.SortedMap</semanticResources>
640 <semanticResources>java:/Objects/sun.util.locale.InternalLocaleBuilder</semanticResources>
641 <semanticResources>java:/Objects/sun.util.locale.LocaleExtensions</semanticResources>
642 <semanticResources>java:/Objects/java.text.MessageFormat</semanticResources>
643 <semanticResources>java:/Objects/java.util.MissingResourceException</semanticResources>
644 <semanticResources>java:/Objects/sun.util.locale.LocaleSyntaxException</semanticResources>
645 <semanticResources>java:/Objects/sun.util.locale.LanguageTag</semanticResources>
646 <semanticResources>java:/Objects/sun.util.locale.ParseStatus</semanticResources>
647 <semanticResources>java:/Objects/sun.util.locale.StringTokenIterator</semanticResources>
648 <semanticResources>java:/Objects/sun.util.locale.Extension</semanticResources>
649 <semanticResources>java:/Objects/java.io.OutputStreamWriter</semanticResources>
650 <semanticResources>java:/Objects/sun.nio.cs.StreamEncoder</semanticResources>
651 <semanticResources>java:/Objects/java.io.ObjectStreamConstants</semanticResources>
652 <semanticResources>java:/Objects/java.io.ObjectStreamClass</semanticResources>
653 <semanticResources>java:/Objects/java.io.Externalizable</semanticResources>
654 <semanticResources>java:/Objects/java.io.SerialCallbackContext</semanticResources>
655 <semanticResources>java:/Objects/java.io.SerializablePermission</semanticResources>
656 <semanticResources>java:/Objects/java.io.InvalidClassException</semanticResources>
657 <semanticResources>java:/Objects/sun.misc.ObjectInputFilter</semanticResources>
658 <semanticResources>java:/Objects/java.io.ObjectInputValidation</semanticResources>
659 <semanticResources>java:/Objects/sun.util.logging.PlatformLogger</semanticResources>
660 <semanticResources>java:/Objects/sun.misc.ObjectStreamClassValidator</semanticResources>
661 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.context.IInputKey</semanticResources>
662 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection</semanticResources>
663 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.PTraceable</semanticResources>
664 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.queries.PDisjunction</semanticResources>
665 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint</semanticResources>
666 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.queries.PProblem</semanticResources>
667 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.TypeJudgement</semanticResources>
668 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.PBody</semanticResources>
669 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.PVariable</semanticResources>
670 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.context.IQueryMetaContext</semanticResources>
671 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.PConstraint</semanticResources>
672 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter</semanticResources>
673 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.context.InputKeyImplication</semanticResources>
674 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.context.IPosetComparator</semanticResources>
675 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.VariableDeferredPConstraint</semanticResources>
676 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.DeferredPConstraint</semanticResources>
677 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.planning.SubPlan</semanticResources>
678 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.BasePConstraint</semanticResources>
679 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.planning.operations.POperation</semanticResources>
680 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.backend.QueryHintOption</semanticResources>
681 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.backend.IQueryBackendFactory</semanticResources>
682 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.context.IQueryBackendContext</semanticResources>
683 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.backend.IQueryBackend</semanticResources>
684 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.backend.IQueryBackendHintProvider</semanticResources>
685 <semanticResources>java:/Objects/org.apache.log4j.Logger</semanticResources>
686 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.analysis.QueryAnalyzer</semanticResources>
687 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.context.IQueryCacheContext</semanticResources>
688 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.context.IQueryResultProviderAccess</semanticResources>
689 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.context.IQueryRuntimeContext</semanticResources>
690 <semanticResources>java:/Objects/org.apache.log4j.Category</semanticResources>
691 <semanticResources>java:/Objects/org.apache.log4j.spi.LoggerFactory</semanticResources>
692 <semanticResources>java:/Objects/org.apache.log4j.spi.AppenderAttachable</semanticResources>
693 <semanticResources>java:/Objects/org.apache.log4j.Appender</semanticResources>
694 <semanticResources>java:/Objects/org.apache.log4j.spi.LoggingEvent</semanticResources>
695 <semanticResources>java:/Objects/org.apache.log4j.Priority</semanticResources>
696 <semanticResources>java:/Objects/org.apache.log4j.spi.LoggerRepository</semanticResources>
697 <semanticResources>java:/Objects/org.apache.log4j.Level</semanticResources>
698 <semanticResources>java:/Objects/org.apache.log4j.helpers.AppenderAttachableImpl</semanticResources>
699 <semanticResources>java:/Objects/org.apache.log4j.spi.Filter</semanticResources>
700 <semanticResources>java:/Objects/org.apache.log4j.spi.ErrorHandler</semanticResources>
701 <semanticResources>java:/Objects/org.apache.log4j.Layout</semanticResources>
702 <semanticResources>java:/Objects/org.apache.log4j.spi.OptionHandler</semanticResources>
703 <semanticResources>java:/Objects/org.apache.log4j.spi.ThrowableInformation</semanticResources>
704 <semanticResources>java:/Objects/org.apache.log4j.spi.LocationInfo</semanticResources>
705 <semanticResources>java:/Objects/java.io.StringWriter</semanticResources>
706 <semanticResources>java:/Objects/org.apache.log4j.spi.HierarchyEventListener</semanticResources>
707 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.context.IQueryRuntimeContextListener</semanticResources>
708 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.tuple.ITuple</semanticResources>
709 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.tuple.TupleMask</semanticResources>
710 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.context.IndexingService</semanticResources>
711 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.util.Accuracy</semanticResources>
712 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.tuple.IModifiableTuple</semanticResources>
713 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.planning.QueryProcessingException</semanticResources>
714 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.ViatraQueryRuntimeException</semanticResources>
715 <semanticResources>java:/Objects/sun.reflect.annotation.AnnotationType</semanticResources>
716 <semanticResources>java:/Objects/sun.reflect.ConstantPool</semanticResources>
717 <semanticResources>java:/Objects/sun.reflect.generics.repository.ClassRepository</semanticResources>
718 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.internal.apiimpl.EngineContextFactory</semanticResources>
719 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.api.scope.IIndexingErrorListener</semanticResources>
720 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.api.scope.IEngineContext</semanticResources>
721 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.api.scope.IBaseIndex</semanticResources>
722 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.api.scope.ViatraBaseIndexChangeListener</semanticResources>
723 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.api.scope.IInstanceObserver</semanticResources>
724 <semanticResources>java:/Objects/java.util.stream.Collector</semanticResources>
725 <semanticResources>java:/Objects/java.lang.SafeVarargs</semanticResources>
726 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.backend.IUpdateable</semanticResources>
727 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch</semanticResources>
728 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.api.impl.BaseQuerySpecification</semanticResources>
729 <semanticResources>java:/Objects/java.lang.ExceptionInInitializerError</semanticResources>
730 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.exception.ViatraQueryException</semanticResources>
731 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.queries.QueryInitializationException</semanticResources>
732 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.api.ViatraQueryEngineOptions</semanticResources>
733 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.tuple.AbstractTuple</semanticResources>
734 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher</semanticResources>
735 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup</semanticResources>
736 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.api.impl.BaseQueryGroup</semanticResources>
737 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.api.IQueryGroup</semanticResources>
738 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.api.AdvancedViatraQueryEngine</semanticResources>
739 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.api.ViatraQueryEngineLifecycleListener</semanticResources>
740 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.api.IMatchUpdateListener</semanticResources>
741 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.api.ViatraQueryModelUpdateListener</semanticResources>
742 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery</semanticResources>
743 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.queries.BasePQuery</semanticResources>
744 <semanticResources>java:/Objects/org.eclipse.emf.ecore.EClassifier</semanticResources>
745 <semanticResources>java:/Objects/org.eclipse.emf.ecore.EEnumLiteral</semanticResources>
746 <semanticResources>java:/Objects/org.eclipse.emf.ecore.EStructuralFeature</semanticResources>
747 <semanticResources>java:/Objects/org.eclipse.emf.ecore.ENamedElement</semanticResources>
748 <semanticResources>java:/Objects/org.eclipse.emf.ecore.EPackage</semanticResources>
749 <semanticResources>java:/Objects/org.eclipse.emf.common.util.EList</semanticResources>
750 <semanticResources>java:/Objects/org.eclipse.emf.ecore.ETypeParameter</semanticResources>
751 <semanticResources>java:/Objects/org.eclipse.emf.ecore.EModelElement</semanticResources>
752 <semanticResources>java:/Objects/org.eclipse.emf.ecore.EObject</semanticResources>
753 <semanticResources>java:/Objects/org.eclipse.emf.ecore.EAnnotation</semanticResources>
754 <semanticResources>java:/Objects/org.eclipse.emf.common.notify.Notifier</semanticResources>
755 <semanticResources>java:/Objects/org.eclipse.emf.common.util.TreeIterator</semanticResources>
756 <semanticResources>java:/Objects/org.eclipse.emf.ecore.EClass</semanticResources>
757 <semanticResources>java:/Objects/org.eclipse.emf.ecore.EReference</semanticResources>
758 <semanticResources>java:/Objects/org.eclipse.emf.ecore.EOperation</semanticResources>
759 <semanticResources>java:/Objects/org.eclipse.emf.ecore.resource.Resource</semanticResources>
760 <semanticResources>java:/Objects/org.eclipse.emf.common.notify.Adapter</semanticResources>
761 <semanticResources>java:/Objects/org.eclipse.emf.common.notify.Notification</semanticResources>
762 <semanticResources>java:/Objects/org.eclipse.emf.ecore.EAttribute</semanticResources>
763 <semanticResources>java:/Objects/org.eclipse.emf.ecore.EGenericType</semanticResources>
764 <semanticResources>java:/Objects/org.eclipse.emf.ecore.EDataType</semanticResources>
765 <semanticResources>java:/Objects/org.eclipse.emf.ecore.InternalEObject</semanticResources>
766 <semanticResources>java:/Objects/org.eclipse.emf.common.CommonPlugin</semanticResources>
767 <semanticResources>java:/Objects/org.eclipse.emf.common.notify.NotificationChain</semanticResources>
768 <semanticResources>java:/Objects/org.eclipse.emf.common.util.URI</semanticResources>
769 <semanticResources>java:/Objects/org.eclipse.emf.common.util.Pool</semanticResources>
770 <semanticResources>java:/Objects/org.eclipse.emf.common.util.SegmentSequence</semanticResources>
771 <semanticResources>java:/Objects/org.eclipse.emf.common.util.CommonUtil</semanticResources>
772 <semanticResources>java:/Objects/org.eclipse.emf.common.util.WeakInterningHashSet</semanticResources>
773 <semanticResources>java:/Objects/java.util.concurrent.locks.ReentrantReadWriteLock</semanticResources>
774 <semanticResources>java:/Objects/org.eclipse.emf.common.util.InterningSet</semanticResources>
775 <semanticResources>java:/Objects/java.util.concurrent.locks.ReadWriteLock</semanticResources>
776 <semanticResources>java:/Objects/java.lang.IllegalMonitorStateException</semanticResources>
777 <semanticResources>java:/Objects/org.eclipse.emf.common.EMFPlugin</semanticResources>
778 <semanticResources>java:/Objects/org.osgi.framework.BundleActivator</semanticResources>
779 <semanticResources>java:/Objects/org.eclipse.emf.common.util.ResourceLocator</semanticResources>
780 <semanticResources>java:/Objects/org.eclipse.emf.common.util.DelegatingResourceLocator</semanticResources>
781 <semanticResources>java:/Objects/org.eclipse.emf.common.util.Logger</semanticResources>
782 <semanticResources>java:/Objects/org.eclipse.core.runtime.Plugin</semanticResources>
783 <semanticResources>java:/Objects/org.eclipse.core.runtime.IPluginDescriptor</semanticResources>
784 <semanticResources>java:/Objects/org.osgi.framework.Bundle</semanticResources>
785 <semanticResources>java:/Objects/org.eclipse.core.runtime.ILog</semanticResources>
786 <semanticResources>java:/Objects/org.osgi.framework.BundleContext</semanticResources>
787 <semanticResources>java:/Objects/org.eclipse.core.runtime.IPath</semanticResources>
788 <semanticResources>java:/Objects/org.eclipse.osgi.service.debug.DebugOptions</semanticResources>
789 <semanticResources>java:/Objects/org.eclipse.core.runtime.Preferences</semanticResources>
790 <semanticResources>java:/Objects/java.lang.IllegalStateException</semanticResources>
791 <semanticResources>java:/Objects/org.eclipse.core.runtime.CoreException</semanticResources>
792 <semanticResources>java:/Objects/org.osgi.util.tracker.ServiceTracker</semanticResources>
793 <semanticResources>java:/Objects/org.eclipse.osgi.service.debug.DebugTrace</semanticResources>
794 <semanticResources>java:/Objects/java.util.EventListener</semanticResources>
795 <semanticResources>java:/Objects/java.util.EventObject</semanticResources>
796 <semanticResources>java:/Objects/org.eclipse.core.runtime.IStatus</semanticResources>
797 <semanticResources>java:/Objects/org.eclipse.core.runtime.ListenerList</semanticResources>
798 <semanticResources>java:/Objects/org.osgi.util.tracker.ServiceTrackerCustomizer</semanticResources>
799 <semanticResources>java:/Objects/org.osgi.framework.AllServiceListener</semanticResources>
800 <semanticResources>java:/Objects/org.osgi.util.tracker.AbstractTracked</semanticResources>
801 <semanticResources>java:/Objects/org.osgi.framework.ServiceReference</semanticResources>
802 <semanticResources>java:/Objects/org.osgi.framework.ServiceEvent</semanticResources>
803 <semanticResources>java:/Objects/org.osgi.framework.ServiceListener</semanticResources>
804 <semanticResources>java:/Objects/org.osgi.framework.Filter</semanticResources>
805 <semanticResources>java:/Objects/org.osgi.framework.InvalidSyntaxException</semanticResources>
806 <semanticResources>java:/Objects/org.eclipse.core.runtime.IExtension</semanticResources>
807 <semanticResources>java:/Objects/org.eclipse.core.runtime.IExtensionPoint</semanticResources>
808 <semanticResources>java:/Objects/org.eclipse.core.runtime.IPluginPrerequisite</semanticResources>
809 <semanticResources>java:/Objects/org.eclipse.core.runtime.ILibrary</semanticResources>
810 <semanticResources>java:/Objects/org.eclipse.core.runtime.PluginVersionIdentifier</semanticResources>
811 <semanticResources>java:/Objects/org.eclipse.core.runtime.InvalidRegistryObjectException</semanticResources>
812 <semanticResources>java:/Objects/org.eclipse.core.runtime.IConfigurationElement</semanticResources>
813 <semanticResources>java:/Objects/org.eclipse.core.runtime.IContributor</semanticResources>
814 <semanticResources>java:/Objects/org.osgi.framework.Version</semanticResources>
815 <semanticResources>java:/Objects/org.osgi.framework.BundleException</semanticResources>
816 <semanticResources>java:/Objects/org.eclipse.core.runtime.ILogListener</semanticResources>
817 <semanticResources>java:/Objects/org.osgi.framework.BundleReference</semanticResources>
818 <semanticResources>java:/Objects/org.osgi.framework.BundleListener</semanticResources>
819 <semanticResources>java:/Objects/org.osgi.framework.FrameworkListener</semanticResources>
820 <semanticResources>java:/Objects/org.osgi.framework.ServiceObjects</semanticResources>
821 <semanticResources>java:/Objects/org.osgi.framework.ServiceRegistration</semanticResources>
822 <semanticResources>java:/Objects/org.osgi.framework.ServiceFactory</semanticResources>
823 <semanticResources>java:/Objects/org.osgi.framework.BundleEvent</semanticResources>
824 <semanticResources>java:/Objects/org.osgi.framework.FrameworkEvent</semanticResources>
825 <semanticResources>java:/Objects/org.eclipse.emf.ecore.ETypedElement</semanticResources>
826 <semanticResources>java:/Objects/org.eclipse.emf.ecore.EParameter</semanticResources>
827 <semanticResources>java:/Objects/org.eclipse.emf.ecore.resource.ResourceSet</semanticResources>
828 <semanticResources>java:/Objects/org.eclipse.emf.common.notify.AdapterFactory</semanticResources>
829 <semanticResources>java:/Objects/org.eclipse.emf.ecore.resource.URIConverter</semanticResources>
830 <semanticResources>java:/Objects/java.io.InputStreamReader</semanticResources>
831 <semanticResources>java:/Objects/org.eclipse.emf.ecore.resource.ContentHandler</semanticResources>
832 <semanticResources>java:/Objects/org.eclipse.emf.ecore.resource.URIHandler</semanticResources>
833 <semanticResources>java:/Objects/sun.nio.cs.StreamDecoder</semanticResources>
834 <semanticResources>java:/Objects/java.io.FileInputStream</semanticResources>
835 <semanticResources>java:/Objects/org.eclipse.emf.common.util.EMap</semanticResources>
836 <semanticResources>java:/Objects/org.eclipse.emf.ecore.EFactory</semanticResources>
837 <semanticResources>java:/Objects/org.eclipse.emf.common.util.Enumerator</semanticResources>
838 <semanticResources>java:/Objects/org.eclipse.emf.ecore.EEnum</semanticResources>
839 <semanticResources>java:/Objects/org.eclipse.emf.ecore.util.FeatureMap</semanticResources>
840 <semanticResources>java:/Objects/org.eclipse.emf.ecore.util.InternalEList</semanticResources>
841 <semanticResources>java:/Objects/org.eclipse.emf.ecore.util.EContentsEList</semanticResources>
842 <semanticResources>java:/Objects/org.eclipse.emf.ecore.util.AbstractSequentialInternalEList</semanticResources>
843 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement</semanticResources>
844 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem</semanticResources>
845 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink</semanticResources>
846 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.domains.satellite.TransceiverBand</semanticResources>
847 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.domains.satellite.AntennaGain</semanticResources>
848 <semanticResources>java:/Objects/java.lang.Override</semanticResources>
849 <semanticResources>java:/Objects/java.lang.SuppressWarnings</semanticResources>
850 <semanticResources>java:/Objects/javax.annotation.Generated</semanticResources>
851 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification</semanticResources>
852 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft</semanticResources>
853 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.domains.satellite.Payload</semanticResources>
854 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission</semanticResources>
855 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.domains.satellite.ConstellationMission</semanticResources>
856 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.domains.satellite.GroundStationNetwork</semanticResources>
857 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat</semanticResources>
858 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat3U</semanticResources>
859 <semanticResources>../src/hu/bme/mit/inf/dslreasoner/domains/satellite/runner/SatelliteGeneratorMain.xtend</semanticResources>
860 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.ArrayLiterals</semanticResources>
861 <semanticResources>java:/Objects/com.google.common.annotations.GwtCompatible</semanticResources>
862 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.Pure</semanticResources>
863 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.Inline</semanticResources>
864 <semanticResources>java:/Objects/com.google.common.annotations.Beta</semanticResources>
865 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.CollectionLiterals</semanticResources>
866 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.Pair</semanticResources>
867 <semanticResources>java:/Objects/java.util.LinkedHashSet</semanticResources>
868 <semanticResources>java:/Objects/java.util.TreeMap</semanticResources>
869 <semanticResources>java:/Objects/java.util.TreeSet</semanticResources>
870 <semanticResources>java:/Objects/java.util.NavigableMap</semanticResources>
871 <semanticResources>java:/Objects/java.util.NavigableSet</semanticResources>
872 <semanticResources>java:/Objects/java.util.SortedSet</semanticResources>
873 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.InputOutput</semanticResources>
874 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.ArrayExtensions</semanticResources>
875 <semanticResources>java:/Objects/com.google.common.annotations.GwtIncompatible</semanticResources>
876 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.BigDecimalExtensions</semanticResources>
877 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.BigIntegerExtensions</semanticResources>
878 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.BooleanExtensions</semanticResources>
879 <semanticResources>java:/Objects/com.google.common.primitives.Booleans</semanticResources>
880 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.ByteExtensions</semanticResources>
881 <semanticResources>java:/Objects/java.lang.Math</semanticResources>
882 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.CharacterExtensions</semanticResources>
883 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.CollectionExtensions</semanticResources>
884 <semanticResources>java:/Objects/com.google.common.collect.Iterables</semanticResources>
885 <semanticResources>java:/Objects/com.google.common.collect.ImmutableList</semanticResources>
886 <semanticResources>java:/Objects/com.google.common.collect.ImmutableSet</semanticResources>
887 <semanticResources>java:/Objects/com.google.common.collect.ImmutableSortedSet</semanticResources>
888 <semanticResources>java:/Objects/com.google.common.collect.ImmutableMap</semanticResources>
889 <semanticResources>java:/Objects/com.google.common.collect.ImmutableSortedMap</semanticResources>
890 <semanticResources>java:/Objects/java.util.Collections</semanticResources>
891 <semanticResources>java:/Objects/com.google.common.collect.FluentIterable</semanticResources>
892 <semanticResources>java:/Objects/com.google.common.base.Predicate</semanticResources>
893 <semanticResources>java:/Objects/com.google.common.base.Function</semanticResources>
894 <semanticResources>java:/Objects/com.google.common.base.Optional</semanticResources>
895 <semanticResources>java:/Objects/com.google.common.collect.ImmutableCollection</semanticResources>
896 <semanticResources>java:/Objects/com.google.common.collect.ImmutableListMultimap</semanticResources>
897 <semanticResources>java:/Objects/com.google.common.base.Joiner</semanticResources>
898 <semanticResources>java:/Objects/com.google.common.collect.ImmutableMultiset</semanticResources>
899 <semanticResources>java:/Objects/com.google.common.collect.ImmutableMultimap</semanticResources>
900 <semanticResources>java:/Objects/com.google.common.collect.ListMultimap</semanticResources>
901 <semanticResources>java:/Objects/com.google.common.collect.Multimap</semanticResources>
902 <semanticResources>java:/Objects/com.google.common.collect.AbstractMultimap</semanticResources>
903 <semanticResources>java:/Objects/com.google.common.collect.UnmodifiableIterator</semanticResources>
904 <semanticResources>java:/Objects/com.google.common.collect.Serialization</semanticResources>
905 <semanticResources>java:/Objects/com.google.common.collect.ImmutableSetMultimap</semanticResources>
906 <semanticResources>java:/Objects/com.google.common.collect.Multiset</semanticResources>
907 <semanticResources>java:/Objects/com.google.common.collect.Multimaps</semanticResources>
908 <semanticResources>java:/Objects/com.google.common.collect.Maps</semanticResources>
909 <semanticResources>java:/Objects/com.google.common.collect.AbstractListMultimap</semanticResources>
910 <semanticResources>java:/Objects/com.google.common.base.Supplier</semanticResources>
911 <semanticResources>java:/Objects/com.google.common.collect.AbstractMapBasedMultimap</semanticResources>
912 <semanticResources>java:/Objects/com.google.common.collect.AbstractSetMultimap</semanticResources>
913 <semanticResources>java:/Objects/com.google.common.collect.AbstractSortedSetMultimap</semanticResources>
914 <semanticResources>java:/Objects/com.google.common.collect.AbstractMultiset</semanticResources>
915 <semanticResources>java:/Objects/com.google.common.collect.Multisets</semanticResources>
916 <semanticResources>java:/Objects/com.google.common.collect.SetMultimap</semanticResources>
917 <semanticResources>java:/Objects/com.google.common.collect.ForwardingMultimap</semanticResources>
918 <semanticResources>java:/Objects/com.google.common.collect.SortedSetMultimap</semanticResources>
919 <semanticResources>java:/Objects/com.google.common.collect.FilteredMultimap</semanticResources>
920 <semanticResources>java:/Objects/com.google.common.collect.FilteredSetMultimap</semanticResources>
921 <semanticResources>java:/Objects/java.util.EnumMap</semanticResources>
922 <semanticResources>java:/Objects/com.google.common.base.Converter</semanticResources>
923 <semanticResources>java:/Objects/com.google.common.collect.BiMap</semanticResources>
924 <semanticResources>java:/Objects/com.google.common.collect.ForwardingMap</semanticResources>
925 <semanticResources>java:/Objects/com.google.common.collect.Ordering</semanticResources>
926 <semanticResources>java:/Objects/com.google.common.collect.Sets</semanticResources>
927 <semanticResources>java:/Objects/com.google.common.collect.ForwardingSet</semanticResources>
928 <semanticResources>java:/Objects/com.google.common.collect.AbstractNavigableMap</semanticResources>
929 <semanticResources>java:/Objects/com.google.common.collect.MapDifference</semanticResources>
930 <semanticResources>java:/Objects/com.google.common.collect.SortedMapDifference</semanticResources>
931 <semanticResources>java:/Objects/com.google.common.collect.ForwardingCollection</semanticResources>
932 <semanticResources>java:/Objects/com.google.common.collect.ForwardingSortedMap</semanticResources>
933 <semanticResources>java:/Objects/com.google.common.base.Equivalence</semanticResources>
934 <semanticResources>java:/Objects/java.util.IdentityHashMap</semanticResources>
935 <semanticResources>java:/Objects/com.google.common.collect.Range</semanticResources>
936 <semanticResources>java:/Objects/com.google.common.collect.ForwardingObject</semanticResources>
937 <semanticResources>java:/Objects/com.google.common.annotations.VisibleForTesting</semanticResources>
938 <semanticResources>java:/Objects/java.util.EnumSet</semanticResources>
939 <semanticResources>java:/Objects/com.google.common.collect.CartesianList</semanticResources>
940 <semanticResources>java:/Objects/com.google.common.collect.ForwardingNavigableSet</semanticResources>
941 <semanticResources>java:/Objects/com.google.common.collect.Collections2</semanticResources>
942 <semanticResources>java:/Objects/com.google.common.collect.ForwardingSortedSet</semanticResources>
943 <semanticResources>java:/Objects/java.util.concurrent.CopyOnWriteArraySet</semanticResources>
944 <semanticResources>java:/Objects/com.google.common.collect.AbstractIterator</semanticResources>
945 <semanticResources>java:/Objects/java.util.concurrent.CopyOnWriteArrayList</semanticResources>
946 <semanticResources>java:/Objects/java.util.function.BiPredicate</semanticResources>
947 <semanticResources>java:/Objects/com.google.common.collect.Cut</semanticResources>
948 <semanticResources>java:/Objects/com.google.common.collect.DiscreteDomain</semanticResources>
949 <semanticResources>java:/Objects/com.google.common.collect.BoundType</semanticResources>
950 <semanticResources>java:/Objects/com.google.common.collect.ForwardingMultiset</semanticResources>
951 <semanticResources>java:/Objects/com.google.common.collect.SortedMultiset</semanticResources>
952 <semanticResources>java:/Objects/com.google.common.collect.SortedMultisetBridge</semanticResources>
953 <semanticResources>java:/Objects/com.google.common.collect.SortedIterable</semanticResources>
954 <semanticResources>java:/Objects/com.google.common.collect.UnmodifiableListIterator</semanticResources>
955 <semanticResources>java:/Objects/com.google.common.collect.ImmutableSortedSetFauxverideShim</semanticResources>
956 <semanticResources>java:/Objects/com.google.common.collect.RegularImmutableSortedSet</semanticResources>
957 <semanticResources>java:/Objects/com.google.common.collect.ImmutableMapEntry</semanticResources>
958 <semanticResources>java:/Objects/com.google.common.collect.ImmutableEntry</semanticResources>
959 <semanticResources>java:/Objects/com.google.common.collect.AbstractMapEntry</semanticResources>
960 <semanticResources>java:/Objects/com.google.common.collect.ImmutableSortedMapFauxverideShim</semanticResources>
961 <semanticResources>java:/Objects/java.util.AbstractQueue</semanticResources>
962 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.ComparableExtensions</semanticResources>
963 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.DoubleExtensions</semanticResources>
964 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.FloatExtensions</semanticResources>
965 <semanticResources>java:/Objects/java.lang.Float</semanticResources>
966 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.FunctionExtensions</semanticResources>
967 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.Functions</semanticResources>
968 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.Procedures</semanticResources>
969 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.IntegerExtensions</semanticResources>
970 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.ExclusiveRange</semanticResources>
971 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.IntegerRange</semanticResources>
972 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.IterableExtensions</semanticResources>
973 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.IteratorExtensions</semanticResources>
974 <semanticResources>java:/Objects/com.google.common.collect.Iterators</semanticResources>
975 <semanticResources>java:/Objects/com.google.common.collect.MultitransformedIterator</semanticResources>
976 <semanticResources>java:/Objects/com.google.common.collect.PeekingIterator</semanticResources>
977 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.ListExtensions</semanticResources>
978 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.LongExtensions</semanticResources>
979 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.MapExtensions</semanticResources>
980 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.internal.UnmodifiableMergingMapView</semanticResources>
981 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.ObjectExtensions</semanticResources>
982 <semanticResources>java:/Objects/com.google.common.base.Objects</semanticResources>
983 <semanticResources>java:/Objects/com.google.common.base.ExtraObjectsMethodsForWeb</semanticResources>
984 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.ProcedureExtensions</semanticResources>
985 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.ShortExtensions</semanticResources>
986 <semanticResources>java:/Objects/java.lang.Short</semanticResources>
987 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.StringExtensions</semanticResources>
988 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/StandaloneScriptExecutor.xtend</semanticResources>
989 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfigurationStandaloneSetup.xtend</semanticResources>
990 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript</semanticResources>
991 <semanticResources>java:/Objects/org.eclipse.core.runtime.NullProgressMonitor</semanticResources>
992 <semanticResources>java:/Objects/org.eclipse.emf.ecore.util.EcoreUtil</semanticResources>
993 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.matcher.ReteEngine</semanticResources>
994 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/PatternLanguageWithRSModule.xtend</semanticResources>
995 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/PatternLanguageWithRSSetup.xtend</semanticResources>
996 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptConsole.xtend</semanticResources>
997 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptExecutor.xtend</semanticResources>
998 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfigurationStandaloneRuntimeModule.xtend</semanticResources>
999 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.ApplicationConfigurationStandaloneSetupGenerated</semanticResources>
1000 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/linking/ApplicationConfigurationLinkingService.xtend</semanticResources>
1001 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/valueconverter/ApplicationConfigurationValueConverterService.xtend</semanticResources>
1002 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.AbstractApplicationConfigurationRuntimeModule</semanticResources>
1003 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage</semanticResources>
1004 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.CftImport</semanticResources>
1005 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.EPackageImport</semanticResources>
1006 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PatternEntry</semanticResources>
1007 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ViatraImport</semanticResources>
1008 <semanticResources>java:/Objects/org.eclipse.xtext.xbase.lib.Extension</semanticResources>
1009 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationFactory</semanticResources>
1010 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.AllPackageEntry</semanticResources>
1011 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.AllPatternEntry</semanticResources>
1012 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ClassReference</semanticResources>
1013 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ClassTypeScope</semanticResources>
1014 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Command</semanticResources>
1015 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Config</semanticResources>
1016 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigDeclaration</semanticResources>
1017 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigEntry</semanticResources>
1018 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigReference</semanticResources>
1019 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigSpecification</semanticResources>
1020 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.CostEntry</semanticResources>
1021 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.CostObjectiveFunction</semanticResources>
1022 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.CustomEntry</semanticResources>
1023 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Declaration</semanticResources>
1024 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.DocumentationEntry</semanticResources>
1025 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ExactNumber</semanticResources>
1026 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.File</semanticResources>
1027 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.FileDeclaration</semanticResources>
1028 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.FileReference</semanticResources>
1029 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.FileSpecification</semanticResources>
1030 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.FolderEntry</semanticResources>
1031 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.GenerationTask</semanticResources>
1032 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.GraphPattern</semanticResources>
1033 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.GraphPatternDeclaration</semanticResources>
1034 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.GraphPatternReference</semanticResources>
1035 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Import</semanticResources>
1036 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.IntEnumberation</semanticResources>
1037 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.IntegerReference</semanticResources>
1038 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.IntegerScope</semanticResources>
1039 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.IntegerTypeScope</semanticResources>
1040 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.IntervallNumber</semanticResources>
1041 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MemoryEntry</semanticResources>
1042 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Metamodel</semanticResources>
1043 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelDeclaration</semanticResources>
1044 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelElement</semanticResources>
1045 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelEntry</semanticResources>
1046 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelReference</semanticResources>
1047 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelSpecification</semanticResources>
1048 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ModelEntry</semanticResources>
1049 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Mtff</semanticResources>
1050 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.NumberSpecification</semanticResources>
1051 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ObjectReference</semanticResources>
1052 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ObjectTypeScope</semanticResources>
1053 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Objective</semanticResources>
1054 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ObjectiveDeclaration</semanticResources>
1055 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ObjectiveEntry</semanticResources>
1056 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ObjectiveFunction</semanticResources>
1057 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ObjectiveReference</semanticResources>
1058 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ObjectiveSpecification</semanticResources>
1059 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.OptimizationEntry</semanticResources>
1060 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModel</semanticResources>
1061 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelDeclaration</semanticResources>
1062 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelEntry</semanticResources>
1063 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelReference</semanticResources>
1064 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelSpecification</semanticResources>
1065 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PatternElement</semanticResources>
1066 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PatternSpecification</semanticResources>
1067 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.RealEnumeration</semanticResources>
1068 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.RealReference</semanticResources>
1069 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.RealScope</semanticResources>
1070 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.RealTypeScope</semanticResources>
1071 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ReliabilityObjectiveFunction</semanticResources>
1072 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ReliabiltiyProbability</semanticResources>
1073 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.RuntimeEntry</semanticResources>
1074 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Scope</semanticResources>
1075 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ScopeDeclaration</semanticResources>
1076 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ScopeReference</semanticResources>
1077 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ScopeSpecification</semanticResources>
1078 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.StringEnumeration</semanticResources>
1079 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.StringReference</semanticResources>
1080 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.StringScope</semanticResources>
1081 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.StringTypeScope</semanticResources>
1082 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Task</semanticResources>
1083 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ThresholdEntry</semanticResources>
1084 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.TypeReference</semanticResources>
1085 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.TypeScope</semanticResources>
1086 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.DocumentLevelSpecification</semanticResources>
1087 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Solver</semanticResources>
1088 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.OptimizationDirection</semanticResources>
1089 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ComparisonOperator</semanticResources>
1090 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/valueconverter/QualifiedNameValueConverter.xtend</semanticResources>
1091 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/validation/ApplicationConfigurationValidator.xtend</semanticResources>
1092 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.validation.AbstractApplicationConfigurationValidator</semanticResources>
1093 <semanticResources>java:/Objects/org.eclipse.core.runtime.IProgressMonitor</semanticResources>
1094 <semanticResources>java:/Objects/org.eclipse.emf.common.util.AbstractTreeIterator</semanticResources>
1095 <semanticResources>java:/Objects/org.eclipse.emf.common.util.Diagnostic</semanticResources>
1096 <semanticResources>java:/Objects/org.eclipse.emf.common.util.BasicEList</semanticResources>
1097 <semanticResources>java:/Objects/org.eclipse.emf.common.util.AbstractEList</semanticResources>
1098 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.matcher.RetePatternMatcher</semanticResources>
1099 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.traceability.RecipeTraceInfo</semanticResources>
1100 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.index.Indexer</semanticResources>
1101 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.boundary.Disconnectable</semanticResources>
1102 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.boundary.ReteBoundary</semanticResources>
1103 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.construction.plancompiler.ReteRecipeCompiler</semanticResources>
1104 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.network.Network</semanticResources>
1105 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.matcher.HintConfigurator</semanticResources>
1106 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.single.TransformerNode</semanticResources>
1107 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.index.IterableIndexer</semanticResources>
1108 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.network.Receiver</semanticResources>
1109 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.network.Production</semanticResources>
1110 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.single.SingleInputNode</semanticResources>
1111 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.network.ReteContainer</semanticResources>
1112 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.network.Direction</semanticResources>
1113 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.network.StandardNode</semanticResources>
1114 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.network.Tunnel</semanticResources>
1115 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.network.Supplier</semanticResources>
1116 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.traceability.TraceInfo</semanticResources>
1117 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.network.mailbox.Mailbox</semanticResources>
1118 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.network.BaseNode</semanticResources>
1119 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.index.ProjectionIndexer</semanticResources>
1120 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.network.Node</semanticResources>
1121 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.network.CommunicationTracker</semanticResources>
1122 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.network.CommunicationGroup</semanticResources>
1123 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.network.RederivableNode</semanticResources>
1124 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.network.MessageKind</semanticResources>
1125 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.network.IGroupable</semanticResources>
1126 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.util.Clearable</semanticResources>
1127 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.remote.Address</semanticResources>
1128 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.network.ConnectionFactory</semanticResources>
1129 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.boundary.InputConnector</semanticResources>
1130 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.network.NodeFactory</semanticResources>
1131 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.network.NodeProvisioner</semanticResources>
1132 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.network.UpdateMessage</semanticResources>
1133 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.ReteNodeRecipe</semanticResources>
1134 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.IndexerRecipe</semanticResources>
1135 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.SingleParentNodeRecipe</semanticResources>
1136 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.Mask</semanticResources>
1137 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.InputRecipe</semanticResources>
1138 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.InputFilterRecipe</semanticResources>
1139 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.boundary.ExternalInputEnumeratorNode</semanticResources>
1140 <semanticResources>java:/Objects/com.google.common.collect.Table</semanticResources>
1141 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.FilterRecipe</semanticResources>
1142 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.AlphaRecipe</semanticResources>
1143 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.CountAggregatorRecipe</semanticResources>
1144 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.TransparentRecipe</semanticResources>
1145 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.ExpressionEnforcerRecipe</semanticResources>
1146 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.SingleColumnAggregatorRecipe</semanticResources>
1147 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.TransitiveClosureRecipe</semanticResources>
1148 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.ProductionRecipe</semanticResources>
1149 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.UniquenessEnforcerRecipe</semanticResources>
1150 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.ConstantRecipe</semanticResources>
1151 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.DiscriminatorBucketRecipe</semanticResources>
1152 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.DiscriminatorDispatcherRecipe</semanticResources>
1153 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.TrimmerRecipe</semanticResources>
1154 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.InequalityFilterRecipe</semanticResources>
1155 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.EqualityFilterRecipe</semanticResources>
1156 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.AntiJoinRecipe</semanticResources>
1157 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.SemiJoinRecipe</semanticResources>
1158 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.JoinRecipe</semanticResources>
1159 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.ExpressionDefinition</semanticResources>
1160 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.IExpressionEvaluator</semanticResources>
1161 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.IndexerBasedAggregatorRecipe</semanticResources>
1162 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.ProjectionIndexerRecipe</semanticResources>
1163 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.RederivableNodeRecipe</semanticResources>
1164 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.aggregations.IMultisetAggregationOperator</semanticResources>
1165 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.MonotonicityInfo</semanticResources>
1166 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.MultiParentNodeRecipe</semanticResources>
1167 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.ExistenceJoinRecipe</semanticResources>
1168 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.BetaRecipe</semanticResources>
1169 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.IValueProvider</semanticResources>
1170 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.remote.RemoteReceiver</semanticResources>
1171 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.remote.RemoteSupplier</semanticResources>
1172 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.traceability.UserRequestTrace</semanticResources>
1173 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.helper.RecipeRecognizer</semanticResources>
1174 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.index.IndexerListener</semanticResources>
1175 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.planning.IQueryPlannerStrategy</semanticResources>
1176 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.traceability.PlanningTrace</semanticResources>
1177 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.traceability.CompiledSubPlan</semanticResources>
1178 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality</semanticResources>
1179 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Inequality</semanticResources>
1180 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.TypeFilterConstraint</semanticResources>
1181 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall</semanticResources>
1182 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.PatternMatchCounter</semanticResources>
1183 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.AggregatorConstraint</semanticResources>
1184 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExpressionEvaluation</semanticResources>
1185 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.BinaryReflexiveTransitiveClosure</semanticResources>
1186 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.BinaryTransitiveClosure</semanticResources>
1187 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall</semanticResources>
1188 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint</semanticResources>
1189 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue</semanticResources>
1190 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.traceability.CompiledQuery</semanticResources>
1191 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.EnumerablePConstraint</semanticResources>
1192 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.planning.operations.PJoin</semanticResources>
1193 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.planning.operations.PProject</semanticResources>
1194 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.planning.operations.PStart</semanticResources>
1195 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.RecipesFactory</semanticResources>
1196 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.rewriters.PDisjunctionRewriter</semanticResources>
1197 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.construction.plancompiler.RecursionCutoffPoint</semanticResources>
1198 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.traceability.PatternTraceInfo</semanticResources>
1199 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.ITypeConstraint</semanticResources>
1200 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.ITypeInfoProviderConstraint</semanticResources>
1201 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.PatternCallBasedDeferred</semanticResources>
1202 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.IQueryReference</semanticResources>
1203 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.aggregations.BoundAggregator</semanticResources>
1204 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.BaseTypeSafeConstraint</semanticResources>
1205 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.AbstractTransitiveClosure</semanticResources>
1206 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.KeyedEnumerablePConstraint</semanticResources>
1207 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.AggregatorIndexerRecipe</semanticResources>
1208 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.CheckRecipe</semanticResources>
1209 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.EvalRecipe</semanticResources>
1210 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.ReteRecipe</semanticResources>
1211 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.RecipesPackage</semanticResources>
1212 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.rewriters.AbstractRewriterTraceSource</semanticResources>
1213 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.rewriters.IDerivativeModificationReason</semanticResources>
1214 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.rewriters.IRewriterTraceCollector</semanticResources>
1215 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.rewriters.IPTraceableTraceProvider</semanticResources>
1216 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/util/ApplicationConfigurationParser.xtend</semanticResources>
1217 <semanticResources>java:/Objects/org.eclipse.core.runtime.Status</semanticResources>
1218 <semanticResources>java:/Objects/org.eclipse.core.runtime.jobs.Job</semanticResources>
1219 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/GenerationTaskExecutor.xtend</semanticResources>
1220 <semanticResources>java:/Objects/org.eclipse.emf.ecore.resource.impl.ResourceSetImpl</semanticResources>
1221 <semanticResources>java:/Objects/org.eclipse.emf.common.notify.impl.NotifierImpl</semanticResources>
1222 <semanticResources>java:/Objects/org.eclipse.emf.ecore.util.EContentAdapter</semanticResources>
1223 <semanticResources>java:/Objects/org.eclipse.emf.ecore.util.NotifyingInternalEListImpl</semanticResources>
1224 <semanticResources>java:/Objects/org.eclipse.emf.common.notify.impl.BasicNotifierImpl</semanticResources>
1225 <semanticResources>java:/Objects/org.eclipse.emf.common.notify.impl.AdapterImpl</semanticResources>
1226 <semanticResources>java:/Objects/org.eclipse.emf.common.notify.impl.NotifyingListImpl</semanticResources>
1227 <semanticResources>java:/Objects/org.eclipse.emf.common.notify.NotifyingList</semanticResources>
1228 <semanticResources>java:/Objects/org.eclipse.emf.common.notify.impl.NotificationImpl</semanticResources>
1229 <semanticResources>java:/Objects/org.eclipse.core.internal.jobs.InternalJob</semanticResources>
1230 <semanticResources>java:/Objects/org.eclipse.core.runtime.IAdaptable</semanticResources>
1231 <semanticResources>java:/Objects/org.eclipse.core.runtime.jobs.IJobChangeListener</semanticResources>
1232 <semanticResources>java:/Objects/org.eclipse.core.runtime.jobs.IJobFunction</semanticResources>
1233 <semanticResources>java:/Objects/org.eclipse.core.runtime.ICoreRunnable</semanticResources>
1234 <semanticResources>java:/Objects/org.eclipse.core.runtime.jobs.JobGroup</semanticResources>
1235 <semanticResources>java:/Objects/org.eclipse.core.runtime.jobs.IJobManager</semanticResources>
1236 <semanticResources>java:/Objects/org.eclipse.core.runtime.QualifiedName</semanticResources>
1237 <semanticResources>java:/Objects/org.eclipse.core.runtime.jobs.ISchedulingRule</semanticResources>
1238 <semanticResources>java:/Objects/org.eclipse.core.runtime.OperationCanceledException</semanticResources>
1239 <semanticResources>java:/Objects/org.eclipse.core.runtime.PlatformObject</semanticResources>
1240 <semanticResources>java:/Objects/org.eclipse.core.internal.jobs.JobManager</semanticResources>
1241 <semanticResources>java:/Objects/org.eclipse.core.internal.jobs.ObjectMap</semanticResources>
1242 <semanticResources>java:/Objects/org.eclipse.osgi.service.debug.DebugOptionsListener</semanticResources>
1243 <semanticResources>java:/Objects/org.eclipse.core.runtime.jobs.JobChangeAdapter</semanticResources>
1244 <semanticResources>java:/Objects/org.eclipse.core.runtime.jobs.IJobChangeEvent</semanticResources>
1245 <semanticResources>java:/Objects/org.eclipse.core.internal.jobs.ThreadJob</semanticResources>
1246 <semanticResources>java:/Objects/org.eclipse.core.internal.jobs.InternalJobGroup</semanticResources>
1247 <semanticResources>java:/Objects/org.eclipse.core.internal.jobs.JobQueue</semanticResources>
1248 <semanticResources>java:/Objects/org.eclipse.core.internal.jobs.LockManager</semanticResources>
1249 <semanticResources>java:/Objects/org.eclipse.core.runtime.jobs.ILock</semanticResources>
1250 <semanticResources>java:/Objects/org.eclipse.core.runtime.jobs.LockListener</semanticResources>
1251 <semanticResources>java:/Objects/org.eclipse.core.runtime.jobs.ProgressProvider</semanticResources>
1252 <semanticResources>java:/Objects/org.eclipse.core.internal.jobs.Worker</semanticResources>
1253 <semanticResources>java:/Objects/org.eclipse.core.internal.jobs.ImplicitJobs</semanticResources>
1254 <semanticResources>java:/Objects/org.eclipse.core.internal.jobs.InternalWorker</semanticResources>
1255 <semanticResources>java:/Objects/org.eclipse.core.internal.jobs.JobListeners</semanticResources>
1256 <semanticResources>java:/Objects/org.eclipse.core.internal.jobs.WorkerPool</semanticResources>
1257 <semanticResources>java:/Objects/org.eclipse.core.internal.jobs.Counter</semanticResources>
1258 <semanticResources>java:/Objects/org.eclipse.core.runtime.MultiStatus</semanticResources>
1259 <semanticResources>java:/Objects/org.eclipse.core.internal.jobs.OrderedLock</semanticResources>
1260 <semanticResources>java:/Objects/org.eclipse.core.internal.jobs.DeadlockDetector</semanticResources>
1261 <semanticResources>java:/Objects/org.eclipse.core.internal.jobs.Semaphore</semanticResources>
1262 <semanticResources>java:/Objects/org.eclipse.core.internal.jobs.Queue</semanticResources>
1263 <semanticResources>java:/Objects/org.eclipse.core.internal.jobs.Deadlock</semanticResources>
1264 <semanticResources>java:/Objects/org.eclipse.core.internal.jobs.JobChangeEvent</semanticResources>
1265 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/validation/MetamodelValidator.xtend</semanticResources>
1266 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/validation/QueryAndMetamodelValidator.xtend</semanticResources>
1267 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/MetamodelLoader.xtend</semanticResources>
1268 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ModelLoader.xtend</semanticResources>
1269 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/QueryLoader.xtend</semanticResources>
1270 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend</semanticResources>
1271 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScopeLoader.xtend</semanticResources>
1272 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/NullWorkspace.xtend</semanticResources>
1273 <semanticResources>java:/Objects/java.lang.System</semanticResources>
1274 <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/EclipseBasedProgressMonitor.xtend</semanticResources>
1275 <semanticResources>java:/Objects/org.eclipse.emf.ecore.EcorePackage</semanticResources>
1276 <semanticResources>java:/Objects/org.eclipse.emf.ecore.EcoreFactory</semanticResources>
1277 <semanticResources>java:/Objects/java.io.Console</semanticResources>
1278 <semanticResources>java:/Objects/java.io.FileOutputStream</semanticResources>
1279 <semanticResources>../inputs/SatelliteInstance.xmi</semanticResources>
1280 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor</semanticResources>
1281 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.ScriptConsole</semanticResources>
1282 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.ScriptConsoleDecorator</semanticResources>
1283 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.ApplicationConfigurationStandaloneSetup</semanticResources>
1284 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.StandardOutputBasedScriptConsole</semanticResources>
1285 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor</semanticResources>
1286 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.util.ApplicationConfigurationParser</semanticResources>
1287 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.PatternLanguageWithRSSetup</semanticResources>
1288 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.PatternLanguageWithRSModule</semanticResources>
1289 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.ApplicationConfigurationStandaloneRuntimeModule</semanticResources>
1290 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.validation.ApplicationConfigurationValidator</semanticResources>
1291 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.GenerationTaskExecutor</semanticResources>
1292 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.MetamodelLoader</semanticResources>
1293 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.validation.MetamodelValidator</semanticResources>
1294 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.ModelLoader</semanticResources>
1295 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.validation.QueryAndMetamodelValidator</semanticResources>
1296 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.QueryLoader</semanticResources>
1297 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.ScopeLoader</semanticResources>
1298 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.SolverLoader</semanticResources>
1299 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.valueconverter.QualifiedNameValueConverter</semanticResources>
1300 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.NullWorkspace</semanticResources>
1301 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.EclipseBasedProgressMonitor</semanticResources>
1302 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.aggregators.count</semanticResources>
1303 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.aggregations.AggregatorType</semanticResources>
1304 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.aggregations.IAggregatorFactory</semanticResources>
1305 <semanticResources>java:/Objects/java.lang.annotation.Inherited</semanticResources>
1306 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.aggregators.min</semanticResources>
1307 <semanticResources>../src/hu/bme/mit/inf/dslreasoner/domains/satellite/metrics/SatelliteMetrics.vql</semanticResources>
1308 <semanticResources>java:/Objects/org.eclipse.viatra.query.runtime.matchers.aggregators.max</semanticResources>
1309 <semanticResources>java:/Objects/hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind</semanticResources>
1310 <ownedViews xmi:type="viewpoint:DView" uid="_reOHEF0qEemRYLyXht2IrQ">
1311 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
1312 <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_re1yIF0qEemRYLyXht2IrQ" name="satellite" repPath="#_rel6gF0qEemRYLyXht2IrQ">
1313 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
1314 <target xmi:type="ecore:EPackage" href="satellite.ecore#/"/>
1315 </ownedRepresentationDescriptors>
1316 </ownedViews>
1317 </viewpoint:DAnalysis>
1318 <diagram:DSemanticDiagram uid="_rel6gF0qEemRYLyXht2IrQ" name="satellite">
1319 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_rew5oF0qEemRYLyXht2IrQ" source="DANNOTATION_CUSTOMIZATION_KEY">
1320 <data xmi:type="diagram:ComputedStyleDescriptionRegistry" uid="_rexgsF0qEemRYLyXht2IrQ">
1321 <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_028-wF0vEemRYLyXht2IrQ" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
1322 <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1323 <labelFormat>bold</labelFormat>
1324 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1325 <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1326 </computedStyleDescriptions>
1327 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_6kODkF0vEemRYLyXht2IrQ" sourceArrow="FillDiamond" routingStyle="manhattan">
1328 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1329 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_6kODkV0vEemRYLyXht2IrQ" showIcon="false" labelExpression="service:render">
1330 <labelFormat>bold</labelFormat>
1331 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1332 </centerLabelStyleDescription>
1333 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_6kODkl0vEemRYLyXht2IrQ" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
1334 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
1335 </endLabelStyleDescription>
1336 </computedStyleDescriptions>
1337 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_ccHLEF0wEemRYLyXht2IrQ" sourceArrow="FillDiamond" routingStyle="manhattan">
1338 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1339 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_ccHLEV0wEemRYLyXht2IrQ" showIcon="false" labelExpression="service:render">
1340 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1341 </centerLabelStyleDescription>
1342 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_ccHLEl0wEemRYLyXht2IrQ" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
1343 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
1344 </endLabelStyleDescription>
1345 </computedStyleDescriptions>
1346 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_fDAfYF0xEemRYLyXht2IrQ" routingStyle="manhattan">
1347 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1348 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_fDAfYV0xEemRYLyXht2IrQ" showIcon="false" labelExpression="service:render">
1349 <labelFormat>bold</labelFormat>
1350 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1351 </centerLabelStyleDescription>
1352 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_fDAfYl0xEemRYLyXht2IrQ" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
1353 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
1354 </endLabelStyleDescription>
1355 </computedStyleDescriptions>
1356 <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_o3yl4HA6Eem9acJE7_CmTw" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
1357 <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1358 <labelFormat>bold</labelFormat>
1359 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
1360 <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
1361 </computedStyleDescriptions>
1362 </data>
1363 </ownedAnnotationEntries>
1364 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_rfAxQF0qEemRYLyXht2IrQ" source="GMF_DIAGRAMS">
1365 <data xmi:type="notation:Diagram" xmi:id="_rfAxQV0qEemRYLyXht2IrQ" type="Sirius" element="_rel6gF0qEemRYLyXht2IrQ" measurementUnit="Pixel">
1366 <children xmi:type="notation:Node" xmi:id="_tNH44F0qEemRYLyXht2IrQ" type="2003" element="_tM4oUF0qEemRYLyXht2IrQ">
1367 <children xmi:type="notation:Node" xmi:id="_tNK8MF0qEemRYLyXht2IrQ" type="5007"/>
1368 <children xmi:type="notation:Node" xmi:id="_tNLjQF0qEemRYLyXht2IrQ" type="7004">
1369 <styles xmi:type="notation:SortingStyle" xmi:id="_tNLjQV0qEemRYLyXht2IrQ"/>
1370 <styles xmi:type="notation:FilteringStyle" xmi:id="_tNLjQl0qEemRYLyXht2IrQ"/>
1371 </children>
1372 <styles xmi:type="notation:ShapeStyle" xmi:id="_tNH44V0qEemRYLyXht2IrQ" fontName="Noto Sans" fontHeight="8"/>
1373 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tNH44l0qEemRYLyXht2IrQ" x="39" y="39" width="146" height="100"/>
1374 </children>
1375 <children xmi:type="notation:Node" xmi:id="_vlcbIF0qEemRYLyXht2IrQ" type="2003" element="_vlPm0F0qEemRYLyXht2IrQ">
1376 <children xmi:type="notation:Node" xmi:id="_vldpQF0qEemRYLyXht2IrQ" type="5007"/>
1377 <children xmi:type="notation:Node" xmi:id="_vldpQV0qEemRYLyXht2IrQ" type="7004">
1378 <children xmi:type="notation:Node" xmi:id="_zCslIF0qEemRYLyXht2IrQ" type="3010" element="_zChmAF0qEemRYLyXht2IrQ">
1379 <styles xmi:type="notation:FontStyle" xmi:id="_zCslIV0qEemRYLyXht2IrQ" fontColor="2697711" fontName="Noto Sans" fontHeight="8"/>
1380 <layoutConstraint xmi:type="notation:Location" xmi:id="_zCslIl0qEemRYLyXht2IrQ"/>
1381 </children>
1382 <styles xmi:type="notation:SortingStyle" xmi:id="_vldpQl0qEemRYLyXht2IrQ"/>
1383 <styles xmi:type="notation:FilteringStyle" xmi:id="_vldpQ10qEemRYLyXht2IrQ"/>
1384 </children>
1385 <styles xmi:type="notation:ShapeStyle" xmi:id="_vlcbIV0qEemRYLyXht2IrQ" fontName="Noto Sans" fontHeight="8"/>
1386 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vlcbIl0qEemRYLyXht2IrQ" x="39" y="182" width="146" height="100"/>
1387 </children>
1388 <children xmi:type="notation:Node" xmi:id="_3UIIoF0rEemRYLyXht2IrQ" type="2003" element="_3T7UUF0rEemRYLyXht2IrQ">
1389 <children xmi:type="notation:Node" xmi:id="_3UJWwF0rEemRYLyXht2IrQ" type="5007"/>
1390 <children xmi:type="notation:Node" xmi:id="_3UJWwV0rEemRYLyXht2IrQ" type="7004">
1391 <styles xmi:type="notation:SortingStyle" xmi:id="_3UJWwl0rEemRYLyXht2IrQ"/>
1392 <styles xmi:type="notation:FilteringStyle" xmi:id="_3UJWw10rEemRYLyXht2IrQ"/>
1393 </children>
1394 <styles xmi:type="notation:ShapeStyle" xmi:id="_3UIIoV0rEemRYLyXht2IrQ" fontName="Noto Sans" fontHeight="8"/>
1395 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3UIIol0rEemRYLyXht2IrQ" x="390" y="182" width="172" height="100"/>
1396 </children>
1397 <children xmi:type="notation:Node" xmi:id="__OldwF0rEemRYLyXht2IrQ" type="2003" element="__OYCYF0rEemRYLyXht2IrQ">
1398 <children xmi:type="notation:Node" xmi:id="__OmE0F0rEemRYLyXht2IrQ" type="5007"/>
1399 <children xmi:type="notation:Node" xmi:id="__Omr4F0rEemRYLyXht2IrQ" type="7004">
1400 <styles xmi:type="notation:SortingStyle" xmi:id="__Omr4V0rEemRYLyXht2IrQ"/>
1401 <styles xmi:type="notation:FilteringStyle" xmi:id="__Omr4l0rEemRYLyXht2IrQ"/>
1402 </children>
1403 <styles xmi:type="notation:ShapeStyle" xmi:id="__OldwV0rEemRYLyXht2IrQ" fontName="Noto Sans" fontHeight="8"/>
1404 <layoutConstraint xmi:type="notation:Bounds" xmi:id="__Oldwl0rEemRYLyXht2IrQ" x="507" y="325" width="159" height="100"/>
1405 </children>
1406 <children xmi:type="notation:Node" xmi:id="_Aq3OgF0sEemRYLyXht2IrQ" type="2003" element="_AqsPYF0sEemRYLyXht2IrQ">
1407 <children xmi:type="notation:Node" xmi:id="_Aq31kF0sEemRYLyXht2IrQ" type="5007"/>
1408 <children xmi:type="notation:Node" xmi:id="_Aq31kV0sEemRYLyXht2IrQ" type="7004">
1409 <children xmi:type="notation:Node" xmi:id="_-9pX8G60Eem3gIPdAp40Tw" type="3010" element="_-9TZsG60Eem3gIPdAp40Tw">
1410 <styles xmi:type="notation:FontStyle" xmi:id="_-9pX8W60Eem3gIPdAp40Tw" fontColor="2697711" fontName="Noto Sans" fontHeight="8"/>
1411 <layoutConstraint xmi:type="notation:Location" xmi:id="_-9pX8m60Eem3gIPdAp40Tw"/>
1412 </children>
1413 <styles xmi:type="notation:SortingStyle" xmi:id="_Aq31kl0sEemRYLyXht2IrQ"/>
1414 <styles xmi:type="notation:FilteringStyle" xmi:id="_Aq31k10sEemRYLyXht2IrQ"/>
1415 </children>
1416 <styles xmi:type="notation:ShapeStyle" xmi:id="_Aq3OgV0sEemRYLyXht2IrQ" fontName="Noto Sans" fontHeight="8"/>
1417 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Aq3Ogl0sEemRYLyXht2IrQ" x="338" y="325" width="120" height="100"/>
1418 </children>
1419 <children xmi:type="notation:Node" xmi:id="_j0vs4F0tEemRYLyXht2IrQ" type="2003" element="_j0eAEF0tEemRYLyXht2IrQ">
1420 <children xmi:type="notation:Node" xmi:id="_j0wT8F0tEemRYLyXht2IrQ" type="5007"/>
1421 <children xmi:type="notation:Node" xmi:id="_j0wT8V0tEemRYLyXht2IrQ" type="7004">
1422 <children xmi:type="notation:Node" xmi:id="_zugwAF0vEemRYLyXht2IrQ" type="3010" element="_zuaCUF0vEemRYLyXht2IrQ">
1423 <styles xmi:type="notation:FontStyle" xmi:id="_zugwAV0vEemRYLyXht2IrQ" fontColor="2697711" fontName="Noto Sans" fontHeight="8"/>
1424 <layoutConstraint xmi:type="notation:Location" xmi:id="_zugwAl0vEemRYLyXht2IrQ"/>
1425 </children>
1426 <children xmi:type="notation:Node" xmi:id="_Q89nMF0wEemRYLyXht2IrQ" type="3010" element="_Q8yBAF0wEemRYLyXht2IrQ">
1427 <styles xmi:type="notation:FontStyle" xmi:id="_Q89nMV0wEemRYLyXht2IrQ" fontColor="2697711" fontName="Noto Sans" fontHeight="8"/>
1428 <layoutConstraint xmi:type="notation:Location" xmi:id="_Q89nMl0wEemRYLyXht2IrQ"/>
1429 </children>
1430 <styles xmi:type="notation:SortingStyle" xmi:id="_j0wT8l0tEemRYLyXht2IrQ"/>
1431 <styles xmi:type="notation:FilteringStyle" xmi:id="_j0wT810tEemRYLyXht2IrQ"/>
1432 </children>
1433 <styles xmi:type="notation:ShapeStyle" xmi:id="_j0vs4V0tEemRYLyXht2IrQ" fontName="Noto Sans" fontHeight="8"/>
1434 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_j0vs4l0tEemRYLyXht2IrQ" x="754" y="182" width="198" height="100"/>
1435 </children>
1436 <children xmi:type="notation:Node" xmi:id="_vyrzoF0vEemRYLyXht2IrQ" type="2003" element="_vyhbkF0vEemRYLyXht2IrQ">
1437 <children xmi:type="notation:Node" xmi:id="_vysasF0vEemRYLyXht2IrQ" type="5007"/>
1438 <children xmi:type="notation:Node" xmi:id="_vysasV0vEemRYLyXht2IrQ" type="7004">
1439 <children xmi:type="notation:Node" xmi:id="_x32JUF0vEemRYLyXht2IrQ" type="3010" element="_x3rKMF0vEemRYLyXht2IrQ">
1440 <styles xmi:type="notation:FontStyle" xmi:id="_x32JUV0vEemRYLyXht2IrQ" fontName="Noto Sans" fontHeight="8"/>
1441 <layoutConstraint xmi:type="notation:Location" xmi:id="_x32JUl0vEemRYLyXht2IrQ"/>
1442 </children>
1443 <children xmi:type="notation:Node" xmi:id="_yhHIwF0vEemRYLyXht2IrQ" type="3010" element="_yg2DAF0vEemRYLyXht2IrQ">
1444 <styles xmi:type="notation:FontStyle" xmi:id="_yhHIwV0vEemRYLyXht2IrQ" fontName="Noto Sans" fontHeight="8"/>
1445 <layoutConstraint xmi:type="notation:Location" xmi:id="_yhHIwl0vEemRYLyXht2IrQ"/>
1446 </children>
1447 <children xmi:type="notation:Node" xmi:id="_zAX3oF0vEemRYLyXht2IrQ" type="3010" element="_zAInEF0vEemRYLyXht2IrQ">
1448 <styles xmi:type="notation:FontStyle" xmi:id="_zAX3oV0vEemRYLyXht2IrQ" fontName="Noto Sans" fontHeight="8"/>
1449 <layoutConstraint xmi:type="notation:Location" xmi:id="_zAX3ol0vEemRYLyXht2IrQ"/>
1450 </children>
1451 <styles xmi:type="notation:SortingStyle" xmi:id="_vysasl0vEemRYLyXht2IrQ"/>
1452 <styles xmi:type="notation:FilteringStyle" xmi:id="_vysas10vEemRYLyXht2IrQ"/>
1453 </children>
1454 <styles xmi:type="notation:ShapeStyle" xmi:id="_vyrzoV0vEemRYLyXht2IrQ" fontName="Noto Sans" fontHeight="8"/>
1455 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vyrzol0vEemRYLyXht2IrQ" x="988" y="39" width="120" height="100"/>
1456 </children>
1457 <children xmi:type="notation:Node" xmi:id="_Ct-Y8F0wEemRYLyXht2IrQ" type="2003" element="_Ctw9kF0wEemRYLyXht2IrQ">
1458 <children xmi:type="notation:Node" xmi:id="_Ct_AAF0wEemRYLyXht2IrQ" type="5007"/>
1459 <children xmi:type="notation:Node" xmi:id="_Ct_nEF0wEemRYLyXht2IrQ" type="7004">
1460 <styles xmi:type="notation:SortingStyle" xmi:id="_Ct_nEV0wEemRYLyXht2IrQ"/>
1461 <styles xmi:type="notation:FilteringStyle" xmi:id="_Ct_nEl0wEemRYLyXht2IrQ"/>
1462 </children>
1463 <styles xmi:type="notation:ShapeStyle" xmi:id="_Ct-Y8V0wEemRYLyXht2IrQ" fontName="Noto Sans" fontHeight="8"/>
1464 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ct-Y8l0wEemRYLyXht2IrQ" x="754" y="325" width="198" height="100"/>
1465 </children>
1466 <children xmi:type="notation:Node" xmi:id="_M5X18F0wEemRYLyXht2IrQ" type="2003" element="_M5OsAF0wEemRYLyXht2IrQ">
1467 <children xmi:type="notation:Node" xmi:id="_M5YdAF0wEemRYLyXht2IrQ" type="5007"/>
1468 <children xmi:type="notation:Node" xmi:id="_M5YdAV0wEemRYLyXht2IrQ" type="7004">
1469 <children xmi:type="notation:Node" xmi:id="_OBrh0F0wEemRYLyXht2IrQ" type="3010" element="_OBacEF0wEemRYLyXht2IrQ">
1470 <styles xmi:type="notation:FontStyle" xmi:id="_OBrh0V0wEemRYLyXht2IrQ" fontName="Noto Sans" fontHeight="8"/>
1471 <layoutConstraint xmi:type="notation:Location" xmi:id="_OBrh0l0wEemRYLyXht2IrQ"/>
1472 </children>
1473 <children xmi:type="notation:Node" xmi:id="_Oca9EF0wEemRYLyXht2IrQ" type="3010" element="_OcLsgF0wEemRYLyXht2IrQ">
1474 <styles xmi:type="notation:FontStyle" xmi:id="_Oca9EV0wEemRYLyXht2IrQ" fontName="Noto Sans" fontHeight="8"/>
1475 <layoutConstraint xmi:type="notation:Location" xmi:id="_Oca9El0wEemRYLyXht2IrQ"/>
1476 </children>
1477 <children xmi:type="notation:Node" xmi:id="_O9880F0wEemRYLyXht2IrQ" type="3010" element="_O9wIgF0wEemRYLyXht2IrQ">
1478 <styles xmi:type="notation:FontStyle" xmi:id="_O9880V0wEemRYLyXht2IrQ" fontName="Noto Sans" fontHeight="8"/>
1479 <layoutConstraint xmi:type="notation:Location" xmi:id="_O9880l0wEemRYLyXht2IrQ"/>
1480 </children>
1481 <styles xmi:type="notation:SortingStyle" xmi:id="_M5YdAl0wEemRYLyXht2IrQ"/>
1482 <styles xmi:type="notation:FilteringStyle" xmi:id="_M5YdA10wEemRYLyXht2IrQ"/>
1483 </children>
1484 <styles xmi:type="notation:ShapeStyle" xmi:id="_M5X18V0wEemRYLyXht2IrQ" fontName="Noto Sans" fontHeight="8"/>
1485 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M5X18l0wEemRYLyXht2IrQ" x="988" y="182" width="120" height="100"/>
1486 </children>
1487 <children xmi:type="notation:Node" xmi:id="_0aeMMF0xEemRYLyXht2IrQ" type="2003" element="_0aW3cF0xEemRYLyXht2IrQ">
1488 <children xmi:type="notation:Node" xmi:id="_0aeMM10xEemRYLyXht2IrQ" type="5007"/>
1489 <children xmi:type="notation:Node" xmi:id="_0aezQF0xEemRYLyXht2IrQ" type="7004">
1490 <styles xmi:type="notation:SortingStyle" xmi:id="_0aezQV0xEemRYLyXht2IrQ"/>
1491 <styles xmi:type="notation:FilteringStyle" xmi:id="_0aezQl0xEemRYLyXht2IrQ"/>
1492 </children>
1493 <styles xmi:type="notation:ShapeStyle" xmi:id="_0aeMMV0xEemRYLyXht2IrQ" fontName="Noto Sans" fontHeight="8"/>
1494 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0aeMMl0xEemRYLyXht2IrQ" x="52" y="325" width="120" height="100"/>
1495 </children>
1496 <children xmi:type="notation:Node" xmi:id="_45PdkF0xEemRYLyXht2IrQ" type="2003" element="_45FskF0xEemRYLyXht2IrQ">
1497 <children xmi:type="notation:Node" xmi:id="_45QEoF0xEemRYLyXht2IrQ" type="5007"/>
1498 <children xmi:type="notation:Node" xmi:id="_45QEoV0xEemRYLyXht2IrQ" type="7004">
1499 <styles xmi:type="notation:SortingStyle" xmi:id="_45QEol0xEemRYLyXht2IrQ"/>
1500 <styles xmi:type="notation:FilteringStyle" xmi:id="_45QEo10xEemRYLyXht2IrQ"/>
1501 </children>
1502 <styles xmi:type="notation:ShapeStyle" xmi:id="_45PdkV0xEemRYLyXht2IrQ" fontName="Noto Sans" fontHeight="8"/>
1503 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_45Pdkl0xEemRYLyXht2IrQ" x="39" y="481" width="146" height="100"/>
1504 </children>
1505 <children xmi:type="notation:Node" xmi:id="_2omYkG60Eem3gIPdAp40Tw" type="2003" element="_2oBw0G60Eem3gIPdAp40Tw">
1506 <children xmi:type="notation:Node" xmi:id="_2orREG60Eem3gIPdAp40Tw" type="5007"/>
1507 <children xmi:type="notation:Node" xmi:id="_2or4IG60Eem3gIPdAp40Tw" type="7004">
1508 <children xmi:type="notation:Node" xmi:id="_5QV24G60Eem3gIPdAp40Tw" type="3010" element="_5P_4oG60Eem3gIPdAp40Tw">
1509 <styles xmi:type="notation:FontStyle" xmi:id="_5QV24W60Eem3gIPdAp40Tw" fontName="Noto Sans" fontHeight="8"/>
1510 <layoutConstraint xmi:type="notation:Location" xmi:id="_5QV24m60Eem3gIPdAp40Tw"/>
1511 </children>
1512 <children xmi:type="notation:Node" xmi:id="_UKi6wHA6Eem9acJE7_CmTw" type="3010" element="_UKKgQHA6Eem9acJE7_CmTw">
1513 <styles xmi:type="notation:FontStyle" xmi:id="_UKi6wXA6Eem9acJE7_CmTw" fontName="Noto Sans" fontHeight="8"/>
1514 <layoutConstraint xmi:type="notation:Location" xmi:id="_UKi6wnA6Eem9acJE7_CmTw"/>
1515 </children>
1516 <children xmi:type="notation:Node" xmi:id="_7SZ1QG60Eem3gIPdAp40Tw" type="3010" element="_7R9JUG60Eem3gIPdAp40Tw">
1517 <styles xmi:type="notation:FontStyle" xmi:id="_7SZ1QW60Eem3gIPdAp40Tw" fontName="Noto Sans" fontHeight="8"/>
1518 <layoutConstraint xmi:type="notation:Location" xmi:id="_7SZ1Qm60Eem3gIPdAp40Tw"/>
1519 </children>
1520 <styles xmi:type="notation:SortingStyle" xmi:id="_2or4IW60Eem3gIPdAp40Tw"/>
1521 <styles xmi:type="notation:FilteringStyle" xmi:id="_2or4Im60Eem3gIPdAp40Tw"/>
1522 </children>
1523 <styles xmi:type="notation:ShapeStyle" xmi:id="_2omYkW60Eem3gIPdAp40Tw" fontName="Noto Sans" fontHeight="8"/>
1524 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2omYkm60Eem3gIPdAp40Tw" x="990" y="325" width="120" height="100"/>
1525 </children>
1526 <children xmi:type="notation:Node" xmi:id="_fnQ1sHA6Eem9acJE7_CmTw" type="2003" element="_fm1X4HA6Eem9acJE7_CmTw">
1527 <children xmi:type="notation:Node" xmi:id="_fnT5AHA6Eem9acJE7_CmTw" type="5007"/>
1528 <children xmi:type="notation:Node" xmi:id="_fnUgEHA6Eem9acJE7_CmTw" type="7004">
1529 <styles xmi:type="notation:SortingStyle" xmi:id="_fnUgEXA6Eem9acJE7_CmTw"/>
1530 <styles xmi:type="notation:FilteringStyle" xmi:id="_fnUgEnA6Eem9acJE7_CmTw"/>
1531 </children>
1532 <styles xmi:type="notation:ShapeStyle" xmi:id="_fnQ1sXA6Eem9acJE7_CmTw" fontName="Noto Sans" fontHeight="8"/>
1533 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fnQ1snA6Eem9acJE7_CmTw" x="209" y="484" width="120" height="100"/>
1534 </children>
1535 <children xmi:type="notation:Node" xmi:id="_haz28HA6Eem9acJE7_CmTw" type="2003" element="_hanCoHA6Eem9acJE7_CmTw">
1536 <children xmi:type="notation:Node" xmi:id="_ha0eAHA6Eem9acJE7_CmTw" type="5007"/>
1537 <children xmi:type="notation:Node" xmi:id="_ha0eAXA6Eem9acJE7_CmTw" type="7004">
1538 <styles xmi:type="notation:SortingStyle" xmi:id="_ha0eAnA6Eem9acJE7_CmTw"/>
1539 <styles xmi:type="notation:FilteringStyle" xmi:id="_ha0eA3A6Eem9acJE7_CmTw"/>
1540 </children>
1541 <styles xmi:type="notation:ShapeStyle" xmi:id="_haz28XA6Eem9acJE7_CmTw" fontName="Noto Sans" fontHeight="8"/>
1542 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_haz28nA6Eem9acJE7_CmTw" x="352" y="484" width="120" height="100"/>
1543 </children>
1544 <children xmi:type="notation:Node" xmi:id="_irD94HA6Eem9acJE7_CmTw" type="2003" element="_iqnR8HA6Eem9acJE7_CmTw">
1545 <children xmi:type="notation:Node" xmi:id="_irEk8HA6Eem9acJE7_CmTw" type="5007"/>
1546 <children xmi:type="notation:Node" xmi:id="_irEk8XA6Eem9acJE7_CmTw" type="7004">
1547 <styles xmi:type="notation:SortingStyle" xmi:id="_irEk8nA6Eem9acJE7_CmTw"/>
1548 <styles xmi:type="notation:FilteringStyle" xmi:id="_irEk83A6Eem9acJE7_CmTw"/>
1549 </children>
1550 <styles xmi:type="notation:ShapeStyle" xmi:id="_irD94XA6Eem9acJE7_CmTw" fontName="Noto Sans" fontHeight="8"/>
1551 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_irD94nA6Eem9acJE7_CmTw" x="495" y="484" width="120" height="100"/>
1552 </children>
1553 <styles xmi:type="notation:DiagramStyle" xmi:id="_rfAxQl0qEemRYLyXht2IrQ"/>
1554 <edges xmi:type="notation:Edge" xmi:id="_0jV4gF0qEemRYLyXht2IrQ" type="4001" element="_0jIdIF0qEemRYLyXht2IrQ" source="_vlcbIF0qEemRYLyXht2IrQ" target="_tNH44F0qEemRYLyXht2IrQ">
1555 <children xmi:type="notation:Node" xmi:id="_0jXGoF0qEemRYLyXht2IrQ" type="6001">
1556 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0jXGoV0qEemRYLyXht2IrQ" y="-10"/>
1557 </children>
1558 <children xmi:type="notation:Node" xmi:id="_0jXtsF0qEemRYLyXht2IrQ" type="6002">
1559 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0jXtsV0qEemRYLyXht2IrQ" y="10"/>
1560 </children>
1561 <children xmi:type="notation:Node" xmi:id="_0jYUwF0qEemRYLyXht2IrQ" type="6003">
1562 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0jYUwV0qEemRYLyXht2IrQ" y="10"/>
1563 </children>
1564 <styles xmi:type="notation:ConnectorStyle" xmi:id="_0jV4gV0qEemRYLyXht2IrQ" routing="Tree"/>
1565 <styles xmi:type="notation:FontStyle" xmi:id="_0jV4gl0qEemRYLyXht2IrQ" fontName="Noto Sans" fontHeight="8"/>
1566 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0jV4g10qEemRYLyXht2IrQ" points="[0, 0, 0, 45]$[0, -45, 0, 0]"/>
1567 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0jaxAF0qEemRYLyXht2IrQ" id="(0.410958904109589,0.01)"/>
1568 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0jaxAV0qEemRYLyXht2IrQ" id="(0.4548611111111111,0.5)"/>
1569 </edges>
1570 <edges xmi:type="notation:Edge" xmi:id="_Npck0F0sEemRYLyXht2IrQ" type="4001" element="_NpQ-pl0sEemRYLyXht2IrQ" source="__OldwF0rEemRYLyXht2IrQ" target="_3UIIoF0rEemRYLyXht2IrQ">
1571 <children xmi:type="notation:Node" xmi:id="_NpdL4F0sEemRYLyXht2IrQ" type="6001">
1572 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NpdL4V0sEemRYLyXht2IrQ" y="-10"/>
1573 </children>
1574 <children xmi:type="notation:Node" xmi:id="_NpdL4l0sEemRYLyXht2IrQ" type="6002">
1575 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NpdL410sEemRYLyXht2IrQ" y="10"/>
1576 </children>
1577 <children xmi:type="notation:Node" xmi:id="_NpdL5F0sEemRYLyXht2IrQ" type="6003">
1578 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NpdL5V0sEemRYLyXht2IrQ" y="10"/>
1579 </children>
1580 <styles xmi:type="notation:ConnectorStyle" xmi:id="_Npck0V0sEemRYLyXht2IrQ" routing="Tree"/>
1581 <styles xmi:type="notation:FontStyle" xmi:id="_Npck0l0sEemRYLyXht2IrQ" fontName="Noto Sans" fontHeight="8"/>
1582 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Npck010sEemRYLyXht2IrQ" points="[0, 0, -103, 45]$[103, -45, 0, 0]"/>
1583 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NpdL5l0sEemRYLyXht2IrQ" id="(0.5031847133757962,0.0)"/>
1584 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NpdL510sEemRYLyXht2IrQ" id="(0.5,0.5)"/>
1585 </edges>
1586 <edges xmi:type="notation:Edge" xmi:id="_PE8ScF0sEemRYLyXht2IrQ" type="4001" element="_PEp-k10sEemRYLyXht2IrQ" source="_Aq3OgF0sEemRYLyXht2IrQ" target="_3UIIoF0rEemRYLyXht2IrQ">
1587 <children xmi:type="notation:Node" xmi:id="_PE8SdF0sEemRYLyXht2IrQ" type="6001">
1588 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PE8SdV0sEemRYLyXht2IrQ" y="-10"/>
1589 </children>
1590 <children xmi:type="notation:Node" xmi:id="_PE8Sdl0sEemRYLyXht2IrQ" type="6002">
1591 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PE8Sd10sEemRYLyXht2IrQ" y="10"/>
1592 </children>
1593 <children xmi:type="notation:Node" xmi:id="_PE85gF0sEemRYLyXht2IrQ" type="6003">
1594 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PE85gV0sEemRYLyXht2IrQ" y="10"/>
1595 </children>
1596 <styles xmi:type="notation:ConnectorStyle" xmi:id="_PE8ScV0sEemRYLyXht2IrQ" routing="Tree"/>
1597 <styles xmi:type="notation:FontStyle" xmi:id="_PE8Scl0sEemRYLyXht2IrQ" fontName="Noto Sans" fontHeight="8"/>
1598 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PE8Sc10sEemRYLyXht2IrQ" points="[0, 0, 97, 45]$[-97, -45, 0, 0]"/>
1599 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PE85gl0sEemRYLyXht2IrQ" id="(0.5508474576271186,0.0)"/>
1600 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PE85g10sEemRYLyXht2IrQ" id="(0.5,0.5)"/>
1601 </edges>
1602 <edges xmi:type="notation:Edge" xmi:id="_4CEP4F0vEemRYLyXht2IrQ" type="4001" element="_4B9iMF0vEemRYLyXht2IrQ" source="_3UIIoF0rEemRYLyXht2IrQ" target="_j0vs4F0tEemRYLyXht2IrQ">
1603 <children xmi:type="notation:Node" xmi:id="_4CEP5F0vEemRYLyXht2IrQ" type="6001">
1604 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4CEP5V0vEemRYLyXht2IrQ" x="13" y="-18"/>
1605 </children>
1606 <children xmi:type="notation:Node" xmi:id="_4CE28F0vEemRYLyXht2IrQ" type="6002">
1607 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4CE28V0vEemRYLyXht2IrQ" x="54" y="10"/>
1608 </children>
1609 <children xmi:type="notation:Node" xmi:id="_4CE28l0vEemRYLyXht2IrQ" type="6003">
1610 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4CE2810vEemRYLyXht2IrQ" x="28" y="10"/>
1611 </children>
1612 <styles xmi:type="notation:ConnectorStyle" xmi:id="_4CEP4V0vEemRYLyXht2IrQ" routing="Rectilinear"/>
1613 <styles xmi:type="notation:FontStyle" xmi:id="_4CEP4l0vEemRYLyXht2IrQ" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
1614 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4CEP410vEemRYLyXht2IrQ" points="[0, -26, -194, -52]$[194, -26, 0, -52]"/>
1615 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4CE29F0vEemRYLyXht2IrQ" id="(1.0,0.5306122448979592)"/>
1616 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4CE29V0vEemRYLyXht2IrQ" id="(0.0,0.7959183673469388)"/>
1617 </edges>
1618 <edges xmi:type="notation:Edge" xmi:id="_ccT_YF0wEemRYLyXht2IrQ" type="4001" element="_ccF89l0wEemRYLyXht2IrQ" source="_3UIIoF0rEemRYLyXht2IrQ" target="_Ct-Y8F0wEemRYLyXht2IrQ">
1619 <children xmi:type="notation:Node" xmi:id="_ccT_ZF0wEemRYLyXht2IrQ" type="6001">
1620 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccT_ZV0wEemRYLyXht2IrQ" x="-32" y="39"/>
1621 </children>
1622 <children xmi:type="notation:Node" xmi:id="_ccUmcF0wEemRYLyXht2IrQ" type="6002">
1623 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccUmcV0wEemRYLyXht2IrQ" x="48" y="10"/>
1624 </children>
1625 <children xmi:type="notation:Node" xmi:id="_ccUmcl0wEemRYLyXht2IrQ" type="6003">
1626 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ccUmc10wEemRYLyXht2IrQ" x="22" y="-8"/>
1627 </children>
1628 <styles xmi:type="notation:ConnectorStyle" xmi:id="_ccT_YV0wEemRYLyXht2IrQ" routing="Rectilinear"/>
1629 <styles xmi:type="notation:FontStyle" xmi:id="_ccT_Yl0wEemRYLyXht2IrQ" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
1630 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ccT_Y10wEemRYLyXht2IrQ" points="[27, -33, -194, -143]$[182, -33, -39, -143]$[182, 110, -39, 0]$[221, 110, 0, 0]"/>
1631 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ccUmdF0wEemRYLyXht2IrQ" id="(0.8411764705882353,1.0)"/>
1632 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ccUmdV0wEemRYLyXht2IrQ" id="(0.0,0.6632653061224489)"/>
1633 </edges>
1634 <edges xmi:type="notation:Edge" xmi:id="_db1tQF0xEemRYLyXht2IrQ" type="4001" element="_dbuYhl0xEemRYLyXht2IrQ" source="_Ct-Y8F0wEemRYLyXht2IrQ" target="_j0vs4F0tEemRYLyXht2IrQ">
1635 <children xmi:type="notation:Node" xmi:id="_db2UUF0xEemRYLyXht2IrQ" type="6001">
1636 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_db2UUV0xEemRYLyXht2IrQ" x="-5" y="-44"/>
1637 </children>
1638 <children xmi:type="notation:Node" xmi:id="_db2UUl0xEemRYLyXht2IrQ" type="6002">
1639 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_db2UU10xEemRYLyXht2IrQ" y="10"/>
1640 </children>
1641 <children xmi:type="notation:Node" xmi:id="_db2UVF0xEemRYLyXht2IrQ" type="6003">
1642 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_db2UVV0xEemRYLyXht2IrQ" y="10"/>
1643 </children>
1644 <styles xmi:type="notation:ConnectorStyle" xmi:id="_db1tQV0xEemRYLyXht2IrQ" routing="Rectilinear"/>
1645 <styles xmi:type="notation:FontStyle" xmi:id="_db1tQl0xEemRYLyXht2IrQ" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
1646 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_db1tQ10xEemRYLyXht2IrQ" points="[14, 0, 14, 45]$[14, -45, 14, 0]"/>
1647 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_db2UVl0xEemRYLyXht2IrQ" id="(0.19387755102040816,0.0)"/>
1648 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_db2UV10xEemRYLyXht2IrQ" id="(0.19387755102040816,1.0)"/>
1649 </edges>
1650 <edges xmi:type="notation:Edge" xmi:id="_i2ZRcF0xEemRYLyXht2IrQ" type="4001" element="_i2PgeV0xEemRYLyXht2IrQ" source="_Ct-Y8F0wEemRYLyXht2IrQ" target="_j0vs4F0tEemRYLyXht2IrQ">
1651 <children xmi:type="notation:Node" xmi:id="_i2ZRdF0xEemRYLyXht2IrQ" type="6001">
1652 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_i2ZRdV0xEemRYLyXht2IrQ" x="-5" y="46"/>
1653 </children>
1654 <children xmi:type="notation:Node" xmi:id="_i2ZRdl0xEemRYLyXht2IrQ" type="6002">
1655 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_i2ZRd10xEemRYLyXht2IrQ" y="10"/>
1656 </children>
1657 <children xmi:type="notation:Node" xmi:id="_i2ZReF0xEemRYLyXht2IrQ" type="6003">
1658 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_i2ZReV0xEemRYLyXht2IrQ" y="10"/>
1659 </children>
1660 <styles xmi:type="notation:ConnectorStyle" xmi:id="_i2ZRcV0xEemRYLyXht2IrQ" routing="Rectilinear"/>
1661 <styles xmi:type="notation:FontStyle" xmi:id="_i2ZRcl0xEemRYLyXht2IrQ" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
1662 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_i2ZRc10xEemRYLyXht2IrQ" points="[0, 0, 0, 45]$[0, -45, 0, 0]"/>
1663 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_i2ZRel0xEemRYLyXht2IrQ" id="(0.7193877551020408,0.0)"/>
1664 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_i2ZRe10xEemRYLyXht2IrQ" id="(0.7193877551020408,1.0)"/>
1665 </edges>
1666 <edges xmi:type="notation:Edge" xmi:id="_3HAq8F0xEemRYLyXht2IrQ" type="4001" element="_3GzPll0xEemRYLyXht2IrQ" source="_Aq3OgF0sEemRYLyXht2IrQ" target="_0aeMMF0xEemRYLyXht2IrQ">
1667 <children xmi:type="notation:Node" xmi:id="_3HBSAF0xEemRYLyXht2IrQ" type="6001">
1668 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3HBSAV0xEemRYLyXht2IrQ" y="-10"/>
1669 </children>
1670 <children xmi:type="notation:Node" xmi:id="_3HBSAl0xEemRYLyXht2IrQ" type="6002">
1671 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3HBSA10xEemRYLyXht2IrQ" y="10"/>
1672 </children>
1673 <children xmi:type="notation:Node" xmi:id="_3HB5EF0xEemRYLyXht2IrQ" type="6003">
1674 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3HB5EV0xEemRYLyXht2IrQ" y="10"/>
1675 </children>
1676 <styles xmi:type="notation:ConnectorStyle" xmi:id="_3HAq8V0xEemRYLyXht2IrQ" routing="Rectilinear"/>
1677 <styles xmi:type="notation:FontStyle" xmi:id="_3HAq8l0xEemRYLyXht2IrQ" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
1678 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3HAq810xEemRYLyXht2IrQ" points="[0, 0, 168, 0]$[-168, 0, 0, 0]"/>
1679 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3HB5El0xEemRYLyXht2IrQ" id="(0.0,0.5)"/>
1680 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3HB5E10xEemRYLyXht2IrQ" id="(1.0,0.5)"/>
1681 </edges>
1682 <edges xmi:type="notation:Edge" xmi:id="_8iOWcF0xEemRYLyXht2IrQ" type="4001" element="_8iFzll0xEemRYLyXht2IrQ" source="_45PdkF0xEemRYLyXht2IrQ" target="_0aeMMF0xEemRYLyXht2IrQ">
1683 <children xmi:type="notation:Node" xmi:id="_8iOWdF0xEemRYLyXht2IrQ" type="6001">
1684 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8iOWdV0xEemRYLyXht2IrQ" y="-10"/>
1685 </children>
1686 <children xmi:type="notation:Node" xmi:id="_8iO9gF0xEemRYLyXht2IrQ" type="6002">
1687 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8iO9gV0xEemRYLyXht2IrQ" y="10"/>
1688 </children>
1689 <children xmi:type="notation:Node" xmi:id="_8iO9gl0xEemRYLyXht2IrQ" type="6003">
1690 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8iO9g10xEemRYLyXht2IrQ" y="10"/>
1691 </children>
1692 <styles xmi:type="notation:ConnectorStyle" xmi:id="_8iOWcV0xEemRYLyXht2IrQ" routing="Tree"/>
1693 <styles xmi:type="notation:FontStyle" xmi:id="_8iOWcl0xEemRYLyXht2IrQ" fontName="Noto Sans" fontHeight="8"/>
1694 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8iOWc10xEemRYLyXht2IrQ" points="[0, 0, 0, 58]$[0, -58, 0, 0]"/>
1695 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8iO9hF0xEemRYLyXht2IrQ" id="(0.4246575342465753,0.01)"/>
1696 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8iO9hV0xEemRYLyXht2IrQ" id="(0.5,0.5)"/>
1697 </edges>
1698 <edges xmi:type="notation:Edge" xmi:id="_Kzrp4F0yEemRYLyXht2IrQ" type="4001" element="_KzljXl0yEemRYLyXht2IrQ" source="_tNH44F0qEemRYLyXht2IrQ" target="__OldwF0rEemRYLyXht2IrQ">
1699 <children xmi:type="notation:Node" xmi:id="_Kzrp5F0yEemRYLyXht2IrQ" type="6001">
1700 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Kzrp5V0yEemRYLyXht2IrQ" x="-11" y="-10"/>
1701 </children>
1702 <children xmi:type="notation:Node" xmi:id="_Kzrp5l0yEemRYLyXht2IrQ" type="6002">
1703 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Kzrp510yEemRYLyXht2IrQ" x="-3" y="10"/>
1704 </children>
1705 <children xmi:type="notation:Node" xmi:id="_Kzrp6F0yEemRYLyXht2IrQ" type="6003">
1706 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Kzrp6V0yEemRYLyXht2IrQ" x="3" y="10"/>
1707 </children>
1708 <styles xmi:type="notation:ConnectorStyle" xmi:id="_Kzrp4V0yEemRYLyXht2IrQ" routing="Rectilinear"/>
1709 <styles xmi:type="notation:FontStyle" xmi:id="_Kzrp4l0yEemRYLyXht2IrQ" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
1710 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Kzrp410yEemRYLyXht2IrQ" points="[0, -57, -419, -265]$[418, -57, -1, -265]$[418, 208, -1, 0]"/>
1711 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Kzrp6l0yEemRYLyXht2IrQ" id="(1.0,0.7959183673469388)"/>
1712 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Kzrp610yEemRYLyXht2IrQ" id="(0.610062893081761,0.0)"/>
1713 </edges>
1714 <edges xmi:type="notation:Edge" xmi:id="_PdUugF0yEemRYLyXht2IrQ" type="4001" element="_PdH6PF0yEemRYLyXht2IrQ" source="_tNH44F0qEemRYLyXht2IrQ" target="_Aq3OgF0sEemRYLyXht2IrQ">
1715 <children xmi:type="notation:Node" xmi:id="_PdUuhF0yEemRYLyXht2IrQ" type="6001">
1716 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PdUuhV0yEemRYLyXht2IrQ" x="-30" y="104"/>
1717 </children>
1718 <children xmi:type="notation:Node" xmi:id="_PdUuhl0yEemRYLyXht2IrQ" type="6002">
1719 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PdUuh10yEemRYLyXht2IrQ" y="10"/>
1720 </children>
1721 <children xmi:type="notation:Node" xmi:id="_PdVVkF0yEemRYLyXht2IrQ" type="6003">
1722 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PdVVkV0yEemRYLyXht2IrQ" x="-4" y="10"/>
1723 </children>
1724 <styles xmi:type="notation:ConnectorStyle" xmi:id="_PdUugV0yEemRYLyXht2IrQ" routing="Rectilinear"/>
1725 <styles xmi:type="notation:FontStyle" xmi:id="_PdUugl0yEemRYLyXht2IrQ" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
1726 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PdUug10yEemRYLyXht2IrQ" points="[40, -32, -194, -220]$[221, -32, -13, -220]$[221, 188, -13, 0]"/>
1727 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PdVVkl0yEemRYLyXht2IrQ" id="(0.7222222222222222,1.0)"/>
1728 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PdVVk10yEemRYLyXht2IrQ" id="(0.3305084745762712,0.0)"/>
1729 </edges>
1730 <edges xmi:type="notation:Edge" xmi:id="_n98MwHA6Eem9acJE7_CmTw" type="4001" element="_n9tjRnA6Eem9acJE7_CmTw" source="_irD94HA6Eem9acJE7_CmTw" target="_Aq3OgF0sEemRYLyXht2IrQ">
1731 <children xmi:type="notation:Node" xmi:id="_n98z0HA6Eem9acJE7_CmTw" type="6001">
1732 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_n98z0XA6Eem9acJE7_CmTw" y="-10"/>
1733 </children>
1734 <children xmi:type="notation:Node" xmi:id="_n98z0nA6Eem9acJE7_CmTw" type="6002">
1735 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_n98z03A6Eem9acJE7_CmTw" y="10"/>
1736 </children>
1737 <children xmi:type="notation:Node" xmi:id="_n98z1HA6Eem9acJE7_CmTw" type="6003">
1738 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_n98z1XA6Eem9acJE7_CmTw" y="10"/>
1739 </children>
1740 <styles xmi:type="notation:ConnectorStyle" xmi:id="_n98MwXA6Eem9acJE7_CmTw" routing="Tree"/>
1741 <styles xmi:type="notation:FontStyle" xmi:id="_n98MwnA6Eem9acJE7_CmTw" fontName="Noto Sans" fontHeight="8"/>
1742 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_n98Mw3A6Eem9acJE7_CmTw" points="[0, 0, 94, 151]$[-94, -151, 0, 0]"/>
1743 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_n98z1nA6Eem9acJE7_CmTw" id="(0.2796610169491525,0.0)"/>
1744 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_n98z13A6Eem9acJE7_CmTw" id="(0.3305084745762712,0.0)"/>
1745 </edges>
1746 <edges xmi:type="notation:Edge" xmi:id="_3d2LIHBMEempc7JjePmuNw" type="4001" element="_3dgz_3BMEempc7JjePmuNw" source="_haz28HA6Eem9acJE7_CmTw" target="_Aq3OgF0sEemRYLyXht2IrQ">
1747 <children xmi:type="notation:Node" xmi:id="_3d_VEHBMEempc7JjePmuNw" type="6001">
1748 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3d_VEXBMEempc7JjePmuNw" y="-10"/>
1749 </children>
1750 <children xmi:type="notation:Node" xmi:id="_3eAjMHBMEempc7JjePmuNw" type="6002">
1751 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3eAjMXBMEempc7JjePmuNw" y="10"/>
1752 </children>
1753 <children xmi:type="notation:Node" xmi:id="_3eBKQHBMEempc7JjePmuNw" type="6003">
1754 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3eBKQXBMEempc7JjePmuNw" y="10"/>
1755 </children>
1756 <styles xmi:type="notation:ConnectorStyle" xmi:id="_3d2LIXBMEempc7JjePmuNw" routing="Tree"/>
1757 <styles xmi:type="notation:FontStyle" xmi:id="_3d2LInBMEempc7JjePmuNw" fontName="Noto Sans" fontHeight="8"/>
1758 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3d2LI3BMEempc7JjePmuNw" points="[0, 0, -14, 61]$[14, -61, 0, 0]"/>
1759 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3eENkHBMEempc7JjePmuNw" id="(0.6583333333333333,0.0)"/>
1760 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3eENkXBMEempc7JjePmuNw" id="(0.3305084745762712,0.0)"/>
1761 </edges>
1762 <edges xmi:type="notation:Edge" xmi:id="_37fJYHBMEempc7JjePmuNw" type="4001" element="_37Qf-HBMEempc7JjePmuNw" source="_fnQ1sHA6Eem9acJE7_CmTw" target="_Aq3OgF0sEemRYLyXht2IrQ">
1763 <children xmi:type="notation:Node" xmi:id="_37fwcHBMEempc7JjePmuNw" type="6001">
1764 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_37fwcXBMEempc7JjePmuNw" y="-10"/>
1765 </children>
1766 <children xmi:type="notation:Node" xmi:id="_37fwcnBMEempc7JjePmuNw" type="6002">
1767 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_37fwc3BMEempc7JjePmuNw" y="10"/>
1768 </children>
1769 <children xmi:type="notation:Node" xmi:id="_37fwdHBMEempc7JjePmuNw" type="6003">
1770 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_37fwdXBMEempc7JjePmuNw" y="10"/>
1771 </children>
1772 <styles xmi:type="notation:ConnectorStyle" xmi:id="_37fJYXBMEempc7JjePmuNw" routing="Tree"/>
1773 <styles xmi:type="notation:FontStyle" xmi:id="_37fJYnBMEempc7JjePmuNw" fontName="Noto Sans" fontHeight="8"/>
1774 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_37fJY3BMEempc7JjePmuNw" points="[0, 0, -63, 154]$[63, -154, 0, 0]"/>
1775 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_37gXgHBMEempc7JjePmuNw" id="(0.559322033898305,0.0)"/>
1776 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_37gXgXBMEempc7JjePmuNw" id="(0.3305084745762712,0.0)"/>
1777 </edges>
1778 </data>
1779 </ownedAnnotationEntries>
1780 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_tM4oUF0qEemRYLyXht2IrQ" name="ConstellationMission" tooltipText="" outgoingEdges="_KzljXl0yEemRYLyXht2IrQ _PdH6PF0yEemRYLyXht2IrQ" incomingEdges="_0jIdIF0qEemRYLyXht2IrQ" width="12" height="10">
1781 <target xmi:type="ecore:EClass" href="satellite.ecore#//ConstellationMission"/>
1782 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//ConstellationMission"/>
1783 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1784 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1785 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1786 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_4b3pQV0qEemRYLyXht2IrQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
1787 <labelFormat>italic</labelFormat>
1788 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
1789 </ownedStyle>
1790 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1791 </ownedDiagramElements>
1792 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_vlPm0F0qEemRYLyXht2IrQ" name="InterferometryMission" tooltipText="" outgoingEdges="_0jIdIF0qEemRYLyXht2IrQ" width="12" height="10">
1793 <target xmi:type="ecore:EClass" href="satellite.ecore#//InterferometryMission"/>
1794 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//InterferometryMission"/>
1795 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1796 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1797 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1798 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_0ECtY10qEemRYLyXht2IrQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1799 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1800 </ownedStyle>
1801 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1802 <ownedElements xmi:type="diagram:DNodeListElement" uid="_zChmAF0qEemRYLyXht2IrQ" name="observationTime : EFloat = 2.0" tooltipText="">
1803 <target xmi:type="ecore:EAttribute" href="satellite.ecore#//InterferometryMission/observationTime"/>
1804 <semanticElements xmi:type="ecore:EAttribute" href="satellite.ecore#//InterferometryMission/observationTime"/>
1805 <ownedStyle xmi:type="diagram:BundledImage" uid="_1awPYV0vEemRYLyXht2IrQ" labelAlignment="LEFT" description="_028-wF0vEemRYLyXht2IrQ">
1806 <labelFormat>bold</labelFormat>
1807 </ownedStyle>
1808 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
1809 </ownedElements>
1810 </ownedDiagramElements>
1811 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_0jIdIF0qEemRYLyXht2IrQ" sourceNode="_vlPm0F0qEemRYLyXht2IrQ" targetNode="_tM4oUF0qEemRYLyXht2IrQ">
1812 <target xmi:type="ecore:EClass" href="satellite.ecore#//InterferometryMission"/>
1813 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//InterferometryMission"/>
1814 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_0jK5YF0qEemRYLyXht2IrQ" targetArrow="InputClosedArrow" routingStyle="tree">
1815 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
1816 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_0jK5YV0qEemRYLyXht2IrQ" showIcon="false">
1817 <labelFormat>italic</labelFormat>
1818 </beginLabelStyle>
1819 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_0jK5Yl0qEemRYLyXht2IrQ" showIcon="false"/>
1820 </ownedStyle>
1821 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1822 </ownedDiagramElements>
1823 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_3T7UUF0rEemRYLyXht2IrQ" name="CommunicatingElement" tooltipText="" outgoingEdges="_4B9iMF0vEemRYLyXht2IrQ _ccF89l0wEemRYLyXht2IrQ" incomingEdges="_NpQ-pl0sEemRYLyXht2IrQ _PEp-k10sEemRYLyXht2IrQ" width="12" height="10">
1824 <target xmi:type="ecore:EClass" href="satellite.ecore#//CommunicatingElement"/>
1825 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//CommunicatingElement"/>
1826 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1827 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1828 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1829 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_9uaEcV0rEemRYLyXht2IrQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
1830 <labelFormat>italic</labelFormat>
1831 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
1832 </ownedStyle>
1833 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1834 </ownedDiagramElements>
1835 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="__OYCYF0rEemRYLyXht2IrQ" name="GroundStationNetwork" tooltipText="" outgoingEdges="_NpQ-pl0sEemRYLyXht2IrQ" incomingEdges="_KzljXl0yEemRYLyXht2IrQ" width="12" height="10">
1836 <target xmi:type="ecore:EClass" href="satellite.ecore#//GroundStationNetwork"/>
1837 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//GroundStationNetwork"/>
1838 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1839 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1840 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1841 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="__B6W510vEemRYLyXht2IrQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1842 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1843 </ownedStyle>
1844 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1845 </ownedDiagramElements>
1846 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_AqsPYF0sEemRYLyXht2IrQ" name="Spacecraft" tooltipText="" outgoingEdges="_PEp-k10sEemRYLyXht2IrQ _3GzPll0xEemRYLyXht2IrQ" incomingEdges="_PdH6PF0yEemRYLyXht2IrQ _n9tjRnA6Eem9acJE7_CmTw _3dgz_3BMEempc7JjePmuNw _37Qf-HBMEempc7JjePmuNw" width="12" height="10">
1847 <target xmi:type="ecore:EClass" href="satellite.ecore#//Spacecraft"/>
1848 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//Spacecraft"/>
1849 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1850 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1851 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1852 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_l4otI3A6Eem9acJE7_CmTw" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
1853 <labelFormat>italic</labelFormat>
1854 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
1855 </ownedStyle>
1856 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1857 <ownedElements xmi:type="diagram:DNodeListElement" uid="_-9TZsG60Eem3gIPdAp40Tw" name="/kind : SpacecraftKind = CubeSat3U" tooltipText="">
1858 <target xmi:type="ecore:EAttribute" href="satellite.ecore#//Spacecraft/kind"/>
1859 <semanticElements xmi:type="ecore:EAttribute" href="satellite.ecore#//Spacecraft/kind"/>
1860 <ownedStyle xmi:type="diagram:BundledImage" uid="_o3yl4nA6Eem9acJE7_CmTw" labelColor="39,76,114" labelAlignment="LEFT" description="_o3yl4HA6Eem9acJE7_CmTw">
1861 <labelFormat>bold</labelFormat>
1862 </ownedStyle>
1863 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
1864 </ownedElements>
1865 </ownedDiagramElements>
1866 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_NpQ-pl0sEemRYLyXht2IrQ" sourceNode="__OYCYF0rEemRYLyXht2IrQ" targetNode="_3T7UUF0rEemRYLyXht2IrQ">
1867 <target xmi:type="ecore:EClass" href="satellite.ecore#//GroundStationNetwork"/>
1868 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//GroundStationNetwork"/>
1869 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_NpRlsF0sEemRYLyXht2IrQ" targetArrow="InputClosedArrow" routingStyle="tree">
1870 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
1871 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_NpRlsV0sEemRYLyXht2IrQ" showIcon="false">
1872 <labelFormat>italic</labelFormat>
1873 </beginLabelStyle>
1874 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_NpRlsl0sEemRYLyXht2IrQ" showIcon="false"/>
1875 </ownedStyle>
1876 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1877 </ownedDiagramElements>
1878 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_PEp-k10sEemRYLyXht2IrQ" sourceNode="_AqsPYF0sEemRYLyXht2IrQ" targetNode="_3T7UUF0rEemRYLyXht2IrQ">
1879 <target xmi:type="ecore:EClass" href="satellite.ecore#//Spacecraft"/>
1880 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//Spacecraft"/>
1881 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_Ap43UG61Eem3gIPdAp40Tw" targetArrow="InputClosedArrow" routingStyle="tree">
1882 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
1883 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_Ap43UW61Eem3gIPdAp40Tw" showIcon="false">
1884 <labelFormat>italic</labelFormat>
1885 </beginLabelStyle>
1886 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_Ap43Um61Eem3gIPdAp40Tw" showIcon="false"/>
1887 </ownedStyle>
1888 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1889 </ownedDiagramElements>
1890 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_j0eAEF0tEemRYLyXht2IrQ" name="CommSubsystem" tooltipText="" incomingEdges="_4B9iMF0vEemRYLyXht2IrQ _dbuYhl0xEemRYLyXht2IrQ _i2PgeV0xEemRYLyXht2IrQ" width="12" height="10">
1891 <target xmi:type="ecore:EClass" href="satellite.ecore#//CommSubsystem"/>
1892 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//CommSubsystem"/>
1893 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1894 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1895 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1896 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_UMdpIV0wEemRYLyXht2IrQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1897 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1898 </ownedStyle>
1899 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1900 <ownedElements xmi:type="diagram:DNodeListElement" uid="_zuaCUF0vEemRYLyXht2IrQ" name="band : TransceiverBand = UHF" tooltipText="">
1901 <target xmi:type="ecore:EAttribute" href="satellite.ecore#//CommSubsystem/band"/>
1902 <semanticElements xmi:type="ecore:EAttribute" href="satellite.ecore#//CommSubsystem/band"/>
1903 <ownedStyle xmi:type="diagram:BundledImage" uid="_028-wl0vEemRYLyXht2IrQ" labelAlignment="LEFT" description="_028-wF0vEemRYLyXht2IrQ">
1904 <labelFormat>bold</labelFormat>
1905 </ownedStyle>
1906 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
1907 </ownedElements>
1908 <ownedElements xmi:type="diagram:DNodeListElement" uid="_Q8yBAF0wEemRYLyXht2IrQ" name="gain : AntennaGain = LOW" tooltipText="">
1909 <target xmi:type="ecore:EAttribute" href="satellite.ecore#//CommSubsystem/gain"/>
1910 <semanticElements xmi:type="ecore:EAttribute" href="satellite.ecore#//CommSubsystem/gain"/>
1911 <ownedStyle xmi:type="diagram:BundledImage" uid="_UgHk4l0wEemRYLyXht2IrQ" labelAlignment="LEFT" description="_028-wF0vEemRYLyXht2IrQ">
1912 <labelFormat>bold</labelFormat>
1913 </ownedStyle>
1914 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
1915 </ownedElements>
1916 </ownedDiagramElements>
1917 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_vyhbkF0vEemRYLyXht2IrQ" name="TransceiverBand" tooltipText="" width="12" height="10">
1918 <target xmi:type="ecore:EEnum" href="satellite.ecore#//TransceiverBand"/>
1919 <semanticElements xmi:type="ecore:EEnum" href="satellite.ecore#//TransceiverBand"/>
1920 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1921 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1922 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1923 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_vyj30F0vEemRYLyXht2IrQ" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="221,236,202">
1924 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@style"/>
1925 </ownedStyle>
1926 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']"/>
1927 <ownedElements xmi:type="diagram:DNodeListElement" uid="_x3rKMF0vEemRYLyXht2IrQ" name="UHF" tooltipText="">
1928 <target xmi:type="ecore:EEnumLiteral" href="satellite.ecore#//TransceiverBand/UHF"/>
1929 <semanticElements xmi:type="ecore:EEnumLiteral" href="satellite.ecore#//TransceiverBand/UHF"/>
1930 <ownedStyle xmi:type="diagram:BundledImage" uid="_x3rKMV0vEemRYLyXht2IrQ" labelAlignment="LEFT">
1931 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/>
1932 </ownedStyle>
1933 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/>
1934 </ownedElements>
1935 <ownedElements xmi:type="diagram:DNodeListElement" uid="_yg2DAF0vEemRYLyXht2IrQ" name="X" tooltipText="">
1936 <target xmi:type="ecore:EEnumLiteral" href="satellite.ecore#//TransceiverBand/X"/>
1937 <semanticElements xmi:type="ecore:EEnumLiteral" href="satellite.ecore#//TransceiverBand/X"/>
1938 <ownedStyle xmi:type="diagram:BundledImage" uid="_yg2qEF0vEemRYLyXht2IrQ" labelAlignment="LEFT">
1939 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/>
1940 </ownedStyle>
1941 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/>
1942 </ownedElements>
1943 <ownedElements xmi:type="diagram:DNodeListElement" uid="_zAInEF0vEemRYLyXht2IrQ" name="Ka" tooltipText="">
1944 <target xmi:type="ecore:EEnumLiteral" href="satellite.ecore#//TransceiverBand/Ka"/>
1945 <semanticElements xmi:type="ecore:EEnumLiteral" href="satellite.ecore#//TransceiverBand/Ka"/>
1946 <ownedStyle xmi:type="diagram:BundledImage" uid="_zAInEV0vEemRYLyXht2IrQ" labelAlignment="LEFT">
1947 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/>
1948 </ownedStyle>
1949 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/>
1950 </ownedElements>
1951 </ownedDiagramElements>
1952 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_4B9iMF0vEemRYLyXht2IrQ" name="[1..2] commSubsystem" sourceNode="_3T7UUF0rEemRYLyXht2IrQ" targetNode="_j0eAEF0tEemRYLyXht2IrQ">
1953 <target xmi:type="ecore:EReference" href="satellite.ecore#//CommunicatingElement/commSubsystem"/>
1954 <semanticElements xmi:type="ecore:EReference" href="satellite.ecore#//CommunicatingElement/commSubsystem"/>
1955 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_6kODk10vEemRYLyXht2IrQ" description="_6kODkF0vEemRYLyXht2IrQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1956 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_6kODlV0vEemRYLyXht2IrQ" showIcon="false">
1957 <labelFormat>bold</labelFormat>
1958 </centerLabelStyle>
1959 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_6kODlF0vEemRYLyXht2IrQ" labelSize="6" showIcon="false" labelColor="39,76,114"/>
1960 </ownedStyle>
1961 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1962 </ownedDiagramElements>
1963 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_Ctw9kF0wEemRYLyXht2IrQ" name="DirectedCommunicationLink" tooltipText="" outgoingEdges="_dbuYhl0xEemRYLyXht2IrQ _i2PgeV0xEemRYLyXht2IrQ" incomingEdges="_ccF89l0wEemRYLyXht2IrQ" width="12" height="10">
1964 <target xmi:type="ecore:EClass" href="satellite.ecore#//DirectedCommunicationLink"/>
1965 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//DirectedCommunicationLink"/>
1966 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1967 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1968 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1969 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_fC-qQ10xEemRYLyXht2IrQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1970 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1971 </ownedStyle>
1972 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1973 </ownedDiagramElements>
1974 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_M5OsAF0wEemRYLyXht2IrQ" name="AntennaGain" tooltipText="" width="12" height="10">
1975 <target xmi:type="ecore:EEnum" href="satellite.ecore#//AntennaGain"/>
1976 <semanticElements xmi:type="ecore:EEnum" href="satellite.ecore#//AntennaGain"/>
1977 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1978 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1979 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1980 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_M5OsAV0wEemRYLyXht2IrQ" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="221,236,202">
1981 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@style"/>
1982 </ownedStyle>
1983 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']"/>
1984 <ownedElements xmi:type="diagram:DNodeListElement" uid="_OBacEF0wEemRYLyXht2IrQ" name="LOW" tooltipText="">
1985 <target xmi:type="ecore:EEnumLiteral" href="satellite.ecore#//AntennaGain/LOW"/>
1986 <semanticElements xmi:type="ecore:EEnumLiteral" href="satellite.ecore#//AntennaGain/LOW"/>
1987 <ownedStyle xmi:type="diagram:BundledImage" uid="_OBbDIF0wEemRYLyXht2IrQ" labelAlignment="LEFT">
1988 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/>
1989 </ownedStyle>
1990 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/>
1991 </ownedElements>
1992 <ownedElements xmi:type="diagram:DNodeListElement" uid="_OcLsgF0wEemRYLyXht2IrQ" name="MEDIUM" tooltipText="">
1993 <target xmi:type="ecore:EEnumLiteral" href="satellite.ecore#//AntennaGain/MEDIUM"/>
1994 <semanticElements xmi:type="ecore:EEnumLiteral" href="satellite.ecore#//AntennaGain/MEDIUM"/>
1995 <ownedStyle xmi:type="diagram:BundledImage" uid="_OcLsgV0wEemRYLyXht2IrQ" labelAlignment="LEFT">
1996 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/>
1997 </ownedStyle>
1998 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/>
1999 </ownedElements>
2000 <ownedElements xmi:type="diagram:DNodeListElement" uid="_O9wIgF0wEemRYLyXht2IrQ" name="HIGH" tooltipText="">
2001 <target xmi:type="ecore:EEnumLiteral" href="satellite.ecore#//AntennaGain/HIGH"/>
2002 <semanticElements xmi:type="ecore:EEnumLiteral" href="satellite.ecore#//AntennaGain/HIGH"/>
2003 <ownedStyle xmi:type="diagram:BundledImage" uid="_O9wvkF0wEemRYLyXht2IrQ" labelAlignment="LEFT">
2004 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/>
2005 </ownedStyle>
2006 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/>
2007 </ownedElements>
2008 </ownedDiagramElements>
2009 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_ccF89l0wEemRYLyXht2IrQ" name="[0..1] communicationLink" sourceNode="_3T7UUF0rEemRYLyXht2IrQ" targetNode="_Ctw9kF0wEemRYLyXht2IrQ">
2010 <target xmi:type="ecore:EReference" href="satellite.ecore#//CommunicatingElement/communicationLink"/>
2011 <semanticElements xmi:type="ecore:EReference" href="satellite.ecore#//CommunicatingElement/communicationLink"/>
2012 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_ccHLE10wEemRYLyXht2IrQ" description="_ccHLEF0wEemRYLyXht2IrQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2013 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_ccHLFV0wEemRYLyXht2IrQ" showIcon="false">
2014 <customFeatures>labelSize</customFeatures>
2015 </centerLabelStyle>
2016 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_ccHLFF0wEemRYLyXht2IrQ" showIcon="false" labelColor="39,76,114">
2017 <customFeatures>labelSize</customFeatures>
2018 </endLabelStyle>
2019 </ownedStyle>
2020 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2021 </ownedDiagramElements>
2022 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_dbuYhl0xEemRYLyXht2IrQ" name="[1..1] source" sourceNode="_Ctw9kF0wEemRYLyXht2IrQ" targetNode="_j0eAEF0tEemRYLyXht2IrQ">
2023 <target xmi:type="ecore:EReference" href="satellite.ecore#//DirectedCommunicationLink/source"/>
2024 <semanticElements xmi:type="ecore:EReference" href="satellite.ecore#//DirectedCommunicationLink/source"/>
2025 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_fDAfY10xEemRYLyXht2IrQ" description="_fDAfYF0xEemRYLyXht2IrQ" routingStyle="manhattan" strokeColor="0,0,0">
2026 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_fDAfZV0xEemRYLyXht2IrQ" showIcon="false">
2027 <labelFormat>bold</labelFormat>
2028 </centerLabelStyle>
2029 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_fDAfZF0xEemRYLyXht2IrQ" labelSize="6" showIcon="false" labelColor="39,76,114"/>
2030 </ownedStyle>
2031 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2032 </ownedDiagramElements>
2033 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_i2PgeV0xEemRYLyXht2IrQ" name="[1..1] target" sourceNode="_Ctw9kF0wEemRYLyXht2IrQ" targetNode="_j0eAEF0tEemRYLyXht2IrQ">
2034 <target xmi:type="ecore:EReference" href="satellite.ecore#//DirectedCommunicationLink/target"/>
2035 <semanticElements xmi:type="ecore:EReference" href="satellite.ecore#//DirectedCommunicationLink/target"/>
2036 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_jrg7ll0xEemRYLyXht2IrQ" description="_fDAfYF0xEemRYLyXht2IrQ" routingStyle="manhattan" strokeColor="0,0,0">
2037 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_jrg7mF0xEemRYLyXht2IrQ" showIcon="false">
2038 <labelFormat>bold</labelFormat>
2039 </centerLabelStyle>
2040 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_jrg7l10xEemRYLyXht2IrQ" labelSize="6" showIcon="false" labelColor="39,76,114"/>
2041 </ownedStyle>
2042 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2043 </ownedDiagramElements>
2044 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_0aW3cF0xEemRYLyXht2IrQ" name="Payload" tooltipText="" incomingEdges="_3GzPll0xEemRYLyXht2IrQ _8iFzll0xEemRYLyXht2IrQ" width="12" height="10">
2045 <target xmi:type="ecore:EClass" href="satellite.ecore#//Payload"/>
2046 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//Payload"/>
2047 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2048 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2049 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2050 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_4n8SQl0xEemRYLyXht2IrQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
2051 <labelFormat>italic</labelFormat>
2052 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
2053 </ownedStyle>
2054 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2055 </ownedDiagramElements>
2056 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3GzPll0xEemRYLyXht2IrQ" name="[0..1] payload" sourceNode="_AqsPYF0sEemRYLyXht2IrQ" targetNode="_0aW3cF0xEemRYLyXht2IrQ">
2057 <target xmi:type="ecore:EReference" href="satellite.ecore#//Spacecraft/payload"/>
2058 <semanticElements xmi:type="ecore:EReference" href="satellite.ecore#//Spacecraft/payload"/>
2059 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3G0dsF0xEemRYLyXht2IrQ" description="_ccHLEF0wEemRYLyXht2IrQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2060 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_3G0dsl0xEemRYLyXht2IrQ" showIcon="false">
2061 <customFeatures>labelSize</customFeatures>
2062 </centerLabelStyle>
2063 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3G0dsV0xEemRYLyXht2IrQ" showIcon="false" labelColor="39,76,114">
2064 <customFeatures>labelSize</customFeatures>
2065 </endLabelStyle>
2066 </ownedStyle>
2067 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2068 </ownedDiagramElements>
2069 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_45FskF0xEemRYLyXht2IrQ" name="InterferometryPayload" tooltipText="" outgoingEdges="_8iFzll0xEemRYLyXht2IrQ" width="12" height="10">
2070 <target xmi:type="ecore:EClass" href="satellite.ecore#//InterferometryPayload"/>
2071 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//InterferometryPayload"/>
2072 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2073 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2074 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2075 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_IHvBB10yEemRYLyXht2IrQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2076 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2077 </ownedStyle>
2078 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2079 </ownedDiagramElements>
2080 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_8iFzll0xEemRYLyXht2IrQ" sourceNode="_45FskF0xEemRYLyXht2IrQ" targetNode="_0aW3cF0xEemRYLyXht2IrQ">
2081 <target xmi:type="ecore:EClass" href="satellite.ecore#//InterferometryPayload"/>
2082 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//InterferometryPayload"/>
2083 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_IH284l0yEemRYLyXht2IrQ" targetArrow="InputClosedArrow" routingStyle="tree">
2084 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
2085 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_IH28410yEemRYLyXht2IrQ" showIcon="false">
2086 <labelFormat>italic</labelFormat>
2087 </beginLabelStyle>
2088 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_IH285F0yEemRYLyXht2IrQ" showIcon="false"/>
2089 </ownedStyle>
2090 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
2091 </ownedDiagramElements>
2092 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_KzljXl0yEemRYLyXht2IrQ" name="[1..1] groundStationNetwork" sourceNode="_tM4oUF0qEemRYLyXht2IrQ" targetNode="__OYCYF0rEemRYLyXht2IrQ">
2093 <target xmi:type="ecore:EReference" href="satellite.ecore#//ConstellationMission/groundStationNetwork"/>
2094 <semanticElements xmi:type="ecore:EReference" href="satellite.ecore#//ConstellationMission/groundStationNetwork"/>
2095 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_MI6-gF0yEemRYLyXht2IrQ" description="_6kODkF0vEemRYLyXht2IrQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2096 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_MI6-gl0yEemRYLyXht2IrQ" showIcon="false">
2097 <labelFormat>bold</labelFormat>
2098 </centerLabelStyle>
2099 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_MI6-gV0yEemRYLyXht2IrQ" labelSize="6" showIcon="false" labelColor="39,76,114"/>
2100 </ownedStyle>
2101 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2102 </ownedDiagramElements>
2103 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_PdH6PF0yEemRYLyXht2IrQ" name="[2..50] spacecraft" sourceNode="_tM4oUF0qEemRYLyXht2IrQ" targetNode="_AqsPYF0sEemRYLyXht2IrQ">
2104 <target xmi:type="ecore:EReference" href="satellite.ecore#//ConstellationMission/spacecraft"/>
2105 <semanticElements xmi:type="ecore:EReference" href="satellite.ecore#//ConstellationMission/spacecraft"/>
2106 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_SRBlMF0yEemRYLyXht2IrQ" description="_6kODkF0vEemRYLyXht2IrQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2107 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_SRBlMl0yEemRYLyXht2IrQ" showIcon="false">
2108 <labelFormat>bold</labelFormat>
2109 </centerLabelStyle>
2110 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_SRBlMV0yEemRYLyXht2IrQ" labelSize="6" showIcon="false" labelColor="39,76,114"/>
2111 </ownedStyle>
2112 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
2113 </ownedDiagramElements>
2114 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_2oBw0G60Eem3gIPdAp40Tw" name="SpacecraftKind" tooltipText="" width="12" height="10">
2115 <target xmi:type="ecore:EEnum" href="satellite.ecore#//SpacecraftKind"/>
2116 <semanticElements xmi:type="ecore:EEnum" href="satellite.ecore#//SpacecraftKind"/>
2117 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2118 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2119 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2120 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_2oC-8G60Eem3gIPdAp40Tw" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="221,236,202">
2121 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@style"/>
2122 </ownedStyle>
2123 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']"/>
2124 <ownedElements xmi:type="diagram:DNodeListElement" uid="_5P_4oG60Eem3gIPdAp40Tw" name="CubeSat3U" tooltipText="">
2125 <target xmi:type="ecore:EEnumLiteral" href="satellite.ecore#//SpacecraftKind/CubeSat3U"/>
2126 <semanticElements xmi:type="ecore:EEnumLiteral" href="satellite.ecore#//SpacecraftKind/CubeSat3U"/>
2127 <ownedStyle xmi:type="diagram:BundledImage" uid="_5QAfsG60Eem3gIPdAp40Tw" labelAlignment="LEFT">
2128 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/>
2129 </ownedStyle>
2130 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/>
2131 </ownedElements>
2132 <ownedElements xmi:type="diagram:DNodeListElement" uid="_UKKgQHA6Eem9acJE7_CmTw" name="CubeSat6U" tooltipText="">
2133 <target xmi:type="ecore:EEnumLiteral" href="satellite.ecore#//SpacecraftKind/CubeSat6U"/>
2134 <semanticElements xmi:type="ecore:EEnumLiteral" href="satellite.ecore#//SpacecraftKind/CubeSat6U"/>
2135 <ownedStyle xmi:type="diagram:BundledImage" uid="_UKLHUHA6Eem9acJE7_CmTw" labelAlignment="LEFT">
2136 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/>
2137 </ownedStyle>
2138 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/>
2139 </ownedElements>
2140 <ownedElements xmi:type="diagram:DNodeListElement" uid="_7R9JUG60Eem3gIPdAp40Tw" name="SmallSat" tooltipText="">
2141 <target xmi:type="ecore:EEnumLiteral" href="satellite.ecore#//SpacecraftKind/SmallSat"/>
2142 <semanticElements xmi:type="ecore:EEnumLiteral" href="satellite.ecore#//SpacecraftKind/SmallSat"/>
2143 <ownedStyle xmi:type="diagram:BundledImage" uid="_7R-XcG60Eem3gIPdAp40Tw" labelAlignment="LEFT">
2144 <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']/@style"/>
2145 </ownedStyle>
2146 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EEnum']/@subNodeMappings[name='EC%20EEnumLiteral']"/>
2147 </ownedElements>
2148 </ownedDiagramElements>
2149 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_fm1X4HA6Eem9acJE7_CmTw" name="CubeSat3U" tooltipText="" outgoingEdges="_37Qf-HBMEempc7JjePmuNw" width="12" height="10">
2150 <target xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat3U"/>
2151 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat3U"/>
2152 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2153 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2154 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2155 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_fm1-8HA6Eem9acJE7_CmTw" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2156 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2157 </ownedStyle>
2158 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2159 </ownedDiagramElements>
2160 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_hanCoHA6Eem9acJE7_CmTw" name="CubeSat6U" tooltipText="" outgoingEdges="_3dgz_3BMEempc7JjePmuNw" width="12" height="10">
2161 <target xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat6U"/>
2162 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat6U"/>
2163 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2164 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2165 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2166 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_hanCoXA6Eem9acJE7_CmTw" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2167 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2168 </ownedStyle>
2169 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2170 </ownedDiagramElements>
2171 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_iqnR8HA6Eem9acJE7_CmTw" name="SmallSat" tooltipText="" outgoingEdges="_n9tjRnA6Eem9acJE7_CmTw" width="12" height="10">
2172 <target xmi:type="ecore:EClass" href="satellite.ecore#//SmallSat"/>
2173 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//SmallSat"/>
2174 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2175 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2176 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2177 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_iqn5AHA6Eem9acJE7_CmTw" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2178 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
2179 </ownedStyle>
2180 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
2181 </ownedDiagramElements>
2182 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_n9tjRnA6Eem9acJE7_CmTw" sourceNode="_iqnR8HA6Eem9acJE7_CmTw" targetNode="_AqsPYF0sEemRYLyXht2IrQ">
2183 <target xmi:type="ecore:EClass" href="satellite.ecore#//SmallSat"/>
2184 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//SmallSat"/>
2185 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_n9uKUHA6Eem9acJE7_CmTw" targetArrow="InputClosedArrow" routingStyle="tree">
2186 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
2187 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_n9uKUXA6Eem9acJE7_CmTw" showIcon="false">
2188 <labelFormat>italic</labelFormat>
2189 </beginLabelStyle>
2190 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_n9uKUnA6Eem9acJE7_CmTw" showIcon="false"/>
2191 </ownedStyle>
2192 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
2193 </ownedDiagramElements>
2194 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3dgz_3BMEempc7JjePmuNw" sourceNode="_hanCoHA6Eem9acJE7_CmTw" targetNode="_AqsPYF0sEemRYLyXht2IrQ">
2195 <target xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat6U"/>
2196 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat6U"/>
2197 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_ItnCw3BNEempc7JjePmuNw" lineStyle="dot" targetArrow="InputClosedArrow" routingStyle="tree" strokeColor="125,125,125">
2198 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@conditionnalStyles.1/@style"/>
2199 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_ItnCxHBNEempc7JjePmuNw" showIcon="false">
2200 <labelFormat>italic</labelFormat>
2201 </beginLabelStyle>
2202 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_ItnCxXBNEempc7JjePmuNw" showIcon="false"/>
2203 </ownedStyle>
2204 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
2205 </ownedDiagramElements>
2206 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_37Qf-HBMEempc7JjePmuNw" sourceNode="_fm1X4HA6Eem9acJE7_CmTw" targetNode="_AqsPYF0sEemRYLyXht2IrQ">
2207 <target xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat3U"/>
2208 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat3U"/>
2209 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_ItmbuXBNEempc7JjePmuNw" lineStyle="dot" targetArrow="InputClosedArrow" routingStyle="tree" strokeColor="125,125,125">
2210 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@conditionnalStyles.1/@style"/>
2211 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_ItmbunBNEempc7JjePmuNw" showIcon="false">
2212 <labelFormat>italic</labelFormat>
2213 </beginLabelStyle>
2214 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_Itmbu3BNEempc7JjePmuNw" showIcon="false"/>
2215 </ownedStyle>
2216 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
2217 </ownedDiagramElements>
2218 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
2219 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_reoWwF0qEemRYLyXht2IrQ"/>
2220 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
2221 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
2222 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
2223 <target xmi:type="ecore:EPackage" href="satellite.ecore#/"/>
2224 </diagram:DSemanticDiagram>
2225</xmi:XMI>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.ecore b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.ecore
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 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="satellite" nsURI="http://www.example.org/satellite" nsPrefix="satellite"> 3 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="satellite" nsURI="http://www.example.org/satellite" nsPrefix="satellite">
4 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
5 <details key="settingDelegates" value="org.eclipse.viatra.query.querybasedfeature"/>
6 </eAnnotations>
7 <eClassifiers xsi:type="ecore:EClass" name="ConstellationMission" abstract="true"> 4 <eClassifiers xsi:type="ecore:EClass" name="ConstellationMission" abstract="true">
8 <eStructuralFeatures xsi:type="ecore:EReference" name="groundStationNetwork" lowerBound="1" 5 <eStructuralFeatures xsi:type="ecore:EReference" name="groundStationNetwork" lowerBound="1"
9 eType="#//GroundStationNetwork" containment="true"/> 6 eType="#//GroundStationNetwork" containment="true"/>
@@ -24,42 +21,21 @@
24 <eClassifiers xsi:type="ecore:EClass" name="Spacecraft" abstract="true" eSuperTypes="#//CommunicatingElement"> 21 <eClassifiers xsi:type="ecore:EClass" name="Spacecraft" abstract="true" eSuperTypes="#//CommunicatingElement">
25 <eStructuralFeatures xsi:type="ecore:EReference" name="payload" eType="#//Payload" 22 <eStructuralFeatures xsi:type="ecore:EReference" name="payload" eType="#//Payload"
26 containment="true"/> 23 containment="true"/>
27 <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" lowerBound="1" eType="#//SpacecraftKind"
28 changeable="false" volatile="true" transient="true" derived="true">
29 <eAnnotations source="org.eclipse.viatra.query.querybasedfeature">
30 <details key="patternFQN" value="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftOfKind"/>
31 </eAnnotations>
32 </eStructuralFeatures>
33 </eClassifiers>
34 <eClassifiers xsi:type="ecore:EClass" name="CommSubsystem">
35 <eStructuralFeatures xsi:type="ecore:EAttribute" name="band" lowerBound="1" eType="#//TransceiverBand"/>
36 <eStructuralFeatures xsi:type="ecore:EAttribute" name="gain" lowerBound="1" eType="#//AntennaGain"/>
37 </eClassifiers>
38 <eClassifiers xsi:type="ecore:EEnum" name="TransceiverBand">
39 <eLiterals name="UHF"/>
40 <eLiterals name="X" value="1"/>
41 <eLiterals name="Ka" value="2"/>
42 </eClassifiers> 24 </eClassifiers>
25 <eClassifiers xsi:type="ecore:EClass" name="CommSubsystem" abstract="true"/>
43 <eClassifiers xsi:type="ecore:EClass" name="DirectedCommunicationLink"> 26 <eClassifiers xsi:type="ecore:EClass" name="DirectedCommunicationLink">
44 <eStructuralFeatures xsi:type="ecore:EReference" name="source" lowerBound="1" 27 <eStructuralFeatures xsi:type="ecore:EReference" name="source" lowerBound="1"
45 eType="#//CommSubsystem"/> 28 eType="#//CommSubsystem"/>
46 <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1" 29 <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1"
47 eType="#//CommSubsystem"/> 30 eType="#//CommSubsystem"/>
48 </eClassifiers> 31 </eClassifiers>
49 <eClassifiers xsi:type="ecore:EEnum" name="AntennaGain">
50 <eLiterals name="LOW"/>
51 <eLiterals name="MEDIUM" value="1"/>
52 <eLiterals name="HIGH" value="2"/>
53 </eClassifiers>
54 <eClassifiers xsi:type="ecore:EClass" name="Payload" abstract="true"/> 32 <eClassifiers xsi:type="ecore:EClass" name="Payload" abstract="true"/>
55 <eClassifiers xsi:type="ecore:EClass" name="InterferometryPayload" eSuperTypes="#//Payload"/> 33 <eClassifiers xsi:type="ecore:EClass" name="InterferometryPayload" eSuperTypes="#//Payload"/>
56 <eClassifiers xsi:type="ecore:EEnum" name="SpacecraftKind">
57 <eLiterals name="CubeSat3U"/>
58 <eLiterals name="CubeSat6U" value="1"/>
59 <eLiterals name="SmallSat" value="2"/>
60 </eClassifiers>
61 <eClassifiers xsi:type="ecore:EClass" name="CubeSat3U" eSuperTypes="#//CubeSat"/> 34 <eClassifiers xsi:type="ecore:EClass" name="CubeSat3U" eSuperTypes="#//CubeSat"/>
62 <eClassifiers xsi:type="ecore:EClass" name="CubeSat6U" eSuperTypes="#//CubeSat"/> 35 <eClassifiers xsi:type="ecore:EClass" name="CubeSat6U" eSuperTypes="#//CubeSat"/>
63 <eClassifiers xsi:type="ecore:EClass" name="SmallSat" eSuperTypes="#//Spacecraft"/> 36 <eClassifiers xsi:type="ecore:EClass" name="SmallSat" eSuperTypes="#//Spacecraft"/>
64 <eClassifiers xsi:type="ecore:EClass" name="CubeSat" abstract="true" eSuperTypes="#//Spacecraft"/> 37 <eClassifiers xsi:type="ecore:EClass" name="CubeSat" abstract="true" eSuperTypes="#//Spacecraft"/>
38 <eClassifiers xsi:type="ecore:EClass" name="UHFCommSubsystem" eSuperTypes="#//CommSubsystem"/>
39 <eClassifiers xsi:type="ecore:EClass" name="XCommSubsystem" eSuperTypes="#//CommSubsystem"/>
40 <eClassifiers xsi:type="ecore:EClass" name="KaCommSubsystem" eSuperTypes="#//CommSubsystem"/>
65</ecore:EPackage> 41</ecore:EPackage>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.genmodel b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.genmodel
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 @@
11 <foreignModel>satellite.ecore</foreignModel> 11 <foreignModel>satellite.ecore</foreignModel>
12 <testsDirectory xsi:nil="true"/> 12 <testsDirectory xsi:nil="true"/>
13 <genPackages prefix="Satellite" disposableProviderFactory="true" ecorePackage="satellite.ecore#/"> 13 <genPackages prefix="Satellite" disposableProviderFactory="true" ecorePackage="satellite.ecore#/">
14 <genEnums typeSafeEnumCompatible="false" ecoreEnum="satellite.ecore#//TransceiverBand">
15 <genEnumLiterals ecoreEnumLiteral="satellite.ecore#//TransceiverBand/UHF"/>
16 <genEnumLiterals ecoreEnumLiteral="satellite.ecore#//TransceiverBand/X"/>
17 <genEnumLiterals ecoreEnumLiteral="satellite.ecore#//TransceiverBand/Ka"/>
18 </genEnums>
19 <genEnums typeSafeEnumCompatible="false" ecoreEnum="satellite.ecore#//AntennaGain">
20 <genEnumLiterals ecoreEnumLiteral="satellite.ecore#//AntennaGain/LOW"/>
21 <genEnumLiterals ecoreEnumLiteral="satellite.ecore#//AntennaGain/MEDIUM"/>
22 <genEnumLiterals ecoreEnumLiteral="satellite.ecore#//AntennaGain/HIGH"/>
23 </genEnums>
24 <genEnums typeSafeEnumCompatible="false" ecoreEnum="satellite.ecore#//SpacecraftKind">
25 <genEnumLiterals ecoreEnumLiteral="satellite.ecore#//SpacecraftKind/CubeSat3U"/>
26 <genEnumLiterals ecoreEnumLiteral="satellite.ecore#//SpacecraftKind/CubeSat6U"/>
27 <genEnumLiterals ecoreEnumLiteral="satellite.ecore#//SpacecraftKind/SmallSat"/>
28 </genEnums>
29 <genClasses image="false" ecoreClass="satellite.ecore#//ConstellationMission"> 14 <genClasses image="false" ecoreClass="satellite.ecore#//ConstellationMission">
30 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference satellite.ecore#//ConstellationMission/groundStationNetwork"/> 15 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference satellite.ecore#//ConstellationMission/groundStationNetwork"/>
31 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference satellite.ecore#//ConstellationMission/spacecraft"/> 16 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference satellite.ecore#//ConstellationMission/spacecraft"/>
@@ -40,12 +25,8 @@
40 <genClasses ecoreClass="satellite.ecore#//GroundStationNetwork"/> 25 <genClasses ecoreClass="satellite.ecore#//GroundStationNetwork"/>
41 <genClasses image="false" ecoreClass="satellite.ecore#//Spacecraft"> 26 <genClasses image="false" ecoreClass="satellite.ecore#//Spacecraft">
42 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference satellite.ecore#//Spacecraft/payload"/> 27 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference satellite.ecore#//Spacecraft/payload"/>
43 <genFeatures property="Readonly" createChild="false" ecoreFeature="ecore:EAttribute satellite.ecore#//Spacecraft/kind"/>
44 </genClasses>
45 <genClasses ecoreClass="satellite.ecore#//CommSubsystem">
46 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute satellite.ecore#//CommSubsystem/band"/>
47 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute satellite.ecore#//CommSubsystem/gain"/>
48 </genClasses> 28 </genClasses>
29 <genClasses ecoreClass="satellite.ecore#//CommSubsystem"/>
49 <genClasses ecoreClass="satellite.ecore#//DirectedCommunicationLink"> 30 <genClasses ecoreClass="satellite.ecore#//DirectedCommunicationLink">
50 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference satellite.ecore#//DirectedCommunicationLink/source"/> 31 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference satellite.ecore#//DirectedCommunicationLink/source"/>
51 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference satellite.ecore#//DirectedCommunicationLink/target"/> 32 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference satellite.ecore#//DirectedCommunicationLink/target"/>
@@ -55,5 +36,9 @@
55 <genClasses ecoreClass="satellite.ecore#//CubeSat3U"/> 36 <genClasses ecoreClass="satellite.ecore#//CubeSat3U"/>
56 <genClasses ecoreClass="satellite.ecore#//CubeSat6U"/> 37 <genClasses ecoreClass="satellite.ecore#//CubeSat6U"/>
57 <genClasses ecoreClass="satellite.ecore#//SmallSat"/> 38 <genClasses ecoreClass="satellite.ecore#//SmallSat"/>
39 <genClasses image="false" ecoreClass="satellite.ecore#//CubeSat"/>
40 <genClasses ecoreClass="satellite.ecore#//UHFCommSubsystem"/>
41 <genClasses ecoreClass="satellite.ecore#//XCommSubsystem"/>
42 <genClasses ecoreClass="satellite.ecore#//KaCommSubsystem"/>
58 </genPackages> 43 </genPackages>
59</genmodel:GenModel> 44</genmodel:GenModel>
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 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<henshin:Module xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:henshin="http://www.eclipse.org/emf/2011/Henshin" xmi:id="_4hnG4H9CEemiUoPdWqOlQg">
3 <imports href="satellite.ecore#/"/>
4 <units xsi:type="henshin:Rule" xmi:id="_I7PyUH9EEemiUoPdWqOlQg" name="addCubeSat3U">
5 <lhs xmi:id="_I7YVMH9EEemiUoPdWqOlQg" name="Lhs">
6 <nodes xmi:id="_Qn3fwH9EEemiUoPdWqOlQg">
7 <type href="satellite.ecore#//InterferometryMission"/>
8 </nodes>
9 </lhs>
10 <rhs xmi:id="_I9zXEH9EEemiUoPdWqOlQg" name="Rhs">
11 <nodes xmi:id="_Qn4G0H9EEemiUoPdWqOlQg" outgoing="_W5hEAH9EEemiUoPdWqOlQg">
12 <type href="satellite.ecore#//InterferometryMission"/>
13 </nodes>
14 <nodes xmi:id="_TD7SgH9EEemiUoPdWqOlQg" incoming="_W5hEAH9EEemiUoPdWqOlQg">
15 <type href="satellite.ecore#//CubeSat3U"/>
16 </nodes>
17 <edges xmi:id="_W5hEAH9EEemiUoPdWqOlQg" source="_Qn4G0H9EEemiUoPdWqOlQg" target="_TD7SgH9EEemiUoPdWqOlQg">
18 <type href="satellite.ecore#//ConstellationMission/spacecraft"/>
19 </edges>
20 </rhs>
21 <mappings xmi:id="_Qn4G0X9EEemiUoPdWqOlQg" origin="_Qn3fwH9EEemiUoPdWqOlQg" image="_Qn4G0H9EEemiUoPdWqOlQg"/>
22 </units>
23 <units xsi:type="henshin:Rule" xmi:id="_kgBHMH9KEemiUoPdWqOlQg" name="addCubeSat6U">
24 <lhs xmi:id="_kgHN0H9KEemiUoPdWqOlQg" name="Lhs">
25 <nodes xmi:id="_obHq0H9KEemiUoPdWqOlQg">
26 <type href="satellite.ecore#//InterferometryMission"/>
27 </nodes>
28 </lhs>
29 <rhs xmi:id="_kgIb8H9KEemiUoPdWqOlQg" name="Rhs">
30 <nodes xmi:id="_obIR4H9KEemiUoPdWqOlQg" outgoing="_skabcH9KEemiUoPdWqOlQg">
31 <type href="satellite.ecore#//InterferometryMission"/>
32 </nodes>
33 <nodes xmi:id="_qHno4H9KEemiUoPdWqOlQg" incoming="_skabcH9KEemiUoPdWqOlQg">
34 <type href="satellite.ecore#//CubeSat6U"/>
35 </nodes>
36 <edges xmi:id="_skabcH9KEemiUoPdWqOlQg" source="_obIR4H9KEemiUoPdWqOlQg" target="_qHno4H9KEemiUoPdWqOlQg">
37 <type href="satellite.ecore#//ConstellationMission/spacecraft"/>
38 </edges>
39 </rhs>
40 <mappings xmi:id="_obIR4X9KEemiUoPdWqOlQg" origin="_obHq0H9KEemiUoPdWqOlQg" image="_obIR4H9KEemiUoPdWqOlQg"/>
41 </units>
42 <units xsi:type="henshin:Rule" xmi:id="_xFdIQH9LEemiUoPdWqOlQg" name="addSmallSat">
43 <lhs xmi:id="_xFiAwH9LEemiUoPdWqOlQg" name="Lhs">
44 <nodes xmi:id="_a7r_UH9MEemiUoPdWqOlQg">
45 <type href="satellite.ecore#//InterferometryMission"/>
46 </nodes>
47 </lhs>
48 <rhs xmi:id="_xFjO4H9LEemiUoPdWqOlQg" name="Rhs">
49 <nodes xmi:id="_a7w30H9MEemiUoPdWqOlQg" outgoing="_hORXsH9MEemiUoPdWqOlQg">
50 <type href="satellite.ecore#//InterferometryMission"/>
51 </nodes>
52 <nodes xmi:id="_dt0vwH9MEemiUoPdWqOlQg" incoming="_hORXsH9MEemiUoPdWqOlQg">
53 <type href="satellite.ecore#//SmallSat"/>
54 </nodes>
55 <edges xmi:id="_hORXsH9MEemiUoPdWqOlQg" source="_a7w30H9MEemiUoPdWqOlQg" target="_dt0vwH9MEemiUoPdWqOlQg">
56 <type href="satellite.ecore#//ConstellationMission/spacecraft"/>
57 </edges>
58 </rhs>
59 <mappings xmi:id="_a7xe4H9MEemiUoPdWqOlQg" origin="_a7r_UH9MEemiUoPdWqOlQg" image="_a7w30H9MEemiUoPdWqOlQg"/>
60 </units>
61</henshin:Module>
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 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:henshin="http://www.eclipse.org/emf/2011/Henshin" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_4huboH9CEemiUoPdWqOlQg" type="Henshin" name="satellite.henshin_diagram" measurementUnit="Pixel">
3 <children xmi:type="notation:Shape" xmi:id="_I7V48H9EEemiUoPdWqOlQg" type="2001" fontName="Noto Sans" italic="true" lineColor="0">
4 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Qn4G0n9EEemiUoPdWqOlQg" source="defaultAction">
5 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Qn4G039EEemiUoPdWqOlQg" key="value" value="preserve"/>
6 </eAnnotations>
7 <children xmi:type="notation:DecorationNode" xmi:id="_I7WgAH9EEemiUoPdWqOlQg" type="5001"/>
8 <children xmi:type="notation:DecorationNode" xmi:id="_I7WgAX9EEemiUoPdWqOlQg" type="7001">
9 <children xmi:type="notation:Shape" xmi:id="_Qn5U8H9EEemiUoPdWqOlQg" type="3001" fontName="Noto Sans">
10 <children xmi:type="notation:DecorationNode" xmi:id="_Qn58AH9EEemiUoPdWqOlQg" type="5002"/>
11 <children xmi:type="notation:DecorationNode" xmi:id="_Qn58AX9EEemiUoPdWqOlQg" type="5003"/>
12 <children xmi:type="notation:DecorationNode" xmi:id="_Qn58An9EEemiUoPdWqOlQg" type="7002">
13 <styles xmi:type="notation:SortingStyle" xmi:id="_Qn58A39EEemiUoPdWqOlQg"/>
14 <styles xmi:type="notation:FilteringStyle" xmi:id="_Qn58BH9EEemiUoPdWqOlQg"/>
15 </children>
16 <element xmi:type="henshin:Node" href="satellite.henshin#_Qn3fwH9EEemiUoPdWqOlQg"/>
17 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qn5U8X9EEemiUoPdWqOlQg" x="11" y="6"/>
18 </children>
19 <children xmi:type="notation:Shape" xmi:id="_TD9HsH9EEemiUoPdWqOlQg" type="3001" fontName="Noto Sans">
20 <children xmi:type="notation:DecorationNode" xmi:id="_TD9Hsn9EEemiUoPdWqOlQg" type="5002"/>
21 <children xmi:type="notation:DecorationNode" xmi:id="_TD9Hs39EEemiUoPdWqOlQg" type="5003"/>
22 <children xmi:type="notation:DecorationNode" xmi:id="_TD9HtH9EEemiUoPdWqOlQg" type="7002">
23 <styles xmi:type="notation:SortingStyle" xmi:id="_TD9HtX9EEemiUoPdWqOlQg"/>
24 <styles xmi:type="notation:FilteringStyle" xmi:id="_TD9Htn9EEemiUoPdWqOlQg"/>
25 </children>
26 <element xmi:type="henshin:Node" href="satellite.henshin#_TD7SgH9EEemiUoPdWqOlQg"/>
27 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TD9HsX9EEemiUoPdWqOlQg" x="43" y="113"/>
28 </children>
29 </children>
30 <element xmi:type="henshin:Rule" href="satellite.henshin#_I7PyUH9EEemiUoPdWqOlQg"/>
31 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_I7V48X9EEemiUoPdWqOlQg" x="35" y="18" width="171"/>
32 </children>
33 <children xmi:type="notation:Shape" xmi:id="_kgGmwH9KEemiUoPdWqOlQg" type="2001" fontName="Noto Sans" italic="true" lineColor="0">
34 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_obIR4n9KEemiUoPdWqOlQg" source="defaultAction">
35 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_obI48H9KEemiUoPdWqOlQg" key="value" value="preserve"/>
36 </eAnnotations>
37 <children xmi:type="notation:DecorationNode" xmi:id="_kgGmwn9KEemiUoPdWqOlQg" type="5001"/>
38 <children xmi:type="notation:DecorationNode" xmi:id="_kgGmw39KEemiUoPdWqOlQg" type="7001">
39 <children xmi:type="notation:Shape" xmi:id="_obKuIH9KEemiUoPdWqOlQg" type="3001" fontName="Noto Sans">
40 <children xmi:type="notation:DecorationNode" xmi:id="_obLVMH9KEemiUoPdWqOlQg" type="5002"/>
41 <children xmi:type="notation:DecorationNode" xmi:id="_obLVMX9KEemiUoPdWqOlQg" type="5003"/>
42 <children xmi:type="notation:DecorationNode" xmi:id="_obLVMn9KEemiUoPdWqOlQg" type="7002">
43 <styles xmi:type="notation:SortingStyle" xmi:id="_obLVM39KEemiUoPdWqOlQg"/>
44 <styles xmi:type="notation:FilteringStyle" xmi:id="_obLVNH9KEemiUoPdWqOlQg"/>
45 </children>
46 <element xmi:type="henshin:Node" href="satellite.henshin#_obHq0H9KEemiUoPdWqOlQg"/>
47 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_obKuIX9KEemiUoPdWqOlQg" x="15" y="8"/>
48 </children>
49 <children xmi:type="notation:Shape" xmi:id="_qHpeEH9KEemiUoPdWqOlQg" type="3001" fontName="Noto Sans">
50 <children xmi:type="notation:DecorationNode" xmi:id="_qHpeEn9KEemiUoPdWqOlQg" type="5002"/>
51 <children xmi:type="notation:DecorationNode" xmi:id="_qHpeE39KEemiUoPdWqOlQg" type="5003"/>
52 <children xmi:type="notation:DecorationNode" xmi:id="_qHpeFH9KEemiUoPdWqOlQg" type="7002">
53 <styles xmi:type="notation:SortingStyle" xmi:id="_qHpeFX9KEemiUoPdWqOlQg"/>
54 <styles xmi:type="notation:FilteringStyle" xmi:id="_qHpeFn9KEemiUoPdWqOlQg"/>
55 </children>
56 <element xmi:type="henshin:Node" href="satellite.henshin#_qHno4H9KEemiUoPdWqOlQg"/>
57 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qHpeEX9KEemiUoPdWqOlQg" x="42" y="109"/>
58 </children>
59 </children>
60 <element xmi:type="henshin:Rule" href="satellite.henshin#_kgBHMH9KEemiUoPdWqOlQg"/>
61 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kgGmwX9KEemiUoPdWqOlQg" x="225" y="18" width="174"/>
62 </children>
63 <children xmi:type="notation:Shape" xmi:id="_xFhZsH9LEemiUoPdWqOlQg" type="2001" fontName="Noto Sans" italic="true" lineColor="0">
64 <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_a7xe4X9MEemiUoPdWqOlQg" source="defaultAction">
65 <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_a7xe4n9MEemiUoPdWqOlQg" key="value" value="preserve"/>
66 </eAnnotations>
67 <children xmi:type="notation:DecorationNode" xmi:id="_xFhZsn9LEemiUoPdWqOlQg" type="5001"/>
68 <children xmi:type="notation:DecorationNode" xmi:id="_xFhZs39LEemiUoPdWqOlQg" type="7001">
69 <children xmi:type="notation:Shape" xmi:id="_a7z7IH9MEemiUoPdWqOlQg" type="3001" fontName="Noto Sans">
70 <children xmi:type="notation:DecorationNode" xmi:id="_a7z7In9MEemiUoPdWqOlQg" type="5002"/>
71 <children xmi:type="notation:DecorationNode" xmi:id="_a7z7I39MEemiUoPdWqOlQg" type="5003"/>
72 <children xmi:type="notation:DecorationNode" xmi:id="_a7z7JH9MEemiUoPdWqOlQg" type="7002">
73 <styles xmi:type="notation:SortingStyle" xmi:id="_a7z7JX9MEemiUoPdWqOlQg"/>
74 <styles xmi:type="notation:FilteringStyle" xmi:id="_a7z7Jn9MEemiUoPdWqOlQg"/>
75 </children>
76 <element xmi:type="henshin:Node" href="satellite.henshin#_a7r_UH9MEemiUoPdWqOlQg"/>
77 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_a7z7IX9MEemiUoPdWqOlQg" x="12" y="8"/>
78 </children>
79 <children xmi:type="notation:Shape" xmi:id="_dt194H9MEemiUoPdWqOlQg" type="3001" fontName="Noto Sans">
80 <children xmi:type="notation:DecorationNode" xmi:id="_dt194n9MEemiUoPdWqOlQg" type="5002"/>
81 <children xmi:type="notation:DecorationNode" xmi:id="_dt19439MEemiUoPdWqOlQg" type="5003"/>
82 <children xmi:type="notation:DecorationNode" xmi:id="_dt195H9MEemiUoPdWqOlQg" type="7002">
83 <styles xmi:type="notation:SortingStyle" xmi:id="_dt195X9MEemiUoPdWqOlQg"/>
84 <styles xmi:type="notation:FilteringStyle" xmi:id="_dt195n9MEemiUoPdWqOlQg"/>
85 </children>
86 <element xmi:type="henshin:Node" href="satellite.henshin#_dt0vwH9MEemiUoPdWqOlQg"/>
87 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dt194X9MEemiUoPdWqOlQg" x="37" y="111"/>
88 </children>
89 </children>
90 <element xmi:type="henshin:Rule" href="satellite.henshin#_xFdIQH9LEemiUoPdWqOlQg"/>
91 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xFhZsX9LEemiUoPdWqOlQg" x="418" y="18" width="172"/>
92 </children>
93 <styles xmi:type="notation:DiagramStyle" xmi:id="_4huboX9CEemiUoPdWqOlQg"/>
94 <element xmi:type="henshin:Module" href="satellite.henshin#_4hnG4H9CEemiUoPdWqOlQg"/>
95 <edges xmi:type="notation:Connector" xmi:id="_W5i5MH9EEemiUoPdWqOlQg" type="4001" source="_Qn5U8H9EEemiUoPdWqOlQg" target="_TD9HsH9EEemiUoPdWqOlQg">
96 <children xmi:type="notation:DecorationNode" xmi:id="_W5i5M39EEemiUoPdWqOlQg" type="6001">
97 <layoutConstraint xmi:type="notation:Location" xmi:id="_W5jgQH9EEemiUoPdWqOlQg" y="40"/>
98 </children>
99 <children xmi:type="notation:DecorationNode" xmi:id="_W5jgQX9EEemiUoPdWqOlQg" type="6002">
100 <layoutConstraint xmi:type="notation:Location" xmi:id="_W5jgQn9EEemiUoPdWqOlQg" y="60"/>
101 </children>
102 <styles xmi:type="notation:FontStyle" xmi:id="_W5i5MX9EEemiUoPdWqOlQg" fontName="Noto Sans"/>
103 <element xmi:type="henshin:Edge" href="satellite.henshin#_W5hEAH9EEemiUoPdWqOlQg"/>
104 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_W5i5Mn9EEemiUoPdWqOlQg" points="[2, 35, -1, -84]$[10, 96, 7, -23]"/>
105 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_W5nKoH9EEemiUoPdWqOlQg" id="(0.48120300751879697,0.2391304347826087)"/>
106 </edges>
107 <edges xmi:type="notation:Connector" xmi:id="_skbpkH9KEemiUoPdWqOlQg" type="4001" source="_obKuIH9KEemiUoPdWqOlQg" target="_qHpeEH9KEemiUoPdWqOlQg">
108 <children xmi:type="notation:DecorationNode" xmi:id="_skbpk39KEemiUoPdWqOlQg" type="6001">
109 <layoutConstraint xmi:type="notation:Location" xmi:id="_skbplH9KEemiUoPdWqOlQg" y="40"/>
110 </children>
111 <children xmi:type="notation:DecorationNode" xmi:id="_skbplX9KEemiUoPdWqOlQg" type="6002">
112 <layoutConstraint xmi:type="notation:Location" xmi:id="_skbpln9KEemiUoPdWqOlQg" y="60"/>
113 </children>
114 <styles xmi:type="notation:FontStyle" xmi:id="_skbpkX9KEemiUoPdWqOlQg" fontName="Noto Sans"/>
115 <element xmi:type="henshin:Edge" href="satellite.henshin#_skabcH9KEemiUoPdWqOlQg"/>
116 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_skbpkn9KEemiUoPdWqOlQg" points="[-4, 23, 0, -66]$[-4, 78, 0, -11]"/>
117 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_skc3sH9KEemiUoPdWqOlQg" id="(0.5,0.2391304347826087)"/>
118 </edges>
119 <edges xmi:type="notation:Connector" xmi:id="_hOR-wH9MEemiUoPdWqOlQg" type="4001" source="_a7z7IH9MEemiUoPdWqOlQg" target="_dt194H9MEemiUoPdWqOlQg">
120 <children xmi:type="notation:DecorationNode" xmi:id="_hOSl0H9MEemiUoPdWqOlQg" type="6001">
121 <layoutConstraint xmi:type="notation:Location" xmi:id="_hOSl0X9MEemiUoPdWqOlQg" y="40"/>
122 </children>
123 <children xmi:type="notation:DecorationNode" xmi:id="_hOSl0n9MEemiUoPdWqOlQg" type="6002">
124 <layoutConstraint xmi:type="notation:Location" xmi:id="_hOSl039MEemiUoPdWqOlQg" y="60"/>
125 </children>
126 <styles xmi:type="notation:FontStyle" xmi:id="_hOR-wX9MEemiUoPdWqOlQg" fontName="Noto Sans"/>
127 <element xmi:type="henshin:Edge" href="satellite.henshin#_hORXsH9MEemiUoPdWqOlQg"/>
128 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hOR-wn9MEemiUoPdWqOlQg" points="[-5, 23, 0, -96]$[-4, 126, 1, 7]"/>
129 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hOVCEH9MEemiUoPdWqOlQg" id="(0.5454545454545454,0.8478260869565217)"/>
130 </edges>
131</notation:Diagram>
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 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<henshin:Module xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:henshin="http://www.eclipse.org/emf/2011/Henshin" xmi:id="_4hnG4H9CEemiUoPdWqOlQg">
3 <imports href="http://www.example.org/satellite#/"/>
4 <units xsi:type="henshin:Rule" xmi:id="_I7PyUH9EEemiUoPdWqOlQg" name="addCubeSat3U">
5 <lhs xmi:id="_I7YVMH9EEemiUoPdWqOlQg" name="Lhs">
6 <nodes xmi:id="_Qn3fwH9EEemiUoPdWqOlQg">
7 <type href="http://www.example.org/satellite#//InterferometryMission"/>
8 </nodes>
9 </lhs>
10 <rhs xmi:id="_I9zXEH9EEemiUoPdWqOlQg" name="Rhs">
11 <nodes xmi:id="_Qn4G0H9EEemiUoPdWqOlQg" outgoing="_W5hEAH9EEemiUoPdWqOlQg">
12 <type href="http://www.example.org/satellite#//InterferometryMission"/>
13 </nodes>
14 <nodes xmi:id="_TD7SgH9EEemiUoPdWqOlQg" incoming="_W5hEAH9EEemiUoPdWqOlQg">
15 <type href="http://www.example.org/satellite#//CubeSat3U"/>
16 </nodes>
17 <edges xmi:id="_W5hEAH9EEemiUoPdWqOlQg" source="_Qn4G0H9EEemiUoPdWqOlQg" target="_TD7SgH9EEemiUoPdWqOlQg">
18 <type href="http://www.example.org/satellite#//ConstellationMission/spacecraft"/>
19 </edges>
20 </rhs>
21 <mappings xmi:id="_Qn4G0X9EEemiUoPdWqOlQg" origin="_Qn3fwH9EEemiUoPdWqOlQg" image="_Qn4G0H9EEemiUoPdWqOlQg"/>
22 </units>
23</henshin:Module>
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 @@
1Error 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)
2 org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.handleDemandLoadException(ResourceSetImpl.java:319)
3 org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:278)
4 org.eclipse.xtext.resource.XtextResourceSet.getResource(XtextResourceSet.java:265)
5 org.eclipse.xtext.resource.SynchronizedXtextResourceSet.getResource(SynchronizedXtextResourceSet.java:25)
6 hu.bme.mit.inf.dslreasoner.application.execution.ModelLoader.loadModel(ModelLoader.java:41)
7 hu.bme.mit.inf.dslreasoner.application.execution.GenerationTaskExecutor.executeGenerationTask(GenerationTaskExecutor.java:177)
8 hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor._execute(ScriptExecutor.java:137)
9 hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor.execute(ScriptExecutor.java:358)
10 hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor.executeScript(ScriptExecutor.java:118)
11 hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor.executeScript(StandaloneScriptExecutor.java:155)
12 hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor.executeScript(StandaloneScriptExecutor.java:147)
13 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
109{ 109{
110 find interpretation(problem,interpretation); 110 find interpretation(problem,interpretation);
111 PartialInterpretation.newElements(interpretation,element); 111 PartialInterpretation.newElements(interpretation,element);
112 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 112 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
113 neg find mustInstanceOfPayload_class(problem,interpretation,element); 113 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
114 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 114 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
115 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
115 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 116 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
116 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); 117 neg find mustInstanceOfPayload_class(problem,interpretation,element);
117 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
118 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation); 118 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
119 neg find isPrimitive(element); 119 neg find isPrimitive(element);
120} or { 120} or {
121 find interpretation(problem,interpretation); 121 find interpretation(problem,interpretation);
122 PartialInterpretation.openWorldElements(interpretation,element); 122 PartialInterpretation.openWorldElements(interpretation,element);
123 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 123 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
124 neg find mustInstanceOfPayload_class(problem,interpretation,element); 124 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
125 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 125 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
126 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
126 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 127 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
127 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); 128 neg find mustInstanceOfPayload_class(problem,interpretation,element);
128 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
129 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation); 129 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
130 neg find isPrimitive(element); 130 neg find isPrimitive(element);
131} or 131} or
@@ -153,21 +153,21 @@ private pattern mayInstanceOfInterferometryMission_class(problem:LogicProblem, i
153{ 153{
154 find interpretation(problem,interpretation); 154 find interpretation(problem,interpretation);
155 PartialInterpretation.newElements(interpretation,element); 155 PartialInterpretation.newElements(interpretation,element);
156 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
156 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 157 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
157 neg find mustInstanceOfPayload_class(problem,interpretation,element);
158 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 158 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
159 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 159 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
160 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); 160 neg find mustInstanceOfPayload_class(problem,interpretation,element);
161 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation); 161 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
162 neg find isPrimitive(element); 162 neg find isPrimitive(element);
163} or { 163} or {
164 find interpretation(problem,interpretation); 164 find interpretation(problem,interpretation);
165 PartialInterpretation.openWorldElements(interpretation,element); 165 PartialInterpretation.openWorldElements(interpretation,element);
166 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
166 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 167 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
167 neg find mustInstanceOfPayload_class(problem,interpretation,element);
168 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 168 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
169 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 169 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
170 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); 170 neg find mustInstanceOfPayload_class(problem,interpretation,element);
171 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation); 171 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
172 neg find isPrimitive(element); 172 neg find isPrimitive(element);
173} or 173} or
@@ -195,23 +195,23 @@ private pattern mayInstanceOfCommunicatingElement_class(problem:LogicProblem, in
195{ 195{
196 find interpretation(problem,interpretation); 196 find interpretation(problem,interpretation);
197 PartialInterpretation.newElements(interpretation,element); 197 PartialInterpretation.newElements(interpretation,element);
198 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
199 neg find mustInstanceOfPayload_class(problem,interpretation,element);
200 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
201 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 198 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
202 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
203 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); 199 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
200 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
201 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
202 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
203 neg find mustInstanceOfPayload_class(problem,interpretation,element);
204 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation); 204 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
205 neg find isPrimitive(element); 205 neg find isPrimitive(element);
206} or { 206} or {
207 find interpretation(problem,interpretation); 207 find interpretation(problem,interpretation);
208 PartialInterpretation.openWorldElements(interpretation,element); 208 PartialInterpretation.openWorldElements(interpretation,element);
209 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
210 neg find mustInstanceOfPayload_class(problem,interpretation,element);
211 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
212 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 209 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
213 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
214 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); 210 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
211 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
212 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
213 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
214 neg find mustInstanceOfPayload_class(problem,interpretation,element);
215 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation); 215 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
216 neg find isPrimitive(element); 216 neg find isPrimitive(element);
217} or 217} or
@@ -239,21 +239,21 @@ private pattern mayInstanceOfGroundStationNetwork_class(problem:LogicProblem, in
239{ 239{
240 find interpretation(problem,interpretation); 240 find interpretation(problem,interpretation);
241 PartialInterpretation.newElements(interpretation,element); 241 PartialInterpretation.newElements(interpretation,element);
242 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
243 neg find mustInstanceOfPayload_class(problem,interpretation,element);
244 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 242 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
245 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
246 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); 243 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
244 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
245 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
246 neg find mustInstanceOfPayload_class(problem,interpretation,element);
247 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation); 247 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
248 neg find isPrimitive(element); 248 neg find isPrimitive(element);
249} or { 249} or {
250 find interpretation(problem,interpretation); 250 find interpretation(problem,interpretation);
251 PartialInterpretation.openWorldElements(interpretation,element); 251 PartialInterpretation.openWorldElements(interpretation,element);
252 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
253 neg find mustInstanceOfPayload_class(problem,interpretation,element);
254 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 252 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
255 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
256 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); 253 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
254 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
255 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
256 neg find mustInstanceOfPayload_class(problem,interpretation,element);
257 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation); 257 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
258 neg find isPrimitive(element); 258 neg find isPrimitive(element);
259} or 259} or
@@ -281,25 +281,25 @@ private pattern mayInstanceOfSpacecraft_class(problem:LogicProblem, interpretati
281{ 281{
282 find interpretation(problem,interpretation); 282 find interpretation(problem,interpretation);
283 PartialInterpretation.newElements(interpretation,element); 283 PartialInterpretation.newElements(interpretation,element);
284 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
285 neg find mustInstanceOfPayload_class(problem,interpretation,element);
286 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
287 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
288 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 284 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
289 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 285 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
290 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 286 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
287 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
288 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
289 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
290 neg find mustInstanceOfPayload_class(problem,interpretation,element);
291 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation); 291 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
292 neg find isPrimitive(element); 292 neg find isPrimitive(element);
293} or { 293} or {
294 find interpretation(problem,interpretation); 294 find interpretation(problem,interpretation);
295 PartialInterpretation.openWorldElements(interpretation,element); 295 PartialInterpretation.openWorldElements(interpretation,element);
296 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
297 neg find mustInstanceOfPayload_class(problem,interpretation,element);
298 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
299 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
300 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 296 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
301 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 297 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
302 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 298 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
299 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
300 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
301 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
302 neg find mustInstanceOfPayload_class(problem,interpretation,element);
303 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation); 303 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
304 neg find isPrimitive(element); 304 neg find isPrimitive(element);
305} or 305} or
@@ -327,21 +327,25 @@ private pattern mayInstanceOfCommSubsystem_class(problem:LogicProblem, interpret
327{ 327{
328 find interpretation(problem,interpretation); 328 find interpretation(problem,interpretation);
329 PartialInterpretation.newElements(interpretation,element); 329 PartialInterpretation.newElements(interpretation,element);
330 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
331 neg find mustInstanceOfPayload_class(problem,interpretation,element);
332 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 330 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
333 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
334 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); 331 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
332 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
333 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
334 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
335 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
336 neg find mustInstanceOfPayload_class(problem,interpretation,element);
335 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation); 337 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
336 neg find isPrimitive(element); 338 neg find isPrimitive(element);
337} or { 339} or {
338 find interpretation(problem,interpretation); 340 find interpretation(problem,interpretation);
339 PartialInterpretation.openWorldElements(interpretation,element); 341 PartialInterpretation.openWorldElements(interpretation,element);
340 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
341 neg find mustInstanceOfPayload_class(problem,interpretation,element);
342 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 342 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
343 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
344 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); 343 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
344 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
345 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
346 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
347 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
348 neg find mustInstanceOfPayload_class(problem,interpretation,element);
345 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation); 349 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
346 neg find isPrimitive(element); 350 neg find isPrimitive(element);
347} or 351} or
@@ -369,19 +373,19 @@ private pattern mayInstanceOfDirectedCommunicationLink_class(problem:LogicProble
369{ 373{
370 find interpretation(problem,interpretation); 374 find interpretation(problem,interpretation);
371 PartialInterpretation.newElements(interpretation,element); 375 PartialInterpretation.newElements(interpretation,element);
372 neg find mustInstanceOfPayload_class(problem,interpretation,element);
373 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 376 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
374 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 377 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
375 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 378 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
379 neg find mustInstanceOfPayload_class(problem,interpretation,element);
376 neg find scopeDisallowsNewDirectedCommunicationLink_class(problem, interpretation); 380 neg find scopeDisallowsNewDirectedCommunicationLink_class(problem, interpretation);
377 neg find isPrimitive(element); 381 neg find isPrimitive(element);
378} or { 382} or {
379 find interpretation(problem,interpretation); 383 find interpretation(problem,interpretation);
380 PartialInterpretation.openWorldElements(interpretation,element); 384 PartialInterpretation.openWorldElements(interpretation,element);
381 neg find mustInstanceOfPayload_class(problem,interpretation,element);
382 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 385 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
383 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 386 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
384 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 387 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
388 neg find mustInstanceOfPayload_class(problem,interpretation,element);
385 neg find scopeDisallowsNewDirectedCommunicationLink_class(problem, interpretation); 389 neg find scopeDisallowsNewDirectedCommunicationLink_class(problem, interpretation);
386 neg find isPrimitive(element); 390 neg find isPrimitive(element);
387} or 391} or
@@ -409,21 +413,21 @@ private pattern mayInstanceOfPayload_class(problem:LogicProblem, interpretation:
409{ 413{
410 find interpretation(problem,interpretation); 414 find interpretation(problem,interpretation);
411 PartialInterpretation.newElements(interpretation,element); 415 PartialInterpretation.newElements(interpretation,element);
412 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
413 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 416 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
414 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
415 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); 417 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
416 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 418 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
419 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
420 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
417 neg find scopeDisallowsNewPayload_class(problem, interpretation); 421 neg find scopeDisallowsNewPayload_class(problem, interpretation);
418 neg find isPrimitive(element); 422 neg find isPrimitive(element);
419} or { 423} or {
420 find interpretation(problem,interpretation); 424 find interpretation(problem,interpretation);
421 PartialInterpretation.openWorldElements(interpretation,element); 425 PartialInterpretation.openWorldElements(interpretation,element);
422 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
423 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 426 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
424 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
425 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); 427 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
426 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 428 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
429 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
430 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
427 neg find scopeDisallowsNewPayload_class(problem, interpretation); 431 neg find scopeDisallowsNewPayload_class(problem, interpretation);
428 neg find isPrimitive(element); 432 neg find isPrimitive(element);
429} or 433} or
@@ -451,19 +455,19 @@ private pattern mayInstanceOfInterferometryPayload_class(problem:LogicProblem, i
451{ 455{
452 find interpretation(problem,interpretation); 456 find interpretation(problem,interpretation);
453 PartialInterpretation.newElements(interpretation,element); 457 PartialInterpretation.newElements(interpretation,element);
454 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
455 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 458 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
456 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
457 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 459 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
460 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
461 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
458 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation); 462 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
459 neg find isPrimitive(element); 463 neg find isPrimitive(element);
460} or { 464} or {
461 find interpretation(problem,interpretation); 465 find interpretation(problem,interpretation);
462 PartialInterpretation.openWorldElements(interpretation,element); 466 PartialInterpretation.openWorldElements(interpretation,element);
463 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
464 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 467 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
465 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
466 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 468 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
469 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
470 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
467 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation); 471 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
468 neg find isPrimitive(element); 472 neg find isPrimitive(element);
469} or 473} or
@@ -491,25 +495,25 @@ private pattern mayInstanceOfCubeSat3U_class(problem:LogicProblem, interpretatio
491{ 495{
492 find interpretation(problem,interpretation); 496 find interpretation(problem,interpretation);
493 PartialInterpretation.newElements(interpretation,element); 497 PartialInterpretation.newElements(interpretation,element);
494 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
495 neg find mustInstanceOfPayload_class(problem,interpretation,element);
496 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
497 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 498 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
498 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
499 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 499 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
500 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
501 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
502 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
500 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); 503 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
504 neg find mustInstanceOfPayload_class(problem,interpretation,element);
501 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation); 505 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
502 neg find isPrimitive(element); 506 neg find isPrimitive(element);
503} or { 507} or {
504 find interpretation(problem,interpretation); 508 find interpretation(problem,interpretation);
505 PartialInterpretation.openWorldElements(interpretation,element); 509 PartialInterpretation.openWorldElements(interpretation,element);
506 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
507 neg find mustInstanceOfPayload_class(problem,interpretation,element);
508 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
509 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 510 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
510 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
511 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 511 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
512 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
513 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
514 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
512 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); 515 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
516 neg find mustInstanceOfPayload_class(problem,interpretation,element);
513 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation); 517 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
514 neg find isPrimitive(element); 518 neg find isPrimitive(element);
515} or 519} or
@@ -537,25 +541,25 @@ private pattern mayInstanceOfCubeSat6U_class(problem:LogicProblem, interpretatio
537{ 541{
538 find interpretation(problem,interpretation); 542 find interpretation(problem,interpretation);
539 PartialInterpretation.newElements(interpretation,element); 543 PartialInterpretation.newElements(interpretation,element);
540 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
541 neg find mustInstanceOfPayload_class(problem,interpretation,element);
542 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 544 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
543 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 545 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
544 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 546 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
547 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
548 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
545 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); 549 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
546 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 550 neg find mustInstanceOfPayload_class(problem,interpretation,element);
547 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation); 551 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
548 neg find isPrimitive(element); 552 neg find isPrimitive(element);
549} or { 553} or {
550 find interpretation(problem,interpretation); 554 find interpretation(problem,interpretation);
551 PartialInterpretation.openWorldElements(interpretation,element); 555 PartialInterpretation.openWorldElements(interpretation,element);
552 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
553 neg find mustInstanceOfPayload_class(problem,interpretation,element);
554 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 556 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
555 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 557 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
556 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 558 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
559 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
560 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
557 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); 561 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
558 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 562 neg find mustInstanceOfPayload_class(problem,interpretation,element);
559 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation); 563 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
560 neg find isPrimitive(element); 564 neg find isPrimitive(element);
561} or 565} or
@@ -583,23 +587,23 @@ private pattern mayInstanceOfSmallSat_class(problem:LogicProblem, interpretation
583{ 587{
584 find interpretation(problem,interpretation); 588 find interpretation(problem,interpretation);
585 PartialInterpretation.newElements(interpretation,element); 589 PartialInterpretation.newElements(interpretation,element);
586 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
587 neg find mustInstanceOfPayload_class(problem,interpretation,element);
588 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
589 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
590 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 590 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
591 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
591 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 592 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
593 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
594 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
595 neg find mustInstanceOfPayload_class(problem,interpretation,element);
592 neg find scopeDisallowsNewSmallSat_class(problem, interpretation); 596 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
593 neg find isPrimitive(element); 597 neg find isPrimitive(element);
594} or { 598} or {
595 find interpretation(problem,interpretation); 599 find interpretation(problem,interpretation);
596 PartialInterpretation.openWorldElements(interpretation,element); 600 PartialInterpretation.openWorldElements(interpretation,element);
597 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
598 neg find mustInstanceOfPayload_class(problem,interpretation,element);
599 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
600 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
601 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 601 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
602 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
602 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 603 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
604 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
605 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
606 neg find mustInstanceOfPayload_class(problem,interpretation,element);
603 neg find scopeDisallowsNewSmallSat_class(problem, interpretation); 607 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
604 neg find isPrimitive(element); 608 neg find isPrimitive(element);
605} or 609} or
@@ -627,94 +631,163 @@ private pattern mayInstanceOfCubeSat_class(problem:LogicProblem, interpretation:
627{ 631{
628 find interpretation(problem,interpretation); 632 find interpretation(problem,interpretation);
629 PartialInterpretation.newElements(interpretation,element); 633 PartialInterpretation.newElements(interpretation,element);
630 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
631 neg find mustInstanceOfPayload_class(problem,interpretation,element);
632 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 634 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
633 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
634 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
635 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
636 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 635 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
636 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
637 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
638 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
637 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); 639 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
640 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
641 neg find mustInstanceOfPayload_class(problem,interpretation,element);
638 neg find scopeDisallowsNewCubeSat_class(problem, interpretation); 642 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
639 neg find isPrimitive(element); 643 neg find isPrimitive(element);
640} or { 644} or {
641 find interpretation(problem,interpretation); 645 find interpretation(problem,interpretation);
642 PartialInterpretation.openWorldElements(interpretation,element); 646 PartialInterpretation.openWorldElements(interpretation,element);
643 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
644 neg find mustInstanceOfPayload_class(problem,interpretation,element);
645 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 647 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
646 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
647 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
648 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
649 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 648 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
649 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
650 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
651 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
650 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); 652 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
653 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
654 neg find mustInstanceOfPayload_class(problem,interpretation,element);
651 neg find scopeDisallowsNewCubeSat_class(problem, interpretation); 655 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
652 neg find isPrimitive(element); 656 neg find isPrimitive(element);
653} or 657} or
654{ find mustInstanceOfCubeSat_class(problem,interpretation,element); } 658{ find mustInstanceOfCubeSat_class(problem,interpretation,element); }
655/** 659/**
656 * An element must be an instance of type "TransceiverBand enum". 660 * An element must be an instance of type "UHFCommSubsystem class".
657 */ 661 */
658private pattern mustInstanceOfTransceiverBand_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 662private pattern mustInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
659 Type.name(type,"TransceiverBand enum"); 663 Type.name(type,"UHFCommSubsystem class");
660 find directInstanceOf(problem,interpretation,element,type); 664 find directInstanceOf(problem,interpretation,element,type);
661} 665}
662private pattern scopeDisallowsNewTransceiverBand_enum(problem:LogicProblem, interpretation:PartialInterpretation) { 666private pattern scopeDisallowsNewUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
663 find interpretation(problem,interpretation); 667 find interpretation(problem,interpretation);
664 PartialInterpretation.scopes(interpretation,scope); 668 PartialInterpretation.scopes(interpretation,scope);
665 Scope.targetTypeInterpretation(scope,typeInterpretation); 669 Scope.targetTypeInterpretation(scope,typeInterpretation);
666 Scope.maxNewElements(scope,0); 670 Scope.maxNewElements(scope,0);
667 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 671 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
668 Type.name(type,"TransceiverBand enum"); 672 Type.name(type,"UHFCommSubsystem class");
669} 673}
670 674
671/** 675/**
672 * An element may be an instance of type "TransceiverBand enum". 676 * An element may be an instance of type "UHFCommSubsystem class".
673 */ 677 */
674private pattern mayInstanceOfTransceiverBand_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 678private pattern mayInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
675{ find mustInstanceOfTransceiverBand_enum(problem,interpretation,element); } 679{
680 find interpretation(problem,interpretation);
681 PartialInterpretation.newElements(interpretation,element);
682 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
683 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
684 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
685 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
686 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
687 neg find mustInstanceOfPayload_class(problem,interpretation,element);
688 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
689 neg find isPrimitive(element);
690} or {
691 find interpretation(problem,interpretation);
692 PartialInterpretation.openWorldElements(interpretation,element);
693 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
694 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
695 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
696 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
697 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
698 neg find mustInstanceOfPayload_class(problem,interpretation,element);
699 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
700 neg find isPrimitive(element);
701} or
702{ find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); }
676/** 703/**
677 * An element must be an instance of type "AntennaGain enum". 704 * An element must be an instance of type "XCommSubsystem class".
678 */ 705 */
679private pattern mustInstanceOfAntennaGain_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 706private pattern mustInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
680 Type.name(type,"AntennaGain enum"); 707 Type.name(type,"XCommSubsystem class");
681 find directInstanceOf(problem,interpretation,element,type); 708 find directInstanceOf(problem,interpretation,element,type);
682} 709}
683private pattern scopeDisallowsNewAntennaGain_enum(problem:LogicProblem, interpretation:PartialInterpretation) { 710private pattern scopeDisallowsNewXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
684 find interpretation(problem,interpretation); 711 find interpretation(problem,interpretation);
685 PartialInterpretation.scopes(interpretation,scope); 712 PartialInterpretation.scopes(interpretation,scope);
686 Scope.targetTypeInterpretation(scope,typeInterpretation); 713 Scope.targetTypeInterpretation(scope,typeInterpretation);
687 Scope.maxNewElements(scope,0); 714 Scope.maxNewElements(scope,0);
688 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 715 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
689 Type.name(type,"AntennaGain enum"); 716 Type.name(type,"XCommSubsystem class");
690} 717}
691 718
692/** 719/**
693 * An element may be an instance of type "AntennaGain enum". 720 * An element may be an instance of type "XCommSubsystem class".
694 */ 721 */
695private pattern mayInstanceOfAntennaGain_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 722private pattern mayInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
696{ find mustInstanceOfAntennaGain_enum(problem,interpretation,element); } 723{
724 find interpretation(problem,interpretation);
725 PartialInterpretation.newElements(interpretation,element);
726 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
727 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
728 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
729 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
730 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
731 neg find mustInstanceOfPayload_class(problem,interpretation,element);
732 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
733 neg find isPrimitive(element);
734} or {
735 find interpretation(problem,interpretation);
736 PartialInterpretation.openWorldElements(interpretation,element);
737 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
738 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
739 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
740 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
741 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
742 neg find mustInstanceOfPayload_class(problem,interpretation,element);
743 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
744 neg find isPrimitive(element);
745} or
746{ find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); }
697/** 747/**
698 * An element must be an instance of type "SpacecraftKind enum". 748 * An element must be an instance of type "KaCommSubsystem class".
699 */ 749 */
700private pattern mustInstanceOfSpacecraftKind_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 750private pattern mustInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
701 Type.name(type,"SpacecraftKind enum"); 751 Type.name(type,"KaCommSubsystem class");
702 find directInstanceOf(problem,interpretation,element,type); 752 find directInstanceOf(problem,interpretation,element,type);
703} 753}
704private pattern scopeDisallowsNewSpacecraftKind_enum(problem:LogicProblem, interpretation:PartialInterpretation) { 754private pattern scopeDisallowsNewKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
705 find interpretation(problem,interpretation); 755 find interpretation(problem,interpretation);
706 PartialInterpretation.scopes(interpretation,scope); 756 PartialInterpretation.scopes(interpretation,scope);
707 Scope.targetTypeInterpretation(scope,typeInterpretation); 757 Scope.targetTypeInterpretation(scope,typeInterpretation);
708 Scope.maxNewElements(scope,0); 758 Scope.maxNewElements(scope,0);
709 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); 759 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
710 Type.name(type,"SpacecraftKind enum"); 760 Type.name(type,"KaCommSubsystem class");
711} 761}
712 762
713/** 763/**
714 * An element may be an instance of type "SpacecraftKind enum". 764 * An element may be an instance of type "KaCommSubsystem class".
715 */ 765 */
716private pattern mayInstanceOfSpacecraftKind_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) 766private pattern mayInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
717{ find mustInstanceOfSpacecraftKind_enum(problem,interpretation,element); } 767{
768 find interpretation(problem,interpretation);
769 PartialInterpretation.newElements(interpretation,element);
770 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
771 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
772 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
773 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
774 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
775 neg find mustInstanceOfPayload_class(problem,interpretation,element);
776 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
777 neg find isPrimitive(element);
778} or {
779 find interpretation(problem,interpretation);
780 PartialInterpretation.openWorldElements(interpretation,element);
781 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
782 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
783 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
784 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
785 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
786 neg find mustInstanceOfPayload_class(problem,interpretation,element);
787 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
788 neg find isPrimitive(element);
789} or
790{ find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); }
718/** 791/**
719 * An element must be an instance of type "ConstellationMission class DefinedPart". 792 * An element must be an instance of type "ConstellationMission class DefinedPart".
720 */ 793 */
@@ -759,21 +832,21 @@ private pattern mayInstanceOfConstellationMission_class_UndefinedPart(problem:Lo
759{ 832{
760 find interpretation(problem,interpretation); 833 find interpretation(problem,interpretation);
761 PartialInterpretation.newElements(interpretation,element); 834 PartialInterpretation.newElements(interpretation,element);
835 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
762 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 836 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
763 neg find mustInstanceOfPayload_class(problem,interpretation,element);
764 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
765 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 837 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
766 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); 838 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
839 neg find mustInstanceOfPayload_class(problem,interpretation,element);
767 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation); 840 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
768 neg find isPrimitive(element); 841 neg find isPrimitive(element);
769} or { 842} or {
770 find interpretation(problem,interpretation); 843 find interpretation(problem,interpretation);
771 PartialInterpretation.openWorldElements(interpretation,element); 844 PartialInterpretation.openWorldElements(interpretation,element);
845 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
772 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 846 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
773 neg find mustInstanceOfPayload_class(problem,interpretation,element);
774 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
775 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 847 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
776 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); 848 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
849 neg find mustInstanceOfPayload_class(problem,interpretation,element);
777 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation); 850 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
778 neg find isPrimitive(element); 851 neg find isPrimitive(element);
779} or 852} or
@@ -822,19 +895,19 @@ private pattern mayInstanceOfInterferometryMission_class_UndefinedPart(problem:L
822{ 895{
823 find interpretation(problem,interpretation); 896 find interpretation(problem,interpretation);
824 PartialInterpretation.newElements(interpretation,element); 897 PartialInterpretation.newElements(interpretation,element);
898 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
899 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
825 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 900 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
826 neg find mustInstanceOfPayload_class(problem,interpretation,element); 901 neg find mustInstanceOfPayload_class(problem,interpretation,element);
827 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
828 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
829 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation); 902 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
830 neg find isPrimitive(element); 903 neg find isPrimitive(element);
831} or { 904} or {
832 find interpretation(problem,interpretation); 905 find interpretation(problem,interpretation);
833 PartialInterpretation.openWorldElements(interpretation,element); 906 PartialInterpretation.openWorldElements(interpretation,element);
907 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
908 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
834 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 909 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
835 neg find mustInstanceOfPayload_class(problem,interpretation,element); 910 neg find mustInstanceOfPayload_class(problem,interpretation,element);
836 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
837 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
838 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation); 911 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
839 neg find isPrimitive(element); 912 neg find isPrimitive(element);
840} or 913} or
@@ -883,23 +956,23 @@ private pattern mayInstanceOfCommunicatingElement_class_UndefinedPart(problem:Lo
883{ 956{
884 find interpretation(problem,interpretation); 957 find interpretation(problem,interpretation);
885 PartialInterpretation.newElements(interpretation,element); 958 PartialInterpretation.newElements(interpretation,element);
886 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
887 neg find mustInstanceOfPayload_class(problem,interpretation,element);
888 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 959 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
889 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
890 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
891 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); 960 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
961 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
962 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
963 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
964 neg find mustInstanceOfPayload_class(problem,interpretation,element);
892 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation); 965 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
893 neg find isPrimitive(element); 966 neg find isPrimitive(element);
894} or { 967} or {
895 find interpretation(problem,interpretation); 968 find interpretation(problem,interpretation);
896 PartialInterpretation.openWorldElements(interpretation,element); 969 PartialInterpretation.openWorldElements(interpretation,element);
897 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
898 neg find mustInstanceOfPayload_class(problem,interpretation,element);
899 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 970 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
900 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
901 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
902 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); 971 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
972 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
973 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
974 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
975 neg find mustInstanceOfPayload_class(problem,interpretation,element);
903 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation); 976 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
904 neg find isPrimitive(element); 977 neg find isPrimitive(element);
905} or 978} or
@@ -948,21 +1021,21 @@ private pattern mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem:Lo
948{ 1021{
949 find interpretation(problem,interpretation); 1022 find interpretation(problem,interpretation);
950 PartialInterpretation.newElements(interpretation,element); 1023 PartialInterpretation.newElements(interpretation,element);
951 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
952 neg find mustInstanceOfPayload_class(problem,interpretation,element);
953 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 1024 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
954 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
955 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); 1025 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
1026 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
1027 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
1028 neg find mustInstanceOfPayload_class(problem,interpretation,element);
956 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation); 1029 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
957 neg find isPrimitive(element); 1030 neg find isPrimitive(element);
958} or { 1031} or {
959 find interpretation(problem,interpretation); 1032 find interpretation(problem,interpretation);
960 PartialInterpretation.openWorldElements(interpretation,element); 1033 PartialInterpretation.openWorldElements(interpretation,element);
961 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
962 neg find mustInstanceOfPayload_class(problem,interpretation,element);
963 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 1034 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
964 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
965 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); 1035 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
1036 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
1037 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
1038 neg find mustInstanceOfPayload_class(problem,interpretation,element);
966 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation); 1039 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
967 neg find isPrimitive(element); 1040 neg find isPrimitive(element);
968} or 1041} or
@@ -1011,23 +1084,159 @@ private pattern mayInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProb
1011{ 1084{
1012 find interpretation(problem,interpretation); 1085 find interpretation(problem,interpretation);
1013 PartialInterpretation.newElements(interpretation,element); 1086 PartialInterpretation.newElements(interpretation,element);
1087 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1014 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 1088 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
1089 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1090 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1091 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1092 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1015 neg find mustInstanceOfPayload_class(problem,interpretation,element); 1093 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1094 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1095 neg find isPrimitive(element);
1096} or {
1097 find interpretation(problem,interpretation);
1098 PartialInterpretation.openWorldElements(interpretation,element);
1016 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 1099 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1100 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
1017 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 1101 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1102 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1103 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1104 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1105 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1018 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation); 1106 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1019 neg find isPrimitive(element); 1107 neg find isPrimitive(element);
1108} or
1109{ find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1110/**
1111 * An element must be an instance of type "XCommSubsystem class DefinedPart".
1112 */
1113private pattern mustInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1114 Type.name(type,"XCommSubsystem class DefinedPart");
1115 find directInstanceOf(problem,interpretation,element,type);
1116}
1117private pattern scopeDisallowsNewXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1118 find interpretation(problem,interpretation);
1119 PartialInterpretation.scopes(interpretation,scope);
1120 Scope.targetTypeInterpretation(scope,typeInterpretation);
1121 Scope.maxNewElements(scope,0);
1122 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1123 Type.name(type,"XCommSubsystem class DefinedPart");
1124}
1125
1126/**
1127 * An element may be an instance of type "XCommSubsystem class DefinedPart".
1128 */
1129private pattern mayInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1130{ find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1131/**
1132 * An element must be an instance of type "XCommSubsystem class UndefinedPart".
1133 */
1134private pattern mustInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1135 Type.name(type,"XCommSubsystem class UndefinedPart");
1136 find directInstanceOf(problem,interpretation,element,type);
1137}
1138private pattern scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1139 find interpretation(problem,interpretation);
1140 PartialInterpretation.scopes(interpretation,scope);
1141 Scope.targetTypeInterpretation(scope,typeInterpretation);
1142 Scope.maxNewElements(scope,0);
1143 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1144 Type.name(type,"XCommSubsystem class UndefinedPart");
1145}
1146
1147/**
1148 * An element may be an instance of type "XCommSubsystem class UndefinedPart".
1149 */
1150private pattern mayInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1151{
1152 find interpretation(problem,interpretation);
1153 PartialInterpretation.newElements(interpretation,element);
1154 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1155 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1156 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
1157 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1158 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1159 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1160 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1161 neg find isPrimitive(element);
1020} or { 1162} or {
1021 find interpretation(problem,interpretation); 1163 find interpretation(problem,interpretation);
1022 PartialInterpretation.openWorldElements(interpretation,element); 1164 PartialInterpretation.openWorldElements(interpretation,element);
1165 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1166 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1167 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
1168 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1169 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1170 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1171 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1172 neg find isPrimitive(element);
1173} or
1174{ find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1175/**
1176 * An element must be an instance of type "KaCommSubsystem class DefinedPart".
1177 */
1178private pattern mustInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1179 Type.name(type,"KaCommSubsystem class DefinedPart");
1180 find directInstanceOf(problem,interpretation,element,type);
1181}
1182private pattern scopeDisallowsNewKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1183 find interpretation(problem,interpretation);
1184 PartialInterpretation.scopes(interpretation,scope);
1185 Scope.targetTypeInterpretation(scope,typeInterpretation);
1186 Scope.maxNewElements(scope,0);
1187 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1188 Type.name(type,"KaCommSubsystem class DefinedPart");
1189}
1190
1191/**
1192 * An element may be an instance of type "KaCommSubsystem class DefinedPart".
1193 */
1194private pattern mayInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1195{ find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1196/**
1197 * An element must be an instance of type "KaCommSubsystem class UndefinedPart".
1198 */
1199private pattern mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1200 Type.name(type,"KaCommSubsystem class UndefinedPart");
1201 find directInstanceOf(problem,interpretation,element,type);
1202}
1203private pattern scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1204 find interpretation(problem,interpretation);
1205 PartialInterpretation.scopes(interpretation,scope);
1206 Scope.targetTypeInterpretation(scope,typeInterpretation);
1207 Scope.maxNewElements(scope,0);
1208 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1209 Type.name(type,"KaCommSubsystem class UndefinedPart");
1210}
1211
1212/**
1213 * An element may be an instance of type "KaCommSubsystem class UndefinedPart".
1214 */
1215private pattern mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1216{
1217 find interpretation(problem,interpretation);
1218 PartialInterpretation.newElements(interpretation,element);
1219 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1023 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 1220 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
1221 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1222 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1223 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1024 neg find mustInstanceOfPayload_class(problem,interpretation,element); 1224 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1225 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1226 neg find isPrimitive(element);
1227} or {
1228 find interpretation(problem,interpretation);
1229 PartialInterpretation.openWorldElements(interpretation,element);
1025 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 1230 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1231 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
1026 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 1232 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1027 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation); 1233 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1234 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1235 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1236 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1028 neg find isPrimitive(element); 1237 neg find isPrimitive(element);
1029} or 1238} or
1030{ find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); } 1239{ find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1031 1240
1032////////// 1241//////////
1033// 1.2 Relation Declaration Indexers 1242// 1.2 Relation Declaration Indexers
@@ -1302,94 +1511,6 @@ private pattern mayInRelationtarget_reference_DirectedCommunicationLink(
1302} or { 1511} or {
1303 find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,source,target); 1512 find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,source,target);
1304} 1513}
1305/**
1306 * Matcher for detecting tuples t where []kind attribute Spacecraft(source,target)
1307 */
1308 private pattern mustInRelationkind_attribute_Spacecraft(
1309 problem:LogicProblem, interpretation:PartialInterpretation,
1310 source: DefinedElement, target:DefinedElement)
1311 {
1312 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftOfKind(problem,interpretation,source,target);
1313 }
1314/**
1315 * Matcher for detecting tuples t where []kind attribute Spacecraft(source,target)
1316 */
1317 private pattern mayInRelationkind_attribute_Spacecraft(
1318 problem:LogicProblem, interpretation:PartialInterpretation,
1319 source: DefinedElement, target:DefinedElement)
1320 {
1321 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftOfKind(problem,interpretation,source,target);
1322 }
1323/**
1324 * Matcher for detecting tuples t where []band attribute CommSubsystem(source,target)
1325 */
1326private pattern mustInRelationband_attribute_CommSubsystem(
1327 problem:LogicProblem, interpretation:PartialInterpretation,
1328 source: DefinedElement, target:DefinedElement)
1329{
1330 find interpretation(problem,interpretation);
1331 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1332 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"band attribute CommSubsystem");
1333 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1334 BinaryElementRelationLink.param1(link,source);
1335 BinaryElementRelationLink.param2(link,target);
1336}
1337/**
1338 * Matcher for detecting tuples t where <>band attribute CommSubsystem(source,target)
1339 */
1340private pattern mayInRelationband_attribute_CommSubsystem(
1341 problem:LogicProblem, interpretation:PartialInterpretation,
1342 source: DefinedElement, target:DefinedElement)
1343{
1344 find interpretation(problem,interpretation);
1345 // The two endpoint of the link have to exist
1346 find mayExist(problem, interpretation, source);
1347 find mayExist(problem, interpretation, target);
1348 // Type consistency
1349 find mayInstanceOfCommSubsystem_class(problem,interpretation,source);
1350 find mayInstanceOfTransceiverBand_enum(problem,interpretation,target);
1351 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1352 // the upper bound of the multiplicity should be considered.
1353 numberOfExistingReferences == count find mustInRelationband_attribute_CommSubsystem(problem,interpretation,source,_);
1354 check(numberOfExistingReferences < 1);
1355} or {
1356 find mustInRelationband_attribute_CommSubsystem(problem,interpretation,source,target);
1357}
1358/**
1359 * Matcher for detecting tuples t where []gain attribute CommSubsystem(source,target)
1360 */
1361private pattern mustInRelationgain_attribute_CommSubsystem(
1362 problem:LogicProblem, interpretation:PartialInterpretation,
1363 source: DefinedElement, target:DefinedElement)
1364{
1365 find interpretation(problem,interpretation);
1366 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1367 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"gain attribute CommSubsystem");
1368 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1369 BinaryElementRelationLink.param1(link,source);
1370 BinaryElementRelationLink.param2(link,target);
1371}
1372/**
1373 * Matcher for detecting tuples t where <>gain attribute CommSubsystem(source,target)
1374 */
1375private pattern mayInRelationgain_attribute_CommSubsystem(
1376 problem:LogicProblem, interpretation:PartialInterpretation,
1377 source: DefinedElement, target:DefinedElement)
1378{
1379 find interpretation(problem,interpretation);
1380 // The two endpoint of the link have to exist
1381 find mayExist(problem, interpretation, source);
1382 find mayExist(problem, interpretation, target);
1383 // Type consistency
1384 find mayInstanceOfCommSubsystem_class(problem,interpretation,source);
1385 find mayInstanceOfAntennaGain_enum(problem,interpretation,target);
1386 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1387 // the upper bound of the multiplicity should be considered.
1388 numberOfExistingReferences == count find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,source,_);
1389 check(numberOfExistingReferences < 1);
1390} or {
1391 find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,source,target);
1392}
1393 1514
1394////////// 1515//////////
1395// 1.3 Relation Definition Indexers 1516// 1.3 Relation Definition Indexers
@@ -1729,7 +1850,7 @@ private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satell
1729 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); 1850 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1730 // From is exported 1851 // From is exported
1731 // To is exported 1852 // To is exported
1732 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To,_var__0); 1853 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1733 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From); 1854 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1734}or{ 1855}or{
1735 find interpretation(problem,interpretation); 1856 find interpretation(problem,interpretation);
@@ -1737,8 +1858,7 @@ private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satell
1737 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); 1858 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1738 // From is exported 1859 // From is exported
1739 // To is exported 1860 // To is exported
1740 var_virtual0 == const_UHF_TransceiverBand;DefinedElement.name(const_UHF_TransceiverBand,"UHF TransceiverBand"); //LogicProblem.elements(problem,const_UHF_TransceiverBand); 1861 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1741 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To,var_virtual0);
1742 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From); 1862 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1743}or{ 1863}or{
1744 find interpretation(problem,interpretation); 1864 find interpretation(problem,interpretation);
@@ -1746,7 +1866,7 @@ private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satell
1746 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); 1866 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1747 // From is exported 1867 // From is exported
1748 // To is exported 1868 // To is exported
1749 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To,_var__0); 1869 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1750 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From); 1870 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1751 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To); 1871 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1752} 1872}
@@ -1759,7 +1879,7 @@ private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satelli
1759 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); 1879 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1760 // From is exported 1880 // From is exported
1761 // To is exported 1881 // To is exported
1762 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To,_var__0); 1882 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1763 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From); 1883 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1764}or{ 1884}or{
1765 find interpretation(problem,interpretation); 1885 find interpretation(problem,interpretation);
@@ -1767,8 +1887,7 @@ private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satelli
1767 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); 1887 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1768 // From is exported 1888 // From is exported
1769 // To is exported 1889 // To is exported
1770 var_virtual0 == const_UHF_TransceiverBand;DefinedElement.name(const_UHF_TransceiverBand,"UHF TransceiverBand"); //LogicProblem.elements(problem,const_UHF_TransceiverBand); 1890 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1771 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To,var_virtual0);
1772 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From); 1891 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1773}or{ 1892}or{
1774 find interpretation(problem,interpretation); 1893 find interpretation(problem,interpretation);
@@ -1776,7 +1895,7 @@ private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satelli
1776 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); 1895 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1777 // From is exported 1896 // From is exported
1778 // To is exported 1897 // To is exported
1779 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To,_var__0); 1898 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1780 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From); 1899 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1781 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_To); 1900 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1782} 1901}
@@ -1789,7 +1908,7 @@ private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_sat
1789 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); 1908 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1790 // From is exported 1909 // From is exported
1791 // To is exported 1910 // To is exported
1792 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To,_var__0); 1911 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1793 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From); 1912 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1794}or{ 1913}or{
1795 find interpretation(problem,interpretation); 1914 find interpretation(problem,interpretation);
@@ -1797,8 +1916,7 @@ private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_sat
1797 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); 1916 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1798 // From is exported 1917 // From is exported
1799 // To is exported 1918 // To is exported
1800 var_virtual0 == const_UHF_TransceiverBand;DefinedElement.name(const_UHF_TransceiverBand,"UHF TransceiverBand"); //LogicProblem.elements(problem,const_UHF_TransceiverBand); 1919 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1801 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To,var_virtual0);
1802 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From); 1920 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1803}or{ 1921}or{
1804 find interpretation(problem,interpretation); 1922 find interpretation(problem,interpretation);
@@ -1806,7 +1924,7 @@ private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_sat
1806 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); 1924 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1807 // From is exported 1925 // From is exported
1808 // To is exported 1926 // To is exported
1809 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To,_var__0); 1927 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1810 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From); 1928 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1811 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To); 1929 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1812} 1930}
@@ -1822,111 +1940,145 @@ private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_do
1822// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna 1940// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna
1823private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna( 1941private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1824 problem:LogicProblem, interpretation:PartialInterpretation, 1942 problem:LogicProblem, interpretation:PartialInterpretation,
1825 var_From, var_To, var_Band) 1943 var_From, var_To)
1826{ 1944{
1827 find interpretation(problem,interpretation); 1945 find interpretation(problem,interpretation);
1828 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); 1946 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1829 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); 1947 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1830 // type constraint is enforced by construction
1831 // From is exported 1948 // From is exported
1832 // To is exported 1949 // To is exported
1833 // Band is exported
1834 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From); 1950 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1835 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0); 1951 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1836 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); 1952 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1837 find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_virtual0,var_virtual1); 1953 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1838 // type constraint is enforced by construction
1839 find mustEquivalent(problem, interpretation, var_virtual1, var_Band);
1840 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); 1954 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1841 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual2); 1955 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1842 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); 1956 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1843 find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_virtual2,var_virtual3); 1957 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1844 // type constraint is enforced by construction 1958 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1845 find mustEquivalent(problem, interpretation, var_virtual3, var_Band);
1846 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1847 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual4);
1848 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual4);
1849 find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,var_virtual4,var_virtual5);
1850 // type constraint is enforced by construction
1851 find mustEquivalent(problem, interpretation, var_virtual5, var_Gain);
1852 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1853 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual6);
1854 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual6);
1855 find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,var_virtual6,var_virtual7);
1856 // type constraint is enforced by construction
1857 find mustEquivalent(problem, interpretation, var_virtual7, var_Gain);
1858} 1959}
1859private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna( 1960private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1860 problem:LogicProblem, interpretation:PartialInterpretation, 1961 problem:LogicProblem, interpretation:PartialInterpretation,
1861 var_From, var_To, var_Band) 1962 var_From, var_To)
1862{ 1963{
1863 find interpretation(problem,interpretation); 1964 find interpretation(problem,interpretation);
1864 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From); 1965 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1865 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); 1966 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1866 // type constraint is enforced by construction
1867 // From is exported 1967 // From is exported
1868 // To is exported 1968 // To is exported
1869 // Band is exported
1870 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_From); 1969 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1871 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0); 1970 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1872 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); 1971 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1873 find mayInRelationband_attribute_CommSubsystem(problem,interpretation,var_virtual0,var_virtual1); 1972 find mayEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1874 // type constraint is enforced by construction
1875 find mayEquivalent(problem, interpretation, var_virtual1, var_Band);
1876 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); 1973 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1877 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual2); 1974 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1878 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); 1975 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1879 find mayInRelationband_attribute_CommSubsystem(problem,interpretation,var_virtual2,var_virtual3); 1976 find mayEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1880 // type constraint is enforced by construction 1977 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1881 find mayEquivalent(problem, interpretation, var_virtual3, var_Band);
1882 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1883 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual4);
1884 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual4);
1885 find mayInRelationgain_attribute_CommSubsystem(problem,interpretation,var_virtual4,var_virtual5);
1886 // type constraint is enforced by construction
1887 find mayEquivalent(problem, interpretation, var_virtual5, var_Gain);
1888 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1889 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual6);
1890 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual6);
1891 find mayInRelationgain_attribute_CommSubsystem(problem,interpretation,var_virtual6,var_virtual7);
1892 // type constraint is enforced by construction
1893 find mayEquivalent(problem, interpretation, var_virtual7, var_Gain);
1894} 1978}
1895private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna( 1979private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1896 problem:LogicProblem, interpretation:PartialInterpretation, 1980 problem:LogicProblem, interpretation:PartialInterpretation,
1897 var_From, var_To, var_Band) 1981 var_From, var_To)
1898{ 1982{
1899 find interpretation(problem,interpretation); 1983 find interpretation(problem,interpretation);
1900 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); 1984 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1901 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); 1985 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1902 // type constraint is enforced by construction
1903 // From is exported 1986 // From is exported
1904 // To is exported 1987 // To is exported
1905 // Band is exported
1906 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From); 1988 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1907 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0); 1989 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1908 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); 1990 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1909 find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_virtual0,var_virtual1); 1991 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1910 // type constraint is enforced by construction
1911 find mustEquivalent(problem, interpretation, var_virtual1, var_Band);
1912 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1913 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual2);
1914 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
1915 find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_virtual2,var_virtual3);
1916 // type constraint is enforced by construction
1917 find mustEquivalent(problem, interpretation, var_virtual3, var_Band);
1918 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1919 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual4);
1920 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual4);
1921 find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,var_virtual4,var_virtual5);
1922 // type constraint is enforced by construction
1923 find mustEquivalent(problem, interpretation, var_virtual5, var_Gain);
1924 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); 1992 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1925 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual6); 1993 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1926 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual6); 1994 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1927 find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,var_virtual6,var_virtual7); 1995 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1928 // type constraint is enforced by construction 1996 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1929 find mustEquivalent(problem, interpretation, var_virtual7, var_Gain); 1997}
1998// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingCommSubsystem
1999private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
2000 problem:LogicProblem, interpretation:PartialInterpretation,
2001 var_From, var_To)
2002{
2003 find interpretation(problem,interpretation);
2004 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
2005 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
2006 // From is exported
2007 // To is exported
2008 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
2009 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
2010}or{
2011 find interpretation(problem,interpretation);
2012 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
2013 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
2014 // From is exported
2015 // To is exported
2016 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
2017 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
2018}or{
2019 find interpretation(problem,interpretation);
2020 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
2021 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
2022 // From is exported
2023 // To is exported
2024 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
2025 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
2026}
2027private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
2028 problem:LogicProblem, interpretation:PartialInterpretation,
2029 var_From, var_To)
2030{
2031 find interpretation(problem,interpretation);
2032 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
2033 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
2034 // From is exported
2035 // To is exported
2036 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
2037 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
2038}or{
2039 find interpretation(problem,interpretation);
2040 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
2041 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
2042 // From is exported
2043 // To is exported
2044 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
2045 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
2046}or{
2047 find interpretation(problem,interpretation);
2048 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
2049 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
2050 // From is exported
2051 // To is exported
2052 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
2053 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
2054}
2055private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
2056 problem:LogicProblem, interpretation:PartialInterpretation,
2057 var_From, var_To)
2058{
2059 find interpretation(problem,interpretation);
2060 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
2061 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
2062 // From is exported
2063 // To is exported
2064 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
2065 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
2066}or{
2067 find interpretation(problem,interpretation);
2068 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
2069 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
2070 // From is exported
2071 // To is exported
2072 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
2073 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
2074}or{
2075 find interpretation(problem,interpretation);
2076 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
2077 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
2078 // From is exported
2079 // To is exported
2080 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
2081 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1930} 2082}
1931// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U 2083// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U
1932private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U( 2084private 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
1956 // Sat is exported 2108 // Sat is exported
1957 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); 2109 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1958} 2110}
2111// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat6U
2112private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
2113 problem:LogicProblem, interpretation:PartialInterpretation,
2114 var_Sat)
2115{
2116 find interpretation(problem,interpretation);
2117 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2118 // Sat is exported
2119 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2120}
2121private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
2122 problem:LogicProblem, interpretation:PartialInterpretation,
2123 var_Sat)
2124{
2125 find interpretation(problem,interpretation);
2126 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2127 // Sat is exported
2128 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2129}
2130private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
2131 problem:LogicProblem, interpretation:PartialInterpretation,
2132 var_Sat)
2133{
2134 find interpretation(problem,interpretation);
2135 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2136 // Sat is exported
2137 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2138}
1959// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop 2139// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop
1960private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop( 2140private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
1961 problem:LogicProblem, interpretation:PartialInterpretation, 2141 problem:LogicProblem, interpretation:PartialInterpretation,
@@ -2122,11 +2302,7 @@ private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satell
2122 find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1); 2302 find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1);
2123 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); 2303 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2124 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetSubsystem); 2304 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetSubsystem);
2125 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); 2305 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2126 find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual2);
2127 // type constraint is enforced by construction
2128 find mustEquivalent(problem, interpretation, var_virtual2, var_Band);
2129 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBand(problem,interpretation,var_TargetSubsystem,var_Band);
2130} 2306}
2131private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand( 2307private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2132 problem:LogicProblem, interpretation:PartialInterpretation, 2308 problem:LogicProblem, interpretation:PartialInterpretation,
@@ -2143,11 +2319,7 @@ private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satelli
2143 find mayInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1); 2319 find mayInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1);
2144 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); 2320 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2145 find mayEquivalent(problem, interpretation, var_virtual1, var_TargetSubsystem); 2321 find mayEquivalent(problem, interpretation, var_virtual1, var_TargetSubsystem);
2146 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); 2322 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2147 find mayInRelationband_attribute_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual2);
2148 // type constraint is enforced by construction
2149 find mayEquivalent(problem, interpretation, var_virtual2, var_Band);
2150 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBand(problem,interpretation,var_TargetSubsystem,var_Band);
2151} 2323}
2152private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand( 2324private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2153 problem:LogicProblem, interpretation:PartialInterpretation, 2325 problem:LogicProblem, interpretation:PartialInterpretation,
@@ -2164,382 +2336,7 @@ private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_sat
2164 find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1); 2336 find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1);
2165 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); 2337 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2166 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetSubsystem); 2338 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetSubsystem);
2167 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); 2339 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2168 find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual2);
2169 // type constraint is enforced by construction
2170 find mustEquivalent(problem, interpretation, var_virtual2, var_Band);
2171 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBand(problem,interpretation,var_TargetSubsystem,var_Band);
2172}
2173// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBand
2174private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBand(
2175 problem:LogicProblem, interpretation:PartialInterpretation,
2176 var_Comm, var_Band)
2177{
2178 find interpretation(problem,interpretation);
2179 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2180 // type constraint is enforced by construction
2181 // Comm is exported
2182 // Band is exported
2183 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2184 find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual0);
2185 // type constraint is enforced by construction
2186 find mustEquivalent(problem, interpretation, var_virtual0, var_Band);
2187}
2188private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBand(
2189 problem:LogicProblem, interpretation:PartialInterpretation,
2190 var_Comm, var_Band)
2191{
2192 find interpretation(problem,interpretation);
2193 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2194 // type constraint is enforced by construction
2195 // Comm is exported
2196 // Band is exported
2197 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2198 find mayInRelationband_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual0);
2199 // type constraint is enforced by construction
2200 find mayEquivalent(problem, interpretation, var_virtual0, var_Band);
2201}
2202private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBand(
2203 problem:LogicProblem, interpretation:PartialInterpretation,
2204 var_Comm, var_Band)
2205{
2206 find interpretation(problem,interpretation);
2207 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2208 // type constraint is enforced by construction
2209 // Comm is exported
2210 // Band is exported
2211 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2212 find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual0);
2213 // type constraint is enforced by construction
2214 find mustEquivalent(problem, interpretation, var_virtual0, var_Band);
2215}
2216// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetGain
2217private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetGain(
2218 problem:LogicProblem, interpretation:PartialInterpretation,
2219 var_Link)
2220{
2221 find interpretation(problem,interpretation);
2222 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
2223 // Link is exported
2224 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
2225 find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual0);
2226 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2227 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceSubsystem);
2228 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
2229 find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1);
2230 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2231 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetSubsystem);
2232 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2233 find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual2);
2234 // type constraint is enforced by construction
2235 find mustEquivalent(problem, interpretation, var_virtual2, var_Gain);
2236 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGain(problem,interpretation,var_TargetSubsystem,var_Gain);
2237}
2238private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetGain(
2239 problem:LogicProblem, interpretation:PartialInterpretation,
2240 var_Link)
2241{
2242 find interpretation(problem,interpretation);
2243 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
2244 // Link is exported
2245 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
2246 find mayInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual0);
2247 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2248 find mayEquivalent(problem, interpretation, var_virtual0, var_SourceSubsystem);
2249 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
2250 find mayInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1);
2251 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2252 find mayEquivalent(problem, interpretation, var_virtual1, var_TargetSubsystem);
2253 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2254 find mayInRelationgain_attribute_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual2);
2255 // type constraint is enforced by construction
2256 find mayEquivalent(problem, interpretation, var_virtual2, var_Gain);
2257 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGain(problem,interpretation,var_TargetSubsystem,var_Gain);
2258}
2259private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetGain(
2260 problem:LogicProblem, interpretation:PartialInterpretation,
2261 var_Link)
2262{
2263 find interpretation(problem,interpretation);
2264 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
2265 // Link is exported
2266 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
2267 find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual0);
2268 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2269 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceSubsystem);
2270 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
2271 find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1);
2272 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2273 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetSubsystem);
2274 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2275 find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual2);
2276 // type constraint is enforced by construction
2277 find mustEquivalent(problem, interpretation, var_virtual2, var_Gain);
2278 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGain(problem,interpretation,var_TargetSubsystem,var_Gain);
2279}
2280// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemGain
2281private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGain(
2282 problem:LogicProblem, interpretation:PartialInterpretation,
2283 var_Comm, var_Gain)
2284{
2285 find interpretation(problem,interpretation);
2286 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2287 // type constraint is enforced by construction
2288 // Comm is exported
2289 // Gain is exported
2290 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2291 find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual0);
2292 // type constraint is enforced by construction
2293 find mustEquivalent(problem, interpretation, var_virtual0, var_Gain);
2294}
2295private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGain(
2296 problem:LogicProblem, interpretation:PartialInterpretation,
2297 var_Comm, var_Gain)
2298{
2299 find interpretation(problem,interpretation);
2300 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2301 // type constraint is enforced by construction
2302 // Comm is exported
2303 // Gain is exported
2304 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2305 find mayInRelationgain_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual0);
2306 // type constraint is enforced by construction
2307 find mayEquivalent(problem, interpretation, var_virtual0, var_Gain);
2308}
2309private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGain(
2310 problem:LogicProblem, interpretation:PartialInterpretation,
2311 var_Comm, var_Gain)
2312{
2313 find interpretation(problem,interpretation);
2314 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2315 // type constraint is enforced by construction
2316 // Comm is exported
2317 // Gain is exported
2318 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2319 find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual0);
2320 // type constraint is enforced by construction
2321 find mustEquivalent(problem, interpretation, var_virtual0, var_Gain);
2322}
2323// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries uhfAntennaGainNotLow
2324private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_uhfAntennaGainNotLow(
2325 problem:LogicProblem, interpretation:PartialInterpretation,
2326 var_Comm)
2327{
2328 find interpretation(problem,interpretation);
2329 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2330 // Comm is exported
2331 var_virtual0 == const_UHF_TransceiverBand;DefinedElement.name(const_UHF_TransceiverBand,"UHF TransceiverBand"); //LogicProblem.elements(problem,const_UHF_TransceiverBand);
2332 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2333 find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
2334 // type constraint is enforced by construction
2335 find mustEquivalent(problem, interpretation, var_virtual1, var_virtual0);
2336 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGainLow(problem,interpretation,var_Comm);
2337}
2338private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_uhfAntennaGainNotLow(
2339 problem:LogicProblem, interpretation:PartialInterpretation,
2340 var_Comm)
2341{
2342 find interpretation(problem,interpretation);
2343 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2344 // Comm is exported
2345 var_virtual0 == const_UHF_TransceiverBand;DefinedElement.name(const_UHF_TransceiverBand,"UHF TransceiverBand"); //LogicProblem.elements(problem,const_UHF_TransceiverBand);
2346 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2347 find mayInRelationband_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
2348 // type constraint is enforced by construction
2349 find mayEquivalent(problem, interpretation, var_virtual1, var_virtual0);
2350 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGainLow(problem,interpretation,var_Comm);
2351}
2352private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_uhfAntennaGainNotLow(
2353 problem:LogicProblem, interpretation:PartialInterpretation,
2354 var_Comm)
2355{
2356 find interpretation(problem,interpretation);
2357 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2358 // Comm is exported
2359 var_virtual0 == const_UHF_TransceiverBand;DefinedElement.name(const_UHF_TransceiverBand,"UHF TransceiverBand"); //LogicProblem.elements(problem,const_UHF_TransceiverBand);
2360 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2361 find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
2362 // type constraint is enforced by construction
2363 find mustEquivalent(problem, interpretation, var_virtual1, var_virtual0);
2364 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGainLow(problem,interpretation,var_Comm);
2365}
2366// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemGainLow
2367private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGainLow(
2368 problem:LogicProblem, interpretation:PartialInterpretation,
2369 var_Comm)
2370{
2371 find interpretation(problem,interpretation);
2372 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2373 // Comm is exported
2374 var_virtual0 == const_LOW_AntennaGain;DefinedElement.name(const_LOW_AntennaGain,"LOW AntennaGain"); //LogicProblem.elements(problem,const_LOW_AntennaGain);
2375 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2376 find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
2377 // type constraint is enforced by construction
2378 find mustEquivalent(problem, interpretation, var_virtual1, var_virtual0);
2379}
2380private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGainLow(
2381 problem:LogicProblem, interpretation:PartialInterpretation,
2382 var_Comm)
2383{
2384 find interpretation(problem,interpretation);
2385 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2386 // Comm is exported
2387 var_virtual0 == const_LOW_AntennaGain;DefinedElement.name(const_LOW_AntennaGain,"LOW AntennaGain"); //LogicProblem.elements(problem,const_LOW_AntennaGain);
2388 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2389 find mayInRelationgain_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
2390 // type constraint is enforced by construction
2391 find mayEquivalent(problem, interpretation, var_virtual1, var_virtual0);
2392}
2393private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGainLow(
2394 problem:LogicProblem, interpretation:PartialInterpretation,
2395 var_Comm)
2396{
2397 find interpretation(problem,interpretation);
2398 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2399 // Comm is exported
2400 var_virtual0 == const_LOW_AntennaGain;DefinedElement.name(const_LOW_AntennaGain,"LOW AntennaGain"); //LogicProblem.elements(problem,const_LOW_AntennaGain);
2401 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2402 find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
2403 // type constraint is enforced by construction
2404 find mustEquivalent(problem, interpretation, var_virtual1, var_virtual0);
2405}
2406// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries xAntennaGainNotMedium
2407private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_xAntennaGainNotMedium(
2408 problem:LogicProblem, interpretation:PartialInterpretation,
2409 var_Comm)
2410{
2411 find interpretation(problem,interpretation);
2412 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2413 // Comm is exported
2414 var_virtual0 == const_X_TransceiverBand;DefinedElement.name(const_X_TransceiverBand,"X TransceiverBand"); //LogicProblem.elements(problem,const_X_TransceiverBand);
2415 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2416 find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
2417 // type constraint is enforced by construction
2418 find mustEquivalent(problem, interpretation, var_virtual1, var_virtual0);
2419 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGainMedium(problem,interpretation,var_Comm);
2420}
2421private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_xAntennaGainNotMedium(
2422 problem:LogicProblem, interpretation:PartialInterpretation,
2423 var_Comm)
2424{
2425 find interpretation(problem,interpretation);
2426 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2427 // Comm is exported
2428 var_virtual0 == const_X_TransceiverBand;DefinedElement.name(const_X_TransceiverBand,"X TransceiverBand"); //LogicProblem.elements(problem,const_X_TransceiverBand);
2429 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2430 find mayInRelationband_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
2431 // type constraint is enforced by construction
2432 find mayEquivalent(problem, interpretation, var_virtual1, var_virtual0);
2433 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGainMedium(problem,interpretation,var_Comm);
2434}
2435private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_xAntennaGainNotMedium(
2436 problem:LogicProblem, interpretation:PartialInterpretation,
2437 var_Comm)
2438{
2439 find interpretation(problem,interpretation);
2440 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2441 // Comm is exported
2442 var_virtual0 == const_X_TransceiverBand;DefinedElement.name(const_X_TransceiverBand,"X TransceiverBand"); //LogicProblem.elements(problem,const_X_TransceiverBand);
2443 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2444 find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
2445 // type constraint is enforced by construction
2446 find mustEquivalent(problem, interpretation, var_virtual1, var_virtual0);
2447 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGainMedium(problem,interpretation,var_Comm);
2448}
2449// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemGainMedium
2450private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGainMedium(
2451 problem:LogicProblem, interpretation:PartialInterpretation,
2452 var_Comm)
2453{
2454 find interpretation(problem,interpretation);
2455 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2456 // Comm is exported
2457 var_virtual0 == const_MEDIUM_AntennaGain;DefinedElement.name(const_MEDIUM_AntennaGain,"MEDIUM AntennaGain"); //LogicProblem.elements(problem,const_MEDIUM_AntennaGain);
2458 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2459 find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
2460 // type constraint is enforced by construction
2461 find mustEquivalent(problem, interpretation, var_virtual1, var_virtual0);
2462}
2463private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGainMedium(
2464 problem:LogicProblem, interpretation:PartialInterpretation,
2465 var_Comm)
2466{
2467 find interpretation(problem,interpretation);
2468 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2469 // Comm is exported
2470 var_virtual0 == const_MEDIUM_AntennaGain;DefinedElement.name(const_MEDIUM_AntennaGain,"MEDIUM AntennaGain"); //LogicProblem.elements(problem,const_MEDIUM_AntennaGain);
2471 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2472 find mayInRelationgain_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
2473 // type constraint is enforced by construction
2474 find mayEquivalent(problem, interpretation, var_virtual1, var_virtual0);
2475}
2476private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGainMedium(
2477 problem:LogicProblem, interpretation:PartialInterpretation,
2478 var_Comm)
2479{
2480 find interpretation(problem,interpretation);
2481 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2482 // Comm is exported
2483 var_virtual0 == const_MEDIUM_AntennaGain;DefinedElement.name(const_MEDIUM_AntennaGain,"MEDIUM AntennaGain"); //LogicProblem.elements(problem,const_MEDIUM_AntennaGain);
2484 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2485 find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
2486 // type constraint is enforced by construction
2487 find mustEquivalent(problem, interpretation, var_virtual1, var_virtual0);
2488}
2489// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries kaAntennaGainLow
2490private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_kaAntennaGainLow(
2491 problem:LogicProblem, interpretation:PartialInterpretation,
2492 var_Comm)
2493{
2494 find interpretation(problem,interpretation);
2495 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2496 // Comm is exported
2497 var_virtual0 == const_Ka_TransceiverBand;DefinedElement.name(const_Ka_TransceiverBand,"Ka TransceiverBand"); //LogicProblem.elements(problem,const_Ka_TransceiverBand);
2498 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2499 find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
2500 // type constraint is enforced by construction
2501 find mustEquivalent(problem, interpretation, var_virtual1, var_virtual0);
2502 var_virtual2 == const_LOW_AntennaGain;DefinedElement.name(const_LOW_AntennaGain,"LOW AntennaGain"); //LogicProblem.elements(problem,const_LOW_AntennaGain);
2503 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2504 find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual3);
2505 // type constraint is enforced by construction
2506 find mustEquivalent(problem, interpretation, var_virtual3, var_virtual2);
2507}
2508private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_kaAntennaGainLow(
2509 problem:LogicProblem, interpretation:PartialInterpretation,
2510 var_Comm)
2511{
2512 find interpretation(problem,interpretation);
2513 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2514 // Comm is exported
2515 var_virtual0 == const_Ka_TransceiverBand;DefinedElement.name(const_Ka_TransceiverBand,"Ka TransceiverBand"); //LogicProblem.elements(problem,const_Ka_TransceiverBand);
2516 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2517 find mayInRelationband_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
2518 // type constraint is enforced by construction
2519 find mayEquivalent(problem, interpretation, var_virtual1, var_virtual0);
2520 var_virtual2 == const_LOW_AntennaGain;DefinedElement.name(const_LOW_AntennaGain,"LOW AntennaGain"); //LogicProblem.elements(problem,const_LOW_AntennaGain);
2521 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2522 find mayInRelationgain_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual3);
2523 // type constraint is enforced by construction
2524 find mayEquivalent(problem, interpretation, var_virtual3, var_virtual2);
2525}
2526private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_kaAntennaGainLow(
2527 problem:LogicProblem, interpretation:PartialInterpretation,
2528 var_Comm)
2529{
2530 find interpretation(problem,interpretation);
2531 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2532 // Comm is exported
2533 var_virtual0 == const_Ka_TransceiverBand;DefinedElement.name(const_Ka_TransceiverBand,"Ka TransceiverBand"); //LogicProblem.elements(problem,const_Ka_TransceiverBand);
2534 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2535 find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
2536 // type constraint is enforced by construction
2537 find mustEquivalent(problem, interpretation, var_virtual1, var_virtual0);
2538 var_virtual2 == const_LOW_AntennaGain;DefinedElement.name(const_LOW_AntennaGain,"LOW AntennaGain"); //LogicProblem.elements(problem,const_LOW_AntennaGain);
2539 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2540 find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual3);
2541 // type constraint is enforced by construction
2542 find mustEquivalent(problem, interpretation, var_virtual3, var_virtual2);
2543} 2340}
2544// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink 2341// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink
2545private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink( 2342private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
@@ -2626,39 +2423,27 @@ private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satell
2626 var_Comm) 2423 var_Comm)
2627{ 2424{
2628 find interpretation(problem,interpretation); 2425 find interpretation(problem,interpretation);
2629 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); 2426 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2630 // Comm is exported 2427 // Comm is exported
2631 var_virtual0 == const_UHF_TransceiverBand;DefinedElement.name(const_UHF_TransceiverBand,"UHF TransceiverBand"); //LogicProblem.elements(problem,const_UHF_TransceiverBand); 2428 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2632 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2633 find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
2634 // type constraint is enforced by construction
2635 find mustEquivalent(problem, interpretation, var_virtual1, var_virtual0);
2636} 2429}
2637private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf( 2430private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2638 problem:LogicProblem, interpretation:PartialInterpretation, 2431 problem:LogicProblem, interpretation:PartialInterpretation,
2639 var_Comm) 2432 var_Comm)
2640{ 2433{
2641 find interpretation(problem,interpretation); 2434 find interpretation(problem,interpretation);
2642 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); 2435 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2643 // Comm is exported 2436 // Comm is exported
2644 var_virtual0 == const_UHF_TransceiverBand;DefinedElement.name(const_UHF_TransceiverBand,"UHF TransceiverBand"); //LogicProblem.elements(problem,const_UHF_TransceiverBand); 2437 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2645 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2646 find mayInRelationband_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
2647 // type constraint is enforced by construction
2648 find mayEquivalent(problem, interpretation, var_virtual1, var_virtual0);
2649} 2438}
2650private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf( 2439private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2651 problem:LogicProblem, interpretation:PartialInterpretation, 2440 problem:LogicProblem, interpretation:PartialInterpretation,
2652 var_Comm) 2441 var_Comm)
2653{ 2442{
2654 find interpretation(problem,interpretation); 2443 find interpretation(problem,interpretation);
2655 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); 2444 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2656 // Comm is exported 2445 // Comm is exported
2657 var_virtual0 == const_UHF_TransceiverBand;DefinedElement.name(const_UHF_TransceiverBand,"UHF TransceiverBand"); //LogicProblem.elements(problem,const_UHF_TransceiverBand); 2446 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2658 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
2659 find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
2660 // type constraint is enforced by construction
2661 find mustEquivalent(problem, interpretation, var_virtual1, var_virtual0);
2662} 2447}
2663// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork 2448// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork
2664private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork( 2449private 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
2696 find interpretation(problem,interpretation); 2481 find interpretation(problem,interpretation);
2697 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); 2482 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2698 // Spacecraft is exported 2483 // Spacecraft is exported
2699 var_virtual0 == const_Ka_TransceiverBand;DefinedElement.name(const_Ka_TransceiverBand,"Ka TransceiverBand"); //LogicProblem.elements(problem,const_Ka_TransceiverBand);
2700 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft); 2484 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2701 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual1); 2485 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2702 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); 2486 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2703 find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_virtual1,var_virtual2); 2487 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2704 // type constraint is enforced by construction 2488 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2705 find mustEquivalent(problem, interpretation, var_virtual2, var_virtual0);
2706 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft); 2489 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2707} 2490}
2708private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna( 2491private 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
2712 find interpretation(problem,interpretation); 2495 find interpretation(problem,interpretation);
2713 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); 2496 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2714 // Spacecraft is exported 2497 // Spacecraft is exported
2715 var_virtual0 == const_Ka_TransceiverBand;DefinedElement.name(const_Ka_TransceiverBand,"Ka TransceiverBand"); //LogicProblem.elements(problem,const_Ka_TransceiverBand);
2716 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft); 2498 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2717 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual1); 2499 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2718 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); 2500 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2719 find mayInRelationband_attribute_CommSubsystem(problem,interpretation,var_virtual1,var_virtual2); 2501 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
2720 // type constraint is enforced by construction 2502 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2721 find mayEquivalent(problem, interpretation, var_virtual2, var_virtual0);
2722 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft); 2503 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2723} 2504}
2724private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna( 2505private 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
2728 find interpretation(problem,interpretation); 2509 find interpretation(problem,interpretation);
2729 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); 2510 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2730 // Spacecraft is exported 2511 // Spacecraft is exported
2731 var_virtual0 == const_Ka_TransceiverBand;DefinedElement.name(const_Ka_TransceiverBand,"Ka TransceiverBand"); //LogicProblem.elements(problem,const_Ka_TransceiverBand);
2732 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft); 2512 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2733 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual1); 2513 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2734 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); 2514 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2735 find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_virtual1,var_virtual2); 2515 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2736 // type constraint is enforced by construction 2516 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2737 find mustEquivalent(problem, interpretation, var_virtual2, var_virtual0);
2738 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft); 2517 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2739} 2518}
2740// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries smallSat 2519// 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
2765 // Sat is exported 2544 // Sat is exported
2766 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat); 2545 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2767} 2546}
2768// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries spacecraftOfKind
2769private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftOfKind(
2770 problem:LogicProblem, interpretation:PartialInterpretation,
2771 var_Spacecraft, var_Kind)
2772{
2773 find interpretation(problem,interpretation);
2774 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2775 // type constraint is enforced by construction
2776 // Spacecraft is exported
2777 // Kind is exported
2778 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Spacecraft);
2779 var_virtual0 == const_CubeSat3U_SpacecraftKind;DefinedElement.name(const_CubeSat3U_SpacecraftKind,"CubeSat3U SpacecraftKind"); //LogicProblem.elements(problem,const_CubeSat3U_SpacecraftKind);
2780 find mustEquivalent(problem, interpretation, var_Kind, var_virtual0);
2781}or{
2782 find interpretation(problem,interpretation);
2783 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2784 // type constraint is enforced by construction
2785 // Spacecraft is exported
2786 // Kind is exported
2787 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Spacecraft);
2788 var_virtual0 == const_CubeSat6U_SpacecraftKind;DefinedElement.name(const_CubeSat6U_SpacecraftKind,"CubeSat6U SpacecraftKind"); //LogicProblem.elements(problem,const_CubeSat6U_SpacecraftKind);
2789 find mustEquivalent(problem, interpretation, var_Kind, var_virtual0);
2790}or{
2791 find interpretation(problem,interpretation);
2792 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2793 // type constraint is enforced by construction
2794 // Spacecraft is exported
2795 // Kind is exported
2796 find mustInstanceOfSmallSat_class(problem,interpretation,var_Spacecraft);
2797 var_virtual0 == const_SmallSat_SpacecraftKind;DefinedElement.name(const_SmallSat_SpacecraftKind,"SmallSat SpacecraftKind"); //LogicProblem.elements(problem,const_SmallSat_SpacecraftKind);
2798 find mustEquivalent(problem, interpretation, var_Kind, var_virtual0);
2799}
2800private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftOfKind(
2801 problem:LogicProblem, interpretation:PartialInterpretation,
2802 var_Spacecraft, var_Kind)
2803{
2804 find interpretation(problem,interpretation);
2805 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2806 // type constraint is enforced by construction
2807 // Spacecraft is exported
2808 // Kind is exported
2809 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Spacecraft);
2810 var_virtual0 == const_CubeSat3U_SpacecraftKind;DefinedElement.name(const_CubeSat3U_SpacecraftKind,"CubeSat3U SpacecraftKind"); //LogicProblem.elements(problem,const_CubeSat3U_SpacecraftKind);
2811 find mayEquivalent(problem, interpretation, var_Kind, var_virtual0);
2812}or{
2813 find interpretation(problem,interpretation);
2814 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2815 // type constraint is enforced by construction
2816 // Spacecraft is exported
2817 // Kind is exported
2818 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Spacecraft);
2819 var_virtual0 == const_CubeSat6U_SpacecraftKind;DefinedElement.name(const_CubeSat6U_SpacecraftKind,"CubeSat6U SpacecraftKind"); //LogicProblem.elements(problem,const_CubeSat6U_SpacecraftKind);
2820 find mayEquivalent(problem, interpretation, var_Kind, var_virtual0);
2821}or{
2822 find interpretation(problem,interpretation);
2823 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2824 // type constraint is enforced by construction
2825 // Spacecraft is exported
2826 // Kind is exported
2827 find mayInstanceOfSmallSat_class(problem,interpretation,var_Spacecraft);
2828 var_virtual0 == const_SmallSat_SpacecraftKind;DefinedElement.name(const_SmallSat_SpacecraftKind,"SmallSat SpacecraftKind"); //LogicProblem.elements(problem,const_SmallSat_SpacecraftKind);
2829 find mayEquivalent(problem, interpretation, var_Kind, var_virtual0);
2830}
2831private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftOfKind(
2832 problem:LogicProblem, interpretation:PartialInterpretation,
2833 var_Spacecraft, var_Kind)
2834{
2835 find interpretation(problem,interpretation);
2836 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2837 // type constraint is enforced by construction
2838 // Spacecraft is exported
2839 // Kind is exported
2840 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Spacecraft);
2841 var_virtual0 == const_CubeSat3U_SpacecraftKind;DefinedElement.name(const_CubeSat3U_SpacecraftKind,"CubeSat3U SpacecraftKind"); //LogicProblem.elements(problem,const_CubeSat3U_SpacecraftKind);
2842 find mustEquivalent(problem, interpretation, var_Kind, var_virtual0);
2843}or{
2844 find interpretation(problem,interpretation);
2845 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2846 // type constraint is enforced by construction
2847 // Spacecraft is exported
2848 // Kind is exported
2849 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Spacecraft);
2850 var_virtual0 == const_CubeSat6U_SpacecraftKind;DefinedElement.name(const_CubeSat6U_SpacecraftKind,"CubeSat6U SpacecraftKind"); //LogicProblem.elements(problem,const_CubeSat6U_SpacecraftKind);
2851 find mustEquivalent(problem, interpretation, var_Kind, var_virtual0);
2852}or{
2853 find interpretation(problem,interpretation);
2854 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2855 // type constraint is enforced by construction
2856 // Spacecraft is exported
2857 // Kind is exported
2858 find mustInstanceOfSmallSat_class(problem,interpretation,var_Spacecraft);
2859 var_virtual0 == const_SmallSat_SpacecraftKind;DefinedElement.name(const_SmallSat_SpacecraftKind,"SmallSat SpacecraftKind"); //LogicProblem.elements(problem,const_SmallSat_SpacecraftKind);
2860 find mustEquivalent(problem, interpretation, var_Kind, var_virtual0);
2861}
2862 2547
2863////////// 2548//////////
2864// 1.4 Containment Indexer 2549// 1.4 Containment Indexer
@@ -2918,26 +2603,6 @@ pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queri
2918{ 2603{
2919 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_Link); 2604 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_Link);
2920} 2605}
2921pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetGain(problem:LogicProblem, interpretation:PartialInterpretation,
2922 var_Link)
2923{
2924 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetGain(problem,interpretation,var_Link);
2925}
2926pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_uhfAntennaGainNotLow(problem:LogicProblem, interpretation:PartialInterpretation,
2927 var_Comm)
2928{
2929 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_uhfAntennaGainNotLow(problem,interpretation,var_Comm);
2930}
2931pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_xAntennaGainNotMedium(problem:LogicProblem, interpretation:PartialInterpretation,
2932 var_Comm)
2933{
2934 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_xAntennaGainNotMedium(problem,interpretation,var_Comm);
2935}
2936pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_kaAntennaGainLow(problem:LogicProblem, interpretation:PartialInterpretation,
2937 var_Comm)
2938{
2939 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_kaAntennaGainLow(problem,interpretation,var_Comm);
2940}
2941pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation, 2606pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2942 var_Sat) 2607 var_Sat)
2943{ 2608{
@@ -2999,24 +2664,6 @@ pattern unfinishedLowerMultiplicity_target_reference_DirectedCommunicationLink(p
2999 check(numberOfExistingReferences < 1); 2664 check(numberOfExistingReferences < 1);
3000 missingMultiplicity == eval(1-numberOfExistingReferences); 2665 missingMultiplicity == eval(1-numberOfExistingReferences);
3001} 2666}
3002pattern unfinishedLowerMultiplicity_band_attribute_CommSubsystem(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
3003 find interpretation(problem,interpretation);
3004 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
3005 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"band attribute CommSubsystem");
3006 find mustInstanceOfCommSubsystem_class(problem,interpretation,object);
3007 numberOfExistingReferences == count find mustInRelationband_attribute_CommSubsystem(problem,interpretation,object,_);
3008 check(numberOfExistingReferences < 1);
3009 missingMultiplicity == eval(1-numberOfExistingReferences);
3010}
3011pattern unfinishedLowerMultiplicity_gain_attribute_CommSubsystem(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
3012 find interpretation(problem,interpretation);
3013 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
3014 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"gain attribute CommSubsystem");
3015 find mustInstanceOfCommSubsystem_class(problem,interpretation,object);
3016 numberOfExistingReferences == count find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,object,_);
3017 check(numberOfExistingReferences < 1);
3018 missingMultiplicity == eval(1-numberOfExistingReferences);
3019}
3020 2667
3021////////// 2668//////////
3022// 3.2 Unfinishedness Measured by WF Queries 2669// 3.2 Unfinishedness Measured by WF Queries
@@ -3051,26 +2698,6 @@ pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_querie
3051{ 2698{
3052 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_Link); 2699 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_Link);
3053} 2700}
3054pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetGain(problem:LogicProblem, interpretation:PartialInterpretation,
3055 var_Link)
3056{
3057 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetGain(problem,interpretation,var_Link);
3058}
3059pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_uhfAntennaGainNotLow(problem:LogicProblem, interpretation:PartialInterpretation,
3060 var_Comm)
3061{
3062 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_uhfAntennaGainNotLow(problem,interpretation,var_Comm);
3063}
3064pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_xAntennaGainNotMedium(problem:LogicProblem, interpretation:PartialInterpretation,
3065 var_Comm)
3066{
3067 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_xAntennaGainNotMedium(problem,interpretation,var_Comm);
3068}
3069pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_kaAntennaGainLow(problem:LogicProblem, interpretation:PartialInterpretation,
3070 var_Comm)
3071{
3072 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_kaAntennaGainLow(problem,interpretation,var_Comm);
3073}
3074pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation, 2701pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
3075 var_Sat) 2702 var_Sat)
3076{ 2703{
@@ -3090,11 +2717,19 @@ pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_querie
3090private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation) 2717private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
3091{ 2718{
3092 find interpretation(problem,interpretation); 2719 find interpretation(problem,interpretation);
3093 find mustInstanceOfInterferometryPayload_class(problem,interpretation,root); 2720 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root);
3094 find mustExist(problem, interpretation, root); 2721 find mustExist(problem, interpretation, root);
3095}or{ 2722}or{
3096 find interpretation(problem,interpretation); 2723 find interpretation(problem,interpretation);
3097 find mustInstanceOfSpacecraft_class(problem,interpretation,root); 2724 find mustInstanceOfInterferometryMission_class(problem,interpretation,root);
2725 find mustExist(problem, interpretation, root);
2726}or{
2727 find interpretation(problem,interpretation);
2728 find mustInstanceOfCubeSat6U_class(problem,interpretation,root);
2729 find mustExist(problem, interpretation, root);
2730}or{
2731 find interpretation(problem,interpretation);
2732 find mustInstanceOfCommSubsystem_class(problem,interpretation,root);
3098 find mustExist(problem, interpretation, root); 2733 find mustExist(problem, interpretation, root);
3099}or{ 2734}or{
3100 find interpretation(problem,interpretation); 2735 find interpretation(problem,interpretation);
@@ -3102,7 +2737,7 @@ private pattern hasElementInContainment(problem:LogicProblem, interpretation:Par
3102 find mustExist(problem, interpretation, root); 2737 find mustExist(problem, interpretation, root);
3103}or{ 2738}or{
3104 find interpretation(problem,interpretation); 2739 find interpretation(problem,interpretation);
3105 find mustInstanceOfCubeSat_class(problem,interpretation,root); 2740 find mustInstanceOfCubeSat3U_class(problem,interpretation,root);
3106 find mustExist(problem, interpretation, root); 2741 find mustExist(problem, interpretation, root);
3107}or{ 2742}or{
3108 find interpretation(problem,interpretation); 2743 find interpretation(problem,interpretation);
@@ -3110,19 +2745,23 @@ private pattern hasElementInContainment(problem:LogicProblem, interpretation:Par
3110 find mustExist(problem, interpretation, root); 2745 find mustExist(problem, interpretation, root);
3111}or{ 2746}or{
3112 find interpretation(problem,interpretation); 2747 find interpretation(problem,interpretation);
3113 find mustInstanceOfInterferometryMission_class(problem,interpretation,root); 2748 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,root);
3114 find mustExist(problem, interpretation, root); 2749 find mustExist(problem, interpretation, root);
3115}or{ 2750}or{
3116 find interpretation(problem,interpretation); 2751 find interpretation(problem,interpretation);
3117 find mustInstanceOfCubeSat3U_class(problem,interpretation,root); 2752 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,root);
3118 find mustExist(problem, interpretation, root); 2753 find mustExist(problem, interpretation, root);
3119}or{ 2754}or{
3120 find interpretation(problem,interpretation); 2755 find interpretation(problem,interpretation);
3121 find mustInstanceOfCommunicatingElement_class(problem,interpretation,root); 2756 find mustInstanceOfPayload_class(problem,interpretation,root);
3122 find mustExist(problem, interpretation, root); 2757 find mustExist(problem, interpretation, root);
3123}or{ 2758}or{
3124 find interpretation(problem,interpretation); 2759 find interpretation(problem,interpretation);
3125 find mustInstanceOfCubeSat6U_class(problem,interpretation,root); 2760 find mustInstanceOfCubeSat_class(problem,interpretation,root);
2761 find mustExist(problem, interpretation, root);
2762}or{
2763 find interpretation(problem,interpretation);
2764 find mustInstanceOfCommunicatingElement_class(problem,interpretation,root);
3126 find mustExist(problem, interpretation, root); 2765 find mustExist(problem, interpretation, root);
3127}or{ 2766}or{
3128 find interpretation(problem,interpretation); 2767 find interpretation(problem,interpretation);
@@ -3130,15 +2769,15 @@ private pattern hasElementInContainment(problem:LogicProblem, interpretation:Par
3130 find mustExist(problem, interpretation, root); 2769 find mustExist(problem, interpretation, root);
3131}or{ 2770}or{
3132 find interpretation(problem,interpretation); 2771 find interpretation(problem,interpretation);
3133 find mustInstanceOfCommSubsystem_class(problem,interpretation,root); 2772 find mustInstanceOfInterferometryPayload_class(problem,interpretation,root);
3134 find mustExist(problem, interpretation, root); 2773 find mustExist(problem, interpretation, root);
3135}or{ 2774}or{
3136 find interpretation(problem,interpretation); 2775 find interpretation(problem,interpretation);
3137 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root); 2776 find mustInstanceOfSpacecraft_class(problem,interpretation,root);
3138 find mustExist(problem, interpretation, root); 2777 find mustExist(problem, interpretation, root);
3139}or{ 2778}or{
3140 find interpretation(problem,interpretation); 2779 find interpretation(problem,interpretation);
3141 find mustInstanceOfPayload_class(problem,interpretation,root); 2780 find mustInstanceOfXCommSubsystem_class(problem,interpretation,root);
3142 find mustExist(problem, interpretation, root); 2781 find mustExist(problem, interpretation, root);
3143}or{ 2782}or{
3144 find interpretation(problem,interpretation); 2783 find interpretation(problem,interpretation);
@@ -3180,44 +2819,76 @@ private pattern hasElementInContainment(problem:LogicProblem, interpretation:Par
3180 find interpretation(problem,interpretation); 2819 find interpretation(problem,interpretation);
3181 find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,root); 2820 find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,root);
3182 find mustExist(problem, interpretation, root); 2821 find mustExist(problem, interpretation, root);
2822}or{
2823 find interpretation(problem,interpretation);
2824 find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,root);
2825 find mustExist(problem, interpretation, root);
2826}or{
2827 find interpretation(problem,interpretation);
2828 find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2829 find mustExist(problem, interpretation, root);
2830}or{
2831 find interpretation(problem,interpretation);
2832 find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,root);
2833 find mustExist(problem, interpretation, root);
2834}or{
2835 find interpretation(problem,interpretation);
2836 find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2837 find mustExist(problem, interpretation, root);
3183} 2838}
3184pattern createObject_DirectedCommunicationLink_class_by_communicationLink_reference_CommunicatingElement( 2839pattern createObject_KaCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
3185 problem:LogicProblem, interpretation:PartialInterpretation, 2840 problem:LogicProblem, interpretation:PartialInterpretation,
3186 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 2841 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
3187 container:DefinedElement) 2842 container:DefinedElement)
3188{ 2843{
3189 find interpretation(problem,interpretation); 2844 find interpretation(problem,interpretation);
3190 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2845 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3191 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"DirectedCommunicationLink class"); 2846 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
3192 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 2847 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
3193 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"communicationLink reference CommunicatingElement"); 2848 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
3194 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container); 2849 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
3195 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,newObject); 2850 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
3196 find mayInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,container,newObject); 2851 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
3197 find mustExist(problem, interpretation, container); 2852 find mustExist(problem, interpretation, container);
3198 neg find mustExist(problem, interpretation, newObject); 2853 neg find mustExist(problem, interpretation, newObject);
3199} 2854}
3200pattern createObject_DirectedCommunicationLink_class( 2855pattern createObject_KaCommSubsystem_class_UndefinedPart(
3201 problem:LogicProblem, interpretation:PartialInterpretation, 2856 problem:LogicProblem, interpretation:PartialInterpretation,
3202 typeInterpretation:PartialComplexTypeInterpretation) 2857 typeInterpretation:PartialComplexTypeInterpretation)
3203{ 2858{
3204 find interpretation(problem,interpretation); 2859 find interpretation(problem,interpretation);
3205 neg find hasElementInContainment(problem,interpretation); 2860 neg find hasElementInContainment(problem,interpretation);
3206 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2861 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3207 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"DirectedCommunicationLink class"); 2862 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
3208 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,newObject); 2863 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
3209 find mayExist(problem, interpretation, newObject); 2864 find mayExist(problem, interpretation, newObject);
3210 neg find mustExist(problem, interpretation, newObject); 2865 neg find mustExist(problem, interpretation, newObject);
3211} 2866}
3212pattern createObject_InterferometryMission_class_UndefinedPart( 2867pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission(
2868 problem:LogicProblem, interpretation:PartialInterpretation,
2869 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2870 container:DefinedElement)
2871{
2872 find interpretation(problem,interpretation);
2873 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2874 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2875 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2876 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2877 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2878 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2879 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2880 find mustExist(problem, interpretation, container);
2881 neg find mustExist(problem, interpretation, newObject);
2882}
2883pattern createObject_SmallSat_class(
3213 problem:LogicProblem, interpretation:PartialInterpretation, 2884 problem:LogicProblem, interpretation:PartialInterpretation,
3214 typeInterpretation:PartialComplexTypeInterpretation) 2885 typeInterpretation:PartialComplexTypeInterpretation)
3215{ 2886{
3216 find interpretation(problem,interpretation); 2887 find interpretation(problem,interpretation);
3217 neg find hasElementInContainment(problem,interpretation); 2888 neg find hasElementInContainment(problem,interpretation);
3218 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2889 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3219 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart"); 2890 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
3220 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject); 2891 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
3221 find mayExist(problem, interpretation, newObject); 2892 find mayExist(problem, interpretation, newObject);
3222 neg find mustExist(problem, interpretation, newObject); 2893 neg find mustExist(problem, interpretation, newObject);
3223} 2894}
@@ -3249,143 +2920,183 @@ pattern createObject_InterferometryPayload_class(
3249 find mayExist(problem, interpretation, newObject); 2920 find mayExist(problem, interpretation, newObject);
3250 neg find mustExist(problem, interpretation, newObject); 2921 neg find mustExist(problem, interpretation, newObject);
3251} 2922}
3252pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission( 2923pattern createObject_DirectedCommunicationLink_class_by_communicationLink_reference_CommunicatingElement(
3253 problem:LogicProblem, interpretation:PartialInterpretation, 2924 problem:LogicProblem, interpretation:PartialInterpretation,
3254 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 2925 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
3255 container:DefinedElement) 2926 container:DefinedElement)
3256{ 2927{
3257 find interpretation(problem,interpretation); 2928 find interpretation(problem,interpretation);
3258 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2929 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3259 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart"); 2930 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"DirectedCommunicationLink class");
3260 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 2931 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
3261 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission"); 2932 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"communicationLink reference CommunicatingElement");
3262 find mustInstanceOfConstellationMission_class(problem,interpretation,container); 2933 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
3263 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject); 2934 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,newObject);
3264 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject); 2935 find mayInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,container,newObject);
3265 find mustExist(problem, interpretation, container); 2936 find mustExist(problem, interpretation, container);
3266 neg find mustExist(problem, interpretation, newObject); 2937 neg find mustExist(problem, interpretation, newObject);
3267} 2938}
3268pattern createObject_GroundStationNetwork_class_UndefinedPart( 2939pattern createObject_DirectedCommunicationLink_class(
3269 problem:LogicProblem, interpretation:PartialInterpretation, 2940 problem:LogicProblem, interpretation:PartialInterpretation,
3270 typeInterpretation:PartialComplexTypeInterpretation) 2941 typeInterpretation:PartialComplexTypeInterpretation)
3271{ 2942{
3272 find interpretation(problem,interpretation); 2943 find interpretation(problem,interpretation);
3273 neg find hasElementInContainment(problem,interpretation); 2944 neg find hasElementInContainment(problem,interpretation);
3274 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2945 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3275 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart"); 2946 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"DirectedCommunicationLink class");
3276 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject); 2947 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,newObject);
3277 find mayExist(problem, interpretation, newObject); 2948 find mayExist(problem, interpretation, newObject);
3278 neg find mustExist(problem, interpretation, newObject); 2949 neg find mustExist(problem, interpretation, newObject);
3279} 2950}
3280pattern createObject_CubeSat3U_class_by_spacecraft_reference_ConstellationMission( 2951pattern createObject_UHFCommSubsystem_class_by_commSubsystem_reference_CommunicatingElement(
3281 problem:LogicProblem, interpretation:PartialInterpretation, 2952 problem:LogicProblem, interpretation:PartialInterpretation,
3282 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 2953 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
3283 container:DefinedElement) 2954 container:DefinedElement)
3284{ 2955{
3285 find interpretation(problem,interpretation); 2956 find interpretation(problem,interpretation);
3286 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2957 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3287 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class"); 2958 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
3288 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 2959 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
3289 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission"); 2960 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
3290 find mustInstanceOfConstellationMission_class(problem,interpretation,container); 2961 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
3291 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject); 2962 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
3292 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject); 2963 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
3293 find mustExist(problem, interpretation, container); 2964 find mustExist(problem, interpretation, container);
3294 neg find mustExist(problem, interpretation, newObject); 2965 neg find mustExist(problem, interpretation, newObject);
3295} 2966}
3296pattern createObject_CubeSat3U_class( 2967pattern createObject_UHFCommSubsystem_class(
3297 problem:LogicProblem, interpretation:PartialInterpretation, 2968 problem:LogicProblem, interpretation:PartialInterpretation,
3298 typeInterpretation:PartialComplexTypeInterpretation) 2969 typeInterpretation:PartialComplexTypeInterpretation)
3299{ 2970{
3300 find interpretation(problem,interpretation); 2971 find interpretation(problem,interpretation);
3301 neg find hasElementInContainment(problem,interpretation); 2972 neg find hasElementInContainment(problem,interpretation);
3302 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2973 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3303 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class"); 2974 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
3304 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject); 2975 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
3305 find mayExist(problem, interpretation, newObject); 2976 find mayExist(problem, interpretation, newObject);
3306 neg find mustExist(problem, interpretation, newObject); 2977 neg find mustExist(problem, interpretation, newObject);
3307} 2978}
3308pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission( 2979pattern createObject_XCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
3309 problem:LogicProblem, interpretation:PartialInterpretation, 2980 problem:LogicProblem, interpretation:PartialInterpretation,
3310 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 2981 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
3311 container:DefinedElement) 2982 container:DefinedElement)
3312{ 2983{
3313 find interpretation(problem,interpretation); 2984 find interpretation(problem,interpretation);
3314 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2985 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3315 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class"); 2986 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2987 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2988 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2989 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2990 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2991 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2992 find mustExist(problem, interpretation, container);
2993 neg find mustExist(problem, interpretation, newObject);
2994}
2995pattern createObject_XCommSubsystem_class_UndefinedPart(
2996 problem:LogicProblem, interpretation:PartialInterpretation,
2997 typeInterpretation:PartialComplexTypeInterpretation)
2998{
2999 find interpretation(problem,interpretation);
3000 neg find hasElementInContainment(problem,interpretation);
3001 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3002 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
3003 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
3004 find mayExist(problem, interpretation, newObject);
3005 neg find mustExist(problem, interpretation, newObject);
3006}
3007pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission(
3008 problem:LogicProblem, interpretation:PartialInterpretation,
3009 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
3010 container:DefinedElement)
3011{
3012 find interpretation(problem,interpretation);
3013 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3014 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
3316 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 3015 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
3317 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission"); 3016 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
3318 find mustInstanceOfConstellationMission_class(problem,interpretation,container); 3017 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
3319 find mayInstanceOfSmallSat_class(problem,interpretation,newObject); 3018 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
3320 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject); 3019 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
3321 find mustExist(problem, interpretation, container); 3020 find mustExist(problem, interpretation, container);
3322 neg find mustExist(problem, interpretation, newObject); 3021 neg find mustExist(problem, interpretation, newObject);
3323} 3022}
3324pattern createObject_SmallSat_class( 3023pattern createObject_CubeSat6U_class(
3325 problem:LogicProblem, interpretation:PartialInterpretation, 3024 problem:LogicProblem, interpretation:PartialInterpretation,
3326 typeInterpretation:PartialComplexTypeInterpretation) 3025 typeInterpretation:PartialComplexTypeInterpretation)
3327{ 3026{
3328 find interpretation(problem,interpretation); 3027 find interpretation(problem,interpretation);
3329 neg find hasElementInContainment(problem,interpretation); 3028 neg find hasElementInContainment(problem,interpretation);
3330 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 3029 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3331 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class"); 3030 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
3332 find mayInstanceOfSmallSat_class(problem,interpretation,newObject); 3031 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
3333 find mayExist(problem, interpretation, newObject); 3032 find mayExist(problem, interpretation, newObject);
3334 neg find mustExist(problem, interpretation, newObject); 3033 neg find mustExist(problem, interpretation, newObject);
3335} 3034}
3336pattern createObject_CommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement( 3035pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission(
3337 problem:LogicProblem, interpretation:PartialInterpretation, 3036 problem:LogicProblem, interpretation:PartialInterpretation,
3338 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 3037 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
3339 container:DefinedElement) 3038 container:DefinedElement)
3340{ 3039{
3341 find interpretation(problem,interpretation); 3040 find interpretation(problem,interpretation);
3342 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 3041 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3343 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CommSubsystem class UndefinedPart"); 3042 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
3344 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 3043 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
3345 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement"); 3044 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission");
3346 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container); 3045 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
3347 find mayInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,newObject); 3046 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
3348 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject); 3047 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject);
3349 find mustExist(problem, interpretation, container); 3048 find mustExist(problem, interpretation, container);
3350 neg find mustExist(problem, interpretation, newObject); 3049 neg find mustExist(problem, interpretation, newObject);
3351} 3050}
3352pattern createObject_CommSubsystem_class_UndefinedPart( 3051pattern createObject_GroundStationNetwork_class_UndefinedPart(
3353 problem:LogicProblem, interpretation:PartialInterpretation, 3052 problem:LogicProblem, interpretation:PartialInterpretation,
3354 typeInterpretation:PartialComplexTypeInterpretation) 3053 typeInterpretation:PartialComplexTypeInterpretation)
3355{ 3054{
3356 find interpretation(problem,interpretation); 3055 find interpretation(problem,interpretation);
3357 neg find hasElementInContainment(problem,interpretation); 3056 neg find hasElementInContainment(problem,interpretation);
3358 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 3057 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3359 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CommSubsystem class UndefinedPart"); 3058 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
3360 find mayInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,newObject); 3059 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
3361 find mayExist(problem, interpretation, newObject); 3060 find mayExist(problem, interpretation, newObject);
3362 neg find mustExist(problem, interpretation, newObject); 3061 neg find mustExist(problem, interpretation, newObject);
3363} 3062}
3364pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission( 3063pattern createObject_CubeSat3U_class_by_spacecraft_reference_ConstellationMission(
3365 problem:LogicProblem, interpretation:PartialInterpretation, 3064 problem:LogicProblem, interpretation:PartialInterpretation,
3366 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 3065 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
3367 container:DefinedElement) 3066 container:DefinedElement)
3368{ 3067{
3369 find interpretation(problem,interpretation); 3068 find interpretation(problem,interpretation);
3370 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 3069 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3371 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class"); 3070 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
3372 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 3071 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
3373 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission"); 3072 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
3374 find mustInstanceOfConstellationMission_class(problem,interpretation,container); 3073 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
3375 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject); 3074 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
3376 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject); 3075 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
3377 find mustExist(problem, interpretation, container); 3076 find mustExist(problem, interpretation, container);
3378 neg find mustExist(problem, interpretation, newObject); 3077 neg find mustExist(problem, interpretation, newObject);
3379} 3078}
3380pattern createObject_CubeSat6U_class( 3079pattern createObject_CubeSat3U_class(
3381 problem:LogicProblem, interpretation:PartialInterpretation, 3080 problem:LogicProblem, interpretation:PartialInterpretation,
3382 typeInterpretation:PartialComplexTypeInterpretation) 3081 typeInterpretation:PartialComplexTypeInterpretation)
3383{ 3082{
3384 find interpretation(problem,interpretation); 3083 find interpretation(problem,interpretation);
3385 neg find hasElementInContainment(problem,interpretation); 3084 neg find hasElementInContainment(problem,interpretation);
3386 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 3085 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3387 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class"); 3086 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
3388 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject); 3087 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
3088 find mayExist(problem, interpretation, newObject);
3089 neg find mustExist(problem, interpretation, newObject);
3090}
3091pattern createObject_InterferometryMission_class_UndefinedPart(
3092 problem:LogicProblem, interpretation:PartialInterpretation,
3093 typeInterpretation:PartialComplexTypeInterpretation)
3094{
3095 find interpretation(problem,interpretation);
3096 neg find hasElementInContainment(problem,interpretation);
3097 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3098 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart");
3099 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject);
3389 find mayExist(problem, interpretation, newObject); 3100 find mayExist(problem, interpretation, newObject);
3390 neg find mustExist(problem, interpretation, newObject); 3101 neg find mustExist(problem, interpretation, newObject);
3391} 3102}
@@ -3393,94 +3104,120 @@ pattern createObject_CubeSat6U_class(
3393////////// 3104//////////
3394// 4.2 Type refinement 3105// 4.2 Type refinement
3395////////// 3106//////////
3396pattern refineTypeTo_DirectedCommunicationLink_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 3107pattern refineTypeTo_KaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3397 find interpretation(problem,interpretation); 3108 find interpretation(problem,interpretation);
3398 PartialInterpretation.newElements(interpretation,element); 3109 PartialInterpretation.newElements(interpretation,element);
3399 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 3110 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
3400 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3401 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3402 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 3111 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3403 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 3112 neg find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
3113 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3404 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 3114 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3115 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
3116 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
3117 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3405} 3118}
3406pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 3119pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3407 find interpretation(problem,interpretation); 3120 find interpretation(problem,interpretation);
3408 PartialInterpretation.newElements(interpretation,element); 3121 PartialInterpretation.newElements(interpretation,element);
3409 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); 3122 find mayInstanceOfSmallSat_class(problem,interpretation,element);
3123 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3124 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
3125 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
3126 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3410 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 3127 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3128 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
3411 neg find mustInstanceOfPayload_class(problem,interpretation,element); 3129 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3412 neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
3413 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3414 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3415} 3130}
3416pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 3131pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3417 find interpretation(problem,interpretation); 3132 find interpretation(problem,interpretation);
3418 PartialInterpretation.newElements(interpretation,element); 3133 PartialInterpretation.newElements(interpretation,element);
3419 find mayInstanceOfInterferometryPayload_class(problem,interpretation,element); 3134 find mayInstanceOfInterferometryPayload_class(problem,interpretation,element);
3420 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3421 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 3135 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3422 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3423 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3424 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); 3136 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
3137 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3138 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3139 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3425} 3140}
3426pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 3141pattern refineTypeTo_DirectedCommunicationLink_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3427 find interpretation(problem,interpretation); 3142 find interpretation(problem,interpretation);
3428 PartialInterpretation.newElements(interpretation,element); 3143 PartialInterpretation.newElements(interpretation,element);
3429 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); 3144 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3145 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3146 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3147 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3430 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 3148 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3431 neg find mustInstanceOfPayload_class(problem,interpretation,element); 3149 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3150}
3151pattern refineTypeTo_UHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3152 find interpretation(problem,interpretation);
3153 PartialInterpretation.newElements(interpretation,element);
3154 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
3432 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 3155 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3433 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 3156 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3434 neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); 3157 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3435 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); 3158 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
3159 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
3160 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
3161 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3436} 3162}
3437pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 3163pattern refineTypeTo_XCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3438 find interpretation(problem,interpretation); 3164 find interpretation(problem,interpretation);
3439 PartialInterpretation.newElements(interpretation,element); 3165 PartialInterpretation.newElements(interpretation,element);
3440 find mayInstanceOfCubeSat3U_class(problem,interpretation,element); 3166 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
3167 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3168 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3441 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 3169 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3170 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
3171 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
3172 neg find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
3442 neg find mustInstanceOfPayload_class(problem,interpretation,element); 3173 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3443 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 3174}
3175pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3176 find interpretation(problem,interpretation);
3177 PartialInterpretation.newElements(interpretation,element);
3178 find mayInstanceOfCubeSat6U_class(problem,interpretation,element);
3444 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 3179 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3180 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
3445 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 3181 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3182 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3183 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
3446 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); 3184 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
3447 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
3448 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); 3185 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
3186 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3449} 3187}
3450pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 3188pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3451 find interpretation(problem,interpretation); 3189 find interpretation(problem,interpretation);
3452 PartialInterpretation.newElements(interpretation,element); 3190 PartialInterpretation.newElements(interpretation,element);
3453 find mayInstanceOfSmallSat_class(problem,interpretation,element); 3191 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
3454 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3455 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3456 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
3457 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
3458 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 3192 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3193 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
3459 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 3194 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3460 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 3195 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3196 neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
3197 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3461} 3198}
3462pattern refineTypeTo_CommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 3199pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3463 find interpretation(problem,interpretation); 3200 find interpretation(problem,interpretation);
3464 PartialInterpretation.newElements(interpretation,element); 3201 PartialInterpretation.newElements(interpretation,element);
3465 find mayInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); 3202 find mayInstanceOfCubeSat3U_class(problem,interpretation,element);
3203 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3204 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
3205 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3466 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 3206 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3207 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
3208 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
3209 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
3467 neg find mustInstanceOfPayload_class(problem,interpretation,element); 3210 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3468 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3469 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3470 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
3471} 3211}
3472pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 3212pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3473 find interpretation(problem,interpretation); 3213 find interpretation(problem,interpretation);
3474 PartialInterpretation.newElements(interpretation,element); 3214 PartialInterpretation.newElements(interpretation,element);
3475 find mayInstanceOfCubeSat6U_class(problem,interpretation,element); 3215 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
3216 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3217 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3476 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 3218 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3219 neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
3477 neg find mustInstanceOfPayload_class(problem,interpretation,element); 3220 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3478 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3479 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
3480 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3481 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
3482 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
3483 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
3484} 3221}
3485 3222
3486////////// 3223//////////
@@ -3516,49 +3253,4 @@ pattern refineRelation_target_reference_DirectedCommunicationLink(
3516 find mayInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,from,to); 3253 find mayInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,from,to);
3517 neg find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,from,to); 3254 neg find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,from,to);
3518} 3255}
3519pattern refineRelation_kind_attribute_Spacecraft(
3520 problem:LogicProblem, interpretation:PartialInterpretation,
3521 relationIterpretation:PartialRelationInterpretation,
3522 from: DefinedElement, to: DefinedElement)
3523{
3524 find interpretation(problem,interpretation);
3525 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
3526 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"kind attribute Spacecraft");
3527 find mustExist(problem, interpretation, from);
3528 find mustExist(problem, interpretation, to);
3529 find mustInstanceOfSpacecraft_class(problem,interpretation,from);
3530 find mustInstanceOfSpacecraftKind_enum(problem,interpretation,to);
3531 find mayInRelationkind_attribute_Spacecraft(problem,interpretation,from,to);
3532 neg find mustInRelationkind_attribute_Spacecraft(problem,interpretation,from,to);
3533}
3534pattern refineRelation_band_attribute_CommSubsystem(
3535 problem:LogicProblem, interpretation:PartialInterpretation,
3536 relationIterpretation:PartialRelationInterpretation,
3537 from: DefinedElement, to: DefinedElement)
3538{
3539 find interpretation(problem,interpretation);
3540 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
3541 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"band attribute CommSubsystem");
3542 find mustExist(problem, interpretation, from);
3543 find mustExist(problem, interpretation, to);
3544 find mustInstanceOfCommSubsystem_class(problem,interpretation,from);
3545 find mustInstanceOfTransceiverBand_enum(problem,interpretation,to);
3546 find mayInRelationband_attribute_CommSubsystem(problem,interpretation,from,to);
3547 neg find mustInRelationband_attribute_CommSubsystem(problem,interpretation,from,to);
3548}
3549pattern refineRelation_gain_attribute_CommSubsystem(
3550 problem:LogicProblem, interpretation:PartialInterpretation,
3551 relationIterpretation:PartialRelationInterpretation,
3552 from: DefinedElement, to: DefinedElement)
3553{
3554 find interpretation(problem,interpretation);
3555 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
3556 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"gain attribute CommSubsystem");
3557 find mustExist(problem, interpretation, from);
3558 find mustExist(problem, interpretation, to);
3559 find mustInstanceOfCommSubsystem_class(problem,interpretation,from);
3560 find mustInstanceOfAntennaGain_enum(problem,interpretation,to);
3561 find mayInRelationgain_attribute_CommSubsystem(problem,interpretation,from,to);
3562 neg find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,from,to);
3563}
3564 3256
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 @@
5 <types xsi:type="language_1:TypeDeclaration" name="CommunicatingElement class" subtypes="//@types.3 //@types.4 //@types.20 //@types.21" isAbstract="true"/> 5 <types xsi:type="language_1:TypeDeclaration" name="CommunicatingElement class" subtypes="//@types.3 //@types.4 //@types.20 //@types.21" isAbstract="true"/>
6 <types xsi:type="language_1:TypeDeclaration" name="GroundStationNetwork class" subtypes="//@types.22 //@types.23" supertypes="//@types.2" isAbstract="true"/> 6 <types xsi:type="language_1:TypeDeclaration" name="GroundStationNetwork class" subtypes="//@types.22 //@types.23" supertypes="//@types.2" isAbstract="true"/>
7 <types xsi:type="language_1:TypeDeclaration" name="Spacecraft class" subtypes="//@types.11 //@types.12" supertypes="//@types.2 //@types.21" isAbstract="true"/> 7 <types xsi:type="language_1:TypeDeclaration" name="Spacecraft class" subtypes="//@types.11 //@types.12" supertypes="//@types.2 //@types.21" isAbstract="true"/>
8 <types xsi:type="language_1:TypeDeclaration" name="CommSubsystem class" subtypes="//@types.24 //@types.25" isAbstract="true"/> 8 <types xsi:type="language_1:TypeDeclaration" name="CommSubsystem class" subtypes="//@types.13 //@types.14 //@types.15 //@types.24 //@types.25" isAbstract="true"/>
9 <types xsi:type="language_1:TypeDeclaration" name="DirectedCommunicationLink class"/> 9 <types xsi:type="language_1:TypeDeclaration" name="DirectedCommunicationLink class"/>
10 <types xsi:type="language_1:TypeDeclaration" name="Payload class" subtypes="//@types.8" isAbstract="true"/> 10 <types xsi:type="language_1:TypeDeclaration" name="Payload class" subtypes="//@types.8" isAbstract="true"/>
11 <types xsi:type="language_1:TypeDeclaration" name="InterferometryPayload class" supertypes="//@types.7"/> 11 <types xsi:type="language_1:TypeDeclaration" name="InterferometryPayload class" supertypes="//@types.7"/>
@@ -13,19 +13,23 @@
13 <types xsi:type="language_1:TypeDeclaration" name="CubeSat6U class" supertypes="//@types.12"/> 13 <types xsi:type="language_1:TypeDeclaration" name="CubeSat6U class" supertypes="//@types.12"/>
14 <types xsi:type="language_1:TypeDeclaration" name="SmallSat class" supertypes="//@types.4"/> 14 <types xsi:type="language_1:TypeDeclaration" name="SmallSat class" supertypes="//@types.4"/>
15 <types xsi:type="language_1:TypeDeclaration" name="CubeSat class" subtypes="//@types.9 //@types.10" supertypes="//@types.4" isAbstract="true"/> 15 <types xsi:type="language_1:TypeDeclaration" name="CubeSat class" subtypes="//@types.9 //@types.10" supertypes="//@types.4" isAbstract="true"/>
16 <types xsi:type="language_1:TypeDefinition" name="TransceiverBand enum" elements="//@elements.0 //@elements.1 //@elements.2"/> 16 <types xsi:type="language_1:TypeDeclaration" name="UHFCommSubsystem class" supertypes="//@types.5 //@types.25"/>
17 <types xsi:type="language_1:TypeDefinition" name="AntennaGain enum" elements="//@elements.3 //@elements.4 //@elements.5"/> 17 <types xsi:type="language_1:TypeDeclaration" name="XCommSubsystem class" subtypes="//@types.26 //@types.27" supertypes="//@types.5" isAbstract="true"/>
18 <types xsi:type="language_1:TypeDefinition" name="SpacecraftKind enum" elements="//@elements.6 //@elements.7 //@elements.8"/> 18 <types xsi:type="language_1:TypeDeclaration" name="KaCommSubsystem class" subtypes="//@types.28 //@types.29" supertypes="//@types.5" isAbstract="true"/>
19 <types xsi:type="language_1:TypeDefinition" name="ConstellationMission class DefinedPart" subtypes="//@types.18" supertypes="//@types.0" isAbstract="true" elements="//@elements.9"/> 19 <types xsi:type="language_1:TypeDefinition" name="ConstellationMission class DefinedPart" subtypes="//@types.18" supertypes="//@types.0" isAbstract="true" elements="//@elements.0"/>
20 <types xsi:type="language_1:TypeDeclaration" name="ConstellationMission class UndefinedPart" subtypes="//@types.19" supertypes="//@types.0" isAbstract="true"/> 20 <types xsi:type="language_1:TypeDeclaration" name="ConstellationMission class UndefinedPart" subtypes="//@types.19" supertypes="//@types.0" isAbstract="true"/>
21 <types xsi:type="language_1:TypeDefinition" name="InterferometryMission class DefinedPart" supertypes="//@types.1 //@types.16" elements="//@elements.9"/> 21 <types xsi:type="language_1:TypeDefinition" name="InterferometryMission class DefinedPart" supertypes="//@types.1 //@types.16" elements="//@elements.0"/>
22 <types xsi:type="language_1:TypeDeclaration" name="InterferometryMission class UndefinedPart" supertypes="//@types.1 //@types.17"/> 22 <types xsi:type="language_1:TypeDeclaration" name="InterferometryMission class UndefinedPart" supertypes="//@types.1 //@types.17"/>
23 <types xsi:type="language_1:TypeDefinition" name="CommunicatingElement class DefinedPart" subtypes="//@types.22" supertypes="//@types.2" isAbstract="true" elements="//@elements.10"/> 23 <types xsi:type="language_1:TypeDefinition" name="CommunicatingElement class DefinedPart" subtypes="//@types.22" supertypes="//@types.2" isAbstract="true" elements="//@elements.1"/>
24 <types xsi:type="language_1:TypeDeclaration" name="CommunicatingElement class UndefinedPart" subtypes="//@types.23 //@types.4" supertypes="//@types.2" isAbstract="true"/> 24 <types xsi:type="language_1:TypeDeclaration" name="CommunicatingElement class UndefinedPart" subtypes="//@types.23 //@types.4" supertypes="//@types.2" isAbstract="true"/>
25 <types xsi:type="language_1:TypeDefinition" name="GroundStationNetwork class DefinedPart" supertypes="//@types.3 //@types.20" elements="//@elements.10"/> 25 <types xsi:type="language_1:TypeDefinition" name="GroundStationNetwork class DefinedPart" supertypes="//@types.3 //@types.20" elements="//@elements.1"/>
26 <types xsi:type="language_1:TypeDeclaration" name="GroundStationNetwork class UndefinedPart" supertypes="//@types.3 //@types.21"/> 26 <types xsi:type="language_1:TypeDeclaration" name="GroundStationNetwork class UndefinedPart" supertypes="//@types.3 //@types.21"/>
27 <types xsi:type="language_1:TypeDefinition" name="CommSubsystem class DefinedPart" supertypes="//@types.5" elements="//@elements.11 //@elements.12"/> 27 <types xsi:type="language_1:TypeDefinition" name="CommSubsystem class DefinedPart" subtypes="//@types.26 //@types.28" supertypes="//@types.5" isAbstract="true" elements="//@elements.2 //@elements.3"/>
28 <types xsi:type="language_1:TypeDeclaration" name="CommSubsystem class UndefinedPart" supertypes="//@types.5"/> 28 <types xsi:type="language_1:TypeDeclaration" name="CommSubsystem class UndefinedPart" subtypes="//@types.13 //@types.27 //@types.29" supertypes="//@types.5" isAbstract="true"/>
29 <types xsi:type="language_1:TypeDefinition" name="XCommSubsystem class DefinedPart" supertypes="//@types.14 //@types.24" elements="//@elements.2"/>
30 <types xsi:type="language_1:TypeDeclaration" name="XCommSubsystem class UndefinedPart" supertypes="//@types.14 //@types.25"/>
31 <types xsi:type="language_1:TypeDefinition" name="KaCommSubsystem class DefinedPart" supertypes="//@types.15 //@types.24" elements="//@elements.3"/>
32 <types xsi:type="language_1:TypeDeclaration" name="KaCommSubsystem class UndefinedPart" supertypes="//@types.15 //@types.25"/>
29 <assertions name="lowerMultiplicity groundStationNetwork ConstellationMission" annotations="//@annotations.0"> 33 <assertions name="lowerMultiplicity groundStationNetwork ConstellationMission" annotations="//@annotations.0">
30 <value xsi:type="language_1:Forall"> 34 <value xsi:type="language_1:Forall">
31 <quantifiedVariables name="src"> 35 <quantifiedVariables name="src">
@@ -746,335 +750,116 @@
746 </expression> 750 </expression>
747 </value> 751 </value>
748 </assertions> 752 </assertions>
749 <assertions name="lowerMultiplicity kind Spacecraft" annotations="//@annotations.12"> 753 <assertions name="PartialInterpretation groundStationNetwork reference ConstellationMission" annotations="//@annotations.12">
750 <value xsi:type="language_1:Forall">
751 <quantifiedVariables name="src">
752 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
753 </quantifiedVariables>
754 <expression xsi:type="language_1:Exists">
755 <quantifiedVariables name="trg 1">
756 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.15"/>
757 </quantifiedVariables>
758 <expression xsi:type="language_1:And">
759 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7">
760 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.12/@value/@quantifiedVariables.0"/>
761 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.12/@value/@expression/@quantifiedVariables.0"/>
762 </operands>
763 </expression>
764 </expression>
765 </value>
766 </assertions>
767 <assertions name="upperMultiplicity kind Spacecraft" annotations="//@annotations.13">
768 <value xsi:type="language_1:Forall">
769 <quantifiedVariables name="src">
770 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
771 </quantifiedVariables>
772 <quantifiedVariables name="trg 1">
773 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.15"/>
774 </quantifiedVariables>
775 <quantifiedVariables name="trg 2">
776 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.15"/>
777 </quantifiedVariables>
778 <expression xsi:type="language_1:Impl">
779 <leftOperand xsi:type="language_1:And">
780 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7">
781 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.13/@value/@quantifiedVariables.0"/>
782 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.13/@value/@quantifiedVariables.1"/>
783 </operands>
784 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7">
785 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.13/@value/@quantifiedVariables.0"/>
786 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.13/@value/@quantifiedVariables.2"/>
787 </operands>
788 </leftOperand>
789 <rightOperand xsi:type="language_1:Not">
790 <operand xsi:type="language_1:Distinct">
791 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.13/@value/@quantifiedVariables.1"/>
792 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.13/@value/@quantifiedVariables.2"/>
793 </operand>
794 </rightOperand>
795 </expression>
796 </value>
797 </assertions>
798 <assertions name="lowerMultiplicity band CommSubsystem" annotations="//@annotations.14">
799 <value xsi:type="language_1:Forall">
800 <quantifiedVariables name="src">
801 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
802 </quantifiedVariables>
803 <expression xsi:type="language_1:Exists">
804 <quantifiedVariables name="trg 1">
805 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
806 </quantifiedVariables>
807 <expression xsi:type="language_1:And">
808 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
809 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.14/@value/@quantifiedVariables.0"/>
810 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.14/@value/@expression/@quantifiedVariables.0"/>
811 </operands>
812 </expression>
813 </expression>
814 </value>
815 </assertions>
816 <assertions name="upperMultiplicity band CommSubsystem" annotations="//@annotations.15">
817 <value xsi:type="language_1:Forall">
818 <quantifiedVariables name="src">
819 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
820 </quantifiedVariables>
821 <quantifiedVariables name="trg 1">
822 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
823 </quantifiedVariables>
824 <quantifiedVariables name="trg 2">
825 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
826 </quantifiedVariables>
827 <expression xsi:type="language_1:Impl">
828 <leftOperand xsi:type="language_1:And">
829 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
830 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@quantifiedVariables.0"/>
831 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@quantifiedVariables.1"/>
832 </operands>
833 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
834 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@quantifiedVariables.0"/>
835 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@quantifiedVariables.2"/>
836 </operands>
837 </leftOperand>
838 <rightOperand xsi:type="language_1:Not">
839 <operand xsi:type="language_1:Distinct">
840 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@quantifiedVariables.1"/>
841 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@quantifiedVariables.2"/>
842 </operand>
843 </rightOperand>
844 </expression>
845 </value>
846 </assertions>
847 <assertions name="lowerMultiplicity gain CommSubsystem" annotations="//@annotations.16">
848 <value xsi:type="language_1:Forall">
849 <quantifiedVariables name="src">
850 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
851 </quantifiedVariables>
852 <expression xsi:type="language_1:Exists">
853 <quantifiedVariables name="trg 1">
854 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
855 </quantifiedVariables>
856 <expression xsi:type="language_1:And">
857 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
858 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.16/@value/@quantifiedVariables.0"/>
859 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.16/@value/@expression/@quantifiedVariables.0"/>
860 </operands>
861 </expression>
862 </expression>
863 </value>
864 </assertions>
865 <assertions name="upperMultiplicity gain CommSubsystem" annotations="//@annotations.17">
866 <value xsi:type="language_1:Forall">
867 <quantifiedVariables name="src">
868 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
869 </quantifiedVariables>
870 <quantifiedVariables name="trg 1">
871 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
872 </quantifiedVariables>
873 <quantifiedVariables name="trg 2">
874 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
875 </quantifiedVariables>
876 <expression xsi:type="language_1:Impl">
877 <leftOperand xsi:type="language_1:And">
878 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
879 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@quantifiedVariables.0"/>
880 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@quantifiedVariables.1"/>
881 </operands>
882 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
883 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@quantifiedVariables.0"/>
884 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@quantifiedVariables.2"/>
885 </operands>
886 </leftOperand>
887 <rightOperand xsi:type="language_1:Not">
888 <operand xsi:type="language_1:Distinct">
889 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@quantifiedVariables.1"/>
890 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@quantifiedVariables.2"/>
891 </operand>
892 </rightOperand>
893 </expression>
894 </value>
895 </assertions>
896 <assertions name="PartialInterpretation groundStationNetwork reference ConstellationMission" annotations="//@annotations.18">
897 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0"> 754 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0">
898 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.9"/> 755 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.0"/>
899 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.10"/> 756 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.1"/>
900 </value> 757 </value>
901 </assertions> 758 </assertions>
902 <assertions name="PartialInterpretation commSubsystem reference CommunicatingElement" annotations="//@annotations.19"> 759 <assertions name="PartialInterpretation commSubsystem reference CommunicatingElement" annotations="//@annotations.13">
903 <value xsi:type="language_1:And"> 760 <value xsi:type="language_1:And">
904 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 761 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
905 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.10"/>
906 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.11"/>
907 </operands>
908 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
909 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.10"/>
910 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.12"/>
911 </operands>
912 </value>
913 </assertions>
914 <assertions name="PartialInterpretation band attribute CommSubsystem" annotations="//@annotations.20">
915 <value xsi:type="language_1:And">
916 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
917 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.11"/>
918 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.1"/> 762 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.1"/>
919 </operands>
920 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
921 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.12"/>
922 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.2"/> 763 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.2"/>
923 </operands> 764 </operands>
924 </value> 765 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
925 </assertions> 766 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.1"/>
926 <assertions name="PartialInterpretation gain attribute CommSubsystem" annotations="//@annotations.21"> 767 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.3"/>
927 <value xsi:type="language_1:And">
928 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
929 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.11"/>
930 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.4"/>
931 </operands>
932 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
933 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.12"/>
934 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.5"/>
935 </operands> 768 </operands>
936 </value> 769 </value>
937 </assertions> 770 </assertions>
938 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement" annotations="//@annotations.50"> 771 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement" annotations="//@annotations.35">
939 <value xsi:type="language_1:Forall"> 772 <value xsi:type="language_1:Forall">
940 <quantifiedVariables name="p0"> 773 <quantifiedVariables name="p0">
941 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 774 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
942 </quantifiedVariables> 775 </quantifiedVariables>
943 <expression xsi:type="language_1:Not"> 776 <expression xsi:type="language_1:Not">
944 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10"> 777 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7">
945 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.22/@value/@quantifiedVariables.0"/> 778 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.14/@value/@quantifiedVariables.0"/>
946 </operand> 779 </operand>
947 </expression> 780 </expression>
948 </value> 781 </value>
949 </assertions> 782 </assertions>
950 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads" annotations="//@annotations.51"> 783 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads" annotations="//@annotations.36">
951 <value xsi:type="language_1:Forall"> 784 <value xsi:type="language_1:Forall">
952 <quantifiedVariables name="p0"> 785 <quantifiedVariables name="p0">
953 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 786 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
954 </quantifiedVariables> 787 </quantifiedVariables>
955 <expression xsi:type="language_1:Not"> 788 <expression xsi:type="language_1:Not">
956 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11"> 789 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
957 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.23/@value/@quantifiedVariables.0"/> 790 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@quantifiedVariables.0"/>
958 </operand> 791 </operand>
959 </expression> 792 </expression>
960 </value> 793 </value>
961 </assertions> 794 </assertions>
962 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation" annotations="//@annotations.52"> 795 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation" annotations="//@annotations.37">
963 <value xsi:type="language_1:Forall"> 796 <value xsi:type="language_1:Forall">
964 <quantifiedVariables name="p0"> 797 <quantifiedVariables name="p0">
965 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 798 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
966 </quantifiedVariables> 799 </quantifiedVariables>
967 <expression xsi:type="language_1:Not"> 800 <expression xsi:type="language_1:Not">
968 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14"> 801 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11">
969 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.24/@value/@quantifiedVariables.0"/> 802 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.16/@value/@quantifiedVariables.0"/>
970 </operand> 803 </operand>
971 </expression> 804 </expression>
972 </value> 805 </value>
973 </assertions> 806 </assertions>
974 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation" annotations="//@annotations.53"> 807 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation" annotations="//@annotations.38">
975 <value xsi:type="language_1:Forall"> 808 <value xsi:type="language_1:Forall">
976 <quantifiedVariables name="p0"> 809 <quantifiedVariables name="p0">
977 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 810 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
978 </quantifiedVariables> 811 </quantifiedVariables>
979 <expression xsi:type="language_1:Not"> 812 <expression xsi:type="language_1:Not">
980 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15"> 813 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12">
981 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.25/@value/@quantifiedVariables.0"/> 814 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@quantifiedVariables.0"/>
982 </operand> 815 </operand>
983 </expression> 816 </expression>
984 </value> 817 </value>
985 </assertions> 818 </assertions>
986 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries communicationLoop" annotations="//@annotations.54"> 819 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries communicationLoop" annotations="//@annotations.39">
987 <value xsi:type="language_1:Forall"> 820 <value xsi:type="language_1:Forall">
988 <quantifiedVariables name="p0"> 821 <quantifiedVariables name="p0">
989 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 822 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
990 </quantifiedVariables> 823 </quantifiedVariables>
991 <expression xsi:type="language_1:Not"> 824 <expression xsi:type="language_1:Not">
992 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20"> 825 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19">
993 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.26/@value/@quantifiedVariables.0"/> 826 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.18/@value/@quantifiedVariables.0"/>
994 </operand>
995 </expression>
996 </value>
997 </assertions>
998 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand" annotations="//@annotations.55">
999 <value xsi:type="language_1:Forall">
1000 <quantifiedVariables name="p0">
1001 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1002 </quantifiedVariables>
1003 <expression xsi:type="language_1:Not">
1004 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23">
1005 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.27/@value/@quantifiedVariables.0"/>
1006 </operand> 827 </operand>
1007 </expression> 828 </expression>
1008 </value> 829 </value>
1009 </assertions> 830 </assertions>
1010 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetGain" annotations="//@annotations.56"> 831 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand" annotations="//@annotations.40">
1011 <value xsi:type="language_1:Forall"> 832 <value xsi:type="language_1:Forall">
1012 <quantifiedVariables name="p0"> 833 <quantifiedVariables name="p0">
1013 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 834 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1014 </quantifiedVariables> 835 </quantifiedVariables>
1015 <expression xsi:type="language_1:Not"> 836 <expression xsi:type="language_1:Not">
1016 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25"> 837 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22">
1017 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.28/@value/@quantifiedVariables.0"/> 838 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.19/@value/@quantifiedVariables.0"/>
1018 </operand> 839 </operand>
1019 </expression> 840 </expression>
1020 </value> 841 </value>
1021 </assertions> 842 </assertions>
1022 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries uhfAntennaGainNotLow" annotations="//@annotations.57"> 843 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink" annotations="//@annotations.41">
1023 <value xsi:type="language_1:Forall">
1024 <quantifiedVariables name="p0">
1025 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1026 </quantifiedVariables>
1027 <expression xsi:type="language_1:Not">
1028 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27">
1029 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.29/@value/@quantifiedVariables.0"/>
1030 </operand>
1031 </expression>
1032 </value>
1033 </assertions>
1034 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries xAntennaGainNotMedium" annotations="//@annotations.58">
1035 <value xsi:type="language_1:Forall">
1036 <quantifiedVariables name="p0">
1037 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1038 </quantifiedVariables>
1039 <expression xsi:type="language_1:Not">
1040 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29">
1041 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.30/@value/@quantifiedVariables.0"/>
1042 </operand>
1043 </expression>
1044 </value>
1045 </assertions>
1046 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries kaAntennaGainLow" annotations="//@annotations.59">
1047 <value xsi:type="language_1:Forall">
1048 <quantifiedVariables name="p0">
1049 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1050 </quantifiedVariables>
1051 <expression xsi:type="language_1:Not">
1052 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.31">
1053 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.31/@value/@quantifiedVariables.0"/>
1054 </operand>
1055 </expression>
1056 </value>
1057 </assertions>
1058 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink" annotations="//@annotations.60">
1059 <value xsi:type="language_1:Forall"> 844 <value xsi:type="language_1:Forall">
1060 <quantifiedVariables name="p0"> 845 <quantifiedVariables name="p0">
1061 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 846 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1062 </quantifiedVariables> 847 </quantifiedVariables>
1063 <expression xsi:type="language_1:Not"> 848 <expression xsi:type="language_1:Not">
1064 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32"> 849 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23">
1065 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.32/@value/@quantifiedVariables.0"/> 850 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.20/@value/@quantifiedVariables.0"/>
1066 </operand> 851 </operand>
1067 </expression> 852 </expression>
1068 </value> 853 </value>
1069 </assertions> 854 </assertions>
1070 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna" annotations="//@annotations.61"> 855 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna" annotations="//@annotations.42">
1071 <value xsi:type="language_1:Forall"> 856 <value xsi:type="language_1:Forall">
1072 <quantifiedVariables name="p0"> 857 <quantifiedVariables name="p0">
1073 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 858 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1074 </quantifiedVariables> 859 </quantifiedVariables>
1075 <expression xsi:type="language_1:Not"> 860 <expression xsi:type="language_1:Not">
1076 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35"> 861 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26">
1077 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.33/@value/@quantifiedVariables.0"/> 862 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.21/@value/@quantifiedVariables.0"/>
1078 </operand> 863 </operand>
1079 </expression> 864 </expression>
1080 </value> 865 </value>
@@ -1107,19 +892,7 @@
1107 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 892 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1108 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 893 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1109 </relations> 894 </relations>
1110 <relations xsi:type="language_1:RelationDeclaration" name="kind attribute Spacecraft" annotations="//@annotations.62"> 895 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement" annotations="//@annotations.14">
1111 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1112 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.15"/>
1113 </relations>
1114 <relations xsi:type="language_1:RelationDeclaration" name="band attribute CommSubsystem">
1115 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1116 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
1117 </relations>
1118 <relations xsi:type="language_1:RelationDeclaration" name="gain attribute CommSubsystem">
1119 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1120 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
1121 </relations>
1122 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement" annotations="//@annotations.22">
1123 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 896 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1124 <variables name="parameter Link"> 897 <variables name="parameter Link">
1125 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 898 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
@@ -1137,30 +910,30 @@
1137 </quantifiedVariables> 910 </quantifiedVariables>
1138 <expression xsi:type="language_1:And"> 911 <expression xsi:type="language_1:And">
1139 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.3"> 912 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.3">
1140 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.0"/> 913 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@value/@operands.0/@quantifiedVariables.0"/>
1141 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@variables.0"/> 914 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@variables.0"/>
1142 </operands> 915 </operands>
1143 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5"> 916 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
1144 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@variables.0"/> 917 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@variables.0"/>
1145 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.1"/> 918 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@value/@operands.0/@quantifiedVariables.1"/>
1146 </operands> 919 </operands>
1147 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 920 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1148 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.2"/> 921 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@value/@operands.0/@quantifiedVariables.2"/>
1149 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.1"/> 922 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@value/@operands.0/@quantifiedVariables.1"/>
1150 </operands> 923 </operands>
1151 <operands xsi:type="language_1:InstanceOf"> 924 <operands xsi:type="language_1:InstanceOf">
1152 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.1"/> 925 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@value/@operands.0/@quantifiedVariables.1"/>
1153 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 926 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1154 </operands> 927 </operands>
1155 <operands xsi:type="language_1:Distinct"> 928 <operands xsi:type="language_1:Distinct">
1156 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.0"/> 929 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@value/@operands.0/@quantifiedVariables.0"/>
1157 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.2"/> 930 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@value/@operands.0/@quantifiedVariables.2"/>
1158 </operands> 931 </operands>
1159 </expression> 932 </expression>
1160 </operands> 933 </operands>
1161 </value> 934 </value>
1162 </relations> 935 </relations>
1163 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads" annotations="//@annotations.23"> 936 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads" annotations="//@annotations.15">
1164 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 937 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
1165 <variables name="parameter Mission"> 938 <variables name="parameter Mission">
1166 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 939 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
@@ -1168,18 +941,18 @@
1168 <value xsi:type="language_1:Or"> 941 <value xsi:type="language_1:Or">
1169 <operands xsi:type="language_1:And"> 942 <operands xsi:type="language_1:And">
1170 <operands xsi:type="language_1:InstanceOf"> 943 <operands xsi:type="language_1:InstanceOf">
1171 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/> 944 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@variables.0"/>
1172 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 945 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
1173 </operands> 946 </operands>
1174 <operands xsi:type="language_1:Not"> 947 <operands xsi:type="language_1:Not">
1175 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12"> 948 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1176 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/> 949 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@variables.0"/>
1177 </operand> 950 </operand>
1178 </operands> 951 </operands>
1179 </operands> 952 </operands>
1180 </value> 953 </value>
1181 </relations> 954 </relations>
1182 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads" annotations="//@annotations.24"> 955 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads" annotations="//@annotations.16">
1183 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 956 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
1184 <variables name="parameter Mission"> 957 <variables name="parameter Mission">
1185 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 958 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
@@ -1194,26 +967,26 @@
1194 </quantifiedVariables> 967 </quantifiedVariables>
1195 <expression xsi:type="language_1:And"> 968 <expression xsi:type="language_1:And">
1196 <operands xsi:type="language_1:InstanceOf"> 969 <operands xsi:type="language_1:InstanceOf">
1197 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@variables.0"/> 970 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@variables.0"/>
1198 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 971 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
1199 </operands> 972 </operands>
1200 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13"> 973 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10">
1201 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@variables.0"/> 974 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@variables.0"/>
1202 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@value/@operands.0/@quantifiedVariables.0"/> 975 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@value/@operands.0/@quantifiedVariables.0"/>
1203 </operands> 976 </operands>
1204 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13"> 977 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10">
1205 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@variables.0"/> 978 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@variables.0"/>
1206 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@value/@operands.0/@quantifiedVariables.1"/> 979 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@value/@operands.0/@quantifiedVariables.1"/>
1207 </operands> 980 </operands>
1208 <operands xsi:type="language_1:Distinct"> 981 <operands xsi:type="language_1:Distinct">
1209 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@value/@operands.0/@quantifiedVariables.0"/> 982 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@value/@operands.0/@quantifiedVariables.0"/>
1210 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@value/@operands.0/@quantifiedVariables.1"/> 983 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@value/@operands.0/@quantifiedVariables.1"/>
1211 </operands> 984 </operands>
1212 </expression> 985 </expression>
1213 </operands> 986 </operands>
1214 </value> 987 </value>
1215 </relations> 988 </relations>
1216 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload" annotations="//@annotations.25"> 989 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload" annotations="//@annotations.17">
1217 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> 990 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/>
1218 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 991 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1219 <variables name="parameter Mission"> 992 <variables name="parameter Mission">
@@ -1229,22 +1002,22 @@
1229 </quantifiedVariables> 1002 </quantifiedVariables>
1230 <expression xsi:type="language_1:And"> 1003 <expression xsi:type="language_1:And">
1231 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1"> 1004 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
1232 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.0"/> 1005 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@variables.0"/>
1233 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.1"/> 1006 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@variables.1"/>
1234 </operands> 1007 </operands>
1235 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4"> 1008 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4">
1236 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.1"/> 1009 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@variables.1"/>
1237 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@value/@operands.0/@quantifiedVariables.0"/> 1010 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.0"/>
1238 </operands> 1011 </operands>
1239 <operands xsi:type="language_1:InstanceOf"> 1012 <operands xsi:type="language_1:InstanceOf">
1240 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@value/@operands.0/@quantifiedVariables.0"/> 1013 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.0"/>
1241 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/> 1014 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/>
1242 </operands> 1015 </operands>
1243 </expression> 1016 </expression>
1244 </operands> 1017 </operands>
1245 </value> 1018 </value>
1246 </relations> 1019 </relations>
1247 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation" annotations="//@annotations.26"> 1020 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation" annotations="//@annotations.18">
1248 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1021 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1249 <variables name="parameter Spacecraft"> 1022 <variables name="parameter Spacecraft">
1250 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1023 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
@@ -1259,32 +1032,32 @@
1259 </quantifiedVariables> 1032 </quantifiedVariables>
1260 <expression xsi:type="language_1:And"> 1033 <expression xsi:type="language_1:And">
1261 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0"> 1034 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0">
1262 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.0"/> 1035 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.0"/>
1263 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.1"/> 1036 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.1"/>
1264 </operands> 1037 </operands>
1265 <operands xsi:type="language_1:InstanceOf"> 1038 <operands xsi:type="language_1:InstanceOf">
1266 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.1"/> 1039 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.1"/>
1267 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> 1040 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1268 </operands> 1041 </operands>
1269 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1"> 1042 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
1270 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.0"/> 1043 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.0"/>
1271 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/> 1044 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/>
1272 </operands> 1045 </operands>
1273 <operands xsi:type="language_1:InstanceOf"> 1046 <operands xsi:type="language_1:InstanceOf">
1274 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/> 1047 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/>
1275 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1048 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1276 </operands> 1049 </operands>
1277 <operands xsi:type="language_1:Not"> 1050 <operands xsi:type="language_1:Not">
1278 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21"> 1051 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20">
1279 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/> 1052 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/>
1280 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.1"/> 1053 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.1"/>
1281 </operand> 1054 </operand>
1282 </operands> 1055 </operands>
1283 </expression> 1056 </expression>
1284 </operands> 1057 </operands>
1285 </value> 1058 </value>
1286 </relations> 1059 </relations>
1287 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation" annotations="//@annotations.27"> 1060 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation" annotations="//@annotations.19">
1288 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1061 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1289 <variables name="parameter Spacecraft"> 1062 <variables name="parameter Spacecraft">
1290 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1063 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
@@ -1299,32 +1072,32 @@
1299 </quantifiedVariables> 1072 </quantifiedVariables>
1300 <expression xsi:type="language_1:And"> 1073 <expression xsi:type="language_1:And">
1301 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0"> 1074 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0">
1302 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.0"/> 1075 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@value/@operands.0/@quantifiedVariables.0"/>
1303 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.1"/> 1076 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@value/@operands.0/@quantifiedVariables.1"/>
1304 </operands> 1077 </operands>
1305 <operands xsi:type="language_1:InstanceOf"> 1078 <operands xsi:type="language_1:InstanceOf">
1306 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.1"/> 1079 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@value/@operands.0/@quantifiedVariables.1"/>
1307 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> 1080 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1308 </operands> 1081 </operands>
1309 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1"> 1082 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
1310 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.0"/> 1083 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@value/@operands.0/@quantifiedVariables.0"/>
1311 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.0"/> 1084 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@variables.0"/>
1312 </operands> 1085 </operands>
1313 <operands xsi:type="language_1:InstanceOf"> 1086 <operands xsi:type="language_1:InstanceOf">
1314 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.0"/> 1087 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@variables.0"/>
1315 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1088 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1316 </operands> 1089 </operands>
1317 <operands xsi:type="language_1:Not"> 1090 <operands xsi:type="language_1:Not">
1318 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16"> 1091 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13">
1319 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.0"/> 1092 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@variables.0"/>
1320 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.1"/> 1093 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@value/@operands.0/@quantifiedVariables.1"/>
1321 </operand> 1094 </operand>
1322 </operands> 1095 </operands>
1323 </expression> 1096 </expression>
1324 </operands> 1097 </operands>
1325 </value> 1098 </value>
1326 </relations> 1099 </relations>
1327 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed" annotations="//@annotations.28"> 1100 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed" annotations="//@annotations.20">
1328 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1101 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1329 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1102 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1330 <variables name="parameter From"> 1103 <variables name="parameter From">
@@ -1335,11 +1108,11 @@
1335 </variables> 1108 </variables>
1336 <value xsi:type="language_1:Or"> 1109 <value xsi:type="language_1:Or">
1337 <operands xsi:type="language_1:And"> 1110 <operands xsi:type="language_1:And">
1338 <operands xsi:type="language_1:TransitiveClosure" relation="//@relations.17"/> 1111 <operands xsi:type="language_1:TransitiveClosure" relation="//@relations.14"/>
1339 </operands> 1112 </operands>
1340 </value> 1113 </value>
1341 </relations> 1114 </relations>
1342 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed" annotations="//@annotations.29"> 1115 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed" annotations="//@annotations.21">
1343 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1116 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1344 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1117 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1345 <variables name="parameter From"> 1118 <variables name="parameter From">
@@ -1349,137 +1122,124 @@
1349 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1122 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1350 </variables> 1123 </variables>
1351 <value xsi:type="language_1:Or"> 1124 <value xsi:type="language_1:Or">
1352 <operands xsi:type="language_1:Exists"> 1125 <operands xsi:type="language_1:And">
1353 <quantifiedVariables name="variable 0"> 1126 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15">
1354 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/> 1127 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/>
1355 </quantifiedVariables> 1128 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.1"/>
1356 <expression xsi:type="language_1:And"> 1129 </operands>
1357 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18"> 1130 <operands xsi:type="language_1:Not">
1358 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/> 1131 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17">
1359 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.1"/> 1132 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/>
1360 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@value/@operands.0/@quantifiedVariables.0"/> 1133 </operand>
1361 </operands> 1134 </operands>
1362 <operands xsi:type="language_1:Not">
1363 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19">
1364 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/>
1365 </operand>
1366 </operands>
1367 </expression>
1368 </operands> 1135 </operands>
1369 <operands xsi:type="language_1:Exists"> 1136 <operands xsi:type="language_1:And">
1370 <quantifiedVariables name="variable virtual0"> 1137 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15">
1371 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/> 1138 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/>
1372 </quantifiedVariables> 1139 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.1"/>
1373 <expression xsi:type="language_1:And"> 1140 </operands>
1374 <operands xsi:type="language_1:Equals"> 1141 <operands xsi:type="language_1:InstanceOf">
1375 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@value/@operands.1/@quantifiedVariables.0"/> 1142 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/>
1376 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.0"/> 1143 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1377 </operands> 1144 </operands>
1378 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18">
1379 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/>
1380 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.1"/>
1381 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@value/@operands.1/@quantifiedVariables.0"/>
1382 </operands>
1383 <operands xsi:type="language_1:InstanceOf">
1384 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/>
1385 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1386 </operands>
1387 </expression>
1388 </operands> 1145 </operands>
1389 <operands xsi:type="language_1:Exists"> 1146 <operands xsi:type="language_1:And">
1390 <quantifiedVariables name="variable 0"> 1147 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15">
1391 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/> 1148 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/>
1392 </quantifiedVariables> 1149 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.1"/>
1393 <expression xsi:type="language_1:And"> 1150 </operands>
1394 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18"> 1151 <operands xsi:type="language_1:InstanceOf">
1395 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/> 1152 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/>
1396 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.1"/> 1153 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1397 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@value/@operands.2/@quantifiedVariables.0"/> 1154 </operands>
1398 </operands> 1155 <operands xsi:type="language_1:InstanceOf">
1399 <operands xsi:type="language_1:InstanceOf"> 1156 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.1"/>
1400 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/> 1157 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1401 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1158 </operands>
1402 </operands>
1403 <operands xsi:type="language_1:InstanceOf">
1404 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.1"/>
1405 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1406 </operands>
1407 </expression>
1408 </operands> 1159 </operands>
1409 </value> 1160 </value>
1410 </relations> 1161 </relations>
1411 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna" annotations="//@annotations.30"> 1162 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna" annotations="//@annotations.22">
1412 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1163 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1413 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1164 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1414 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
1415 <variables name="parameter From"> 1165 <variables name="parameter From">
1416 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1166 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1417 </variables> 1167 </variables>
1418 <variables name="parameter To"> 1168 <variables name="parameter To">
1419 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1169 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1420 </variables> 1170 </variables>
1421 <variables name="parameter Band">
1422 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
1423 </variables>
1424 <value xsi:type="language_1:Or"> 1171 <value xsi:type="language_1:Or">
1425 <operands xsi:type="language_1:Exists"> 1172 <operands xsi:type="language_1:Exists">
1426 <quantifiedVariables name="variable Gain"> 1173 <quantifiedVariables name="variable FromSys">
1427 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
1428 </quantifiedVariables>
1429 <quantifiedVariables name="variable virtual0">
1430 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1174 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1431 </quantifiedVariables> 1175 </quantifiedVariables>
1432 <quantifiedVariables name="variable virtual2"> 1176 <quantifiedVariables name="variable ToSys">
1433 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1434 </quantifiedVariables>
1435 <quantifiedVariables name="variable virtual4">
1436 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1437 </quantifiedVariables>
1438 <quantifiedVariables name="variable virtual6">
1439 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1177 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1440 </quantifiedVariables> 1178 </quantifiedVariables>
1441 <expression xsi:type="language_1:And"> 1179 <expression xsi:type="language_1:And">
1442 <operands xsi:type="language_1:InstanceOf"> 1180 <operands xsi:type="language_1:InstanceOf">
1443 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.0"/> 1181 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.0"/>
1444 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1182 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1445 </operands> 1183 </operands>
1446 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1184 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1447 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.0"/> 1185 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.0"/>
1448 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.1"/> 1186 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.0"/>
1449 </operands>
1450 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
1451 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.1"/>
1452 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.2"/>
1453 </operands>
1454 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1455 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.1"/>
1456 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.2"/>
1457 </operands>
1458 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
1459 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.2"/>
1460 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.2"/>
1461 </operands>
1462 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1463 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.0"/>
1464 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.3"/>
1465 </operands>
1466 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1467 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.3"/>
1468 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.0"/>
1469 </operands> 1187 </operands>
1470 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1188 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1471 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.1"/> 1189 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.1"/>
1472 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.4"/> 1190 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.1"/>
1473 </operands> 1191 </operands>
1474 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> 1192 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16">
1475 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.4"/> 1193 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.0"/>
1476 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@value/@operands.0/@quantifiedVariables.0"/> 1194 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.1"/>
1477 </operands> 1195 </operands>
1478 </expression> 1196 </expression>
1479 </operands> 1197 </operands>
1480 </value> 1198 </value>
1481 </relations> 1199 </relations>
1482 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U" annotations="//@annotations.31"> 1200 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries matchingCommSubsystem" annotations="//@annotations.23">
1201 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1202 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1203 <variables name="parameter From">
1204 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1205 </variables>
1206 <variables name="parameter To">
1207 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1208 </variables>
1209 <value xsi:type="language_1:Or">
1210 <operands xsi:type="language_1:And">
1211 <operands xsi:type="language_1:InstanceOf">
1212 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.0"/>
1213 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
1214 </operands>
1215 <operands xsi:type="language_1:InstanceOf">
1216 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.1"/>
1217 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
1218 </operands>
1219 </operands>
1220 <operands xsi:type="language_1:And">
1221 <operands xsi:type="language_1:InstanceOf">
1222 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.0"/>
1223 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
1224 </operands>
1225 <operands xsi:type="language_1:InstanceOf">
1226 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.1"/>
1227 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
1228 </operands>
1229 </operands>
1230 <operands xsi:type="language_1:And">
1231 <operands xsi:type="language_1:InstanceOf">
1232 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.0"/>
1233 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.15"/>
1234 </operands>
1235 <operands xsi:type="language_1:InstanceOf">
1236 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.1"/>
1237 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.15"/>
1238 </operands>
1239 </operands>
1240 </value>
1241 </relations>
1242 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U" annotations="//@annotations.24">
1483 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1243 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1484 <variables name="parameter Sat"> 1244 <variables name="parameter Sat">
1485 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1245 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
@@ -1487,27 +1247,41 @@
1487 <value xsi:type="language_1:Or"> 1247 <value xsi:type="language_1:Or">
1488 <operands xsi:type="language_1:And"> 1248 <operands xsi:type="language_1:And">
1489 <operands xsi:type="language_1:InstanceOf"> 1249 <operands xsi:type="language_1:InstanceOf">
1490 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.0"/> 1250 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/>
1491 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1251 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1492 </operands> 1252 </operands>
1493 </operands> 1253 </operands>
1494 </value> 1254 </value>
1495 </relations> 1255 </relations>
1496 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop" annotations="//@annotations.32"> 1256 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries cubeSat6U" annotations="//@annotations.25">
1257 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/>
1258 <variables name="parameter Sat">
1259 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/>
1260 </variables>
1261 <value xsi:type="language_1:Or">
1262 <operands xsi:type="language_1:And">
1263 <operands xsi:type="language_1:InstanceOf">
1264 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.0"/>
1265 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/>
1266 </operands>
1267 </operands>
1268 </value>
1269 </relations>
1270 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop" annotations="//@annotations.26">
1497 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1271 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1498 <variables name="parameter Element"> 1272 <variables name="parameter Element">
1499 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1273 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1500 </variables> 1274 </variables>
1501 <value xsi:type="language_1:Or"> 1275 <value xsi:type="language_1:Or">
1502 <operands xsi:type="language_1:And"> 1276 <operands xsi:type="language_1:And">
1503 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21"> 1277 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20">
1504 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.0"/> 1278 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.0"/>
1505 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.0"/> 1279 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.0"/>
1506 </operands> 1280 </operands>
1507 </operands> 1281 </operands>
1508 </value> 1282 </value>
1509 </relations> 1283 </relations>
1510 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink" annotations="//@annotations.33"> 1284 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink" annotations="//@annotations.27">
1511 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1285 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1512 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1286 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1513 <variables name="parameter Source"> 1287 <variables name="parameter Source">
@@ -1518,11 +1292,11 @@
1518 </variables> 1292 </variables>
1519 <value xsi:type="language_1:Or"> 1293 <value xsi:type="language_1:Or">
1520 <operands xsi:type="language_1:And"> 1294 <operands xsi:type="language_1:And">
1521 <operands xsi:type="language_1:TransitiveClosure" relation="//@relations.22"/> 1295 <operands xsi:type="language_1:TransitiveClosure" relation="//@relations.21"/>
1522 </operands> 1296 </operands>
1523 </value> 1297 </value>
1524 </relations> 1298 </relations>
1525 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink" annotations="//@annotations.34"> 1299 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink" annotations="//@annotations.28">
1526 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1300 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1527 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1301 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1528 <variables name="parameter Source"> 1302 <variables name="parameter Source">
@@ -1544,34 +1318,34 @@
1544 </quantifiedVariables> 1318 </quantifiedVariables>
1545 <expression xsi:type="language_1:And"> 1319 <expression xsi:type="language_1:And">
1546 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5"> 1320 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
1547 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.0"/> 1321 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.0"/>
1548 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.1"/> 1322 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.1"/>
1549 </operands> 1323 </operands>
1550 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6"> 1324 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
1551 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.0"/> 1325 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.0"/>
1552 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.2"/> 1326 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.2"/>
1553 </operands> 1327 </operands>
1554 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1328 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1555 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.0"/> 1329 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.0"/>
1556 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.1"/> 1330 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.1"/>
1557 </operands> 1331 </operands>
1558 <operands xsi:type="language_1:InstanceOf"> 1332 <operands xsi:type="language_1:InstanceOf">
1559 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.1"/> 1333 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.1"/>
1560 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1334 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1561 </operands> 1335 </operands>
1562 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1336 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1563 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.1"/> 1337 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.1"/>
1564 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.2"/> 1338 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.2"/>
1565 </operands> 1339 </operands>
1566 <operands xsi:type="language_1:InstanceOf"> 1340 <operands xsi:type="language_1:InstanceOf">
1567 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.2"/> 1341 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.2"/>
1568 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1342 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1569 </operands> 1343 </operands>
1570 </expression> 1344 </expression>
1571 </operands> 1345 </operands>
1572 </value> 1346 </value>
1573 </relations> 1347 </relations>
1574 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand" annotations="//@annotations.35"> 1348 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand" annotations="//@annotations.29">
1575 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 1349 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1576 <variables name="parameter Link"> 1350 <variables name="parameter Link">
1577 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 1351 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
@@ -1584,252 +1358,34 @@
1584 <quantifiedVariables name="variable TargetSubsystem"> 1358 <quantifiedVariables name="variable TargetSubsystem">
1585 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1359 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1586 </quantifiedVariables> 1360 </quantifiedVariables>
1587 <quantifiedVariables name="variable Band">
1588 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
1589 </quantifiedVariables>
1590 <expression xsi:type="language_1:And"> 1361 <expression xsi:type="language_1:And">
1591 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5"> 1362 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
1592 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@variables.0"/> 1363 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.0"/>
1593 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.0"/> 1364 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.0"/>
1594 </operands>
1595 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
1596 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@variables.0"/>
1597 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.1"/>
1598 </operands> 1365 </operands>
1599 <operands xsi:type="language_1:InstanceOf"> 1366 <operands xsi:type="language_1:InstanceOf">
1600 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.1"/> 1367 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.0"/>
1601 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1368 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1602 </operands> 1369 </operands>
1603 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
1604 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.0"/>
1605 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.2"/>
1606 </operands>
1607 <operands xsi:type="language_1:Not">
1608 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24">
1609 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.1"/>
1610 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.2"/>
1611 </operand>
1612 </operands>
1613 </expression>
1614 </operands>
1615 </value>
1616 </relations>
1617 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBand" annotations="//@annotations.36">
1618 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1619 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
1620 <variables name="parameter Comm">
1621 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1622 </variables>
1623 <variables name="parameter Band">
1624 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
1625 </variables>
1626 <value xsi:type="language_1:Or">
1627 <operands xsi:type="language_1:And">
1628 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
1629 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@variables.0"/>
1630 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@variables.1"/>
1631 </operands>
1632 </operands>
1633 </value>
1634 </relations>
1635 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetGain" annotations="//@annotations.37">
1636 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1637 <variables name="parameter Link">
1638 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1639 </variables>
1640 <value xsi:type="language_1:Or">
1641 <operands xsi:type="language_1:Exists">
1642 <quantifiedVariables name="variable SourceSubsystem">
1643 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1644 </quantifiedVariables>
1645 <quantifiedVariables name="variable TargetSubsystem">
1646 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1647 </quantifiedVariables>
1648 <quantifiedVariables name="variable Gain">
1649 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
1650 </quantifiedVariables>
1651 <expression xsi:type="language_1:And">
1652 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
1653 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.0"/>
1654 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.0"/>
1655 </operands>
1656 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6"> 1370 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
1657 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.0"/> 1371 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.0"/>
1658 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.1"/> 1372 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.1"/>
1659 </operands> 1373 </operands>
1660 <operands xsi:type="language_1:InstanceOf"> 1374 <operands xsi:type="language_1:InstanceOf">
1661 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.1"/> 1375 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.1"/>
1662 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1376 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1663 </operands> 1377 </operands>
1664 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1665 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.0"/>
1666 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.2"/>
1667 </operands>
1668 <operands xsi:type="language_1:Not"> 1378 <operands xsi:type="language_1:Not">
1669 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26"> 1379 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16">
1670 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.1"/> 1380 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.0"/>
1671 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.2"/> 1381 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.1"/>
1672 </operand>
1673 </operands>
1674 </expression>
1675 </operands>
1676 </value>
1677 </relations>
1678 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemGain" annotations="//@annotations.38">
1679 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1680 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
1681 <variables name="parameter Comm">
1682 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1683 </variables>
1684 <variables name="parameter Gain">
1685 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
1686 </variables>
1687 <value xsi:type="language_1:Or">
1688 <operands xsi:type="language_1:And">
1689 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1690 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@variables.0"/>
1691 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@variables.1"/>
1692 </operands>
1693 </operands>
1694 </value>
1695 </relations>
1696 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries uhfAntennaGainNotLow" annotations="//@annotations.39">
1697 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1698 <variables name="parameter Comm">
1699 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1700 </variables>
1701 <value xsi:type="language_1:Or">
1702 <operands xsi:type="language_1:Exists">
1703 <quantifiedVariables name="variable virtual0">
1704 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
1705 </quantifiedVariables>
1706 <expression xsi:type="language_1:And">
1707 <operands xsi:type="language_1:Equals">
1708 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@value/@operands.0/@quantifiedVariables.0"/>
1709 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.0"/>
1710 </operands>
1711 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
1712 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@variables.0"/>
1713 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@value/@operands.0/@quantifiedVariables.0"/>
1714 </operands>
1715 <operands xsi:type="language_1:Not">
1716 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.28">
1717 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@variables.0"/>
1718 </operand>
1719 </operands>
1720 </expression>
1721 </operands>
1722 </value>
1723 </relations>
1724 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemGainLow" annotations="//@annotations.40">
1725 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1726 <variables name="parameter Comm">
1727 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1728 </variables>
1729 <value xsi:type="language_1:Or">
1730 <operands xsi:type="language_1:Exists">
1731 <quantifiedVariables name="variable virtual0">
1732 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
1733 </quantifiedVariables>
1734 <expression xsi:type="language_1:And">
1735 <operands xsi:type="language_1:Equals">
1736 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.28/@value/@operands.0/@quantifiedVariables.0"/>
1737 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.3"/>
1738 </operands>
1739 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1740 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.28/@variables.0"/>
1741 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.28/@value/@operands.0/@quantifiedVariables.0"/>
1742 </operands>
1743 </expression>
1744 </operands>
1745 </value>
1746 </relations>
1747 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries xAntennaGainNotMedium" annotations="//@annotations.41">
1748 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1749 <variables name="parameter Comm">
1750 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1751 </variables>
1752 <value xsi:type="language_1:Or">
1753 <operands xsi:type="language_1:Exists">
1754 <quantifiedVariables name="variable virtual0">
1755 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
1756 </quantifiedVariables>
1757 <expression xsi:type="language_1:And">
1758 <operands xsi:type="language_1:Equals">
1759 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@value/@operands.0/@quantifiedVariables.0"/>
1760 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.1"/>
1761 </operands>
1762 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
1763 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@variables.0"/>
1764 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@value/@operands.0/@quantifiedVariables.0"/>
1765 </operands>
1766 <operands xsi:type="language_1:Not">
1767 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.30">
1768 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.29/@variables.0"/>
1769 </operand> 1382 </operand>
1770 </operands> 1383 </operands>
1771 </expression> 1384 </expression>
1772 </operands> 1385 </operands>
1773 </value> 1386 </value>
1774 </relations> 1387 </relations>
1775 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemGainMedium" annotations="//@annotations.42"> 1388 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink" annotations="//@annotations.30">
1776 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1777 <variables name="parameter Comm">
1778 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1779 </variables>
1780 <value xsi:type="language_1:Or">
1781 <operands xsi:type="language_1:Exists">
1782 <quantifiedVariables name="variable virtual0">
1783 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
1784 </quantifiedVariables>
1785 <expression xsi:type="language_1:And">
1786 <operands xsi:type="language_1:Equals">
1787 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.30/@value/@operands.0/@quantifiedVariables.0"/>
1788 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.4"/>
1789 </operands>
1790 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1791 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.30/@variables.0"/>
1792 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.30/@value/@operands.0/@quantifiedVariables.0"/>
1793 </operands>
1794 </expression>
1795 </operands>
1796 </value>
1797 </relations>
1798 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries kaAntennaGainLow" annotations="//@annotations.43">
1799 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1800 <variables name="parameter Comm">
1801 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1802 </variables>
1803 <value xsi:type="language_1:Or">
1804 <operands xsi:type="language_1:Exists">
1805 <quantifiedVariables name="variable virtual0">
1806 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
1807 </quantifiedVariables>
1808 <quantifiedVariables name="variable virtual2">
1809 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
1810 </quantifiedVariables>
1811 <expression xsi:type="language_1:And">
1812 <operands xsi:type="language_1:Equals">
1813 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.31/@value/@operands.0/@quantifiedVariables.0"/>
1814 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.2"/>
1815 </operands>
1816 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
1817 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.31/@variables.0"/>
1818 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.31/@value/@operands.0/@quantifiedVariables.0"/>
1819 </operands>
1820 <operands xsi:type="language_1:Equals">
1821 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.31/@value/@operands.0/@quantifiedVariables.1"/>
1822 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.3"/>
1823 </operands>
1824 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
1825 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.31/@variables.0"/>
1826 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.31/@value/@operands.0/@quantifiedVariables.1"/>
1827 </operands>
1828 </expression>
1829 </operands>
1830 </value>
1831 </relations>
1832 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink" annotations="//@annotations.44">
1833 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1389 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1834 <variables name="parameter Sat"> 1390 <variables name="parameter Sat">
1835 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1391 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
@@ -1850,71 +1406,62 @@
1850 </quantifiedVariables> 1406 </quantifiedVariables>
1851 <expression xsi:type="language_1:And"> 1407 <expression xsi:type="language_1:And">
1852 <operands xsi:type="language_1:InstanceOf"> 1408 <operands xsi:type="language_1:InstanceOf">
1853 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@variables.0"/> 1409 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@variables.0"/>
1854 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1410 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1855 </operands> 1411 </operands>
1856 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1412 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1857 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@variables.0"/> 1413 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@variables.0"/>
1858 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.0"/> 1414 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.0"/>
1859 </operands> 1415 </operands>
1860 <operands xsi:type="language_1:Not"> 1416 <operands xsi:type="language_1:Not">
1861 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.33"> 1417 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24">
1862 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.0"/> 1418 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.0"/>
1863 </operand> 1419 </operand>
1864 </operands> 1420 </operands>
1865 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5"> 1421 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
1866 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.1"/> 1422 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.1"/>
1867 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.0"/> 1423 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.0"/>
1868 </operands> 1424 </operands>
1869 <operands xsi:type="language_1:InstanceOf"> 1425 <operands xsi:type="language_1:InstanceOf">
1870 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.0"/> 1426 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.0"/>
1871 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1427 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1872 </operands> 1428 </operands>
1873 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6"> 1429 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
1874 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.1"/> 1430 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.1"/>
1875 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.2"/> 1431 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.2"/>
1876 </operands> 1432 </operands>
1877 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1433 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1878 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.3"/> 1434 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.3"/>
1879 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.2"/> 1435 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.2"/>
1880 </operands> 1436 </operands>
1881 <operands xsi:type="language_1:InstanceOf"> 1437 <operands xsi:type="language_1:InstanceOf">
1882 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.2"/> 1438 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.2"/>
1883 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1439 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1884 </operands> 1440 </operands>
1885 <operands xsi:type="language_1:Not"> 1441 <operands xsi:type="language_1:Not">
1886 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34"> 1442 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25">
1887 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.32/@value/@operands.0/@quantifiedVariables.3"/> 1443 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.3"/>
1888 </operand> 1444 </operand>
1889 </operands> 1445 </operands>
1890 </expression> 1446 </expression>
1891 </operands> 1447 </operands>
1892 </value> 1448 </value>
1893 </relations> 1449 </relations>
1894 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf" annotations="//@annotations.45"> 1450 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf" annotations="//@annotations.31">
1895 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1451 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
1896 <variables name="parameter Comm"> 1452 <variables name="parameter Comm">
1897 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1453 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
1898 </variables> 1454 </variables>
1899 <value xsi:type="language_1:Or"> 1455 <value xsi:type="language_1:Or">
1900 <operands xsi:type="language_1:Exists"> 1456 <operands xsi:type="language_1:And">
1901 <quantifiedVariables name="variable virtual0"> 1457 <operands xsi:type="language_1:InstanceOf">
1458 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@variables.0"/>
1902 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/> 1459 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
1903 </quantifiedVariables> 1460 </operands>
1904 <expression xsi:type="language_1:And">
1905 <operands xsi:type="language_1:Equals">
1906 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.33/@value/@operands.0/@quantifiedVariables.0"/>
1907 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.0"/>
1908 </operands>
1909 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
1910 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.33/@variables.0"/>
1911 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.33/@value/@operands.0/@quantifiedVariables.0"/>
1912 </operands>
1913 </expression>
1914 </operands> 1461 </operands>
1915 </value> 1462 </value>
1916 </relations> 1463 </relations>
1917 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork" annotations="//@annotations.46"> 1464 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork" annotations="//@annotations.32">
1918 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> 1465 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1919 <variables name="parameter Network"> 1466 <variables name="parameter Network">
1920 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> 1467 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
@@ -1922,52 +1469,45 @@
1922 <value xsi:type="language_1:Or"> 1469 <value xsi:type="language_1:Or">
1923 <operands xsi:type="language_1:And"> 1470 <operands xsi:type="language_1:And">
1924 <operands xsi:type="language_1:InstanceOf"> 1471 <operands xsi:type="language_1:InstanceOf">
1925 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.34/@variables.0"/> 1472 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.0"/>
1926 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> 1473 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1927 </operands> 1474 </operands>
1928 </operands> 1475 </operands>
1929 </value> 1476 </value>
1930 </relations> 1477 </relations>
1931 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna" annotations="//@annotations.47"> 1478 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna" annotations="//@annotations.33">
1932 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1479 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1933 <variables name="parameter Spacecraft"> 1480 <variables name="parameter Spacecraft">
1934 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1481 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1935 </variables> 1482 </variables>
1936 <value xsi:type="language_1:Or"> 1483 <value xsi:type="language_1:Or">
1937 <operands xsi:type="language_1:Exists"> 1484 <operands xsi:type="language_1:Exists">
1938 <quantifiedVariables name="variable virtual0"> 1485 <quantifiedVariables name="variable Comm">
1939 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/> 1486 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.15"/>
1940 </quantifiedVariables>
1941 <quantifiedVariables name="variable virtual1">
1942 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1943 </quantifiedVariables> 1487 </quantifiedVariables>
1944 <expression xsi:type="language_1:And"> 1488 <expression xsi:type="language_1:And">
1945 <operands xsi:type="language_1:InstanceOf"> 1489 <operands xsi:type="language_1:InstanceOf">
1946 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35/@variables.0"/> 1490 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@variables.0"/>
1947 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1491 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1948 </operands> 1492 </operands>
1949 <operands xsi:type="language_1:Equals">
1950 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35/@value/@operands.0/@quantifiedVariables.0"/>
1951 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.2"/>
1952 </operands>
1953 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1493 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1954 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35/@variables.0"/> 1494 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@variables.0"/>
1955 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35/@value/@operands.0/@quantifiedVariables.1"/> 1495 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@value/@operands.0/@quantifiedVariables.0"/>
1956 </operands> 1496 </operands>
1957 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8"> 1497 <operands xsi:type="language_1:InstanceOf">
1958 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35/@value/@operands.0/@quantifiedVariables.1"/> 1498 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@value/@operands.0/@quantifiedVariables.0"/>
1959 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35/@value/@operands.0/@quantifiedVariables.0"/> 1499 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.15"/>
1960 </operands> 1500 </operands>
1961 <operands xsi:type="language_1:Not"> 1501 <operands xsi:type="language_1:Not">
1962 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.36"> 1502 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27">
1963 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.35/@variables.0"/> 1503 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@variables.0"/>
1964 </operand> 1504 </operand>
1965 </operands> 1505 </operands>
1966 </expression> 1506 </expression>
1967 </operands> 1507 </operands>
1968 </value> 1508 </value>
1969 </relations> 1509 </relations>
1970 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries smallSat" annotations="//@annotations.48"> 1510 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries smallSat" annotations="//@annotations.34">
1971 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/> 1511 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/>
1972 <variables name="parameter Sat"> 1512 <variables name="parameter Sat">
1973 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/> 1513 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/>
@@ -1975,68 +1515,17 @@
1975 <value xsi:type="language_1:Or"> 1515 <value xsi:type="language_1:Or">
1976 <operands xsi:type="language_1:And"> 1516 <operands xsi:type="language_1:And">
1977 <operands xsi:type="language_1:InstanceOf"> 1517 <operands xsi:type="language_1:InstanceOf">
1978 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.36/@variables.0"/> 1518 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@variables.0"/>
1979 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/>
1980 </operands>
1981 </operands>
1982 </value>
1983 </relations>
1984 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries spacecraftOfKind" annotations="//@annotations.49" defines="//@relations.7">
1985 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1986 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.15"/>
1987 <variables name="parameter Spacecraft">
1988 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1989 </variables>
1990 <variables name="parameter Kind">
1991 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.15"/>
1992 </variables>
1993 <value xsi:type="language_1:Or">
1994 <operands xsi:type="language_1:And">
1995 <operands xsi:type="language_1:InstanceOf">
1996 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@variables.0"/>
1997 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1998 </operands>
1999 <operands xsi:type="language_1:Equals">
2000 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@variables.1"/>
2001 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.6"/>
2002 </operands>
2003 </operands>
2004 <operands xsi:type="language_1:And">
2005 <operands xsi:type="language_1:InstanceOf">
2006 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@variables.0"/>
2007 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/>
2008 </operands>
2009 <operands xsi:type="language_1:Equals">
2010 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@variables.1"/>
2011 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.7"/>
2012 </operands>
2013 </operands>
2014 <operands xsi:type="language_1:And">
2015 <operands xsi:type="language_1:InstanceOf">
2016 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@variables.0"/>
2017 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/> 1519 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/>
2018 </operands> 1520 </operands>
2019 <operands xsi:type="language_1:Equals">
2020 <leftOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.37/@variables.1"/>
2021 <rightOperand xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.8"/>
2022 </operands>
2023 </operands> 1521 </operands>
2024 </value> 1522 </value>
2025 </relations> 1523 </relations>
2026 <elements name="UHF literal TransceiverBand" definedInType="//@types.13"/>
2027 <elements name="X literal TransceiverBand" definedInType="//@types.13"/>
2028 <elements name="Ka literal TransceiverBand" definedInType="//@types.13"/>
2029 <elements name="LOW literal AntennaGain" definedInType="//@types.14"/>
2030 <elements name="MEDIUM literal AntennaGain" definedInType="//@types.14"/>
2031 <elements name="HIGH literal AntennaGain" definedInType="//@types.14"/>
2032 <elements name="CubeSat3U literal SpacecraftKind" definedInType="//@types.15"/>
2033 <elements name="CubeSat6U literal SpacecraftKind" definedInType="//@types.15"/>
2034 <elements name="SmallSat literal SpacecraftKind" definedInType="//@types.15"/>
2035 <elements name="o 1" definedInType="//@types.16 //@types.18"/> 1524 <elements name="o 1" definedInType="//@types.16 //@types.18"/>
2036 <elements name="o 2" definedInType="//@types.20 //@types.22"/> 1525 <elements name="o 2" definedInType="//@types.20 //@types.22"/>
2037 <elements name="o 3" definedInType="//@types.24"/> 1526 <elements name="o 3" definedInType="//@types.24 //@types.26"/>
2038 <elements name="o 4" definedInType="//@types.24"/> 1527 <elements name="o 4" definedInType="//@types.24 //@types.28"/>
2039 <containmentHierarchies typesOrderedInHierarchy="//@types.8 //@types.4 //@types.6 //@types.12 //@types.0 //@types.1 //@types.9 //@types.2 //@types.10 //@types.11 //@types.5 //@types.3 //@types.7 //@types.16 //@types.17 //@types.18 //@types.19 //@types.20 //@types.21 //@types.22 //@types.23 //@types.24 //@types.25" containmentRelations="//@relations.0 //@relations.1 //@relations.2 //@relations.3 //@relations.4"/> 1528 <containmentHierarchies typesOrderedInHierarchy="//@types.3 //@types.1 //@types.10 //@types.5 //@types.6 //@types.9 //@types.0 //@types.13 //@types.15 //@types.7 //@types.12 //@types.2 //@types.11 //@types.8 //@types.4 //@types.14 //@types.16 //@types.17 //@types.18 //@types.19 //@types.20 //@types.21 //@types.22 //@types.23 //@types.24 //@types.25 //@types.26 //@types.27 //@types.28 //@types.29" containmentRelations="//@relations.0 //@relations.1 //@relations.2 //@relations.3 //@relations.4"/>
2040 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.0" relation="//@relations.0" lower="1"/> 1529 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.0" relation="//@relations.0" lower="1"/>
2041 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.1" relation="//@relations.0" upper="1"/> 1530 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.1" relation="//@relations.0" upper="1"/>
2042 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.2" relation="//@relations.1" lower="2"/> 1531 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.2" relation="//@relations.1" lower="2"/>
@@ -2049,55 +1538,35 @@
2049 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.9" relation="//@relations.5" upper="1"/> 1538 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.9" relation="//@relations.5" upper="1"/>
2050 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.10" relation="//@relations.6" lower="1"/> 1539 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.10" relation="//@relations.6" lower="1"/>
2051 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.11" relation="//@relations.6" upper="1"/> 1540 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.11" relation="//@relations.6" upper="1"/>
2052 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.12" relation="//@relations.7" lower="1"/> 1541 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.12" targetRelation="//@relations.0"/>
2053 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.13" relation="//@relations.7" upper="1"/> 1542 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.13" targetRelation="//@relations.2"/>
2054 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.14" relation="//@relations.8" lower="1"/> 1543 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.7" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement"/>
2055 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.15" relation="//@relations.8" upper="1"/> 1544 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.8" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.notEnoughInterferometryPayloads"/>
2056 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.16" relation="//@relations.9" lower="1"/> 1545 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.9" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.atLeastTwoInterferometryPayloads"/>
2057 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.17" relation="//@relations.9" upper="1"/> 1546 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.10" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftWithInterferometryPayload"/>
2058 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.18" targetRelation="//@relations.0"/> 1547 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.11" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noLinkToGroundStation"/>
2059 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.19" targetRelation="//@relations.2"/> 1548 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.12" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noPotentialLinkToGroundStation"/>
2060 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.20" targetRelation="//@relations.8"/> 1549 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.13" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.indirectLinkAllowed"/>
2061 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.21" targetRelation="//@relations.9"/> 1550 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.14" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.linkAllowed"/>
2062 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.10" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement"/> 1551 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.15" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.matchingAntenna"/>
2063 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.11" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.notEnoughInterferometryPayloads"/> 1552 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.16" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.matchingCommSubsystem"/>
2064 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.12" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.atLeastTwoInterferometryPayloads"/> 1553 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.17" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSat3U"/>
2065 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.13" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftWithInterferometryPayload"/> 1554 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.18" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSat6U"/>
2066 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.14" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noLinkToGroundStation"/> 1555 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.19" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLoop"/>
2067 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.15" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noPotentialLinkToGroundStation"/> 1556 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.20" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.indirectCommunicationLink"/>
2068 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.16" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.indirectLinkAllowed"/> 1557 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.21" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.directCommunicationLink"/>
2069 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.17" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.linkAllowed"/> 1558 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.22" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetBand"/>
2070 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.18" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.matchingAntenna"/> 1559 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.23" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.threeUCubeSatWithNonUhfCrossLink"/>
2071 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.19" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSat3U"/> 1560 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.24" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemBandUhf"/>
2072 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.20" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLoop"/> 1561 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.25" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.groundStationNetwork"/>
2073 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.21" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.indirectCommunicationLink"/> 1562 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.26" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSatWithKaAntenna"/>
2074 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.22" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.directCommunicationLink"/> 1563 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.27" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.smallSat"/>
2075 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.23" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetBand"/> 1564 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.14" query="//@annotations.14"/>
2076 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.24" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemBand"/> 1565 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.15" query="//@annotations.15"/>
2077 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.25" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetGain"/> 1566 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.16" query="//@annotations.18"/>
2078 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.26" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemGain"/> 1567 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.17" query="//@annotations.19"/>
2079 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.27" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.uhfAntennaGainNotLow"/> 1568 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.18" query="//@annotations.26"/>
2080 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.28" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemGainLow"/> 1569 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.19" query="//@annotations.29"/>
2081 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.29" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.xAntennaGainNotMedium"/> 1570 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.20" query="//@annotations.30"/>
2082 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.30" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemGainMedium"/> 1571 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.21" query="//@annotations.33"/>
2083 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.31" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.kaAntennaGainLow"/>
2084 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.32" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.threeUCubeSatWithNonUhfCrossLink"/>
2085 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.33" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemBandUhf"/>
2086 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.34" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.groundStationNetwork"/>
2087 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.35" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSatWithKaAntenna"/>
2088 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.36" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.smallSat"/>
2089 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.37" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftOfKind"/>
2090 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.22" query="//@annotations.22"/>
2091 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.23" query="//@annotations.23"/>
2092 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.24" query="//@annotations.26"/>
2093 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.25" query="//@annotations.27"/>
2094 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.26" query="//@annotations.32"/>
2095 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.27" query="//@annotations.35"/>
2096 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.28" query="//@annotations.37"/>
2097 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.29" query="//@annotations.39"/>
2098 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.30" query="//@annotations.41"/>
2099 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.31" query="//@annotations.43"/>
2100 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.32" query="//@annotations.44"/>
2101 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.33" query="//@annotations.47"/>
2102 <annotations xsi:type="viatra2logicannotations:DefinedByDerivedFeature" target="//@relations.7" query="//@annotations.49"/>
2103</language:LogicProblem> 1572</language:LogicProblem>
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 @@
1<?xml version="1.0" encoding="ASCII"?> 1<?xml version="1.0" encoding="ASCII"?>
2<partialinterpretation:PartialInterpretation xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:language="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" xmlns:partialinterpretation="http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" minNewElements="16" maxNewElements="32"> 2<partialinterpretation:PartialInterpretation xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:language="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" xmlns:partialinterpretation="http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" maxNewElements="10">
3 <problem href="outputs/debug/generation.logicproblem#/"/> 3 <problem href="outputs/debug/generation.logicproblem#/"/>
4 <partialrelationinterpretation> 4 <partialrelationinterpretation>
5 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.0"/> 5 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.0"/>
6 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink"> 6 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
7 <param1 href="outputs/debug/generation.logicproblem#//@elements.9"/> 7 <param1 href="outputs/debug/generation.logicproblem#//@elements.0"/>
8 <param2 href="outputs/debug/generation.logicproblem#//@elements.10"/> 8 <param2 href="outputs/debug/generation.logicproblem#//@elements.1"/>
9 </relationlinks> 9 </relationlinks>
10 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.0/@parameters.0"/> 10 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.0/@parameters.0"/>
11 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.0/@parameters.1"/> 11 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.0/@parameters.1"/>
@@ -18,12 +18,12 @@
18 <partialrelationinterpretation> 18 <partialrelationinterpretation>
19 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.2"/> 19 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.2"/>
20 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink"> 20 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
21 <param1 href="outputs/debug/generation.logicproblem#//@elements.10"/> 21 <param1 href="outputs/debug/generation.logicproblem#//@elements.1"/>
22 <param2 href="outputs/debug/generation.logicproblem#//@elements.11"/> 22 <param2 href="outputs/debug/generation.logicproblem#//@elements.2"/>
23 </relationlinks> 23 </relationlinks>
24 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink"> 24 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
25 <param1 href="outputs/debug/generation.logicproblem#//@elements.10"/> 25 <param1 href="outputs/debug/generation.logicproblem#//@elements.1"/>
26 <param2 href="outputs/debug/generation.logicproblem#//@elements.12"/> 26 <param2 href="outputs/debug/generation.logicproblem#//@elements.3"/>
27 </relationlinks> 27 </relationlinks>
28 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.2/@parameters.0"/> 28 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.2/@parameters.0"/>
29 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.2/@parameters.1"/> 29 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.2/@parameters.1"/>
@@ -48,37 +48,6 @@
48 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.6/@parameters.0"/> 48 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.6/@parameters.0"/>
49 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.6/@parameters.1"/> 49 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.6/@parameters.1"/>
50 </partialrelationinterpretation> 50 </partialrelationinterpretation>
51 <partialrelationinterpretation>
52 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.7"/>
53 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.7/@parameters.0"/>
54 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.7/@parameters.1"/>
55 </partialrelationinterpretation>
56 <partialrelationinterpretation>
57 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.8"/>
58 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
59 <param1 href="outputs/debug/generation.logicproblem#//@elements.11"/>
60 <param2 href="outputs/debug/generation.logicproblem#//@elements.1"/>
61 </relationlinks>
62 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
63 <param1 href="outputs/debug/generation.logicproblem#//@elements.12"/>
64 <param2 href="outputs/debug/generation.logicproblem#//@elements.2"/>
65 </relationlinks>
66 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.8/@parameters.0"/>
67 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.8/@parameters.1"/>
68 </partialrelationinterpretation>
69 <partialrelationinterpretation>
70 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.9"/>
71 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
72 <param1 href="outputs/debug/generation.logicproblem#//@elements.11"/>
73 <param2 href="outputs/debug/generation.logicproblem#//@elements.4"/>
74 </relationlinks>
75 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
76 <param1 href="outputs/debug/generation.logicproblem#//@elements.12"/>
77 <param2 href="outputs/debug/generation.logicproblem#//@elements.5"/>
78 </relationlinks>
79 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.9/@parameters.0"/>
80 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.9/@parameters.1"/>
81 </partialrelationinterpretation>
82 <newElements xsi:type="partialinterpretation:BooleanElement" name="true" valueSet="true" value="true"/> 51 <newElements xsi:type="partialinterpretation:BooleanElement" name="true" valueSet="true" value="true"/>
83 <newElements xsi:type="partialinterpretation:BooleanElement" name="false" valueSet="true"/> 52 <newElements xsi:type="partialinterpretation:BooleanElement" name="false" valueSet="true"/>
84 <partialtypeinterpratation xsi:type="partialinterpretation:PartialBooleanInterpretation" elements="//@newElements.0 //@newElements.1"/> 53 <partialtypeinterpratation xsi:type="partialinterpretation:PartialBooleanInterpretation" elements="//@newElements.0 //@newElements.1"/>
@@ -86,27 +55,27 @@
86 <partialtypeinterpratation xsi:type="partialinterpretation:PartialRealInterpretation" elements="//@openWorldElements.1"/> 55 <partialtypeinterpratation xsi:type="partialinterpretation:PartialRealInterpretation" elements="//@openWorldElements.1"/>
87 <partialtypeinterpratation xsi:type="partialinterpretation:PartialStringInterpretation" elements="//@openWorldElements.2"/> 56 <partialtypeinterpratation xsi:type="partialinterpretation:PartialStringInterpretation" elements="//@openWorldElements.2"/>
88 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.0"> 57 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.0">
89 <elements href="outputs/debug/generation.logicproblem#//@elements.9"/> 58 <elements href="outputs/debug/generation.logicproblem#//@elements.0"/>
90 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.0"/> 59 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.0"/>
91 </partialtypeinterpratation> 60 </partialtypeinterpratation>
92 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.1" supertypeInterpretation="//@partialtypeinterpratation.4"> 61 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.1" supertypeInterpretation="//@partialtypeinterpratation.4">
93 <elements href="outputs/debug/generation.logicproblem#//@elements.9"/> 62 <elements href="outputs/debug/generation.logicproblem#//@elements.0"/>
94 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.1"/> 63 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.1"/>
95 </partialtypeinterpratation> 64 </partialtypeinterpratation>
96 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.2"> 65 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.2">
97 <elements href="outputs/debug/generation.logicproblem#//@elements.10"/> 66 <elements href="outputs/debug/generation.logicproblem#//@elements.1"/>
98 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.2"/> 67 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.2"/>
99 </partialtypeinterpratation> 68 </partialtypeinterpratation>
100 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.3" supertypeInterpretation="//@partialtypeinterpratation.6"> 69 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.3" supertypeInterpretation="//@partialtypeinterpratation.6">
101 <elements href="outputs/debug/generation.logicproblem#//@elements.10"/> 70 <elements href="outputs/debug/generation.logicproblem#//@elements.1"/>
102 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.3"/> 71 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.3"/>
103 </partialtypeinterpratation> 72 </partialtypeinterpratation>
104 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.4" supertypeInterpretation="//@partialtypeinterpratation.6 //@partialtypeinterpratation.19"> 73 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.4" supertypeInterpretation="//@partialtypeinterpratation.6 //@partialtypeinterpratation.22">
105 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.4"/> 74 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.4"/>
106 </partialtypeinterpratation> 75 </partialtypeinterpratation>
107 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.5"> 76 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.5">
108 <elements href="outputs/debug/generation.logicproblem#//@elements.11"/> 77 <elements href="outputs/debug/generation.logicproblem#//@elements.2"/>
109 <elements href="outputs/debug/generation.logicproblem#//@elements.12"/> 78 <elements href="outputs/debug/generation.logicproblem#//@elements.3"/>
110 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.5"/> 79 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.5"/>
111 </partialtypeinterpratation> 80 </partialtypeinterpratation>
112 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.6"> 81 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.6">
@@ -118,33 +87,50 @@
118 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.8" supertypeInterpretation="//@partialtypeinterpratation.11"> 87 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.8" supertypeInterpretation="//@partialtypeinterpratation.11">
119 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.8"/> 88 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.8"/>
120 </partialtypeinterpratation> 89 </partialtypeinterpratation>
121 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.9" supertypeInterpretation="//@partialtypeinterpratation.16 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.19"> 90 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.9" supertypeInterpretation="//@partialtypeinterpratation.16 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.22">
122 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.9"/> 91 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.9"/>
123 </partialtypeinterpratation> 92 </partialtypeinterpratation>
124 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.10" supertypeInterpretation="//@partialtypeinterpratation.16 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.19"> 93 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.10" supertypeInterpretation="//@partialtypeinterpratation.16 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.22">
125 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.10"/> 94 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.10"/>
126 </partialtypeinterpratation> 95 </partialtypeinterpratation>
127 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.11" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.19"> 96 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.11" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.22">
128 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.11"/> 97 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.11"/>
129 </partialtypeinterpratation> 98 </partialtypeinterpratation>
130 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.12" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.19"> 99 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.12" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.22">
131 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.12"/> 100 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.12"/>
132 </partialtypeinterpratation> 101 </partialtypeinterpratation>
133 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.13" supertypeInterpretation="//@partialtypeinterpratation.4"> 102 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.13" supertypeInterpretation="//@partialtypeinterpratation.9 //@partialtypeinterpratation.24">
103 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.13"/>
104 </partialtypeinterpratation>
105 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.14" supertypeInterpretation="//@partialtypeinterpratation.9">
106 <elements href="outputs/debug/generation.logicproblem#//@elements.2"/>
107 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.14"/>
108 </partialtypeinterpratation>
109 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.15" supertypeInterpretation="//@partialtypeinterpratation.9">
110 <elements href="outputs/debug/generation.logicproblem#//@elements.3"/>
111 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.15"/>
112 </partialtypeinterpratation>
113 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.16" supertypeInterpretation="//@partialtypeinterpratation.4">
134 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.17"/> 114 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.17"/>
135 </partialtypeinterpratation> 115 </partialtypeinterpratation>
136 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.14" supertypeInterpretation="//@partialtypeinterpratation.5 //@partialtypeinterpratation.4 //@partialtypeinterpratation.17"> 116 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.17" supertypeInterpretation="//@partialtypeinterpratation.5 //@partialtypeinterpratation.4 //@partialtypeinterpratation.20">
137 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.19"/> 117 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.19"/>
138 </partialtypeinterpratation> 118 </partialtypeinterpratation>
139 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.15" supertypeInterpretation="//@partialtypeinterpratation.6"> 119 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.18" supertypeInterpretation="//@partialtypeinterpratation.6">
140 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.21"/> 120 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.21"/>
141 </partialtypeinterpratation> 121 </partialtypeinterpratation>
142 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.16" supertypeInterpretation="//@partialtypeinterpratation.7 //@partialtypeinterpratation.6 //@partialtypeinterpratation.19"> 122 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.19" supertypeInterpretation="//@partialtypeinterpratation.7 //@partialtypeinterpratation.6 //@partialtypeinterpratation.22">
143 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.23"/> 123 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.23"/>
144 </partialtypeinterpratation> 124 </partialtypeinterpratation>
145 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.17" supertypeInterpretation="//@partialtypeinterpratation.9"> 125 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.20" supertypeInterpretation="//@partialtypeinterpratation.9">
146 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.25"/> 126 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.25"/>
147 </partialtypeinterpratation> 127 </partialtypeinterpratation>
128 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.21" supertypeInterpretation="//@partialtypeinterpratation.18 //@partialtypeinterpratation.9 //@partialtypeinterpratation.24">
129 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.27"/>
130 </partialtypeinterpratation>
131 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.22" supertypeInterpretation="//@partialtypeinterpratation.19 //@partialtypeinterpratation.9 //@partialtypeinterpratation.24">
132 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.29"/>
133 </partialtypeinterpratation>
148 <openWorldElements xsi:type="partialinterpretation:IntegerElement" name="New Integers"/> 134 <openWorldElements xsi:type="partialinterpretation:IntegerElement" name="New Integers"/>
149 <openWorldElements xsi:type="partialinterpretation:RealElement" name="New Reals"/> 135 <openWorldElements xsi:type="partialinterpretation:RealElement" name="New Reals"/>
150 <openWorldElements xsi:type="partialinterpretation:StringElement" name="New Strings"/> 136 <openWorldElements xsi:type="partialinterpretation:StringElement" name="New Strings"/>
@@ -167,4 +153,9 @@
167 <scopes targetTypeInterpretation="//@partialtypeinterpratation.19"/> 153 <scopes targetTypeInterpretation="//@partialtypeinterpratation.19"/>
168 <scopes targetTypeInterpretation="//@partialtypeinterpratation.20"/> 154 <scopes targetTypeInterpretation="//@partialtypeinterpratation.20"/>
169 <scopes targetTypeInterpretation="//@partialtypeinterpratation.21"/> 155 <scopes targetTypeInterpretation="//@partialtypeinterpratation.21"/>
156 <scopes targetTypeInterpretation="//@partialtypeinterpratation.22"/>
157 <scopes targetTypeInterpretation="//@partialtypeinterpratation.23"/>
158 <scopes targetTypeInterpretation="//@partialtypeinterpratation.24"/>
159 <scopes targetTypeInterpretation="//@partialtypeinterpratation.25"/>
160 <scopes targetTypeInterpretation="//@partialtypeinterpratation.26"/>
170</partialinterpretation:PartialInterpretation> 161</partialinterpretation:PartialInterpretation>
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,330 +5,6 @@ graph
5 id 0 5 id 0
6 graphics 6 graphics
7 [ 7 [
8 w 244.20000000000002
9 h 40
10 type "rectangle"
11 fill "#FFFFFF"
12 fill2 "#FFFFFF"
13 outline "#000000"
14 ]
15 LabelGraphics
16 [
17 text "UHF literal TransceiverBand"
18 outline "#000000"
19 fill "#FFFFFF"
20 fontSize 16
21 fontName "Monospace"
22 autoSizePolicy "node_width"
23 anchor "t"
24 borderDistance 0.0
25 ]
26 LabelGraphics
27 [
28 text "
29 TransceiverBand enum
30 "
31 fontSize 14
32 fontName "Consolas"
33 alignment "left"
34 anchor "tl"
35 borderDistance 6
36 ]
37 ]
38
39 node
40 [
41 id 1
42 graphics
43 [
44 w 226.60000000000002
45 h 40
46 type "rectangle"
47 fill "#FFFFFF"
48 fill2 "#FFFFFF"
49 outline "#000000"
50 ]
51 LabelGraphics
52 [
53 text "X literal TransceiverBand"
54 outline "#000000"
55 fill "#FFFFFF"
56 fontSize 16
57 fontName "Monospace"
58 autoSizePolicy "node_width"
59 anchor "t"
60 borderDistance 0.0
61 ]
62 LabelGraphics
63 [
64 text "
65 TransceiverBand enum
66 "
67 fontSize 14
68 fontName "Consolas"
69 alignment "left"
70 anchor "tl"
71 borderDistance 6
72 ]
73 ]
74
75 node
76 [
77 id 2
78 graphics
79 [
80 w 235.4
81 h 40
82 type "rectangle"
83 fill "#FFFFFF"
84 fill2 "#FFFFFF"
85 outline "#000000"
86 ]
87 LabelGraphics
88 [
89 text "Ka literal TransceiverBand"
90 outline "#000000"
91 fill "#FFFFFF"
92 fontSize 16
93 fontName "Monospace"
94 autoSizePolicy "node_width"
95 anchor "t"
96 borderDistance 0.0
97 ]
98 LabelGraphics
99 [
100 text "
101 TransceiverBand enum
102 "
103 fontSize 14
104 fontName "Consolas"
105 alignment "left"
106 anchor "tl"
107 borderDistance 6
108 ]
109 ]
110
111 node
112 [
113 id 3
114 graphics
115 [
116 w 209.00000000000003
117 h 40
118 type "rectangle"
119 fill "#FFFFFF"
120 fill2 "#FFFFFF"
121 outline "#000000"
122 ]
123 LabelGraphics
124 [
125 text "LOW literal AntennaGain"
126 outline "#000000"
127 fill "#FFFFFF"
128 fontSize 16
129 fontName "Monospace"
130 autoSizePolicy "node_width"
131 anchor "t"
132 borderDistance 0.0
133 ]
134 LabelGraphics
135 [
136 text "
137 AntennaGain enum
138 "
139 fontSize 14
140 fontName "Consolas"
141 alignment "left"
142 anchor "tl"
143 borderDistance 6
144 ]
145 ]
146
147 node
148 [
149 id 4
150 graphics
151 [
152 w 235.4
153 h 40
154 type "rectangle"
155 fill "#FFFFFF"
156 fill2 "#FFFFFF"
157 outline "#000000"
158 ]
159 LabelGraphics
160 [
161 text "MEDIUM literal AntennaGain"
162 outline "#000000"
163 fill "#FFFFFF"
164 fontSize 16
165 fontName "Monospace"
166 autoSizePolicy "node_width"
167 anchor "t"
168 borderDistance 0.0
169 ]
170 LabelGraphics
171 [
172 text "
173 AntennaGain enum
174 "
175 fontSize 14
176 fontName "Consolas"
177 alignment "left"
178 anchor "tl"
179 borderDistance 6
180 ]
181 ]
182
183 node
184 [
185 id 5
186 graphics
187 [
188 w 217.8
189 h 40
190 type "rectangle"
191 fill "#FFFFFF"
192 fill2 "#FFFFFF"
193 outline "#000000"
194 ]
195 LabelGraphics
196 [
197 text "HIGH literal AntennaGain"
198 outline "#000000"
199 fill "#FFFFFF"
200 fontSize 16
201 fontName "Monospace"
202 autoSizePolicy "node_width"
203 anchor "t"
204 borderDistance 0.0
205 ]
206 LabelGraphics
207 [
208 text "
209 AntennaGain enum
210 "
211 fontSize 14
212 fontName "Consolas"
213 alignment "left"
214 anchor "tl"
215 borderDistance 6
216 ]
217 ]
218
219 node
220 [
221 id 6
222 graphics
223 [
224 w 288.20000000000005
225 h 40
226 type "rectangle"
227 fill "#FFFFFF"
228 fill2 "#FFFFFF"
229 outline "#000000"
230 ]
231 LabelGraphics
232 [
233 text "CubeSat3U literal SpacecraftKind"
234 outline "#000000"
235 fill "#FFFFFF"
236 fontSize 16
237 fontName "Monospace"
238 autoSizePolicy "node_width"
239 anchor "t"
240 borderDistance 0.0
241 ]
242 LabelGraphics
243 [
244 text "
245 SpacecraftKind enum
246 "
247 fontSize 14
248 fontName "Consolas"
249 alignment "left"
250 anchor "tl"
251 borderDistance 6
252 ]
253 ]
254
255 node
256 [
257 id 7
258 graphics
259 [
260 w 288.20000000000005
261 h 40
262 type "rectangle"
263 fill "#FFFFFF"
264 fill2 "#FFFFFF"
265 outline "#000000"
266 ]
267 LabelGraphics
268 [
269 text "CubeSat6U literal SpacecraftKind"
270 outline "#000000"
271 fill "#FFFFFF"
272 fontSize 16
273 fontName "Monospace"
274 autoSizePolicy "node_width"
275 anchor "t"
276 borderDistance 0.0
277 ]
278 LabelGraphics
279 [
280 text "
281 SpacecraftKind enum
282 "
283 fontSize 14
284 fontName "Consolas"
285 alignment "left"
286 anchor "tl"
287 borderDistance 6
288 ]
289 ]
290
291 node
292 [
293 id 8
294 graphics
295 [
296 w 279.40000000000003
297 h 40
298 type "rectangle"
299 fill "#FFFFFF"
300 fill2 "#FFFFFF"
301 outline "#000000"
302 ]
303 LabelGraphics
304 [
305 text "SmallSat literal SpacecraftKind"
306 outline "#000000"
307 fill "#FFFFFF"
308 fontSize 16
309 fontName "Monospace"
310 autoSizePolicy "node_width"
311 anchor "t"
312 borderDistance 0.0
313 ]
314 LabelGraphics
315 [
316 text "
317 SpacecraftKind enum
318 "
319 fontSize 14
320 fontName "Consolas"
321 alignment "left"
322 anchor "tl"
323 borderDistance 6
324 ]
325 ]
326
327 node
328 [
329 id 9
330 graphics
331 [
332 w 315.70000000000005 8 w 315.70000000000005
333 h 82 9 h 82
334 type "rectangle" 10 type "rectangle"
@@ -365,7 +41,7 @@ graph
365 41
366 node 42 node
367 [ 43 [
368 id 10 44 id 1
369 graphics 45 graphics
370 [ 46 [
371 w 308.0 47 w 308.0
@@ -404,11 +80,11 @@ graph
404 80
405 node 81 node
406 [ 82 [
407 id 11 83 id 2
408 graphics 84 graphics
409 [ 85 [
410 w 254.10000000000002 86 w 261.8
411 h 54 87 h 82
412 type "rectangle" 88 type "rectangle"
413 fill "#FFFFFF" 89 fill "#FFFFFF"
414 fill2 "#FFFFFF" 90 fill2 "#FFFFFF"
@@ -429,7 +105,9 @@ graph
429 [ 105 [
430 text " 106 text "
431 CommSubsystem class DefinedPart 107 CommSubsystem class DefinedPart
108 XCommSubsystem class DefinedPart
432 CommSubsystem class 109 CommSubsystem class
110 XCommSubsystem class
433 " 111 "
434 fontSize 14 112 fontSize 14
435 fontName "Consolas" 113 fontName "Consolas"
@@ -441,11 +119,11 @@ graph
441 119
442 node 120 node
443 [ 121 [
444 id 12 122 id 3
445 graphics 123 graphics
446 [ 124 [
447 w 254.10000000000002 125 w 269.5
448 h 54 126 h 82
449 type "rectangle" 127 type "rectangle"
450 fill "#FFFFFF" 128 fill "#FFFFFF"
451 fill2 "#FFFFFF" 129 fill2 "#FFFFFF"
@@ -466,7 +144,9 @@ graph
466 [ 144 [
467 text " 145 text "
468 CommSubsystem class DefinedPart 146 CommSubsystem class DefinedPart
147 KaCommSubsystem class DefinedPart
469 CommSubsystem class 148 CommSubsystem class
149 KaCommSubsystem class
470 " 150 "
471 fontSize 14 151 fontSize 14
472 fontName "Consolas" 152 fontName "Consolas"
@@ -478,7 +158,7 @@ graph
478 158
479 node 159 node
480 [ 160 [
481 id 13 161 id 4
482 graphics 162 graphics
483 [ 163 [
484 w 41.800000000000004 164 w 41.800000000000004
@@ -513,7 +193,7 @@ graph
513 193
514 node 194 node
515 [ 195 [
516 id 14 196 id 5
517 graphics 197 graphics
518 [ 198 [
519 w 50.6 199 w 50.6
@@ -548,7 +228,7 @@ graph
548 228
549 node 229 node
550 [ 230 [
551 id 15 231 id 6
552 graphics 232 graphics
553 [ 233 [
554 w 323.40000000000003 234 w 323.40000000000003
@@ -574,7 +254,7 @@ graph
574 text " 254 text "
575 CommunicatingElement class 255 CommunicatingElement class
576 Spacecraft class 256 Spacecraft class
577 CubeSat6U class 257 CubeSat3U class
578 CubeSat class 258 CubeSat class
579 CommunicatingElement class UndefinedPart 259 CommunicatingElement class UndefinedPart
580 " 260 "
@@ -588,11 +268,11 @@ graph
588 268
589 node 269 node
590 [ 270 [
591 id 16 271 id 7
592 graphics 272 graphics
593 [ 273 [
594 w 323.40000000000003 274 w 277.20000000000005
595 h 96 275 h 82
596 type "rectangle" 276 type "rectangle"
597 fill "#FFFFFF" 277 fill "#FFFFFF"
598 fill2 "#FFFFFF" 278 fill2 "#FFFFFF"
@@ -612,11 +292,10 @@ graph
612 LabelGraphics 292 LabelGraphics
613 [ 293 [
614 text " 294 text "
615 CommunicatingElement class 295 CommSubsystem class
616 Spacecraft class 296 XCommSubsystem class
617 CubeSat3U class 297 CommSubsystem class UndefinedPart
618 CubeSat class 298 XCommSubsystem class UndefinedPart
619 CommunicatingElement class UndefinedPart
620 " 299 "
621 fontSize 14 300 fontSize 14
622 fontName "Consolas" 301 fontName "Consolas"
@@ -628,11 +307,11 @@ graph
628 307
629 node 308 node
630 [ 309 [
631 id 17 310 id 8
632 graphics 311 graphics
633 [ 312 [
634 w 223.3 313 w 277.20000000000005
635 h 54 314 h 82
636 type "rectangle" 315 type "rectangle"
637 fill "#FFFFFF" 316 fill "#FFFFFF"
638 fill2 "#FFFFFF" 317 fill2 "#FFFFFF"
@@ -652,8 +331,10 @@ graph
652 LabelGraphics 331 LabelGraphics
653 [ 332 [
654 text " 333 text "
655 Payload class 334 CommSubsystem class
656 InterferometryPayload class 335 XCommSubsystem class
336 CommSubsystem class UndefinedPart
337 XCommSubsystem class UndefinedPart
657 " 338 "
658 fontSize 14 339 fontSize 14
659 fontName "Consolas" 340 fontName "Consolas"
@@ -665,11 +346,11 @@ graph
665 346
666 node 347 node
667 [ 348 [
668 id 18 349 id 9
669 graphics 350 graphics
670 [ 351 [
671 w 269.5 352 w 323.40000000000003
672 h 54 353 h 82
673 type "rectangle" 354 type "rectangle"
674 fill "#FFFFFF" 355 fill "#FFFFFF"
675 fill2 "#FFFFFF" 356 fill2 "#FFFFFF"
@@ -689,8 +370,10 @@ graph
689 LabelGraphics 370 LabelGraphics
690 [ 371 [
691 text " 372 text "
692 CommSubsystem class 373 CommunicatingElement class
693 CommSubsystem class UndefinedPart 374 Spacecraft class
375 SmallSat class
376 CommunicatingElement class UndefinedPart
694 " 377 "
695 fontSize 14 378 fontSize 14
696 fontName "Consolas" 379 fontName "Consolas"
@@ -702,11 +385,11 @@ graph
702 385
703 node 386 node
704 [ 387 [
705 id 19 388 id 10
706 graphics 389 graphics
707 [ 390 [
708 w 223.3 391 w 277.20000000000005
709 h 54 392 h 82
710 type "rectangle" 393 type "rectangle"
711 fill "#FFFFFF" 394 fill "#FFFFFF"
712 fill2 "#FFFFFF" 395 fill2 "#FFFFFF"
@@ -726,8 +409,10 @@ graph
726 LabelGraphics 409 LabelGraphics
727 [ 410 [
728 text " 411 text "
729 Payload class 412 CommSubsystem class
730 InterferometryPayload class 413 XCommSubsystem class
414 CommSubsystem class UndefinedPart
415 XCommSubsystem class UndefinedPart
731 " 416 "
732 fontSize 14 417 fontSize 14
733 fontName "Consolas" 418 fontName "Consolas"
@@ -739,10 +424,10 @@ graph
739 424
740 node 425 node
741 [ 426 [
742 id 20 427 id 11
743 graphics 428 graphics
744 [ 429 [
745 w 269.5 430 w 223.3
746 h 54 431 h 54
747 type "rectangle" 432 type "rectangle"
748 fill "#FFFFFF" 433 fill "#FFFFFF"
@@ -763,8 +448,8 @@ graph
763 LabelGraphics 448 LabelGraphics
764 [ 449 [
765 text " 450 text "
766 CommSubsystem class 451 Payload class
767 CommSubsystem class UndefinedPart 452 InterferometryPayload class
768 " 453 "
769 fontSize 14 454 fontSize 14
770 fontName "Consolas" 455 fontName "Consolas"
@@ -776,11 +461,11 @@ graph
776 461
777 node 462 node
778 [ 463 [
779 id 21 464 id 12
780 graphics 465 graphics
781 [ 466 [
782 w 254.10000000000002 467 w 223.3
783 h 40 468 h 54
784 type "rectangle" 469 type "rectangle"
785 fill "#FFFFFF" 470 fill "#FFFFFF"
786 fill2 "#FFFFFF" 471 fill2 "#FFFFFF"
@@ -800,7 +485,8 @@ graph
800 LabelGraphics 485 LabelGraphics
801 [ 486 [
802 text " 487 text "
803 DirectedCommunicationLink class 488 Payload class
489 InterferometryPayload class
804 " 490 "
805 fontSize 14 491 fontSize 14
806 fontName "Consolas" 492 fontName "Consolas"
@@ -812,11 +498,11 @@ graph
812 498
813 node 499 node
814 [ 500 [
815 id 22 501 id 13
816 graphics 502 graphics
817 [ 503 [
818 w 269.5 504 w 284.90000000000003
819 h 54 505 h 82
820 type "rectangle" 506 type "rectangle"
821 fill "#FFFFFF" 507 fill "#FFFFFF"
822 fill2 "#FFFFFF" 508 fill2 "#FFFFFF"
@@ -837,7 +523,9 @@ graph
837 [ 523 [
838 text " 524 text "
839 CommSubsystem class 525 CommSubsystem class
526 KaCommSubsystem class
840 CommSubsystem class UndefinedPart 527 CommSubsystem class UndefinedPart
528 KaCommSubsystem class UndefinedPart
841 " 529 "
842 fontSize 14 530 fontSize 14
843 fontName "Consolas" 531 fontName "Consolas"
@@ -849,11 +537,11 @@ graph
849 537
850 node 538 node
851 [ 539 [
852 id 23 540 id 14
853 graphics 541 graphics
854 [ 542 [
855 w 269.5 543 w 254.10000000000002
856 h 54 544 h 40
857 type "rectangle" 545 type "rectangle"
858 fill "#FFFFFF" 546 fill "#FFFFFF"
859 fill2 "#FFFFFF" 547 fill2 "#FFFFFF"
@@ -873,8 +561,7 @@ graph
873 LabelGraphics 561 LabelGraphics
874 [ 562 [
875 text " 563 text "
876 CommSubsystem class 564 DirectedCommunicationLink class
877 CommSubsystem class UndefinedPart
878 " 565 "
879 fontSize 14 566 fontSize 14
880 fontName "Consolas" 567 fontName "Consolas"
@@ -886,7 +573,7 @@ graph
886 573
887 node 574 node
888 [ 575 [
889 id 24 576 id 15
890 graphics 577 graphics
891 [ 578 [
892 w 254.10000000000002 579 w 254.10000000000002
@@ -922,7 +609,7 @@ graph
922 609
923 node 610 node
924 [ 611 [
925 id 25 612 id 16
926 graphics 613 graphics
927 [ 614 [
928 w 112.2 615 w 112.2
@@ -957,7 +644,7 @@ graph
957 644
958 node 645 node
959 [ 646 [
960 id 26 647 id 17
961 graphics 648 graphics
962 [ 649 [
963 w 85.80000000000001 650 w 85.80000000000001
@@ -992,7 +679,7 @@ graph
992 679
993 node 680 node
994 [ 681 [
995 id 27 682 id 18
996 graphics 683 graphics
997 [ 684 [
998 w 103.4 685 w 103.4
@@ -1027,7 +714,7 @@ graph
1027 714
1028 node 715 node
1029 [ 716 [
1030 id 28 717 id 19
1031 graphics 718 graphics
1032 [ 719 [
1033 w 103.4 720 w 103.4
@@ -1061,8 +748,8 @@ graph
1061 ] 748 ]
1062 edge 749 edge
1063 [ 750 [
1064 source 9 751 source 0
1065 target 10 752 target 1
1066 graphics 753 graphics
1067 [ 754 [
1068 fill "#000000" 755 fill "#000000"
@@ -1081,8 +768,8 @@ graph
1081 ] 768 ]
1082 edge 769 edge
1083 [ 770 [
1084 source 9 771 source 0
1085 target 15 772 target 6
1086 graphics 773 graphics
1087 [ 774 [
1088 fill "#000000" 775 fill "#000000"
@@ -1101,8 +788,8 @@ graph
1101 ] 788 ]
1102 edge 789 edge
1103 [ 790 [
1104 source 9 791 source 0
1105 target 16 792 target 9
1106 graphics 793 graphics
1107 [ 794 [
1108 fill "#000000" 795 fill "#000000"
@@ -1121,8 +808,8 @@ graph
1121 ] 808 ]
1122 edge 809 edge
1123 [ 810 [
1124 source 10 811 source 1
1125 target 11 812 target 2
1126 graphics 813 graphics
1127 [ 814 [
1128 fill "#000000" 815 fill "#000000"
@@ -1141,8 +828,8 @@ graph
1141 ] 828 ]
1142 edge 829 edge
1143 [ 830 [
1144 source 10 831 source 1
1145 target 12 832 target 3
1146 graphics 833 graphics
1147 [ 834 [
1148 fill "#000000" 835 fill "#000000"
@@ -1161,8 +848,8 @@ graph
1161 ] 848 ]
1162 edge 849 edge
1163 [ 850 [
1164 source 15 851 source 6
1165 target 18 852 target 7
1166 graphics 853 graphics
1167 [ 854 [
1168 fill "#000000" 855 fill "#000000"
@@ -1181,8 +868,8 @@ graph
1181 ] 868 ]
1182 edge 869 edge
1183 [ 870 [
1184 source 16 871 source 6
1185 target 20 872 target 8
1186 graphics 873 graphics
1187 [ 874 [
1188 fill "#000000" 875 fill "#000000"
@@ -1201,8 +888,8 @@ graph
1201 ] 888 ]
1202 edge 889 edge
1203 [ 890 [
1204 source 15 891 source 9
1205 target 22 892 target 10
1206 graphics 893 graphics
1207 [ 894 [
1208 fill "#000000" 895 fill "#000000"
@@ -1221,8 +908,8 @@ graph
1221 ] 908 ]
1222 edge 909 edge
1223 [ 910 [
1224 source 16 911 source 9
1225 target 23 912 target 13
1226 graphics 913 graphics
1227 [ 914 [
1228 fill "#000000" 915 fill "#000000"
@@ -1241,8 +928,8 @@ graph
1241 ] 928 ]
1242 edge 929 edge
1243 [ 930 [
1244 source 15 931 source 9
1245 target 21 932 target 14
1246 graphics 933 graphics
1247 [ 934 [
1248 fill "#000000" 935 fill "#000000"
@@ -1261,8 +948,8 @@ graph
1261 ] 948 ]
1262 edge 949 edge
1263 [ 950 [
1264 source 16 951 source 6
1265 target 24 952 target 15
1266 graphics 953 graphics
1267 [ 954 [
1268 fill "#000000" 955 fill "#000000"
@@ -1281,8 +968,8 @@ graph
1281 ] 968 ]
1282 edge 969 edge
1283 [ 970 [
1284 source 16 971 source 6
1285 target 17 972 target 11
1286 graphics 973 graphics
1287 [ 974 [
1288 fill "#000000" 975 fill "#000000"
@@ -1301,8 +988,8 @@ graph
1301 ] 988 ]
1302 edge 989 edge
1303 [ 990 [
1304 source 15 991 source 9
1305 target 19 992 target 12
1306 graphics 993 graphics
1307 [ 994 [
1308 fill "#000000" 995 fill "#000000"
@@ -1321,8 +1008,8 @@ graph
1321 ] 1008 ]
1322 edge 1009 edge
1323 [ 1010 [
1324 source 21 1011 source 14
1325 target 18 1012 target 13
1326 graphics 1013 graphics
1327 [ 1014 [
1328 fill "#000000" 1015 fill "#000000"
@@ -1340,8 +1027,8 @@ graph
1340 ] 1027 ]
1341 edge 1028 edge
1342 [ 1029 [
1343 source 24 1030 source 15
1344 target 23 1031 target 7
1345 graphics 1032 graphics
1346 [ 1033 [
1347 fill "#000000" 1034 fill "#000000"
@@ -1359,8 +1046,8 @@ graph
1359 ] 1046 ]
1360 edge 1047 edge
1361 [ 1048 [
1362 source 21 1049 source 14
1363 target 12 1050 target 3
1364 graphics 1051 graphics
1365 [ 1052 [
1366 fill "#000000" 1053 fill "#000000"
@@ -1378,64 +1065,7 @@ graph
1378 ] 1065 ]
1379 edge 1066 edge
1380 [ 1067 [
1381 source 24 1068 source 15
1382 target 11
1383 graphics
1384 [
1385 fill "#000000"
1386 targetArrow "standard"
1387 ]
1388 LabelGraphics
1389 [
1390 text "target reference DirectedCommunicationLink"
1391 fontSize 14
1392 fontName "Consolas"
1393 configuration "AutoFlippingLabel"
1394 model "six_pos"
1395 position "thead"
1396 ]
1397 ]
1398 edge
1399 [
1400 source 11
1401 target 1
1402 graphics
1403 [
1404 fill "#000000"
1405 targetArrow "standard"
1406 ]
1407 LabelGraphics
1408 [
1409 text "band attribute CommSubsystem"
1410 fontSize 14
1411 fontName "Consolas"
1412 configuration "AutoFlippingLabel"
1413 model "six_pos"
1414 position "thead"
1415 ]
1416 ]
1417 edge
1418 [
1419 source 12
1420 target 2
1421 graphics
1422 [
1423 fill "#000000"
1424 targetArrow "standard"
1425 ]
1426 LabelGraphics
1427 [
1428 text "band attribute CommSubsystem"
1429 fontSize 14
1430 fontName "Consolas"
1431 configuration "AutoFlippingLabel"
1432 model "six_pos"
1433 position "thead"
1434 ]
1435 ]
1436 edge
1437 [
1438 source 18
1439 target 2 1069 target 2
1440 graphics 1070 graphics
1441 [ 1071 [
@@ -1444,178 +1074,7 @@ graph
1444 ] 1074 ]
1445 LabelGraphics 1075 LabelGraphics
1446 [ 1076 [
1447 text "band attribute CommSubsystem" 1077 text "target reference DirectedCommunicationLink"
1448 fontSize 14
1449 fontName "Consolas"
1450 configuration "AutoFlippingLabel"
1451 model "six_pos"
1452 position "thead"
1453 ]
1454 ]
1455 edge
1456 [
1457 source 20
1458 target 1
1459 graphics
1460 [
1461 fill "#000000"
1462 targetArrow "standard"
1463 ]
1464 LabelGraphics
1465 [
1466 text "band attribute CommSubsystem"
1467 fontSize 14
1468 fontName "Consolas"
1469 configuration "AutoFlippingLabel"
1470 model "six_pos"
1471 position "thead"
1472 ]
1473 ]
1474 edge
1475 [
1476 source 22
1477 target 1
1478 graphics
1479 [
1480 fill "#000000"
1481 targetArrow "standard"
1482 ]
1483 LabelGraphics
1484 [
1485 text "band attribute CommSubsystem"
1486 fontSize 14
1487 fontName "Consolas"
1488 configuration "AutoFlippingLabel"
1489 model "six_pos"
1490 position "thead"
1491 ]
1492 ]
1493 edge
1494 [
1495 source 23
1496 target 1
1497 graphics
1498 [
1499 fill "#000000"
1500 targetArrow "standard"
1501 ]
1502 LabelGraphics
1503 [
1504 text "band attribute CommSubsystem"
1505 fontSize 14
1506 fontName "Consolas"
1507 configuration "AutoFlippingLabel"
1508 model "six_pos"
1509 position "thead"
1510 ]
1511 ]
1512 edge
1513 [
1514 source 11
1515 target 4
1516 graphics
1517 [
1518 fill "#000000"
1519 targetArrow "standard"
1520 ]
1521 LabelGraphics
1522 [
1523 text "gain attribute CommSubsystem"
1524 fontSize 14
1525 fontName "Consolas"
1526 configuration "AutoFlippingLabel"
1527 model "six_pos"
1528 position "thead"
1529 ]
1530 ]
1531 edge
1532 [
1533 source 12
1534 target 5
1535 graphics
1536 [
1537 fill "#000000"
1538 targetArrow "standard"
1539 ]
1540 LabelGraphics
1541 [
1542 text "gain attribute CommSubsystem"
1543 fontSize 14
1544 fontName "Consolas"
1545 configuration "AutoFlippingLabel"
1546 model "six_pos"
1547 position "thead"
1548 ]
1549 ]
1550 edge
1551 [
1552 source 18
1553 target 5
1554 graphics
1555 [
1556 fill "#000000"
1557 targetArrow "standard"
1558 ]
1559 LabelGraphics
1560 [
1561 text "gain attribute CommSubsystem"
1562 fontSize 14
1563 fontName "Consolas"
1564 configuration "AutoFlippingLabel"
1565 model "six_pos"
1566 position "thead"
1567 ]
1568 ]
1569 edge
1570 [
1571 source 20
1572 target 5
1573 graphics
1574 [
1575 fill "#000000"
1576 targetArrow "standard"
1577 ]
1578 LabelGraphics
1579 [
1580 text "gain attribute CommSubsystem"
1581 fontSize 14
1582 fontName "Consolas"
1583 configuration "AutoFlippingLabel"
1584 model "six_pos"
1585 position "thead"
1586 ]
1587 ]
1588 edge
1589 [
1590 source 22
1591 target 5
1592 graphics
1593 [
1594 fill "#000000"
1595 targetArrow "standard"
1596 ]
1597 LabelGraphics
1598 [
1599 text "gain attribute CommSubsystem"
1600 fontSize 14
1601 fontName "Consolas"
1602 configuration "AutoFlippingLabel"
1603 model "six_pos"
1604 position "thead"
1605 ]
1606 ]
1607 edge
1608 [
1609 source 23
1610 target 4
1611 graphics
1612 [
1613 fill "#000000"
1614 targetArrow "standard"
1615 ]
1616 LabelGraphics
1617 [
1618 text "gain attribute CommSubsystem"
1619 fontSize 14 1078 fontSize 14
1620 fontName "Consolas" 1079 fontName "Consolas"
1621 configuration "AutoFlippingLabel" 1080 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
--- 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
Binary files 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 @@
1<?xml version="1.0" encoding="ASCII"?> 1<?xml version="1.0" encoding="ASCII"?>
2<satellite:InterferometryMission xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:satellite="http://www.example.org/satellite" xsi:schemaLocation="http://www.example.org/satellite model/satellite.ecore"> 2<satellite:InterferometryMission xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:satellite="http://www.example.org/satellite" xsi:schemaLocation="http://www.example.org/satellite model/satellite.ecore">
3 <groundStationNetwork> 3 <groundStationNetwork>
4 <commSubsystem band="X" gain="MEDIUM"/> 4 <commSubsystem xsi:type="satellite:KaCommSubsystem"/>
5 <commSubsystem band="Ka" gain="HIGH"/> 5 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
6 </groundStationNetwork> 6 </groundStationNetwork>
7 <spacecraft xsi:type="satellite:CubeSat3U"> 7 <spacecraft xsi:type="satellite:SmallSat">
8 <commSubsystem band="X" gain="HIGH"/> 8 <commSubsystem xsi:type="satellite:KaCommSubsystem"/>
9 <commSubsystem band="X" gain="MEDIUM"/> 9 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
10 <communicationLink source="//@spacecraft.0/@commSubsystem.1" target="//@groundStationNetwork/@commSubsystem.0"/> 10 <communicationLink source="//@spacecraft.0/@commSubsystem.0" target="//@groundStationNetwork/@commSubsystem.0"/>
11 <payload xsi:type="satellite:InterferometryPayload"/> 11 <payload xsi:type="satellite:InterferometryPayload"/>
12 </spacecraft> 12 </spacecraft>
13 <spacecraft xsi:type="satellite:CubeSat6U"> 13 <spacecraft xsi:type="satellite:CubeSat3U">
14 <commSubsystem band="X" gain="HIGH"/> 14 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
15 <commSubsystem band="Ka" gain="HIGH"/> 15 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
16 <communicationLink source="//@spacecraft.1/@commSubsystem.1" target="//@groundStationNetwork/@commSubsystem.1"/> 16 <communicationLink source="//@spacecraft.1/@commSubsystem.0" target="//@groundStationNetwork/@commSubsystem.1"/>
17 <payload xsi:type="satellite:InterferometryPayload"/> 17 <payload xsi:type="satellite:InterferometryPayload"/>
18 </spacecraft> 18 </spacecraft>
19</satellite:InterferometryMission> 19</satellite:InterferometryMission>
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 @@
1Task;Run;Result;Domain to logic transformation time;Logic to solver transformation time;Solver time;Postprocessing time;_Solution0FoundAt;TransformationExecutionTime;TypeAnalysisTime;StateCoderTime;StateCoderFailCount;SolutionCopyTime 1Task;Run;Result;Domain to logic transformation time;Logic to solver transformation time;Solver time;Postprocessing time;_Solution0FoundAt;TransformationExecutionTime;TypeAnalysisTime;StateCoderTime;StateCoderFailCount;SolutionCopyTime
21;1;ModelResultImpl;580;4611;34341;4979693485;34306;19566;148;1006;0;5 21;1;ModelResultImpl;353;3507;10950;3413867688;10905;4477;119;440;4;5
3 3
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 @@
1<?xml version="1.0" encoding="UTF-8"?><?eclipse version="3.0"?><!-- 1<?xml version="1.0" encoding="UTF-8"?><?eclipse version="3.0"?><!--
2--><plugin> 2--><plugin>
3 <extension point="org.eclipse.emf.ecore.generated_package"> 3 <extension point="org.eclipse.emf.ecore.generated_package">
4 <!-- @generated satellite --> 4 <!-- @generated satellite -->
5 <package class="satellite.SatellitePackage" genModel="model/satellite.genmodel" uri="http://www.example.org/satellite"/> 5 <package
6 </extension> 6 uri="http://www.example.org/satellite"
7 <extension id="extension.derived.hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftOfKind" point="org.eclipse.viatra.query.runtime.base.wellbehaving.derived.features"> 7 class="satellite.SatellitePackage"
8 <wellbehaving-derived-feature classifier-name="Spacecraft" feature-name="kind" package-nsUri="http://www.example.org/satellite"/> 8 genModel="model/satellite.genmodel"/>
9 </extension> 9 </extension>
10 <extension id="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries" point="org.eclipse.viatra.query.runtime.queryspecification"> 10 <extension id="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries" point="org.eclipse.viatra.query.runtime.queryspecification">
11 <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries" id="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries"> 11 <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries" id="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries">
12 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement"/> 12 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement"/>
@@ -15,17 +15,9 @@
15 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noPotentialLinkToGroundStation"/> 15 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noPotentialLinkToGroundStation"/>
16 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLoop"/> 16 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLoop"/>
17 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetBand"/> 17 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetBand"/>
18 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetGain"/>
19 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.uhfAntennaGainNotLow"/>
20 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.xAntennaGainNotMedium"/>
21 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.kaAntennaGainLow"/>
22 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.threeUCubeSatWithNonUhfCrossLink"/> 18 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.threeUCubeSatWithNonUhfCrossLink"/>
23 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSatWithKaAntenna"/> 19 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSatWithKaAntenna"/>
24 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.smallSat"/> 20 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.smallSat"/>
25 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftOfKind"/>
26 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.coverageMetric"/>
27 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.timeMetric"/>
28 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.costMetric"/>
29 </group> 21 </group>
30 </extension> 22 </extension>
31</plugin> 23</plugin>
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 @@
24/.NoPotentialLinkToGroundStation.java._trace 24/.NoPotentialLinkToGroundStation.java._trace
25/.SmallSat.java._trace 25/.SmallSat.java._trace
26/CommunicationLinkDoesNotStartAtContainingElement.java 26/CommunicationLinkDoesNotStartAtContainingElement.java
27/CommunicationLoop.java
28/CostMetric.java
29/CoverageMetric.java
30/CubeSatWithKaAntenna.java
31/IncompatibleSourceAndTargetBand.java
32/IncompatibleSourceAndTargetGain.java
33/KaAntennaGainLow.java
34/NoLinkToGroundStation.java
35/NoPotentialLinkToGroundStation.java
36/NotEnoughInterferometryPayloads.java
37/SatelliteQueries.java
38/SmallSat.java
39/SpacecraftOfKind.java
40/ThreeUCubeSatWithNonUhfCrossLink.java
41/TimeMetric.java
42/UhfAntennaGainNotLow.java
43/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 @@
1/**
2 * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MissionCost;
7import java.util.Arrays;
8import java.util.Collection;
9import java.util.LinkedHashSet;
10import java.util.List;
11import java.util.Objects;
12import java.util.Optional;
13import java.util.Set;
14import java.util.function.Consumer;
15import java.util.stream.Collectors;
16import java.util.stream.Stream;
17import org.apache.log4j.Logger;
18import org.eclipse.viatra.query.runtime.api.IPatternMatch;
19import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
20import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
21import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
22import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification;
23import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher;
24import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch;
25import org.eclipse.viatra.query.runtime.matchers.aggregators.sum;
26import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
27import org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey;
28import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
29import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
30import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.AggregatorConstraint;
31import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
32import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
33import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.TypeFilterConstraint;
34import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
35import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
36import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
37import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
38import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
39import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
40
41/**
42 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
43 *
44 * <p>Original source:
45 * <code><pre>
46 * // Cost
47 *
48 * pattern costMetric(Cost : java Double) {
49 * Cost == sum find missionCost(_, #_);
50 * }
51 * </pre></code>
52 *
53 * @see Matcher
54 * @see Match
55 *
56 */
57@SuppressWarnings("all")
58public final class CostMetric extends BaseGeneratedEMFQuerySpecification<CostMetric.Matcher> {
59 /**
60 * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.costMetric pattern,
61 * to be used in conjunction with {@link Matcher}.
62 *
63 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned.
64 * Each instance is a (possibly partial) substitution of pattern parameters,
65 * usable to represent a match of the pattern in the result of a query,
66 * or to specify the bound (fixed) input parameters when issuing a query.
67 *
68 * @see Matcher
69 *
70 */
71 public static abstract class Match extends BasePatternMatch {
72 private Double fCost;
73
74 private static List<String> parameterNames = makeImmutableList("Cost");
75
76 private Match(final Double pCost) {
77 this.fCost = pCost;
78 }
79
80 @Override
81 public Object get(final String parameterName) {
82 if ("Cost".equals(parameterName)) return this.fCost;
83 return null;
84 }
85
86 public Double getCost() {
87 return this.fCost;
88 }
89
90 @Override
91 public boolean set(final String parameterName, final Object newValue) {
92 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
93 if ("Cost".equals(parameterName) ) {
94 this.fCost = (Double) newValue;
95 return true;
96 }
97 return false;
98 }
99
100 public void setCost(final Double pCost) {
101 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
102 this.fCost = pCost;
103 }
104
105 @Override
106 public String patternName() {
107 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.costMetric";
108 }
109
110 @Override
111 public List<String> parameterNames() {
112 return CostMetric.Match.parameterNames;
113 }
114
115 @Override
116 public Object[] toArray() {
117 return new Object[]{fCost};
118 }
119
120 @Override
121 public CostMetric.Match toImmutable() {
122 return isMutable() ? newMatch(fCost) : this;
123 }
124
125 @Override
126 public String prettyPrint() {
127 StringBuilder result = new StringBuilder();
128 result.append("\"Cost\"=" + prettyPrintValue(fCost));
129 return result.toString();
130 }
131
132 @Override
133 public int hashCode() {
134 return Objects.hash(fCost);
135 }
136
137 @Override
138 public boolean equals(final Object obj) {
139 if (this == obj)
140 return true;
141 if (obj == null) {
142 return false;
143 }
144 if ((obj instanceof CostMetric.Match)) {
145 CostMetric.Match other = (CostMetric.Match) obj;
146 return Objects.equals(fCost, other.fCost);
147 } else {
148 // this should be infrequent
149 if (!(obj instanceof IPatternMatch)) {
150 return false;
151 }
152 IPatternMatch otherSig = (IPatternMatch) obj;
153 return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray());
154 }
155 }
156
157 @Override
158 public CostMetric specification() {
159 return CostMetric.instance();
160 }
161
162 /**
163 * Returns an empty, mutable match.
164 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
165 *
166 * @return the empty match.
167 *
168 */
169 public static CostMetric.Match newEmptyMatch() {
170 return new Mutable(null);
171 }
172
173 /**
174 * Returns a mutable (partial) match.
175 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
176 *
177 * @param pCost the fixed value of pattern parameter Cost, or null if not bound.
178 * @return the new, mutable (partial) match object.
179 *
180 */
181 public static CostMetric.Match newMutableMatch(final Double pCost) {
182 return new Mutable(pCost);
183 }
184
185 /**
186 * Returns a new (partial) match.
187 * This can be used e.g. to call the matcher with a partial match.
188 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
189 * @param pCost the fixed value of pattern parameter Cost, or null if not bound.
190 * @return the (partial) match object.
191 *
192 */
193 public static CostMetric.Match newMatch(final Double pCost) {
194 return new Immutable(pCost);
195 }
196
197 private static final class Mutable extends CostMetric.Match {
198 Mutable(final Double pCost) {
199 super(pCost);
200 }
201
202 @Override
203 public boolean isMutable() {
204 return true;
205 }
206 }
207
208 private static final class Immutable extends CostMetric.Match {
209 Immutable(final Double pCost) {
210 super(pCost);
211 }
212
213 @Override
214 public boolean isMutable() {
215 return false;
216 }
217 }
218 }
219
220 /**
221 * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.costMetric pattern,
222 * providing pattern-specific query methods.
223 *
224 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)},
225 * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}.
226 *
227 * <p>Matches of the pattern will be represented as {@link Match}.
228 *
229 * <p>Original source:
230 * <code><pre>
231 * // Cost
232 *
233 * pattern costMetric(Cost : java Double) {
234 * Cost == sum find missionCost(_, #_);
235 * }
236 * </pre></code>
237 *
238 * @see Match
239 * @see CostMetric
240 *
241 */
242 public static class Matcher extends BaseMatcher<CostMetric.Match> {
243 /**
244 * Initializes the pattern matcher within an existing VIATRA Query engine.
245 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
246 *
247 * @param engine the existing VIATRA Query engine in which this matcher will be created.
248 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
249 *
250 */
251 public static CostMetric.Matcher on(final ViatraQueryEngine engine) {
252 // check if matcher already exists
253 Matcher matcher = engine.getExistingMatcher(querySpecification());
254 if (matcher == null) {
255 matcher = (Matcher)engine.getMatcher(querySpecification());
256 }
257 return matcher;
258 }
259
260 /**
261 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
262 * @return an initialized matcher
263 * @noreference This method is for internal matcher initialization by the framework, do not call it manually.
264 *
265 */
266 public static CostMetric.Matcher create() {
267 return new Matcher();
268 }
269
270 private static final int POSITION_COST = 0;
271
272 private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(CostMetric.Matcher.class);
273
274 /**
275 * Initializes the pattern matcher within an existing VIATRA Query engine.
276 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
277 *
278 * @param engine the existing VIATRA Query engine in which this matcher will be created.
279 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
280 *
281 */
282 private Matcher() {
283 super(querySpecification());
284 }
285
286 /**
287 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
288 * @param pCost the fixed value of pattern parameter Cost, or null if not bound.
289 * @return matches represented as a Match object.
290 *
291 */
292 public Collection<CostMetric.Match> getAllMatches(final Double pCost) {
293 return rawStreamAllMatches(new Object[]{pCost}).collect(Collectors.toSet());
294 }
295
296 /**
297 * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters.
298 * </p>
299 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
300 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
301 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
302 * @param pCost the fixed value of pattern parameter Cost, or null if not bound.
303 * @return a stream of matches represented as a Match object.
304 *
305 */
306 public Stream<CostMetric.Match> streamAllMatches(final Double pCost) {
307 return rawStreamAllMatches(new Object[]{pCost});
308 }
309
310 /**
311 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
312 * Neither determinism nor randomness of selection is guaranteed.
313 * @param pCost the fixed value of pattern parameter Cost, or null if not bound.
314 * @return a match represented as a Match object, or null if no match is found.
315 *
316 */
317 public Optional<CostMetric.Match> getOneArbitraryMatch(final Double pCost) {
318 return rawGetOneArbitraryMatch(new Object[]{pCost});
319 }
320
321 /**
322 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
323 * under any possible substitution of the unspecified parameters (if any).
324 * @param pCost the fixed value of pattern parameter Cost, or null if not bound.
325 * @return true if the input is a valid (partial) match of the pattern.
326 *
327 */
328 public boolean hasMatch(final Double pCost) {
329 return rawHasMatch(new Object[]{pCost});
330 }
331
332 /**
333 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
334 * @param pCost the fixed value of pattern parameter Cost, or null if not bound.
335 * @return the number of pattern matches found.
336 *
337 */
338 public int countMatches(final Double pCost) {
339 return rawCountMatches(new Object[]{pCost});
340 }
341
342 /**
343 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
344 * Neither determinism nor randomness of selection is guaranteed.
345 * @param pCost the fixed value of pattern parameter Cost, or null if not bound.
346 * @param processor the action that will process the selected match.
347 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
348 *
349 */
350 public boolean forOneArbitraryMatch(final Double pCost, final Consumer<? super CostMetric.Match> processor) {
351 return rawForOneArbitraryMatch(new Object[]{pCost}, processor);
352 }
353
354 /**
355 * Returns a new (partial) match.
356 * This can be used e.g. to call the matcher with a partial match.
357 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
358 * @param pCost the fixed value of pattern parameter Cost, or null if not bound.
359 * @return the (partial) match object.
360 *
361 */
362 public CostMetric.Match newMatch(final Double pCost) {
363 return CostMetric.Match.newMatch(pCost);
364 }
365
366 /**
367 * Retrieve the set of values that occur in matches for Cost.
368 * @return the Set of all values or empty set if there are no matches
369 *
370 */
371 protected Stream<Double> rawStreamAllValuesOfCost(final Object[] parameters) {
372 return rawStreamAllValues(POSITION_COST, parameters).map(Double.class::cast);
373 }
374
375 /**
376 * Retrieve the set of values that occur in matches for Cost.
377 * @return the Set of all values or empty set if there are no matches
378 *
379 */
380 public Set<Double> getAllValuesOfCost() {
381 return rawStreamAllValuesOfCost(emptyArray()).collect(Collectors.toSet());
382 }
383
384 /**
385 * Retrieve the set of values that occur in matches for Cost.
386 * @return the Set of all values or empty set if there are no matches
387 *
388 */
389 public Stream<Double> streamAllValuesOfCost() {
390 return rawStreamAllValuesOfCost(emptyArray());
391 }
392
393 @Override
394 protected CostMetric.Match tupleToMatch(final Tuple t) {
395 try {
396 return CostMetric.Match.newMatch((Double) t.get(POSITION_COST));
397 } catch(ClassCastException e) {
398 LOGGER.error("Element(s) in tuple not properly typed!",e);
399 return null;
400 }
401 }
402
403 @Override
404 protected CostMetric.Match arrayToMatch(final Object[] match) {
405 try {
406 return CostMetric.Match.newMatch((Double) match[POSITION_COST]);
407 } catch(ClassCastException e) {
408 LOGGER.error("Element(s) in array not properly typed!",e);
409 return null;
410 }
411 }
412
413 @Override
414 protected CostMetric.Match arrayToMatchMutable(final Object[] match) {
415 try {
416 return CostMetric.Match.newMutableMatch((Double) match[POSITION_COST]);
417 } catch(ClassCastException e) {
418 LOGGER.error("Element(s) in array not properly typed!",e);
419 return null;
420 }
421 }
422
423 /**
424 * @return the singleton instance of the query specification of this pattern
425 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
426 *
427 */
428 public static IQuerySpecification<CostMetric.Matcher> querySpecification() {
429 return CostMetric.instance();
430 }
431 }
432
433 private CostMetric() {
434 super(GeneratedPQuery.INSTANCE);
435 }
436
437 /**
438 * @return the singleton instance of the query specification
439 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
440 *
441 */
442 public static CostMetric instance() {
443 try{
444 return LazyHolder.INSTANCE;
445 } catch (ExceptionInInitializerError err) {
446 throw processInitializerError(err);
447 }
448 }
449
450 @Override
451 protected CostMetric.Matcher instantiate(final ViatraQueryEngine engine) {
452 return CostMetric.Matcher.on(engine);
453 }
454
455 @Override
456 public CostMetric.Matcher instantiate() {
457 return CostMetric.Matcher.create();
458 }
459
460 @Override
461 public CostMetric.Match newEmptyMatch() {
462 return CostMetric.Match.newEmptyMatch();
463 }
464
465 @Override
466 public CostMetric.Match newMatch(final Object... parameters) {
467 return CostMetric.Match.newMatch((java.lang.Double) parameters[0]);
468 }
469
470 /**
471 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created
472 * <b>not</b> at the class load time of the outer class,
473 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
474 *
475 * <p> This workaround is required e.g. to support recursion.
476 *
477 */
478 private static class LazyHolder {
479 private static final CostMetric INSTANCE = new CostMetric();
480
481 /**
482 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
483 * This initialization order is required to support indirect recursion.
484 *
485 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
486 *
487 */
488 private static final Object STATIC_INITIALIZER = ensureInitialized();
489
490 public static Object ensureInitialized() {
491 INSTANCE.ensureInitializedInternal();
492 return null;
493 }
494 }
495
496 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
497 private static final CostMetric.GeneratedPQuery INSTANCE = new GeneratedPQuery();
498
499 private final PParameter parameter_Cost = new PParameter("Cost", "java.lang.Double", new JavaTransitiveInstancesKey(java.lang.Double.class), PParameterDirection.INOUT);
500
501 private final List<PParameter> parameters = Arrays.asList(parameter_Cost);
502
503 private GeneratedPQuery() {
504 super(PVisibility.PUBLIC);
505 }
506
507 @Override
508 public String getFullyQualifiedName() {
509 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.costMetric";
510 }
511
512 @Override
513 public List<String> getParameterNames() {
514 return Arrays.asList("Cost");
515 }
516
517 @Override
518 public List<PParameter> getParameters() {
519 return parameters;
520 }
521
522 @Override
523 public Set<PBody> doGetContainedBodies() {
524 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
525 Set<PBody> bodies = new LinkedHashSet<>();
526 {
527 PBody body = new PBody(this);
528 PVariable var_Cost = body.getOrCreateVariableByName("Cost");
529 PVariable var___0_ = body.getOrCreateVariableByName("_<0>");
530 PVariable var___1_ = body.getOrCreateVariableByName("_<1>");
531 new TypeFilterConstraint(body, Tuples.flatTupleOf(var_Cost), new JavaTransitiveInstancesKey(java.lang.Double.class));
532 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
533 new ExportedParameter(body, var_Cost, parameter_Cost)
534 ));
535 // Cost == sum find missionCost(_, #_)
536 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
537 new AggregatorConstraint(new sum().getAggregatorLogic(Double.class), body, Tuples.flatTupleOf(var___0_, var___1_), MissionCost.instance().getInternalQueryRepresentation(), var__virtual_0_, 1);
538 new Equality(body, var_Cost, var__virtual_0_);
539 bodies.add(body);
540 }
541 return bodies;
542 }
543 }
544}
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 @@
1/**
2 * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MissionCoverage;
7import java.util.Arrays;
8import java.util.Collection;
9import java.util.LinkedHashSet;
10import java.util.List;
11import java.util.Objects;
12import java.util.Optional;
13import java.util.Set;
14import java.util.function.Consumer;
15import java.util.stream.Collectors;
16import java.util.stream.Stream;
17import org.apache.log4j.Logger;
18import org.eclipse.viatra.query.runtime.api.IPatternMatch;
19import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
20import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
21import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
22import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification;
23import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher;
24import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch;
25import org.eclipse.viatra.query.runtime.matchers.aggregators.sum;
26import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
27import org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey;
28import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
29import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
30import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.AggregatorConstraint;
31import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
32import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
33import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.TypeFilterConstraint;
34import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
35import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
36import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
37import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
38import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
39import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
40
41/**
42 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
43 *
44 * <p>Original source:
45 * <code><pre>
46 * //
47 * // Metrics
48 * //
49 *
50 * // Coverage
51 *
52 * pattern coverageMetric(Coverage : java Double) {
53 * Coverage == sum find missionCoverage(_, #_);
54 * }
55 * </pre></code>
56 *
57 * @see Matcher
58 * @see Match
59 *
60 */
61@SuppressWarnings("all")
62public final class CoverageMetric extends BaseGeneratedEMFQuerySpecification<CoverageMetric.Matcher> {
63 /**
64 * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.coverageMetric pattern,
65 * to be used in conjunction with {@link Matcher}.
66 *
67 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned.
68 * Each instance is a (possibly partial) substitution of pattern parameters,
69 * usable to represent a match of the pattern in the result of a query,
70 * or to specify the bound (fixed) input parameters when issuing a query.
71 *
72 * @see Matcher
73 *
74 */
75 public static abstract class Match extends BasePatternMatch {
76 private Double fCoverage;
77
78 private static List<String> parameterNames = makeImmutableList("Coverage");
79
80 private Match(final Double pCoverage) {
81 this.fCoverage = pCoverage;
82 }
83
84 @Override
85 public Object get(final String parameterName) {
86 if ("Coverage".equals(parameterName)) return this.fCoverage;
87 return null;
88 }
89
90 public Double getCoverage() {
91 return this.fCoverage;
92 }
93
94 @Override
95 public boolean set(final String parameterName, final Object newValue) {
96 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
97 if ("Coverage".equals(parameterName) ) {
98 this.fCoverage = (Double) newValue;
99 return true;
100 }
101 return false;
102 }
103
104 public void setCoverage(final Double pCoverage) {
105 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
106 this.fCoverage = pCoverage;
107 }
108
109 @Override
110 public String patternName() {
111 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.coverageMetric";
112 }
113
114 @Override
115 public List<String> parameterNames() {
116 return CoverageMetric.Match.parameterNames;
117 }
118
119 @Override
120 public Object[] toArray() {
121 return new Object[]{fCoverage};
122 }
123
124 @Override
125 public CoverageMetric.Match toImmutable() {
126 return isMutable() ? newMatch(fCoverage) : this;
127 }
128
129 @Override
130 public String prettyPrint() {
131 StringBuilder result = new StringBuilder();
132 result.append("\"Coverage\"=" + prettyPrintValue(fCoverage));
133 return result.toString();
134 }
135
136 @Override
137 public int hashCode() {
138 return Objects.hash(fCoverage);
139 }
140
141 @Override
142 public boolean equals(final Object obj) {
143 if (this == obj)
144 return true;
145 if (obj == null) {
146 return false;
147 }
148 if ((obj instanceof CoverageMetric.Match)) {
149 CoverageMetric.Match other = (CoverageMetric.Match) obj;
150 return Objects.equals(fCoverage, other.fCoverage);
151 } else {
152 // this should be infrequent
153 if (!(obj instanceof IPatternMatch)) {
154 return false;
155 }
156 IPatternMatch otherSig = (IPatternMatch) obj;
157 return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray());
158 }
159 }
160
161 @Override
162 public CoverageMetric specification() {
163 return CoverageMetric.instance();
164 }
165
166 /**
167 * Returns an empty, mutable match.
168 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
169 *
170 * @return the empty match.
171 *
172 */
173 public static CoverageMetric.Match newEmptyMatch() {
174 return new Mutable(null);
175 }
176
177 /**
178 * Returns a mutable (partial) match.
179 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
180 *
181 * @param pCoverage the fixed value of pattern parameter Coverage, or null if not bound.
182 * @return the new, mutable (partial) match object.
183 *
184 */
185 public static CoverageMetric.Match newMutableMatch(final Double pCoverage) {
186 return new Mutable(pCoverage);
187 }
188
189 /**
190 * Returns a new (partial) match.
191 * This can be used e.g. to call the matcher with a partial match.
192 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
193 * @param pCoverage the fixed value of pattern parameter Coverage, or null if not bound.
194 * @return the (partial) match object.
195 *
196 */
197 public static CoverageMetric.Match newMatch(final Double pCoverage) {
198 return new Immutable(pCoverage);
199 }
200
201 private static final class Mutable extends CoverageMetric.Match {
202 Mutable(final Double pCoverage) {
203 super(pCoverage);
204 }
205
206 @Override
207 public boolean isMutable() {
208 return true;
209 }
210 }
211
212 private static final class Immutable extends CoverageMetric.Match {
213 Immutable(final Double pCoverage) {
214 super(pCoverage);
215 }
216
217 @Override
218 public boolean isMutable() {
219 return false;
220 }
221 }
222 }
223
224 /**
225 * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.coverageMetric pattern,
226 * providing pattern-specific query methods.
227 *
228 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)},
229 * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}.
230 *
231 * <p>Matches of the pattern will be represented as {@link Match}.
232 *
233 * <p>Original source:
234 * <code><pre>
235 * //
236 * // Metrics
237 * //
238 *
239 * // Coverage
240 *
241 * pattern coverageMetric(Coverage : java Double) {
242 * Coverage == sum find missionCoverage(_, #_);
243 * }
244 * </pre></code>
245 *
246 * @see Match
247 * @see CoverageMetric
248 *
249 */
250 public static class Matcher extends BaseMatcher<CoverageMetric.Match> {
251 /**
252 * Initializes the pattern matcher within an existing VIATRA Query engine.
253 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
254 *
255 * @param engine the existing VIATRA Query engine in which this matcher will be created.
256 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
257 *
258 */
259 public static CoverageMetric.Matcher on(final ViatraQueryEngine engine) {
260 // check if matcher already exists
261 Matcher matcher = engine.getExistingMatcher(querySpecification());
262 if (matcher == null) {
263 matcher = (Matcher)engine.getMatcher(querySpecification());
264 }
265 return matcher;
266 }
267
268 /**
269 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
270 * @return an initialized matcher
271 * @noreference This method is for internal matcher initialization by the framework, do not call it manually.
272 *
273 */
274 public static CoverageMetric.Matcher create() {
275 return new Matcher();
276 }
277
278 private static final int POSITION_COVERAGE = 0;
279
280 private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(CoverageMetric.Matcher.class);
281
282 /**
283 * Initializes the pattern matcher within an existing VIATRA Query engine.
284 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
285 *
286 * @param engine the existing VIATRA Query engine in which this matcher will be created.
287 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
288 *
289 */
290 private Matcher() {
291 super(querySpecification());
292 }
293
294 /**
295 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
296 * @param pCoverage the fixed value of pattern parameter Coverage, or null if not bound.
297 * @return matches represented as a Match object.
298 *
299 */
300 public Collection<CoverageMetric.Match> getAllMatches(final Double pCoverage) {
301 return rawStreamAllMatches(new Object[]{pCoverage}).collect(Collectors.toSet());
302 }
303
304 /**
305 * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters.
306 * </p>
307 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
308 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
309 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
310 * @param pCoverage the fixed value of pattern parameter Coverage, or null if not bound.
311 * @return a stream of matches represented as a Match object.
312 *
313 */
314 public Stream<CoverageMetric.Match> streamAllMatches(final Double pCoverage) {
315 return rawStreamAllMatches(new Object[]{pCoverage});
316 }
317
318 /**
319 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
320 * Neither determinism nor randomness of selection is guaranteed.
321 * @param pCoverage the fixed value of pattern parameter Coverage, or null if not bound.
322 * @return a match represented as a Match object, or null if no match is found.
323 *
324 */
325 public Optional<CoverageMetric.Match> getOneArbitraryMatch(final Double pCoverage) {
326 return rawGetOneArbitraryMatch(new Object[]{pCoverage});
327 }
328
329 /**
330 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
331 * under any possible substitution of the unspecified parameters (if any).
332 * @param pCoverage the fixed value of pattern parameter Coverage, or null if not bound.
333 * @return true if the input is a valid (partial) match of the pattern.
334 *
335 */
336 public boolean hasMatch(final Double pCoverage) {
337 return rawHasMatch(new Object[]{pCoverage});
338 }
339
340 /**
341 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
342 * @param pCoverage the fixed value of pattern parameter Coverage, or null if not bound.
343 * @return the number of pattern matches found.
344 *
345 */
346 public int countMatches(final Double pCoverage) {
347 return rawCountMatches(new Object[]{pCoverage});
348 }
349
350 /**
351 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
352 * Neither determinism nor randomness of selection is guaranteed.
353 * @param pCoverage the fixed value of pattern parameter Coverage, or null if not bound.
354 * @param processor the action that will process the selected match.
355 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
356 *
357 */
358 public boolean forOneArbitraryMatch(final Double pCoverage, final Consumer<? super CoverageMetric.Match> processor) {
359 return rawForOneArbitraryMatch(new Object[]{pCoverage}, processor);
360 }
361
362 /**
363 * Returns a new (partial) match.
364 * This can be used e.g. to call the matcher with a partial match.
365 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
366 * @param pCoverage the fixed value of pattern parameter Coverage, or null if not bound.
367 * @return the (partial) match object.
368 *
369 */
370 public CoverageMetric.Match newMatch(final Double pCoverage) {
371 return CoverageMetric.Match.newMatch(pCoverage);
372 }
373
374 /**
375 * Retrieve the set of values that occur in matches for Coverage.
376 * @return the Set of all values or empty set if there are no matches
377 *
378 */
379 protected Stream<Double> rawStreamAllValuesOfCoverage(final Object[] parameters) {
380 return rawStreamAllValues(POSITION_COVERAGE, parameters).map(Double.class::cast);
381 }
382
383 /**
384 * Retrieve the set of values that occur in matches for Coverage.
385 * @return the Set of all values or empty set if there are no matches
386 *
387 */
388 public Set<Double> getAllValuesOfCoverage() {
389 return rawStreamAllValuesOfCoverage(emptyArray()).collect(Collectors.toSet());
390 }
391
392 /**
393 * Retrieve the set of values that occur in matches for Coverage.
394 * @return the Set of all values or empty set if there are no matches
395 *
396 */
397 public Stream<Double> streamAllValuesOfCoverage() {
398 return rawStreamAllValuesOfCoverage(emptyArray());
399 }
400
401 @Override
402 protected CoverageMetric.Match tupleToMatch(final Tuple t) {
403 try {
404 return CoverageMetric.Match.newMatch((Double) t.get(POSITION_COVERAGE));
405 } catch(ClassCastException e) {
406 LOGGER.error("Element(s) in tuple not properly typed!",e);
407 return null;
408 }
409 }
410
411 @Override
412 protected CoverageMetric.Match arrayToMatch(final Object[] match) {
413 try {
414 return CoverageMetric.Match.newMatch((Double) match[POSITION_COVERAGE]);
415 } catch(ClassCastException e) {
416 LOGGER.error("Element(s) in array not properly typed!",e);
417 return null;
418 }
419 }
420
421 @Override
422 protected CoverageMetric.Match arrayToMatchMutable(final Object[] match) {
423 try {
424 return CoverageMetric.Match.newMutableMatch((Double) match[POSITION_COVERAGE]);
425 } catch(ClassCastException e) {
426 LOGGER.error("Element(s) in array not properly typed!",e);
427 return null;
428 }
429 }
430
431 /**
432 * @return the singleton instance of the query specification of this pattern
433 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
434 *
435 */
436 public static IQuerySpecification<CoverageMetric.Matcher> querySpecification() {
437 return CoverageMetric.instance();
438 }
439 }
440
441 private CoverageMetric() {
442 super(GeneratedPQuery.INSTANCE);
443 }
444
445 /**
446 * @return the singleton instance of the query specification
447 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
448 *
449 */
450 public static CoverageMetric instance() {
451 try{
452 return LazyHolder.INSTANCE;
453 } catch (ExceptionInInitializerError err) {
454 throw processInitializerError(err);
455 }
456 }
457
458 @Override
459 protected CoverageMetric.Matcher instantiate(final ViatraQueryEngine engine) {
460 return CoverageMetric.Matcher.on(engine);
461 }
462
463 @Override
464 public CoverageMetric.Matcher instantiate() {
465 return CoverageMetric.Matcher.create();
466 }
467
468 @Override
469 public CoverageMetric.Match newEmptyMatch() {
470 return CoverageMetric.Match.newEmptyMatch();
471 }
472
473 @Override
474 public CoverageMetric.Match newMatch(final Object... parameters) {
475 return CoverageMetric.Match.newMatch((java.lang.Double) parameters[0]);
476 }
477
478 /**
479 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created
480 * <b>not</b> at the class load time of the outer class,
481 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
482 *
483 * <p> This workaround is required e.g. to support recursion.
484 *
485 */
486 private static class LazyHolder {
487 private static final CoverageMetric INSTANCE = new CoverageMetric();
488
489 /**
490 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
491 * This initialization order is required to support indirect recursion.
492 *
493 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
494 *
495 */
496 private static final Object STATIC_INITIALIZER = ensureInitialized();
497
498 public static Object ensureInitialized() {
499 INSTANCE.ensureInitializedInternal();
500 return null;
501 }
502 }
503
504 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
505 private static final CoverageMetric.GeneratedPQuery INSTANCE = new GeneratedPQuery();
506
507 private final PParameter parameter_Coverage = new PParameter("Coverage", "java.lang.Double", new JavaTransitiveInstancesKey(java.lang.Double.class), PParameterDirection.INOUT);
508
509 private final List<PParameter> parameters = Arrays.asList(parameter_Coverage);
510
511 private GeneratedPQuery() {
512 super(PVisibility.PUBLIC);
513 }
514
515 @Override
516 public String getFullyQualifiedName() {
517 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.coverageMetric";
518 }
519
520 @Override
521 public List<String> getParameterNames() {
522 return Arrays.asList("Coverage");
523 }
524
525 @Override
526 public List<PParameter> getParameters() {
527 return parameters;
528 }
529
530 @Override
531 public Set<PBody> doGetContainedBodies() {
532 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
533 Set<PBody> bodies = new LinkedHashSet<>();
534 {
535 PBody body = new PBody(this);
536 PVariable var_Coverage = body.getOrCreateVariableByName("Coverage");
537 PVariable var___0_ = body.getOrCreateVariableByName("_<0>");
538 PVariable var___1_ = body.getOrCreateVariableByName("_<1>");
539 new TypeFilterConstraint(body, Tuples.flatTupleOf(var_Coverage), new JavaTransitiveInstancesKey(java.lang.Double.class));
540 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
541 new ExportedParameter(body, var_Coverage, parameter_Coverage)
542 ));
543 // Coverage == sum find missionCoverage(_, #_)
544 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
545 new AggregatorConstraint(new sum().getAggregatorLogic(Double.class), body, Tuples.flatTupleOf(var___0_, var___1_), MissionCoverage.instance().getInternalQueryRepresentation(), var__virtual_0_, 1);
546 new Equality(body, var_Coverage, var__virtual_0_);
547 bodies.add(body);
548 }
549 return bodies;
550 }
551 }
552}
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;
16import java.util.stream.Stream; 16import java.util.stream.Stream;
17import org.apache.log4j.Logger; 17import org.apache.log4j.Logger;
18import org.eclipse.emf.ecore.EClass; 18import org.eclipse.emf.ecore.EClass;
19import org.eclipse.emf.ecore.EDataType;
20import org.eclipse.viatra.query.runtime.api.IPatternMatch; 19import org.eclipse.viatra.query.runtime.api.IPatternMatch;
21import org.eclipse.viatra.query.runtime.api.IQuerySpecification; 20import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
22import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; 21import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
@@ -25,7 +24,6 @@ import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificat
25import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; 24import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher;
26import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; 25import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch;
27import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; 26import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
28import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey;
29import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; 27import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey;
30import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; 28import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
31import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; 29import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
@@ -35,7 +33,6 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterRe
35import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; 33import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
36import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; 34import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
37import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall; 35import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall;
38import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue;
39import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; 36import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
40import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; 37import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
41import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; 38import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
@@ -55,7 +52,8 @@ import satellite.Spacecraft;
55 * {@literal @}Constraint(severity = "error", key = {Spacecraft}, 52 * {@literal @}Constraint(severity = "error", key = {Spacecraft},
56 * message = "Only a Small Satellite can be configured with a Ka-band communication system.") 53 * message = "Only a Small Satellite can be configured with a Ka-band communication system.")
57 * pattern cubeSatWithKaAntenna(Spacecraft : Spacecraft) { 54 * pattern cubeSatWithKaAntenna(Spacecraft : Spacecraft) {
58 * CommunicatingElement.commSubsystem.band(Spacecraft, TransceiverBand::Ka); 55 * CommunicatingElement.commSubsystem(Spacecraft, Comm);
56 * KaCommSubsystem(Comm);
59 * neg find smallSat(Spacecraft); 57 * neg find smallSat(Spacecraft);
60 * } 58 * }
61 * </pre></code> 59 * </pre></code>
@@ -243,7 +241,8 @@ public final class CubeSatWithKaAntenna extends BaseGeneratedEMFQuerySpecificati
243 * {@literal @}Constraint(severity = "error", key = {Spacecraft}, 241 * {@literal @}Constraint(severity = "error", key = {Spacecraft},
244 * message = "Only a Small Satellite can be configured with a Ka-band communication system.") 242 * message = "Only a Small Satellite can be configured with a Ka-band communication system.")
245 * pattern cubeSatWithKaAntenna(Spacecraft : Spacecraft) { 243 * pattern cubeSatWithKaAntenna(Spacecraft : Spacecraft) {
246 * CommunicatingElement.commSubsystem.band(Spacecraft, TransceiverBand::Ka); 244 * CommunicatingElement.commSubsystem(Spacecraft, Comm);
245 * KaCommSubsystem(Comm);
247 * neg find smallSat(Spacecraft); 246 * neg find smallSat(Spacecraft);
248 * } 247 * }
249 * </pre></code> 248 * </pre></code>
@@ -539,21 +538,19 @@ public final class CubeSatWithKaAntenna extends BaseGeneratedEMFQuerySpecificati
539 { 538 {
540 PBody body = new PBody(this); 539 PBody body = new PBody(this);
541 PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft"); 540 PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft");
541 PVariable var_Comm = body.getOrCreateVariableByName("Comm");
542 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); 542 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
543 body.setSymbolicParameters(Arrays.<ExportedParameter>asList( 543 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
544 new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft) 544 new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft)
545 )); 545 ));
546 // CommunicatingElement.commSubsystem.band(Spacecraft, TransceiverBand::Ka) 546 // CommunicatingElement.commSubsystem(Spacecraft, Comm)
547 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
548 new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "TransceiverBand", "Ka").getInstance());
549 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); 547 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
550 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); 548 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
551 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); 549 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem")));
552 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); 550 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
553 PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}"); 551 new Equality(body, var__virtual_0_, var_Comm);
554 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_, var__virtual_2_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "band"))); 552 // KaCommSubsystem(Comm)
555 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_2_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "TransceiverBand"))); 553 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "KaCommSubsystem")));
556 new Equality(body, var__virtual_2_, var__virtual_0_);
557 // neg find smallSat(Spacecraft) 554 // neg find smallSat(Spacecraft)
558 new NegativePatternCall(body, Tuples.flatTupleOf(var_Spacecraft), SmallSat.instance().getInternalQueryRepresentation()); 555 new NegativePatternCall(body, Tuples.flatTupleOf(var_Spacecraft), SmallSat.instance().getInternalQueryRepresentation());
559 bodies.add(body); 556 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 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBand; 6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingCommSubsystem;
7import java.util.Arrays; 7import java.util.Arrays;
8import java.util.Collection; 8import java.util.Collection;
9import java.util.LinkedHashSet; 9import java.util.LinkedHashSet;
@@ -16,7 +16,6 @@ import java.util.stream.Collectors;
16import java.util.stream.Stream; 16import java.util.stream.Stream;
17import org.apache.log4j.Logger; 17import org.apache.log4j.Logger;
18import org.eclipse.emf.ecore.EClass; 18import org.eclipse.emf.ecore.EClass;
19import org.eclipse.emf.ecore.EDataType;
20import org.eclipse.viatra.query.runtime.api.IPatternMatch; 19import org.eclipse.viatra.query.runtime.api.IPatternMatch;
21import org.eclipse.viatra.query.runtime.api.IQuerySpecification; 20import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
22import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; 21import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
@@ -25,7 +24,6 @@ import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificat
25import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; 24import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher;
26import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; 25import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch;
27import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; 26import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
28import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey;
29import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; 27import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey;
30import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; 28import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
31import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; 29import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
@@ -56,8 +54,7 @@ import satellite.DirectedCommunicationLink;
56 * pattern incompatibleSourceAndTargetBand(Link : DirectedCommunicationLink) { 54 * pattern incompatibleSourceAndTargetBand(Link : DirectedCommunicationLink) {
57 * DirectedCommunicationLink.source(Link, SourceSubsystem); 55 * DirectedCommunicationLink.source(Link, SourceSubsystem);
58 * DirectedCommunicationLink.target(Link, TargetSubsystem); 56 * DirectedCommunicationLink.target(Link, TargetSubsystem);
59 * CommSubsystem.band(SourceSubsystem, Band); 57 * neg find matchingCommSubsystem(SourceSubsystem, TargetSubsystem);
60 * neg find commSubsystemBand(TargetSubsystem, Band);
61 * } 58 * }
62 * </pre></code> 59 * </pre></code>
63 * 60 *
@@ -246,8 +243,7 @@ public final class IncompatibleSourceAndTargetBand extends BaseGeneratedEMFQuery
246 * pattern incompatibleSourceAndTargetBand(Link : DirectedCommunicationLink) { 243 * pattern incompatibleSourceAndTargetBand(Link : DirectedCommunicationLink) {
247 * DirectedCommunicationLink.source(Link, SourceSubsystem); 244 * DirectedCommunicationLink.source(Link, SourceSubsystem);
248 * DirectedCommunicationLink.target(Link, TargetSubsystem); 245 * DirectedCommunicationLink.target(Link, TargetSubsystem);
249 * CommSubsystem.band(SourceSubsystem, Band); 246 * neg find matchingCommSubsystem(SourceSubsystem, TargetSubsystem);
250 * neg find commSubsystemBand(TargetSubsystem, Band);
251 * } 247 * }
252 * </pre></code> 248 * </pre></code>
253 * 249 *
@@ -544,7 +540,6 @@ public final class IncompatibleSourceAndTargetBand extends BaseGeneratedEMFQuery
544 PVariable var_Link = body.getOrCreateVariableByName("Link"); 540 PVariable var_Link = body.getOrCreateVariableByName("Link");
545 PVariable var_SourceSubsystem = body.getOrCreateVariableByName("SourceSubsystem"); 541 PVariable var_SourceSubsystem = body.getOrCreateVariableByName("SourceSubsystem");
546 PVariable var_TargetSubsystem = body.getOrCreateVariableByName("TargetSubsystem"); 542 PVariable var_TargetSubsystem = body.getOrCreateVariableByName("TargetSubsystem");
547 PVariable var_Band = body.getOrCreateVariableByName("Band");
548 new TypeConstraint(body, Tuples.flatTupleOf(var_Link), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink"))); 543 new TypeConstraint(body, Tuples.flatTupleOf(var_Link), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink")));
549 body.setSymbolicParameters(Arrays.<ExportedParameter>asList( 544 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
550 new ExportedParameter(body, var_Link, parameter_Link) 545 new ExportedParameter(body, var_Link, parameter_Link)
@@ -561,14 +556,8 @@ public final class IncompatibleSourceAndTargetBand extends BaseGeneratedEMFQuery
561 new TypeConstraint(body, Tuples.flatTupleOf(var_Link, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "DirectedCommunicationLink", "target"))); 556 new TypeConstraint(body, Tuples.flatTupleOf(var_Link, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "DirectedCommunicationLink", "target")));
562 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); 557 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
563 new Equality(body, var__virtual_1_, var_TargetSubsystem); 558 new Equality(body, var__virtual_1_, var_TargetSubsystem);
564 // CommSubsystem.band(SourceSubsystem, Band) 559 // neg find matchingCommSubsystem(SourceSubsystem, TargetSubsystem)
565 new TypeConstraint(body, Tuples.flatTupleOf(var_SourceSubsystem), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); 560 new NegativePatternCall(body, Tuples.flatTupleOf(var_SourceSubsystem, var_TargetSubsystem), MatchingCommSubsystem.instance().getInternalQueryRepresentation());
566 PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}");
567 new TypeConstraint(body, Tuples.flatTupleOf(var_SourceSubsystem, var__virtual_2_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "band")));
568 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_2_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "TransceiverBand")));
569 new Equality(body, var__virtual_2_, var_Band);
570 // neg find commSubsystemBand(TargetSubsystem, Band)
571 new NegativePatternCall(body, Tuples.flatTupleOf(var_TargetSubsystem, var_Band), CommSubsystemBand.instance().getInternalQueryRepresentation());
572 bodies.add(body); 561 bodies.add(body);
573 } 562 }
574 { 563 {
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 @@
1/**
2 * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGain;
7import java.util.Arrays;
8import java.util.Collection;
9import java.util.LinkedHashSet;
10import java.util.List;
11import java.util.Objects;
12import java.util.Optional;
13import java.util.Set;
14import java.util.function.Consumer;
15import java.util.stream.Collectors;
16import java.util.stream.Stream;
17import org.apache.log4j.Logger;
18import org.eclipse.emf.ecore.EClass;
19import org.eclipse.emf.ecore.EDataType;
20import org.eclipse.viatra.query.runtime.api.IPatternMatch;
21import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
22import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
23import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
24import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification;
25import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher;
26import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch;
27import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
28import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey;
29import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey;
30import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
31import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
32import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
33import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation;
34import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference;
35import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
36import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
37import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall;
38import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
39import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
40import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
41import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
42import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
43import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
44import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
45import satellite.DirectedCommunicationLink;
46
47/**
48 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
49 *
50 * <p>Original source:
51 * <code><pre>
52 * {@literal @}Constraint(severity = "error", key = {Link},
53 * message = "Two ends of a communication link must use the same antenna gain.")
54 * pattern incompatibleSourceAndTargetGain(Link : DirectedCommunicationLink) {
55 * DirectedCommunicationLink.source(Link, SourceSubsystem);
56 * DirectedCommunicationLink.target(Link, TargetSubsystem);
57 * CommSubsystem.gain(SourceSubsystem, Gain);
58 * neg find commSubsystemGain(TargetSubsystem, Gain);
59 * }
60 * </pre></code>
61 *
62 * @see Matcher
63 * @see Match
64 *
65 */
66@SuppressWarnings("all")
67public final class IncompatibleSourceAndTargetGain extends BaseGeneratedEMFQuerySpecification<IncompatibleSourceAndTargetGain.Matcher> {
68 /**
69 * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetGain pattern,
70 * to be used in conjunction with {@link Matcher}.
71 *
72 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned.
73 * Each instance is a (possibly partial) substitution of pattern parameters,
74 * usable to represent a match of the pattern in the result of a query,
75 * or to specify the bound (fixed) input parameters when issuing a query.
76 *
77 * @see Matcher
78 *
79 */
80 public static abstract class Match extends BasePatternMatch {
81 private DirectedCommunicationLink fLink;
82
83 private static List<String> parameterNames = makeImmutableList("Link");
84
85 private Match(final DirectedCommunicationLink pLink) {
86 this.fLink = pLink;
87 }
88
89 @Override
90 public Object get(final String parameterName) {
91 if ("Link".equals(parameterName)) return this.fLink;
92 return null;
93 }
94
95 public DirectedCommunicationLink getLink() {
96 return this.fLink;
97 }
98
99 @Override
100 public boolean set(final String parameterName, final Object newValue) {
101 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
102 if ("Link".equals(parameterName) ) {
103 this.fLink = (DirectedCommunicationLink) newValue;
104 return true;
105 }
106 return false;
107 }
108
109 public void setLink(final DirectedCommunicationLink pLink) {
110 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
111 this.fLink = pLink;
112 }
113
114 @Override
115 public String patternName() {
116 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetGain";
117 }
118
119 @Override
120 public List<String> parameterNames() {
121 return IncompatibleSourceAndTargetGain.Match.parameterNames;
122 }
123
124 @Override
125 public Object[] toArray() {
126 return new Object[]{fLink};
127 }
128
129 @Override
130 public IncompatibleSourceAndTargetGain.Match toImmutable() {
131 return isMutable() ? newMatch(fLink) : this;
132 }
133
134 @Override
135 public String prettyPrint() {
136 StringBuilder result = new StringBuilder();
137 result.append("\"Link\"=" + prettyPrintValue(fLink));
138 return result.toString();
139 }
140
141 @Override
142 public int hashCode() {
143 return Objects.hash(fLink);
144 }
145
146 @Override
147 public boolean equals(final Object obj) {
148 if (this == obj)
149 return true;
150 if (obj == null) {
151 return false;
152 }
153 if ((obj instanceof IncompatibleSourceAndTargetGain.Match)) {
154 IncompatibleSourceAndTargetGain.Match other = (IncompatibleSourceAndTargetGain.Match) obj;
155 return Objects.equals(fLink, other.fLink);
156 } else {
157 // this should be infrequent
158 if (!(obj instanceof IPatternMatch)) {
159 return false;
160 }
161 IPatternMatch otherSig = (IPatternMatch) obj;
162 return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray());
163 }
164 }
165
166 @Override
167 public IncompatibleSourceAndTargetGain specification() {
168 return IncompatibleSourceAndTargetGain.instance();
169 }
170
171 /**
172 * Returns an empty, mutable match.
173 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
174 *
175 * @return the empty match.
176 *
177 */
178 public static IncompatibleSourceAndTargetGain.Match newEmptyMatch() {
179 return new Mutable(null);
180 }
181
182 /**
183 * Returns a mutable (partial) match.
184 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
185 *
186 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
187 * @return the new, mutable (partial) match object.
188 *
189 */
190 public static IncompatibleSourceAndTargetGain.Match newMutableMatch(final DirectedCommunicationLink pLink) {
191 return new Mutable(pLink);
192 }
193
194 /**
195 * Returns a new (partial) match.
196 * This can be used e.g. to call the matcher with a partial match.
197 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
198 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
199 * @return the (partial) match object.
200 *
201 */
202 public static IncompatibleSourceAndTargetGain.Match newMatch(final DirectedCommunicationLink pLink) {
203 return new Immutable(pLink);
204 }
205
206 private static final class Mutable extends IncompatibleSourceAndTargetGain.Match {
207 Mutable(final DirectedCommunicationLink pLink) {
208 super(pLink);
209 }
210
211 @Override
212 public boolean isMutable() {
213 return true;
214 }
215 }
216
217 private static final class Immutable extends IncompatibleSourceAndTargetGain.Match {
218 Immutable(final DirectedCommunicationLink pLink) {
219 super(pLink);
220 }
221
222 @Override
223 public boolean isMutable() {
224 return false;
225 }
226 }
227 }
228
229 /**
230 * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetGain pattern,
231 * providing pattern-specific query methods.
232 *
233 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)},
234 * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}.
235 *
236 * <p>Matches of the pattern will be represented as {@link Match}.
237 *
238 * <p>Original source:
239 * <code><pre>
240 * {@literal @}Constraint(severity = "error", key = {Link},
241 * message = "Two ends of a communication link must use the same antenna gain.")
242 * pattern incompatibleSourceAndTargetGain(Link : DirectedCommunicationLink) {
243 * DirectedCommunicationLink.source(Link, SourceSubsystem);
244 * DirectedCommunicationLink.target(Link, TargetSubsystem);
245 * CommSubsystem.gain(SourceSubsystem, Gain);
246 * neg find commSubsystemGain(TargetSubsystem, Gain);
247 * }
248 * </pre></code>
249 *
250 * @see Match
251 * @see IncompatibleSourceAndTargetGain
252 *
253 */
254 public static class Matcher extends BaseMatcher<IncompatibleSourceAndTargetGain.Match> {
255 /**
256 * Initializes the pattern matcher within an existing VIATRA Query engine.
257 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
258 *
259 * @param engine the existing VIATRA Query engine in which this matcher will be created.
260 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
261 *
262 */
263 public static IncompatibleSourceAndTargetGain.Matcher on(final ViatraQueryEngine engine) {
264 // check if matcher already exists
265 Matcher matcher = engine.getExistingMatcher(querySpecification());
266 if (matcher == null) {
267 matcher = (Matcher)engine.getMatcher(querySpecification());
268 }
269 return matcher;
270 }
271
272 /**
273 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
274 * @return an initialized matcher
275 * @noreference This method is for internal matcher initialization by the framework, do not call it manually.
276 *
277 */
278 public static IncompatibleSourceAndTargetGain.Matcher create() {
279 return new Matcher();
280 }
281
282 private static final int POSITION_LINK = 0;
283
284 private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(IncompatibleSourceAndTargetGain.Matcher.class);
285
286 /**
287 * Initializes the pattern matcher within an existing VIATRA Query engine.
288 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
289 *
290 * @param engine the existing VIATRA Query engine in which this matcher will be created.
291 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
292 *
293 */
294 private Matcher() {
295 super(querySpecification());
296 }
297
298 /**
299 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
300 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
301 * @return matches represented as a Match object.
302 *
303 */
304 public Collection<IncompatibleSourceAndTargetGain.Match> getAllMatches(final DirectedCommunicationLink pLink) {
305 return rawStreamAllMatches(new Object[]{pLink}).collect(Collectors.toSet());
306 }
307
308 /**
309 * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters.
310 * </p>
311 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
312 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
313 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
314 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
315 * @return a stream of matches represented as a Match object.
316 *
317 */
318 public Stream<IncompatibleSourceAndTargetGain.Match> streamAllMatches(final DirectedCommunicationLink pLink) {
319 return rawStreamAllMatches(new Object[]{pLink});
320 }
321
322 /**
323 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
324 * Neither determinism nor randomness of selection is guaranteed.
325 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
326 * @return a match represented as a Match object, or null if no match is found.
327 *
328 */
329 public Optional<IncompatibleSourceAndTargetGain.Match> getOneArbitraryMatch(final DirectedCommunicationLink pLink) {
330 return rawGetOneArbitraryMatch(new Object[]{pLink});
331 }
332
333 /**
334 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
335 * under any possible substitution of the unspecified parameters (if any).
336 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
337 * @return true if the input is a valid (partial) match of the pattern.
338 *
339 */
340 public boolean hasMatch(final DirectedCommunicationLink pLink) {
341 return rawHasMatch(new Object[]{pLink});
342 }
343
344 /**
345 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
346 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
347 * @return the number of pattern matches found.
348 *
349 */
350 public int countMatches(final DirectedCommunicationLink pLink) {
351 return rawCountMatches(new Object[]{pLink});
352 }
353
354 /**
355 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
356 * Neither determinism nor randomness of selection is guaranteed.
357 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
358 * @param processor the action that will process the selected match.
359 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
360 *
361 */
362 public boolean forOneArbitraryMatch(final DirectedCommunicationLink pLink, final Consumer<? super IncompatibleSourceAndTargetGain.Match> processor) {
363 return rawForOneArbitraryMatch(new Object[]{pLink}, processor);
364 }
365
366 /**
367 * Returns a new (partial) match.
368 * This can be used e.g. to call the matcher with a partial match.
369 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
370 * @param pLink the fixed value of pattern parameter Link, or null if not bound.
371 * @return the (partial) match object.
372 *
373 */
374 public IncompatibleSourceAndTargetGain.Match newMatch(final DirectedCommunicationLink pLink) {
375 return IncompatibleSourceAndTargetGain.Match.newMatch(pLink);
376 }
377
378 /**
379 * Retrieve the set of values that occur in matches for Link.
380 * @return the Set of all values or empty set if there are no matches
381 *
382 */
383 protected Stream<DirectedCommunicationLink> rawStreamAllValuesOfLink(final Object[] parameters) {
384 return rawStreamAllValues(POSITION_LINK, parameters).map(DirectedCommunicationLink.class::cast);
385 }
386
387 /**
388 * Retrieve the set of values that occur in matches for Link.
389 * @return the Set of all values or empty set if there are no matches
390 *
391 */
392 public Set<DirectedCommunicationLink> getAllValuesOfLink() {
393 return rawStreamAllValuesOfLink(emptyArray()).collect(Collectors.toSet());
394 }
395
396 /**
397 * Retrieve the set of values that occur in matches for Link.
398 * @return the Set of all values or empty set if there are no matches
399 *
400 */
401 public Stream<DirectedCommunicationLink> streamAllValuesOfLink() {
402 return rawStreamAllValuesOfLink(emptyArray());
403 }
404
405 @Override
406 protected IncompatibleSourceAndTargetGain.Match tupleToMatch(final Tuple t) {
407 try {
408 return IncompatibleSourceAndTargetGain.Match.newMatch((DirectedCommunicationLink) t.get(POSITION_LINK));
409 } catch(ClassCastException e) {
410 LOGGER.error("Element(s) in tuple not properly typed!",e);
411 return null;
412 }
413 }
414
415 @Override
416 protected IncompatibleSourceAndTargetGain.Match arrayToMatch(final Object[] match) {
417 try {
418 return IncompatibleSourceAndTargetGain.Match.newMatch((DirectedCommunicationLink) match[POSITION_LINK]);
419 } catch(ClassCastException e) {
420 LOGGER.error("Element(s) in array not properly typed!",e);
421 return null;
422 }
423 }
424
425 @Override
426 protected IncompatibleSourceAndTargetGain.Match arrayToMatchMutable(final Object[] match) {
427 try {
428 return IncompatibleSourceAndTargetGain.Match.newMutableMatch((DirectedCommunicationLink) match[POSITION_LINK]);
429 } catch(ClassCastException e) {
430 LOGGER.error("Element(s) in array not properly typed!",e);
431 return null;
432 }
433 }
434
435 /**
436 * @return the singleton instance of the query specification of this pattern
437 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
438 *
439 */
440 public static IQuerySpecification<IncompatibleSourceAndTargetGain.Matcher> querySpecification() {
441 return IncompatibleSourceAndTargetGain.instance();
442 }
443 }
444
445 private IncompatibleSourceAndTargetGain() {
446 super(GeneratedPQuery.INSTANCE);
447 }
448
449 /**
450 * @return the singleton instance of the query specification
451 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
452 *
453 */
454 public static IncompatibleSourceAndTargetGain instance() {
455 try{
456 return LazyHolder.INSTANCE;
457 } catch (ExceptionInInitializerError err) {
458 throw processInitializerError(err);
459 }
460 }
461
462 @Override
463 protected IncompatibleSourceAndTargetGain.Matcher instantiate(final ViatraQueryEngine engine) {
464 return IncompatibleSourceAndTargetGain.Matcher.on(engine);
465 }
466
467 @Override
468 public IncompatibleSourceAndTargetGain.Matcher instantiate() {
469 return IncompatibleSourceAndTargetGain.Matcher.create();
470 }
471
472 @Override
473 public IncompatibleSourceAndTargetGain.Match newEmptyMatch() {
474 return IncompatibleSourceAndTargetGain.Match.newEmptyMatch();
475 }
476
477 @Override
478 public IncompatibleSourceAndTargetGain.Match newMatch(final Object... parameters) {
479 return IncompatibleSourceAndTargetGain.Match.newMatch((satellite.DirectedCommunicationLink) parameters[0]);
480 }
481
482 /**
483 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created
484 * <b>not</b> at the class load time of the outer class,
485 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
486 *
487 * <p> This workaround is required e.g. to support recursion.
488 *
489 */
490 private static class LazyHolder {
491 private static final IncompatibleSourceAndTargetGain INSTANCE = new IncompatibleSourceAndTargetGain();
492
493 /**
494 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
495 * This initialization order is required to support indirect recursion.
496 *
497 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
498 *
499 */
500 private static final Object STATIC_INITIALIZER = ensureInitialized();
501
502 public static Object ensureInitialized() {
503 INSTANCE.ensureInitializedInternal();
504 return null;
505 }
506 }
507
508 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
509 private static final IncompatibleSourceAndTargetGain.GeneratedPQuery INSTANCE = new GeneratedPQuery();
510
511 private final PParameter parameter_Link = new PParameter("Link", "satellite.DirectedCommunicationLink", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "DirectedCommunicationLink")), PParameterDirection.INOUT);
512
513 private final List<PParameter> parameters = Arrays.asList(parameter_Link);
514
515 private GeneratedPQuery() {
516 super(PVisibility.PUBLIC);
517 }
518
519 @Override
520 public String getFullyQualifiedName() {
521 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetGain";
522 }
523
524 @Override
525 public List<String> getParameterNames() {
526 return Arrays.asList("Link");
527 }
528
529 @Override
530 public List<PParameter> getParameters() {
531 return parameters;
532 }
533
534 @Override
535 public Set<PBody> doGetContainedBodies() {
536 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
537 Set<PBody> bodies = new LinkedHashSet<>();
538 {
539 PBody body = new PBody(this);
540 PVariable var_Link = body.getOrCreateVariableByName("Link");
541 PVariable var_SourceSubsystem = body.getOrCreateVariableByName("SourceSubsystem");
542 PVariable var_TargetSubsystem = body.getOrCreateVariableByName("TargetSubsystem");
543 PVariable var_Gain = body.getOrCreateVariableByName("Gain");
544 new TypeConstraint(body, Tuples.flatTupleOf(var_Link), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink")));
545 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
546 new ExportedParameter(body, var_Link, parameter_Link)
547 ));
548 // DirectedCommunicationLink.source(Link, SourceSubsystem)
549 new TypeConstraint(body, Tuples.flatTupleOf(var_Link), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink")));
550 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
551 new TypeConstraint(body, Tuples.flatTupleOf(var_Link, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "DirectedCommunicationLink", "source")));
552 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
553 new Equality(body, var__virtual_0_, var_SourceSubsystem);
554 // DirectedCommunicationLink.target(Link, TargetSubsystem)
555 new TypeConstraint(body, Tuples.flatTupleOf(var_Link), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink")));
556 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
557 new TypeConstraint(body, Tuples.flatTupleOf(var_Link, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "DirectedCommunicationLink", "target")));
558 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
559 new Equality(body, var__virtual_1_, var_TargetSubsystem);
560 // CommSubsystem.gain(SourceSubsystem, Gain)
561 new TypeConstraint(body, Tuples.flatTupleOf(var_SourceSubsystem), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
562 PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}");
563 new TypeConstraint(body, Tuples.flatTupleOf(var_SourceSubsystem, var__virtual_2_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "gain")));
564 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_2_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "AntennaGain")));
565 new Equality(body, var__virtual_2_, var_Gain);
566 // neg find commSubsystemGain(TargetSubsystem, Gain)
567 new NegativePatternCall(body, Tuples.flatTupleOf(var_TargetSubsystem, var_Gain), CommSubsystemGain.instance().getInternalQueryRepresentation());
568 bodies.add(body);
569 }
570 {
571 PAnnotation annotation = new PAnnotation("Constraint");
572 annotation.addAttribute("severity", "error");
573 annotation.addAttribute("key", Arrays.asList(new Object[] {
574 new ParameterReference("Link")
575 }));
576 annotation.addAttribute("message", "Two ends of a communication link must use the same antenna gain.");
577 addAnnotation(annotation);
578 }
579 return bodies;
580 }
581 }
582}
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 @@
1/**
2 * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5
6import java.util.Arrays;
7import java.util.Collection;
8import java.util.LinkedHashSet;
9import java.util.List;
10import java.util.Objects;
11import java.util.Optional;
12import java.util.Set;
13import java.util.function.Consumer;
14import java.util.stream.Collectors;
15import java.util.stream.Stream;
16import org.apache.log4j.Logger;
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.emf.ecore.EDataType;
19import org.eclipse.viatra.query.runtime.api.IPatternMatch;
20import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
21import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
22import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
23import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification;
24import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher;
25import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch;
26import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
27import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey;
28import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey;
29import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
30import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
31import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
32import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation;
33import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference;
34import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
35import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
36import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue;
37import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
38import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
39import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
40import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
41import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
42import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
43import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
44import satellite.CommSubsystem;
45
46/**
47 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
48 *
49 * <p>Original source:
50 * <code><pre>
51 * // Ka-band transmitters may only be combined with a medium or high gain antenna
52 *
53 * {@literal @}Constraint(severity = "error", key = {Comm},
54 * message = "Ka-band transceiver must be combined with a medium or high gain antenna.")
55 * pattern kaAntennaGainLow(Comm : CommSubsystem) {
56 * CommSubsystem.band(Comm, TransceiverBand::Ka);
57 * CommSubsystem.gain(Comm, AntennaGain::LOW);
58 * }
59 * </pre></code>
60 *
61 * @see Matcher
62 * @see Match
63 *
64 */
65@SuppressWarnings("all")
66public final class KaAntennaGainLow extends BaseGeneratedEMFQuerySpecification<KaAntennaGainLow.Matcher> {
67 /**
68 * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.kaAntennaGainLow pattern,
69 * to be used in conjunction with {@link Matcher}.
70 *
71 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned.
72 * Each instance is a (possibly partial) substitution of pattern parameters,
73 * usable to represent a match of the pattern in the result of a query,
74 * or to specify the bound (fixed) input parameters when issuing a query.
75 *
76 * @see Matcher
77 *
78 */
79 public static abstract class Match extends BasePatternMatch {
80 private CommSubsystem fComm;
81
82 private static List<String> parameterNames = makeImmutableList("Comm");
83
84 private Match(final CommSubsystem pComm) {
85 this.fComm = pComm;
86 }
87
88 @Override
89 public Object get(final String parameterName) {
90 if ("Comm".equals(parameterName)) return this.fComm;
91 return null;
92 }
93
94 public CommSubsystem getComm() {
95 return this.fComm;
96 }
97
98 @Override
99 public boolean set(final String parameterName, final Object newValue) {
100 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
101 if ("Comm".equals(parameterName) ) {
102 this.fComm = (CommSubsystem) newValue;
103 return true;
104 }
105 return false;
106 }
107
108 public void setComm(final CommSubsystem pComm) {
109 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
110 this.fComm = pComm;
111 }
112
113 @Override
114 public String patternName() {
115 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.kaAntennaGainLow";
116 }
117
118 @Override
119 public List<String> parameterNames() {
120 return KaAntennaGainLow.Match.parameterNames;
121 }
122
123 @Override
124 public Object[] toArray() {
125 return new Object[]{fComm};
126 }
127
128 @Override
129 public KaAntennaGainLow.Match toImmutable() {
130 return isMutable() ? newMatch(fComm) : this;
131 }
132
133 @Override
134 public String prettyPrint() {
135 StringBuilder result = new StringBuilder();
136 result.append("\"Comm\"=" + prettyPrintValue(fComm));
137 return result.toString();
138 }
139
140 @Override
141 public int hashCode() {
142 return Objects.hash(fComm);
143 }
144
145 @Override
146 public boolean equals(final Object obj) {
147 if (this == obj)
148 return true;
149 if (obj == null) {
150 return false;
151 }
152 if ((obj instanceof KaAntennaGainLow.Match)) {
153 KaAntennaGainLow.Match other = (KaAntennaGainLow.Match) obj;
154 return Objects.equals(fComm, other.fComm);
155 } else {
156 // this should be infrequent
157 if (!(obj instanceof IPatternMatch)) {
158 return false;
159 }
160 IPatternMatch otherSig = (IPatternMatch) obj;
161 return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray());
162 }
163 }
164
165 @Override
166 public KaAntennaGainLow specification() {
167 return KaAntennaGainLow.instance();
168 }
169
170 /**
171 * Returns an empty, mutable match.
172 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
173 *
174 * @return the empty match.
175 *
176 */
177 public static KaAntennaGainLow.Match newEmptyMatch() {
178 return new Mutable(null);
179 }
180
181 /**
182 * Returns a mutable (partial) match.
183 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
184 *
185 * @param pComm the fixed value of pattern parameter Comm, or null if not bound.
186 * @return the new, mutable (partial) match object.
187 *
188 */
189 public static KaAntennaGainLow.Match newMutableMatch(final CommSubsystem pComm) {
190 return new Mutable(pComm);
191 }
192
193 /**
194 * Returns a new (partial) match.
195 * This can be used e.g. to call the matcher with a partial match.
196 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
197 * @param pComm the fixed value of pattern parameter Comm, or null if not bound.
198 * @return the (partial) match object.
199 *
200 */
201 public static KaAntennaGainLow.Match newMatch(final CommSubsystem pComm) {
202 return new Immutable(pComm);
203 }
204
205 private static final class Mutable extends KaAntennaGainLow.Match {
206 Mutable(final CommSubsystem pComm) {
207 super(pComm);
208 }
209
210 @Override
211 public boolean isMutable() {
212 return true;
213 }
214 }
215
216 private static final class Immutable extends KaAntennaGainLow.Match {
217 Immutable(final CommSubsystem pComm) {
218 super(pComm);
219 }
220
221 @Override
222 public boolean isMutable() {
223 return false;
224 }
225 }
226 }
227
228 /**
229 * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.kaAntennaGainLow pattern,
230 * providing pattern-specific query methods.
231 *
232 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)},
233 * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}.
234 *
235 * <p>Matches of the pattern will be represented as {@link Match}.
236 *
237 * <p>Original source:
238 * <code><pre>
239 * // Ka-band transmitters may only be combined with a medium or high gain antenna
240 *
241 * {@literal @}Constraint(severity = "error", key = {Comm},
242 * message = "Ka-band transceiver must be combined with a medium or high gain antenna.")
243 * pattern kaAntennaGainLow(Comm : CommSubsystem) {
244 * CommSubsystem.band(Comm, TransceiverBand::Ka);
245 * CommSubsystem.gain(Comm, AntennaGain::LOW);
246 * }
247 * </pre></code>
248 *
249 * @see Match
250 * @see KaAntennaGainLow
251 *
252 */
253 public static class Matcher extends BaseMatcher<KaAntennaGainLow.Match> {
254 /**
255 * Initializes the pattern matcher within an existing VIATRA Query engine.
256 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
257 *
258 * @param engine the existing VIATRA Query engine in which this matcher will be created.
259 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
260 *
261 */
262 public static KaAntennaGainLow.Matcher on(final ViatraQueryEngine engine) {
263 // check if matcher already exists
264 Matcher matcher = engine.getExistingMatcher(querySpecification());
265 if (matcher == null) {
266 matcher = (Matcher)engine.getMatcher(querySpecification());
267 }
268 return matcher;
269 }
270
271 /**
272 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
273 * @return an initialized matcher
274 * @noreference This method is for internal matcher initialization by the framework, do not call it manually.
275 *
276 */
277 public static KaAntennaGainLow.Matcher create() {
278 return new Matcher();
279 }
280
281 private static final int POSITION_COMM = 0;
282
283 private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(KaAntennaGainLow.Matcher.class);
284
285 /**
286 * Initializes the pattern matcher within an existing VIATRA Query engine.
287 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
288 *
289 * @param engine the existing VIATRA Query engine in which this matcher will be created.
290 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
291 *
292 */
293 private Matcher() {
294 super(querySpecification());
295 }
296
297 /**
298 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
299 * @param pComm the fixed value of pattern parameter Comm, or null if not bound.
300 * @return matches represented as a Match object.
301 *
302 */
303 public Collection<KaAntennaGainLow.Match> getAllMatches(final CommSubsystem pComm) {
304 return rawStreamAllMatches(new Object[]{pComm}).collect(Collectors.toSet());
305 }
306
307 /**
308 * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters.
309 * </p>
310 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
311 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
312 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
313 * @param pComm the fixed value of pattern parameter Comm, or null if not bound.
314 * @return a stream of matches represented as a Match object.
315 *
316 */
317 public Stream<KaAntennaGainLow.Match> streamAllMatches(final CommSubsystem pComm) {
318 return rawStreamAllMatches(new Object[]{pComm});
319 }
320
321 /**
322 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
323 * Neither determinism nor randomness of selection is guaranteed.
324 * @param pComm the fixed value of pattern parameter Comm, or null if not bound.
325 * @return a match represented as a Match object, or null if no match is found.
326 *
327 */
328 public Optional<KaAntennaGainLow.Match> getOneArbitraryMatch(final CommSubsystem pComm) {
329 return rawGetOneArbitraryMatch(new Object[]{pComm});
330 }
331
332 /**
333 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
334 * under any possible substitution of the unspecified parameters (if any).
335 * @param pComm the fixed value of pattern parameter Comm, or null if not bound.
336 * @return true if the input is a valid (partial) match of the pattern.
337 *
338 */
339 public boolean hasMatch(final CommSubsystem pComm) {
340 return rawHasMatch(new Object[]{pComm});
341 }
342
343 /**
344 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
345 * @param pComm the fixed value of pattern parameter Comm, or null if not bound.
346 * @return the number of pattern matches found.
347 *
348 */
349 public int countMatches(final CommSubsystem pComm) {
350 return rawCountMatches(new Object[]{pComm});
351 }
352
353 /**
354 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
355 * Neither determinism nor randomness of selection is guaranteed.
356 * @param pComm the fixed value of pattern parameter Comm, or null if not bound.
357 * @param processor the action that will process the selected match.
358 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
359 *
360 */
361 public boolean forOneArbitraryMatch(final CommSubsystem pComm, final Consumer<? super KaAntennaGainLow.Match> processor) {
362 return rawForOneArbitraryMatch(new Object[]{pComm}, processor);
363 }
364
365 /**
366 * Returns a new (partial) match.
367 * This can be used e.g. to call the matcher with a partial match.
368 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
369 * @param pComm the fixed value of pattern parameter Comm, or null if not bound.
370 * @return the (partial) match object.
371 *
372 */
373 public KaAntennaGainLow.Match newMatch(final CommSubsystem pComm) {
374 return KaAntennaGainLow.Match.newMatch(pComm);
375 }
376
377 /**
378 * Retrieve the set of values that occur in matches for Comm.
379 * @return the Set of all values or empty set if there are no matches
380 *
381 */
382 protected Stream<CommSubsystem> rawStreamAllValuesOfComm(final Object[] parameters) {
383 return rawStreamAllValues(POSITION_COMM, parameters).map(CommSubsystem.class::cast);
384 }
385
386 /**
387 * Retrieve the set of values that occur in matches for Comm.
388 * @return the Set of all values or empty set if there are no matches
389 *
390 */
391 public Set<CommSubsystem> getAllValuesOfComm() {
392 return rawStreamAllValuesOfComm(emptyArray()).collect(Collectors.toSet());
393 }
394
395 /**
396 * Retrieve the set of values that occur in matches for Comm.
397 * @return the Set of all values or empty set if there are no matches
398 *
399 */
400 public Stream<CommSubsystem> streamAllValuesOfComm() {
401 return rawStreamAllValuesOfComm(emptyArray());
402 }
403
404 @Override
405 protected KaAntennaGainLow.Match tupleToMatch(final Tuple t) {
406 try {
407 return KaAntennaGainLow.Match.newMatch((CommSubsystem) t.get(POSITION_COMM));
408 } catch(ClassCastException e) {
409 LOGGER.error("Element(s) in tuple not properly typed!",e);
410 return null;
411 }
412 }
413
414 @Override
415 protected KaAntennaGainLow.Match arrayToMatch(final Object[] match) {
416 try {
417 return KaAntennaGainLow.Match.newMatch((CommSubsystem) match[POSITION_COMM]);
418 } catch(ClassCastException e) {
419 LOGGER.error("Element(s) in array not properly typed!",e);
420 return null;
421 }
422 }
423
424 @Override
425 protected KaAntennaGainLow.Match arrayToMatchMutable(final Object[] match) {
426 try {
427 return KaAntennaGainLow.Match.newMutableMatch((CommSubsystem) match[POSITION_COMM]);
428 } catch(ClassCastException e) {
429 LOGGER.error("Element(s) in array not properly typed!",e);
430 return null;
431 }
432 }
433
434 /**
435 * @return the singleton instance of the query specification of this pattern
436 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
437 *
438 */
439 public static IQuerySpecification<KaAntennaGainLow.Matcher> querySpecification() {
440 return KaAntennaGainLow.instance();
441 }
442 }
443
444 private KaAntennaGainLow() {
445 super(GeneratedPQuery.INSTANCE);
446 }
447
448 /**
449 * @return the singleton instance of the query specification
450 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
451 *
452 */
453 public static KaAntennaGainLow instance() {
454 try{
455 return LazyHolder.INSTANCE;
456 } catch (ExceptionInInitializerError err) {
457 throw processInitializerError(err);
458 }
459 }
460
461 @Override
462 protected KaAntennaGainLow.Matcher instantiate(final ViatraQueryEngine engine) {
463 return KaAntennaGainLow.Matcher.on(engine);
464 }
465
466 @Override
467 public KaAntennaGainLow.Matcher instantiate() {
468 return KaAntennaGainLow.Matcher.create();
469 }
470
471 @Override
472 public KaAntennaGainLow.Match newEmptyMatch() {
473 return KaAntennaGainLow.Match.newEmptyMatch();
474 }
475
476 @Override
477 public KaAntennaGainLow.Match newMatch(final Object... parameters) {
478 return KaAntennaGainLow.Match.newMatch((satellite.CommSubsystem) parameters[0]);
479 }
480
481 /**
482 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created
483 * <b>not</b> at the class load time of the outer class,
484 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
485 *
486 * <p> This workaround is required e.g. to support recursion.
487 *
488 */
489 private static class LazyHolder {
490 private static final KaAntennaGainLow INSTANCE = new KaAntennaGainLow();
491
492 /**
493 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
494 * This initialization order is required to support indirect recursion.
495 *
496 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
497 *
498 */
499 private static final Object STATIC_INITIALIZER = ensureInitialized();
500
501 public static Object ensureInitialized() {
502 INSTANCE.ensureInitializedInternal();
503 return null;
504 }
505 }
506
507 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
508 private static final KaAntennaGainLow.GeneratedPQuery INSTANCE = new GeneratedPQuery();
509
510 private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT);
511
512 private final List<PParameter> parameters = Arrays.asList(parameter_Comm);
513
514 private GeneratedPQuery() {
515 super(PVisibility.PUBLIC);
516 }
517
518 @Override
519 public String getFullyQualifiedName() {
520 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.kaAntennaGainLow";
521 }
522
523 @Override
524 public List<String> getParameterNames() {
525 return Arrays.asList("Comm");
526 }
527
528 @Override
529 public List<PParameter> getParameters() {
530 return parameters;
531 }
532
533 @Override
534 public Set<PBody> doGetContainedBodies() {
535 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
536 Set<PBody> bodies = new LinkedHashSet<>();
537 {
538 PBody body = new PBody(this);
539 PVariable var_Comm = body.getOrCreateVariableByName("Comm");
540 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
541 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
542 new ExportedParameter(body, var_Comm, parameter_Comm)
543 ));
544 // CommSubsystem.band(Comm, TransceiverBand::Ka)
545 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
546 new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "TransceiverBand", "Ka").getInstance());
547 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
548 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
549 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "band")));
550 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "TransceiverBand")));
551 new Equality(body, var__virtual_1_, var__virtual_0_);
552 // CommSubsystem.gain(Comm, AntennaGain::LOW)
553 PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}");
554 new ConstantValue(body, var__virtual_2_, getEnumLiteral("http://www.example.org/satellite", "AntennaGain", "LOW").getInstance());
555 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
556 PVariable var__virtual_3_ = body.getOrCreateVariableByName(".virtual{3}");
557 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm, var__virtual_3_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "gain")));
558 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_3_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "AntennaGain")));
559 new Equality(body, var__virtual_3_, var__virtual_2_);
560 bodies.add(body);
561 }
562 {
563 PAnnotation annotation = new PAnnotation("Constraint");
564 annotation.addAttribute("severity", "error");
565 annotation.addAttribute("key", Arrays.asList(new Object[] {
566 new ParameterReference("Comm")
567 }));
568 annotation.addAttribute("message", "Ka-band transceiver must be combined with a medium or high gain antenna.");
569 addAnnotation(annotation);
570 }
571 return bodies;
572 }
573 }
574}
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;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkDoesNotStartAtContainingElement; 6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkDoesNotStartAtContainingElement;
7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLoop; 7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLoop;
8import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CostMetric;
9import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CoverageMetric;
10import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CubeSatWithKaAntenna; 8import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CubeSatWithKaAntenna;
11import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetBand; 9import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetBand;
12import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetGain;
13import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.KaAntennaGainLow;
14import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoLinkToGroundStation; 10import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoLinkToGroundStation;
15import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoPotentialLinkToGroundStation; 11import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoPotentialLinkToGroundStation;
16import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NotEnoughInterferometryPayloads; 12import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NotEnoughInterferometryPayloads;
17import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SmallSat; 13import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SmallSat;
18import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SpacecraftOfKind;
19import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.ThreeUCubeSatWithNonUhfCrossLink; 14import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.ThreeUCubeSatWithNonUhfCrossLink;
20import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.TimeMetric;
21import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.UhfAntennaGainNotLow;
22import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.XAntennaGainNotMedium;
23import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; 15import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
24import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup; 16import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup;
25 17
@@ -37,17 +29,9 @@ import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup;
37 * <li>noPotentialLinkToGroundStation</li> 29 * <li>noPotentialLinkToGroundStation</li>
38 * <li>communicationLoop</li> 30 * <li>communicationLoop</li>
39 * <li>incompatibleSourceAndTargetBand</li> 31 * <li>incompatibleSourceAndTargetBand</li>
40 * <li>incompatibleSourceAndTargetGain</li>
41 * <li>uhfAntennaGainNotLow</li>
42 * <li>xAntennaGainNotMedium</li>
43 * <li>kaAntennaGainLow</li>
44 * <li>threeUCubeSatWithNonUhfCrossLink</li> 32 * <li>threeUCubeSatWithNonUhfCrossLink</li>
45 * <li>cubeSatWithKaAntenna</li> 33 * <li>cubeSatWithKaAntenna</li>
46 * <li>smallSat</li> 34 * <li>smallSat</li>
47 * <li>spacecraftOfKind</li>
48 * <li>coverageMetric</li>
49 * <li>timeMetric</li>
50 * <li>costMetric</li>
51 * </ul> 35 * </ul>
52 * 36 *
53 * @see IQueryGroup 37 * @see IQueryGroup
@@ -78,17 +62,9 @@ public final class SatelliteQueries extends BaseGeneratedPatternGroup {
78 querySpecifications.add(NoPotentialLinkToGroundStation.instance()); 62 querySpecifications.add(NoPotentialLinkToGroundStation.instance());
79 querySpecifications.add(CommunicationLoop.instance()); 63 querySpecifications.add(CommunicationLoop.instance());
80 querySpecifications.add(IncompatibleSourceAndTargetBand.instance()); 64 querySpecifications.add(IncompatibleSourceAndTargetBand.instance());
81 querySpecifications.add(IncompatibleSourceAndTargetGain.instance());
82 querySpecifications.add(UhfAntennaGainNotLow.instance());
83 querySpecifications.add(XAntennaGainNotMedium.instance());
84 querySpecifications.add(KaAntennaGainLow.instance());
85 querySpecifications.add(ThreeUCubeSatWithNonUhfCrossLink.instance()); 65 querySpecifications.add(ThreeUCubeSatWithNonUhfCrossLink.instance());
86 querySpecifications.add(CubeSatWithKaAntenna.instance()); 66 querySpecifications.add(CubeSatWithKaAntenna.instance());
87 querySpecifications.add(SmallSat.instance()); 67 querySpecifications.add(SmallSat.instance());
88 querySpecifications.add(SpacecraftOfKind.instance());
89 querySpecifications.add(CoverageMetric.instance());
90 querySpecifications.add(TimeMetric.instance());
91 querySpecifications.add(CostMetric.instance());
92 } 68 }
93 69
94 public CommunicationLinkDoesNotStartAtContainingElement getCommunicationLinkDoesNotStartAtContainingElement() { 70 public CommunicationLinkDoesNotStartAtContainingElement getCommunicationLinkDoesNotStartAtContainingElement() {
@@ -139,38 +115,6 @@ public final class SatelliteQueries extends BaseGeneratedPatternGroup {
139 return IncompatibleSourceAndTargetBand.Matcher.on(engine); 115 return IncompatibleSourceAndTargetBand.Matcher.on(engine);
140 } 116 }
141 117
142 public IncompatibleSourceAndTargetGain getIncompatibleSourceAndTargetGain() {
143 return IncompatibleSourceAndTargetGain.instance();
144 }
145
146 public IncompatibleSourceAndTargetGain.Matcher getIncompatibleSourceAndTargetGain(final ViatraQueryEngine engine) {
147 return IncompatibleSourceAndTargetGain.Matcher.on(engine);
148 }
149
150 public UhfAntennaGainNotLow getUhfAntennaGainNotLow() {
151 return UhfAntennaGainNotLow.instance();
152 }
153
154 public UhfAntennaGainNotLow.Matcher getUhfAntennaGainNotLow(final ViatraQueryEngine engine) {
155 return UhfAntennaGainNotLow.Matcher.on(engine);
156 }
157
158 public XAntennaGainNotMedium getXAntennaGainNotMedium() {
159 return XAntennaGainNotMedium.instance();
160 }
161
162 public XAntennaGainNotMedium.Matcher getXAntennaGainNotMedium(final ViatraQueryEngine engine) {
163 return XAntennaGainNotMedium.Matcher.on(engine);
164 }
165
166 public KaAntennaGainLow getKaAntennaGainLow() {
167 return KaAntennaGainLow.instance();
168 }
169
170 public KaAntennaGainLow.Matcher getKaAntennaGainLow(final ViatraQueryEngine engine) {
171 return KaAntennaGainLow.Matcher.on(engine);
172 }
173
174 public ThreeUCubeSatWithNonUhfCrossLink getThreeUCubeSatWithNonUhfCrossLink() { 118 public ThreeUCubeSatWithNonUhfCrossLink getThreeUCubeSatWithNonUhfCrossLink() {
175 return ThreeUCubeSatWithNonUhfCrossLink.instance(); 119 return ThreeUCubeSatWithNonUhfCrossLink.instance();
176 } 120 }
@@ -194,36 +138,4 @@ public final class SatelliteQueries extends BaseGeneratedPatternGroup {
194 public SmallSat.Matcher getSmallSat(final ViatraQueryEngine engine) { 138 public SmallSat.Matcher getSmallSat(final ViatraQueryEngine engine) {
195 return SmallSat.Matcher.on(engine); 139 return SmallSat.Matcher.on(engine);
196 } 140 }
197
198 public SpacecraftOfKind getSpacecraftOfKind() {
199 return SpacecraftOfKind.instance();
200 }
201
202 public SpacecraftOfKind.Matcher getSpacecraftOfKind(final ViatraQueryEngine engine) {
203 return SpacecraftOfKind.Matcher.on(engine);
204 }
205
206 public CoverageMetric getCoverageMetric() {
207 return CoverageMetric.instance();
208 }
209
210 public CoverageMetric.Matcher getCoverageMetric(final ViatraQueryEngine engine) {
211 return CoverageMetric.Matcher.on(engine);
212 }
213
214 public TimeMetric getTimeMetric() {
215 return TimeMetric.instance();
216 }
217
218 public TimeMetric.Matcher getTimeMetric(final ViatraQueryEngine engine) {
219 return TimeMetric.Matcher.on(engine);
220 }
221
222 public CostMetric getCostMetric() {
223 return CostMetric.instance();
224 }
225
226 public CostMetric.Matcher getCostMetric(final ViatraQueryEngine engine) {
227 return CostMetric.Matcher.on(engine);
228 }
229} 141}
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 @@
1/**
2 * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5
6import java.util.Arrays;
7import java.util.Collection;
8import java.util.LinkedHashSet;
9import java.util.List;
10import java.util.Objects;
11import java.util.Optional;
12import java.util.Set;
13import java.util.function.Consumer;
14import java.util.stream.Collectors;
15import java.util.stream.Stream;
16import org.apache.log4j.Logger;
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.emf.ecore.EDataType;
19import org.eclipse.viatra.query.runtime.api.IPatternMatch;
20import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
21import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
22import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
23import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification;
24import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher;
25import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch;
26import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
27import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey;
28import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
29import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
30import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
31import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation;
32import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
33import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
34import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue;
35import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
36import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
37import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
38import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
39import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
40import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
41import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
42import satellite.Spacecraft;
43import satellite.SpacecraftKind;
44
45/**
46 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
47 *
48 * <p>Original source:
49 * <code><pre>
50 * {@literal @}QueryBasedFeature(feature = "kind")
51 * pattern spacecraftOfKind(Spacecraft : Spacecraft, Kind : SpacecraftKind) {
52 * CubeSat3U(Spacecraft);
53 * Kind == SpacecraftKind::CubeSat3U;
54 * } or {
55 * CubeSat6U(Spacecraft);
56 * Kind == SpacecraftKind::CubeSat6U;
57 * } or {
58 * SmallSat(Spacecraft);
59 * Kind == SpacecraftKind::SmallSat;
60 * }
61 * </pre></code>
62 *
63 * @see Matcher
64 * @see Match
65 *
66 */
67@SuppressWarnings("all")
68public final class SpacecraftOfKind extends BaseGeneratedEMFQuerySpecification<SpacecraftOfKind.Matcher> {
69 /**
70 * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftOfKind pattern,
71 * to be used in conjunction with {@link Matcher}.
72 *
73 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned.
74 * Each instance is a (possibly partial) substitution of pattern parameters,
75 * usable to represent a match of the pattern in the result of a query,
76 * or to specify the bound (fixed) input parameters when issuing a query.
77 *
78 * @see Matcher
79 *
80 */
81 public static abstract class Match extends BasePatternMatch {
82 private Spacecraft fSpacecraft;
83
84 private SpacecraftKind fKind;
85
86 private static List<String> parameterNames = makeImmutableList("Spacecraft", "Kind");
87
88 private Match(final Spacecraft pSpacecraft, final SpacecraftKind pKind) {
89 this.fSpacecraft = pSpacecraft;
90 this.fKind = pKind;
91 }
92
93 @Override
94 public Object get(final String parameterName) {
95 if ("Spacecraft".equals(parameterName)) return this.fSpacecraft;
96 if ("Kind".equals(parameterName)) return this.fKind;
97 return null;
98 }
99
100 public Spacecraft getSpacecraft() {
101 return this.fSpacecraft;
102 }
103
104 public SpacecraftKind getKind() {
105 return this.fKind;
106 }
107
108 @Override
109 public boolean set(final String parameterName, final Object newValue) {
110 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
111 if ("Spacecraft".equals(parameterName) ) {
112 this.fSpacecraft = (Spacecraft) newValue;
113 return true;
114 }
115 if ("Kind".equals(parameterName) ) {
116 this.fKind = (SpacecraftKind) newValue;
117 return true;
118 }
119 return false;
120 }
121
122 public void setSpacecraft(final Spacecraft pSpacecraft) {
123 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
124 this.fSpacecraft = pSpacecraft;
125 }
126
127 public void setKind(final SpacecraftKind pKind) {
128 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
129 this.fKind = pKind;
130 }
131
132 @Override
133 public String patternName() {
134 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftOfKind";
135 }
136
137 @Override
138 public List<String> parameterNames() {
139 return SpacecraftOfKind.Match.parameterNames;
140 }
141
142 @Override
143 public Object[] toArray() {
144 return new Object[]{fSpacecraft, fKind};
145 }
146
147 @Override
148 public SpacecraftOfKind.Match toImmutable() {
149 return isMutable() ? newMatch(fSpacecraft, fKind) : this;
150 }
151
152 @Override
153 public String prettyPrint() {
154 StringBuilder result = new StringBuilder();
155 result.append("\"Spacecraft\"=" + prettyPrintValue(fSpacecraft) + ", ");
156 result.append("\"Kind\"=" + prettyPrintValue(fKind));
157 return result.toString();
158 }
159
160 @Override
161 public int hashCode() {
162 return Objects.hash(fSpacecraft, fKind);
163 }
164
165 @Override
166 public boolean equals(final Object obj) {
167 if (this == obj)
168 return true;
169 if (obj == null) {
170 return false;
171 }
172 if ((obj instanceof SpacecraftOfKind.Match)) {
173 SpacecraftOfKind.Match other = (SpacecraftOfKind.Match) obj;
174 return Objects.equals(fSpacecraft, other.fSpacecraft) && Objects.equals(fKind, other.fKind);
175 } else {
176 // this should be infrequent
177 if (!(obj instanceof IPatternMatch)) {
178 return false;
179 }
180 IPatternMatch otherSig = (IPatternMatch) obj;
181 return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray());
182 }
183 }
184
185 @Override
186 public SpacecraftOfKind specification() {
187 return SpacecraftOfKind.instance();
188 }
189
190 /**
191 * Returns an empty, mutable match.
192 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
193 *
194 * @return the empty match.
195 *
196 */
197 public static SpacecraftOfKind.Match newEmptyMatch() {
198 return new Mutable(null, null);
199 }
200
201 /**
202 * Returns a mutable (partial) match.
203 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
204 *
205 * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound.
206 * @param pKind the fixed value of pattern parameter Kind, or null if not bound.
207 * @return the new, mutable (partial) match object.
208 *
209 */
210 public static SpacecraftOfKind.Match newMutableMatch(final Spacecraft pSpacecraft, final SpacecraftKind pKind) {
211 return new Mutable(pSpacecraft, pKind);
212 }
213
214 /**
215 * Returns a new (partial) match.
216 * This can be used e.g. to call the matcher with a partial match.
217 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
218 * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound.
219 * @param pKind the fixed value of pattern parameter Kind, or null if not bound.
220 * @return the (partial) match object.
221 *
222 */
223 public static SpacecraftOfKind.Match newMatch(final Spacecraft pSpacecraft, final SpacecraftKind pKind) {
224 return new Immutable(pSpacecraft, pKind);
225 }
226
227 private static final class Mutable extends SpacecraftOfKind.Match {
228 Mutable(final Spacecraft pSpacecraft, final SpacecraftKind pKind) {
229 super(pSpacecraft, pKind);
230 }
231
232 @Override
233 public boolean isMutable() {
234 return true;
235 }
236 }
237
238 private static final class Immutable extends SpacecraftOfKind.Match {
239 Immutable(final Spacecraft pSpacecraft, final SpacecraftKind pKind) {
240 super(pSpacecraft, pKind);
241 }
242
243 @Override
244 public boolean isMutable() {
245 return false;
246 }
247 }
248 }
249
250 /**
251 * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftOfKind pattern,
252 * providing pattern-specific query methods.
253 *
254 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)},
255 * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}.
256 *
257 * <p>Matches of the pattern will be represented as {@link Match}.
258 *
259 * <p>Original source:
260 * <code><pre>
261 * {@literal @}QueryBasedFeature(feature = "kind")
262 * pattern spacecraftOfKind(Spacecraft : Spacecraft, Kind : SpacecraftKind) {
263 * CubeSat3U(Spacecraft);
264 * Kind == SpacecraftKind::CubeSat3U;
265 * } or {
266 * CubeSat6U(Spacecraft);
267 * Kind == SpacecraftKind::CubeSat6U;
268 * } or {
269 * SmallSat(Spacecraft);
270 * Kind == SpacecraftKind::SmallSat;
271 * }
272 * </pre></code>
273 *
274 * @see Match
275 * @see SpacecraftOfKind
276 *
277 */
278 public static class Matcher extends BaseMatcher<SpacecraftOfKind.Match> {
279 /**
280 * Initializes the pattern matcher within an existing VIATRA Query engine.
281 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
282 *
283 * @param engine the existing VIATRA Query engine in which this matcher will be created.
284 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
285 *
286 */
287 public static SpacecraftOfKind.Matcher on(final ViatraQueryEngine engine) {
288 // check if matcher already exists
289 Matcher matcher = engine.getExistingMatcher(querySpecification());
290 if (matcher == null) {
291 matcher = (Matcher)engine.getMatcher(querySpecification());
292 }
293 return matcher;
294 }
295
296 /**
297 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
298 * @return an initialized matcher
299 * @noreference This method is for internal matcher initialization by the framework, do not call it manually.
300 *
301 */
302 public static SpacecraftOfKind.Matcher create() {
303 return new Matcher();
304 }
305
306 private static final int POSITION_SPACECRAFT = 0;
307
308 private static final int POSITION_KIND = 1;
309
310 private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(SpacecraftOfKind.Matcher.class);
311
312 /**
313 * Initializes the pattern matcher within an existing VIATRA Query engine.
314 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
315 *
316 * @param engine the existing VIATRA Query engine in which this matcher will be created.
317 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
318 *
319 */
320 private Matcher() {
321 super(querySpecification());
322 }
323
324 /**
325 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
326 * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound.
327 * @param pKind the fixed value of pattern parameter Kind, or null if not bound.
328 * @return matches represented as a Match object.
329 *
330 */
331 public Collection<SpacecraftOfKind.Match> getAllMatches(final Spacecraft pSpacecraft, final SpacecraftKind pKind) {
332 return rawStreamAllMatches(new Object[]{pSpacecraft, pKind}).collect(Collectors.toSet());
333 }
334
335 /**
336 * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters.
337 * </p>
338 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
339 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
340 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
341 * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound.
342 * @param pKind the fixed value of pattern parameter Kind, or null if not bound.
343 * @return a stream of matches represented as a Match object.
344 *
345 */
346 public Stream<SpacecraftOfKind.Match> streamAllMatches(final Spacecraft pSpacecraft, final SpacecraftKind pKind) {
347 return rawStreamAllMatches(new Object[]{pSpacecraft, pKind});
348 }
349
350 /**
351 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
352 * Neither determinism nor randomness of selection is guaranteed.
353 * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound.
354 * @param pKind the fixed value of pattern parameter Kind, or null if not bound.
355 * @return a match represented as a Match object, or null if no match is found.
356 *
357 */
358 public Optional<SpacecraftOfKind.Match> getOneArbitraryMatch(final Spacecraft pSpacecraft, final SpacecraftKind pKind) {
359 return rawGetOneArbitraryMatch(new Object[]{pSpacecraft, pKind});
360 }
361
362 /**
363 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
364 * under any possible substitution of the unspecified parameters (if any).
365 * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound.
366 * @param pKind the fixed value of pattern parameter Kind, or null if not bound.
367 * @return true if the input is a valid (partial) match of the pattern.
368 *
369 */
370 public boolean hasMatch(final Spacecraft pSpacecraft, final SpacecraftKind pKind) {
371 return rawHasMatch(new Object[]{pSpacecraft, pKind});
372 }
373
374 /**
375 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
376 * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound.
377 * @param pKind the fixed value of pattern parameter Kind, or null if not bound.
378 * @return the number of pattern matches found.
379 *
380 */
381 public int countMatches(final Spacecraft pSpacecraft, final SpacecraftKind pKind) {
382 return rawCountMatches(new Object[]{pSpacecraft, pKind});
383 }
384
385 /**
386 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
387 * Neither determinism nor randomness of selection is guaranteed.
388 * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound.
389 * @param pKind the fixed value of pattern parameter Kind, or null if not bound.
390 * @param processor the action that will process the selected match.
391 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
392 *
393 */
394 public boolean forOneArbitraryMatch(final Spacecraft pSpacecraft, final SpacecraftKind pKind, final Consumer<? super SpacecraftOfKind.Match> processor) {
395 return rawForOneArbitraryMatch(new Object[]{pSpacecraft, pKind}, processor);
396 }
397
398 /**
399 * Returns a new (partial) match.
400 * This can be used e.g. to call the matcher with a partial match.
401 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
402 * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound.
403 * @param pKind the fixed value of pattern parameter Kind, or null if not bound.
404 * @return the (partial) match object.
405 *
406 */
407 public SpacecraftOfKind.Match newMatch(final Spacecraft pSpacecraft, final SpacecraftKind pKind) {
408 return SpacecraftOfKind.Match.newMatch(pSpacecraft, pKind);
409 }
410
411 /**
412 * Retrieve the set of values that occur in matches for Spacecraft.
413 * @return the Set of all values or empty set if there are no matches
414 *
415 */
416 protected Stream<Spacecraft> rawStreamAllValuesOfSpacecraft(final Object[] parameters) {
417 return rawStreamAllValues(POSITION_SPACECRAFT, parameters).map(Spacecraft.class::cast);
418 }
419
420 /**
421 * Retrieve the set of values that occur in matches for Spacecraft.
422 * @return the Set of all values or empty set if there are no matches
423 *
424 */
425 public Set<Spacecraft> getAllValuesOfSpacecraft() {
426 return rawStreamAllValuesOfSpacecraft(emptyArray()).collect(Collectors.toSet());
427 }
428
429 /**
430 * Retrieve the set of values that occur in matches for Spacecraft.
431 * @return the Set of all values or empty set if there are no matches
432 *
433 */
434 public Stream<Spacecraft> streamAllValuesOfSpacecraft() {
435 return rawStreamAllValuesOfSpacecraft(emptyArray());
436 }
437
438 /**
439 * Retrieve the set of values that occur in matches for Spacecraft.
440 * </p>
441 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
442 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
443 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
444 *
445 * @return the Stream of all values or empty set if there are no matches
446 *
447 */
448 public Stream<Spacecraft> streamAllValuesOfSpacecraft(final SpacecraftOfKind.Match partialMatch) {
449 return rawStreamAllValuesOfSpacecraft(partialMatch.toArray());
450 }
451
452 /**
453 * Retrieve the set of values that occur in matches for Spacecraft.
454 * </p>
455 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
456 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
457 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
458 *
459 * @return the Stream of all values or empty set if there are no matches
460 *
461 */
462 public Stream<Spacecraft> streamAllValuesOfSpacecraft(final SpacecraftKind pKind) {
463 return rawStreamAllValuesOfSpacecraft(new Object[]{null, pKind});
464 }
465
466 /**
467 * Retrieve the set of values that occur in matches for Spacecraft.
468 * @return the Set of all values or empty set if there are no matches
469 *
470 */
471 public Set<Spacecraft> getAllValuesOfSpacecraft(final SpacecraftOfKind.Match partialMatch) {
472 return rawStreamAllValuesOfSpacecraft(partialMatch.toArray()).collect(Collectors.toSet());
473 }
474
475 /**
476 * Retrieve the set of values that occur in matches for Spacecraft.
477 * @return the Set of all values or empty set if there are no matches
478 *
479 */
480 public Set<Spacecraft> getAllValuesOfSpacecraft(final SpacecraftKind pKind) {
481 return rawStreamAllValuesOfSpacecraft(new Object[]{null, pKind}).collect(Collectors.toSet());
482 }
483
484 /**
485 * Retrieve the set of values that occur in matches for Kind.
486 * @return the Set of all values or empty set if there are no matches
487 *
488 */
489 protected Stream<SpacecraftKind> rawStreamAllValuesOfKind(final Object[] parameters) {
490 return rawStreamAllValues(POSITION_KIND, parameters).map(SpacecraftKind.class::cast);
491 }
492
493 /**
494 * Retrieve the set of values that occur in matches for Kind.
495 * @return the Set of all values or empty set if there are no matches
496 *
497 */
498 public Set<SpacecraftKind> getAllValuesOfKind() {
499 return rawStreamAllValuesOfKind(emptyArray()).collect(Collectors.toSet());
500 }
501
502 /**
503 * Retrieve the set of values that occur in matches for Kind.
504 * @return the Set of all values or empty set if there are no matches
505 *
506 */
507 public Stream<SpacecraftKind> streamAllValuesOfKind() {
508 return rawStreamAllValuesOfKind(emptyArray());
509 }
510
511 /**
512 * Retrieve the set of values that occur in matches for Kind.
513 * </p>
514 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
515 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
516 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
517 *
518 * @return the Stream of all values or empty set if there are no matches
519 *
520 */
521 public Stream<SpacecraftKind> streamAllValuesOfKind(final SpacecraftOfKind.Match partialMatch) {
522 return rawStreamAllValuesOfKind(partialMatch.toArray());
523 }
524
525 /**
526 * Retrieve the set of values that occur in matches for Kind.
527 * </p>
528 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
529 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
530 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
531 *
532 * @return the Stream of all values or empty set if there are no matches
533 *
534 */
535 public Stream<SpacecraftKind> streamAllValuesOfKind(final Spacecraft pSpacecraft) {
536 return rawStreamAllValuesOfKind(new Object[]{pSpacecraft, null});
537 }
538
539 /**
540 * Retrieve the set of values that occur in matches for Kind.
541 * @return the Set of all values or empty set if there are no matches
542 *
543 */
544 public Set<SpacecraftKind> getAllValuesOfKind(final SpacecraftOfKind.Match partialMatch) {
545 return rawStreamAllValuesOfKind(partialMatch.toArray()).collect(Collectors.toSet());
546 }
547
548 /**
549 * Retrieve the set of values that occur in matches for Kind.
550 * @return the Set of all values or empty set if there are no matches
551 *
552 */
553 public Set<SpacecraftKind> getAllValuesOfKind(final Spacecraft pSpacecraft) {
554 return rawStreamAllValuesOfKind(new Object[]{pSpacecraft, null}).collect(Collectors.toSet());
555 }
556
557 @Override
558 protected SpacecraftOfKind.Match tupleToMatch(final Tuple t) {
559 try {
560 return SpacecraftOfKind.Match.newMatch((Spacecraft) t.get(POSITION_SPACECRAFT), (SpacecraftKind) t.get(POSITION_KIND));
561 } catch(ClassCastException e) {
562 LOGGER.error("Element(s) in tuple not properly typed!",e);
563 return null;
564 }
565 }
566
567 @Override
568 protected SpacecraftOfKind.Match arrayToMatch(final Object[] match) {
569 try {
570 return SpacecraftOfKind.Match.newMatch((Spacecraft) match[POSITION_SPACECRAFT], (SpacecraftKind) match[POSITION_KIND]);
571 } catch(ClassCastException e) {
572 LOGGER.error("Element(s) in array not properly typed!",e);
573 return null;
574 }
575 }
576
577 @Override
578 protected SpacecraftOfKind.Match arrayToMatchMutable(final Object[] match) {
579 try {
580 return SpacecraftOfKind.Match.newMutableMatch((Spacecraft) match[POSITION_SPACECRAFT], (SpacecraftKind) match[POSITION_KIND]);
581 } catch(ClassCastException e) {
582 LOGGER.error("Element(s) in array not properly typed!",e);
583 return null;
584 }
585 }
586
587 /**
588 * @return the singleton instance of the query specification of this pattern
589 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
590 *
591 */
592 public static IQuerySpecification<SpacecraftOfKind.Matcher> querySpecification() {
593 return SpacecraftOfKind.instance();
594 }
595 }
596
597 private SpacecraftOfKind() {
598 super(GeneratedPQuery.INSTANCE);
599 }
600
601 /**
602 * @return the singleton instance of the query specification
603 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
604 *
605 */
606 public static SpacecraftOfKind instance() {
607 try{
608 return LazyHolder.INSTANCE;
609 } catch (ExceptionInInitializerError err) {
610 throw processInitializerError(err);
611 }
612 }
613
614 @Override
615 protected SpacecraftOfKind.Matcher instantiate(final ViatraQueryEngine engine) {
616 return SpacecraftOfKind.Matcher.on(engine);
617 }
618
619 @Override
620 public SpacecraftOfKind.Matcher instantiate() {
621 return SpacecraftOfKind.Matcher.create();
622 }
623
624 @Override
625 public SpacecraftOfKind.Match newEmptyMatch() {
626 return SpacecraftOfKind.Match.newEmptyMatch();
627 }
628
629 @Override
630 public SpacecraftOfKind.Match newMatch(final Object... parameters) {
631 return SpacecraftOfKind.Match.newMatch((satellite.Spacecraft) parameters[0], (satellite.SpacecraftKind) parameters[1]);
632 }
633
634 /**
635 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created
636 * <b>not</b> at the class load time of the outer class,
637 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
638 *
639 * <p> This workaround is required e.g. to support recursion.
640 *
641 */
642 private static class LazyHolder {
643 private static final SpacecraftOfKind INSTANCE = new SpacecraftOfKind();
644
645 /**
646 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
647 * This initialization order is required to support indirect recursion.
648 *
649 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
650 *
651 */
652 private static final Object STATIC_INITIALIZER = ensureInitialized();
653
654 public static Object ensureInitialized() {
655 INSTANCE.ensureInitializedInternal();
656 return null;
657 }
658 }
659
660 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
661 private static final SpacecraftOfKind.GeneratedPQuery INSTANCE = new GeneratedPQuery();
662
663 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT);
664
665 private final PParameter parameter_Kind = new PParameter("Kind", "satellite.SpacecraftKind", new EDataTypeInSlotsKey((EDataType)getClassifierLiteralSafe("http://www.example.org/satellite", "SpacecraftKind")), PParameterDirection.INOUT);
666
667 private final List<PParameter> parameters = Arrays.asList(parameter_Spacecraft, parameter_Kind);
668
669 private GeneratedPQuery() {
670 super(PVisibility.PUBLIC);
671 }
672
673 @Override
674 public String getFullyQualifiedName() {
675 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftOfKind";
676 }
677
678 @Override
679 public List<String> getParameterNames() {
680 return Arrays.asList("Spacecraft","Kind");
681 }
682
683 @Override
684 public List<PParameter> getParameters() {
685 return parameters;
686 }
687
688 @Override
689 public Set<PBody> doGetContainedBodies() {
690 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
691 Set<PBody> bodies = new LinkedHashSet<>();
692 {
693 PBody body = new PBody(this);
694 PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft");
695 PVariable var_Kind = body.getOrCreateVariableByName("Kind");
696 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
697 new TypeConstraint(body, Tuples.flatTupleOf(var_Kind), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "SpacecraftKind")));
698 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
699 new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft),
700 new ExportedParameter(body, var_Kind, parameter_Kind)
701 ));
702 // CubeSat3U(Spacecraft)
703 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CubeSat3U")));
704 // Kind == SpacecraftKind::CubeSat3U
705 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
706 new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "SpacecraftKind", "CubeSat3U").getInstance());
707 new Equality(body, var_Kind, var__virtual_0_);
708 bodies.add(body);
709 }
710 {
711 PBody body = new PBody(this);
712 PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft");
713 PVariable var_Kind = body.getOrCreateVariableByName("Kind");
714 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
715 new TypeConstraint(body, Tuples.flatTupleOf(var_Kind), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "SpacecraftKind")));
716 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
717 new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft),
718 new ExportedParameter(body, var_Kind, parameter_Kind)
719 ));
720 // CubeSat6U(Spacecraft)
721 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CubeSat6U")));
722 // Kind == SpacecraftKind::CubeSat6U
723 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
724 new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "SpacecraftKind", "CubeSat6U").getInstance());
725 new Equality(body, var_Kind, var__virtual_0_);
726 bodies.add(body);
727 }
728 {
729 PBody body = new PBody(this);
730 PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft");
731 PVariable var_Kind = body.getOrCreateVariableByName("Kind");
732 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
733 new TypeConstraint(body, Tuples.flatTupleOf(var_Kind), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "SpacecraftKind")));
734 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
735 new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft),
736 new ExportedParameter(body, var_Kind, parameter_Kind)
737 ));
738 // SmallSat(Spacecraft)
739 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "SmallSat")));
740 // Kind == SpacecraftKind::SmallSat
741 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
742 new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "SpacecraftKind", "SmallSat").getInstance());
743 new Equality(body, var_Kind, var__virtual_0_);
744 bodies.add(body);
745 }
746 {
747 PAnnotation annotation = new PAnnotation("QueryBasedFeature");
748 annotation.addAttribute("feature", "kind");
749 addAnnotation(annotation);
750 }
751 return bodies;
752 }
753 }
754}
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 @@
1/**
2 * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MissionTime;
7import java.util.Arrays;
8import java.util.Collection;
9import java.util.LinkedHashSet;
10import java.util.List;
11import java.util.Objects;
12import java.util.Optional;
13import java.util.Set;
14import java.util.function.Consumer;
15import java.util.stream.Collectors;
16import java.util.stream.Stream;
17import org.apache.log4j.Logger;
18import org.eclipse.viatra.query.runtime.api.IPatternMatch;
19import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
20import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
21import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
22import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification;
23import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher;
24import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch;
25import org.eclipse.viatra.query.runtime.matchers.aggregators.sum;
26import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
27import org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey;
28import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
29import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
30import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.AggregatorConstraint;
31import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
32import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
33import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.TypeFilterConstraint;
34import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
35import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
36import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
37import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
38import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
39import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
40
41/**
42 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
43 *
44 * <p>Original source:
45 * <code><pre>
46 * // Time
47 *
48 * pattern timeMetric(Time : java Double) {
49 * Time == sum find missionTime(_, #_);
50 * }
51 * </pre></code>
52 *
53 * @see Matcher
54 * @see Match
55 *
56 */
57@SuppressWarnings("all")
58public final class TimeMetric extends BaseGeneratedEMFQuerySpecification<TimeMetric.Matcher> {
59 /**
60 * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.timeMetric pattern,
61 * to be used in conjunction with {@link Matcher}.
62 *
63 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned.
64 * Each instance is a (possibly partial) substitution of pattern parameters,
65 * usable to represent a match of the pattern in the result of a query,
66 * or to specify the bound (fixed) input parameters when issuing a query.
67 *
68 * @see Matcher
69 *
70 */
71 public static abstract class Match extends BasePatternMatch {
72 private Double fTime;
73
74 private static List<String> parameterNames = makeImmutableList("Time");
75
76 private Match(final Double pTime) {
77 this.fTime = pTime;
78 }
79
80 @Override
81 public Object get(final String parameterName) {
82 if ("Time".equals(parameterName)) return this.fTime;
83 return null;
84 }
85
86 public Double getTime() {
87 return this.fTime;
88 }
89
90 @Override
91 public boolean set(final String parameterName, final Object newValue) {
92 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
93 if ("Time".equals(parameterName) ) {
94 this.fTime = (Double) newValue;
95 return true;
96 }
97 return false;
98 }
99
100 public void setTime(final Double pTime) {
101 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
102 this.fTime = pTime;
103 }
104
105 @Override
106 public String patternName() {
107 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.timeMetric";
108 }
109
110 @Override
111 public List<String> parameterNames() {
112 return TimeMetric.Match.parameterNames;
113 }
114
115 @Override
116 public Object[] toArray() {
117 return new Object[]{fTime};
118 }
119
120 @Override
121 public TimeMetric.Match toImmutable() {
122 return isMutable() ? newMatch(fTime) : this;
123 }
124
125 @Override
126 public String prettyPrint() {
127 StringBuilder result = new StringBuilder();
128 result.append("\"Time\"=" + prettyPrintValue(fTime));
129 return result.toString();
130 }
131
132 @Override
133 public int hashCode() {
134 return Objects.hash(fTime);
135 }
136
137 @Override
138 public boolean equals(final Object obj) {
139 if (this == obj)
140 return true;
141 if (obj == null) {
142 return false;
143 }
144 if ((obj instanceof TimeMetric.Match)) {
145 TimeMetric.Match other = (TimeMetric.Match) obj;
146 return Objects.equals(fTime, other.fTime);
147 } else {
148 // this should be infrequent
149 if (!(obj instanceof IPatternMatch)) {
150 return false;
151 }
152 IPatternMatch otherSig = (IPatternMatch) obj;
153 return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray());
154 }
155 }
156
157 @Override
158 public TimeMetric specification() {
159 return TimeMetric.instance();
160 }
161
162 /**
163 * Returns an empty, mutable match.
164 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
165 *
166 * @return the empty match.
167 *
168 */
169 public static TimeMetric.Match newEmptyMatch() {
170 return new Mutable(null);
171 }
172
173 /**
174 * Returns a mutable (partial) match.
175 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
176 *
177 * @param pTime the fixed value of pattern parameter Time, or null if not bound.
178 * @return the new, mutable (partial) match object.
179 *
180 */
181 public static TimeMetric.Match newMutableMatch(final Double pTime) {
182 return new Mutable(pTime);
183 }
184
185 /**
186 * Returns a new (partial) match.
187 * This can be used e.g. to call the matcher with a partial match.
188 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
189 * @param pTime the fixed value of pattern parameter Time, or null if not bound.
190 * @return the (partial) match object.
191 *
192 */
193 public static TimeMetric.Match newMatch(final Double pTime) {
194 return new Immutable(pTime);
195 }
196
197 private static final class Mutable extends TimeMetric.Match {
198 Mutable(final Double pTime) {
199 super(pTime);
200 }
201
202 @Override
203 public boolean isMutable() {
204 return true;
205 }
206 }
207
208 private static final class Immutable extends TimeMetric.Match {
209 Immutable(final Double pTime) {
210 super(pTime);
211 }
212
213 @Override
214 public boolean isMutable() {
215 return false;
216 }
217 }
218 }
219
220 /**
221 * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.timeMetric pattern,
222 * providing pattern-specific query methods.
223 *
224 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)},
225 * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}.
226 *
227 * <p>Matches of the pattern will be represented as {@link Match}.
228 *
229 * <p>Original source:
230 * <code><pre>
231 * // Time
232 *
233 * pattern timeMetric(Time : java Double) {
234 * Time == sum find missionTime(_, #_);
235 * }
236 * </pre></code>
237 *
238 * @see Match
239 * @see TimeMetric
240 *
241 */
242 public static class Matcher extends BaseMatcher<TimeMetric.Match> {
243 /**
244 * Initializes the pattern matcher within an existing VIATRA Query engine.
245 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
246 *
247 * @param engine the existing VIATRA Query engine in which this matcher will be created.
248 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
249 *
250 */
251 public static TimeMetric.Matcher on(final ViatraQueryEngine engine) {
252 // check if matcher already exists
253 Matcher matcher = engine.getExistingMatcher(querySpecification());
254 if (matcher == null) {
255 matcher = (Matcher)engine.getMatcher(querySpecification());
256 }
257 return matcher;
258 }
259
260 /**
261 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
262 * @return an initialized matcher
263 * @noreference This method is for internal matcher initialization by the framework, do not call it manually.
264 *
265 */
266 public static TimeMetric.Matcher create() {
267 return new Matcher();
268 }
269
270 private static final int POSITION_TIME = 0;
271
272 private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(TimeMetric.Matcher.class);
273
274 /**
275 * Initializes the pattern matcher within an existing VIATRA Query engine.
276 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
277 *
278 * @param engine the existing VIATRA Query engine in which this matcher will be created.
279 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
280 *
281 */
282 private Matcher() {
283 super(querySpecification());
284 }
285
286 /**
287 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
288 * @param pTime the fixed value of pattern parameter Time, or null if not bound.
289 * @return matches represented as a Match object.
290 *
291 */
292 public Collection<TimeMetric.Match> getAllMatches(final Double pTime) {
293 return rawStreamAllMatches(new Object[]{pTime}).collect(Collectors.toSet());
294 }
295
296 /**
297 * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters.
298 * </p>
299 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
300 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
301 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
302 * @param pTime the fixed value of pattern parameter Time, or null if not bound.
303 * @return a stream of matches represented as a Match object.
304 *
305 */
306 public Stream<TimeMetric.Match> streamAllMatches(final Double pTime) {
307 return rawStreamAllMatches(new Object[]{pTime});
308 }
309
310 /**
311 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
312 * Neither determinism nor randomness of selection is guaranteed.
313 * @param pTime the fixed value of pattern parameter Time, or null if not bound.
314 * @return a match represented as a Match object, or null if no match is found.
315 *
316 */
317 public Optional<TimeMetric.Match> getOneArbitraryMatch(final Double pTime) {
318 return rawGetOneArbitraryMatch(new Object[]{pTime});
319 }
320
321 /**
322 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
323 * under any possible substitution of the unspecified parameters (if any).
324 * @param pTime the fixed value of pattern parameter Time, or null if not bound.
325 * @return true if the input is a valid (partial) match of the pattern.
326 *
327 */
328 public boolean hasMatch(final Double pTime) {
329 return rawHasMatch(new Object[]{pTime});
330 }
331
332 /**
333 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
334 * @param pTime the fixed value of pattern parameter Time, or null if not bound.
335 * @return the number of pattern matches found.
336 *
337 */
338 public int countMatches(final Double pTime) {
339 return rawCountMatches(new Object[]{pTime});
340 }
341
342 /**
343 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
344 * Neither determinism nor randomness of selection is guaranteed.
345 * @param pTime the fixed value of pattern parameter Time, or null if not bound.
346 * @param processor the action that will process the selected match.
347 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
348 *
349 */
350 public boolean forOneArbitraryMatch(final Double pTime, final Consumer<? super TimeMetric.Match> processor) {
351 return rawForOneArbitraryMatch(new Object[]{pTime}, processor);
352 }
353
354 /**
355 * Returns a new (partial) match.
356 * This can be used e.g. to call the matcher with a partial match.
357 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
358 * @param pTime the fixed value of pattern parameter Time, or null if not bound.
359 * @return the (partial) match object.
360 *
361 */
362 public TimeMetric.Match newMatch(final Double pTime) {
363 return TimeMetric.Match.newMatch(pTime);
364 }
365
366 /**
367 * Retrieve the set of values that occur in matches for Time.
368 * @return the Set of all values or empty set if there are no matches
369 *
370 */
371 protected Stream<Double> rawStreamAllValuesOfTime(final Object[] parameters) {
372 return rawStreamAllValues(POSITION_TIME, parameters).map(Double.class::cast);
373 }
374
375 /**
376 * Retrieve the set of values that occur in matches for Time.
377 * @return the Set of all values or empty set if there are no matches
378 *
379 */
380 public Set<Double> getAllValuesOfTime() {
381 return rawStreamAllValuesOfTime(emptyArray()).collect(Collectors.toSet());
382 }
383
384 /**
385 * Retrieve the set of values that occur in matches for Time.
386 * @return the Set of all values or empty set if there are no matches
387 *
388 */
389 public Stream<Double> streamAllValuesOfTime() {
390 return rawStreamAllValuesOfTime(emptyArray());
391 }
392
393 @Override
394 protected TimeMetric.Match tupleToMatch(final Tuple t) {
395 try {
396 return TimeMetric.Match.newMatch((Double) t.get(POSITION_TIME));
397 } catch(ClassCastException e) {
398 LOGGER.error("Element(s) in tuple not properly typed!",e);
399 return null;
400 }
401 }
402
403 @Override
404 protected TimeMetric.Match arrayToMatch(final Object[] match) {
405 try {
406 return TimeMetric.Match.newMatch((Double) match[POSITION_TIME]);
407 } catch(ClassCastException e) {
408 LOGGER.error("Element(s) in array not properly typed!",e);
409 return null;
410 }
411 }
412
413 @Override
414 protected TimeMetric.Match arrayToMatchMutable(final Object[] match) {
415 try {
416 return TimeMetric.Match.newMutableMatch((Double) match[POSITION_TIME]);
417 } catch(ClassCastException e) {
418 LOGGER.error("Element(s) in array not properly typed!",e);
419 return null;
420 }
421 }
422
423 /**
424 * @return the singleton instance of the query specification of this pattern
425 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
426 *
427 */
428 public static IQuerySpecification<TimeMetric.Matcher> querySpecification() {
429 return TimeMetric.instance();
430 }
431 }
432
433 private TimeMetric() {
434 super(GeneratedPQuery.INSTANCE);
435 }
436
437 /**
438 * @return the singleton instance of the query specification
439 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
440 *
441 */
442 public static TimeMetric instance() {
443 try{
444 return LazyHolder.INSTANCE;
445 } catch (ExceptionInInitializerError err) {
446 throw processInitializerError(err);
447 }
448 }
449
450 @Override
451 protected TimeMetric.Matcher instantiate(final ViatraQueryEngine engine) {
452 return TimeMetric.Matcher.on(engine);
453 }
454
455 @Override
456 public TimeMetric.Matcher instantiate() {
457 return TimeMetric.Matcher.create();
458 }
459
460 @Override
461 public TimeMetric.Match newEmptyMatch() {
462 return TimeMetric.Match.newEmptyMatch();
463 }
464
465 @Override
466 public TimeMetric.Match newMatch(final Object... parameters) {
467 return TimeMetric.Match.newMatch((java.lang.Double) parameters[0]);
468 }
469
470 /**
471 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created
472 * <b>not</b> at the class load time of the outer class,
473 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
474 *
475 * <p> This workaround is required e.g. to support recursion.
476 *
477 */
478 private static class LazyHolder {
479 private static final TimeMetric INSTANCE = new TimeMetric();
480
481 /**
482 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
483 * This initialization order is required to support indirect recursion.
484 *
485 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
486 *
487 */
488 private static final Object STATIC_INITIALIZER = ensureInitialized();
489
490 public static Object ensureInitialized() {
491 INSTANCE.ensureInitializedInternal();
492 return null;
493 }
494 }
495
496 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
497 private static final TimeMetric.GeneratedPQuery INSTANCE = new GeneratedPQuery();
498
499 private final PParameter parameter_Time = new PParameter("Time", "java.lang.Double", new JavaTransitiveInstancesKey(java.lang.Double.class), PParameterDirection.INOUT);
500
501 private final List<PParameter> parameters = Arrays.asList(parameter_Time);
502
503 private GeneratedPQuery() {
504 super(PVisibility.PUBLIC);
505 }
506
507 @Override
508 public String getFullyQualifiedName() {
509 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.timeMetric";
510 }
511
512 @Override
513 public List<String> getParameterNames() {
514 return Arrays.asList("Time");
515 }
516
517 @Override
518 public List<PParameter> getParameters() {
519 return parameters;
520 }
521
522 @Override
523 public Set<PBody> doGetContainedBodies() {
524 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
525 Set<PBody> bodies = new LinkedHashSet<>();
526 {
527 PBody body = new PBody(this);
528 PVariable var_Time = body.getOrCreateVariableByName("Time");
529 PVariable var___0_ = body.getOrCreateVariableByName("_<0>");
530 PVariable var___1_ = body.getOrCreateVariableByName("_<1>");
531 new TypeFilterConstraint(body, Tuples.flatTupleOf(var_Time), new JavaTransitiveInstancesKey(java.lang.Double.class));
532 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
533 new ExportedParameter(body, var_Time, parameter_Time)
534 ));
535 // Time == sum find missionTime(_, #_)
536 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
537 new AggregatorConstraint(new sum().getAggregatorLogic(Double.class), body, Tuples.flatTupleOf(var___0_, var___1_), MissionTime.instance().getInternalQueryRepresentation(), var__virtual_0_, 1);
538 new Equality(body, var_Time, var__virtual_0_);
539 bodies.add(body);
540 }
541 return bodies;
542 }
543 }
544}
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 @@
1/**
2 * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGainLow;
7import java.util.Arrays;
8import java.util.Collection;
9import java.util.LinkedHashSet;
10import java.util.List;
11import java.util.Objects;
12import java.util.Optional;
13import java.util.Set;
14import java.util.function.Consumer;
15import java.util.stream.Collectors;
16import java.util.stream.Stream;
17import org.apache.log4j.Logger;
18import org.eclipse.emf.ecore.EClass;
19import org.eclipse.emf.ecore.EDataType;
20import org.eclipse.viatra.query.runtime.api.IPatternMatch;
21import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
22import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
23import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
24import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification;
25import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher;
26import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch;
27import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
28import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey;
29import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey;
30import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
31import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
32import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
33import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation;
34import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference;
35import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
36import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
37import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall;
38import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue;
39import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
40import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
41import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
42import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
43import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
44import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
45import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
46import satellite.CommSubsystem;
47
48/**
49 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
50 *
51 * <p>Original source:
52 * <code><pre>
53 * // UHF-band transmitters may only be combined with a low gain antenna
54 *
55 * {@literal @}Constraint(severity = "error", key = {Comm},
56 * message = "UHF transceiver must be combined with a low gain antenna.")
57 * pattern uhfAntennaGainNotLow(Comm : CommSubsystem) {
58 * CommSubsystem.band(Comm, TransceiverBand::UHF);
59 * // VIATRA will fail to infer a type constraint for the virtual variable introduced
60 * // when an enum literal appears in a negative pattern call, so we use a helper pattern
61 * // instead of neg find commSubsystemGain(Comm, AntennaGain::LOW);
62 * neg find commSubsystemGainLow(Comm);
63 * }
64 * </pre></code>
65 *
66 * @see Matcher
67 * @see Match
68 *
69 */
70@SuppressWarnings("all")
71public final class UhfAntennaGainNotLow extends BaseGeneratedEMFQuerySpecification<UhfAntennaGainNotLow.Matcher> {
72 /**
73 * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.uhfAntennaGainNotLow pattern,
74 * to be used in conjunction with {@link Matcher}.
75 *
76 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned.
77 * Each instance is a (possibly partial) substitution of pattern parameters,
78 * usable to represent a match of the pattern in the result of a query,
79 * or to specify the bound (fixed) input parameters when issuing a query.
80 *
81 * @see Matcher
82 *
83 */
84 public static abstract class Match extends BasePatternMatch {
85 private CommSubsystem fComm;
86
87 private static List<String> parameterNames = makeImmutableList("Comm");
88
89 private Match(final CommSubsystem pComm) {
90 this.fComm = pComm;
91 }
92
93 @Override
94 public Object get(final String parameterName) {
95 if ("Comm".equals(parameterName)) return this.fComm;
96 return null;
97 }
98
99 public CommSubsystem getComm() {
100 return this.fComm;
101 }
102
103 @Override
104 public boolean set(final String parameterName, final Object newValue) {
105 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
106 if ("Comm".equals(parameterName) ) {
107 this.fComm = (CommSubsystem) newValue;
108 return true;
109 }
110 return false;
111 }
112
113 public void setComm(final CommSubsystem pComm) {
114 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
115 this.fComm = pComm;
116 }
117
118 @Override
119 public String patternName() {
120 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.uhfAntennaGainNotLow";
121 }
122
123 @Override
124 public List<String> parameterNames() {
125 return UhfAntennaGainNotLow.Match.parameterNames;
126 }
127
128 @Override
129 public Object[] toArray() {
130 return new Object[]{fComm};
131 }
132
133 @Override
134 public UhfAntennaGainNotLow.Match toImmutable() {
135 return isMutable() ? newMatch(fComm) : this;
136 }
137
138 @Override
139 public String prettyPrint() {
140 StringBuilder result = new StringBuilder();
141 result.append("\"Comm\"=" + prettyPrintValue(fComm));
142 return result.toString();
143 }
144
145 @Override
146 public int hashCode() {
147 return Objects.hash(fComm);
148 }
149
150 @Override
151 public boolean equals(final Object obj) {
152 if (this == obj)
153 return true;
154 if (obj == null) {
155 return false;
156 }
157 if ((obj instanceof UhfAntennaGainNotLow.Match)) {
158 UhfAntennaGainNotLow.Match other = (UhfAntennaGainNotLow.Match) obj;
159 return Objects.equals(fComm, other.fComm);
160 } else {
161 // this should be infrequent
162 if (!(obj instanceof IPatternMatch)) {
163 return false;
164 }
165 IPatternMatch otherSig = (IPatternMatch) obj;
166 return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray());
167 }
168 }
169
170 @Override
171 public UhfAntennaGainNotLow specification() {
172 return UhfAntennaGainNotLow.instance();
173 }
174
175 /**
176 * Returns an empty, mutable match.
177 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
178 *
179 * @return the empty match.
180 *
181 */
182 public static UhfAntennaGainNotLow.Match newEmptyMatch() {
183 return new Mutable(null);
184 }
185
186 /**
187 * Returns a mutable (partial) match.
188 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
189 *
190 * @param pComm the fixed value of pattern parameter Comm, or null if not bound.
191 * @return the new, mutable (partial) match object.
192 *
193 */
194 public static UhfAntennaGainNotLow.Match newMutableMatch(final CommSubsystem pComm) {
195 return new Mutable(pComm);
196 }
197
198 /**
199 * Returns a new (partial) match.
200 * This can be used e.g. to call the matcher with a partial match.
201 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
202 * @param pComm the fixed value of pattern parameter Comm, or null if not bound.
203 * @return the (partial) match object.
204 *
205 */
206 public static UhfAntennaGainNotLow.Match newMatch(final CommSubsystem pComm) {
207 return new Immutable(pComm);
208 }
209
210 private static final class Mutable extends UhfAntennaGainNotLow.Match {
211 Mutable(final CommSubsystem pComm) {
212 super(pComm);
213 }
214
215 @Override
216 public boolean isMutable() {
217 return true;
218 }
219 }
220
221 private static final class Immutable extends UhfAntennaGainNotLow.Match {
222 Immutable(final CommSubsystem pComm) {
223 super(pComm);
224 }
225
226 @Override
227 public boolean isMutable() {
228 return false;
229 }
230 }
231 }
232
233 /**
234 * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.uhfAntennaGainNotLow pattern,
235 * providing pattern-specific query methods.
236 *
237 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)},
238 * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}.
239 *
240 * <p>Matches of the pattern will be represented as {@link Match}.
241 *
242 * <p>Original source:
243 * <code><pre>
244 * // UHF-band transmitters may only be combined with a low gain antenna
245 *
246 * {@literal @}Constraint(severity = "error", key = {Comm},
247 * message = "UHF transceiver must be combined with a low gain antenna.")
248 * pattern uhfAntennaGainNotLow(Comm : CommSubsystem) {
249 * CommSubsystem.band(Comm, TransceiverBand::UHF);
250 * // VIATRA will fail to infer a type constraint for the virtual variable introduced
251 * // when an enum literal appears in a negative pattern call, so we use a helper pattern
252 * // instead of neg find commSubsystemGain(Comm, AntennaGain::LOW);
253 * neg find commSubsystemGainLow(Comm);
254 * }
255 * </pre></code>
256 *
257 * @see Match
258 * @see UhfAntennaGainNotLow
259 *
260 */
261 public static class Matcher extends BaseMatcher<UhfAntennaGainNotLow.Match> {
262 /**
263 * Initializes the pattern matcher within an existing VIATRA Query engine.
264 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
265 *
266 * @param engine the existing VIATRA Query engine in which this matcher will be created.
267 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
268 *
269 */
270 public static UhfAntennaGainNotLow.Matcher on(final ViatraQueryEngine engine) {
271 // check if matcher already exists
272 Matcher matcher = engine.getExistingMatcher(querySpecification());
273 if (matcher == null) {
274 matcher = (Matcher)engine.getMatcher(querySpecification());
275 }
276 return matcher;
277 }
278
279 /**
280 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
281 * @return an initialized matcher
282 * @noreference This method is for internal matcher initialization by the framework, do not call it manually.
283 *
284 */
285 public static UhfAntennaGainNotLow.Matcher create() {
286 return new Matcher();
287 }
288
289 private static final int POSITION_COMM = 0;
290
291 private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(UhfAntennaGainNotLow.Matcher.class);
292
293 /**
294 * Initializes the pattern matcher within an existing VIATRA Query engine.
295 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
296 *
297 * @param engine the existing VIATRA Query engine in which this matcher will be created.
298 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
299 *
300 */
301 private Matcher() {
302 super(querySpecification());
303 }
304
305 /**
306 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
307 * @param pComm the fixed value of pattern parameter Comm, or null if not bound.
308 * @return matches represented as a Match object.
309 *
310 */
311 public Collection<UhfAntennaGainNotLow.Match> getAllMatches(final CommSubsystem pComm) {
312 return rawStreamAllMatches(new Object[]{pComm}).collect(Collectors.toSet());
313 }
314
315 /**
316 * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters.
317 * </p>
318 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
319 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
320 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
321 * @param pComm the fixed value of pattern parameter Comm, or null if not bound.
322 * @return a stream of matches represented as a Match object.
323 *
324 */
325 public Stream<UhfAntennaGainNotLow.Match> streamAllMatches(final CommSubsystem pComm) {
326 return rawStreamAllMatches(new Object[]{pComm});
327 }
328
329 /**
330 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
331 * Neither determinism nor randomness of selection is guaranteed.
332 * @param pComm the fixed value of pattern parameter Comm, or null if not bound.
333 * @return a match represented as a Match object, or null if no match is found.
334 *
335 */
336 public Optional<UhfAntennaGainNotLow.Match> getOneArbitraryMatch(final CommSubsystem pComm) {
337 return rawGetOneArbitraryMatch(new Object[]{pComm});
338 }
339
340 /**
341 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
342 * under any possible substitution of the unspecified parameters (if any).
343 * @param pComm the fixed value of pattern parameter Comm, or null if not bound.
344 * @return true if the input is a valid (partial) match of the pattern.
345 *
346 */
347 public boolean hasMatch(final CommSubsystem pComm) {
348 return rawHasMatch(new Object[]{pComm});
349 }
350
351 /**
352 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
353 * @param pComm the fixed value of pattern parameter Comm, or null if not bound.
354 * @return the number of pattern matches found.
355 *
356 */
357 public int countMatches(final CommSubsystem pComm) {
358 return rawCountMatches(new Object[]{pComm});
359 }
360
361 /**
362 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
363 * Neither determinism nor randomness of selection is guaranteed.
364 * @param pComm the fixed value of pattern parameter Comm, or null if not bound.
365 * @param processor the action that will process the selected match.
366 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
367 *
368 */
369 public boolean forOneArbitraryMatch(final CommSubsystem pComm, final Consumer<? super UhfAntennaGainNotLow.Match> processor) {
370 return rawForOneArbitraryMatch(new Object[]{pComm}, processor);
371 }
372
373 /**
374 * Returns a new (partial) match.
375 * This can be used e.g. to call the matcher with a partial match.
376 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
377 * @param pComm the fixed value of pattern parameter Comm, or null if not bound.
378 * @return the (partial) match object.
379 *
380 */
381 public UhfAntennaGainNotLow.Match newMatch(final CommSubsystem pComm) {
382 return UhfAntennaGainNotLow.Match.newMatch(pComm);
383 }
384
385 /**
386 * Retrieve the set of values that occur in matches for Comm.
387 * @return the Set of all values or empty set if there are no matches
388 *
389 */
390 protected Stream<CommSubsystem> rawStreamAllValuesOfComm(final Object[] parameters) {
391 return rawStreamAllValues(POSITION_COMM, parameters).map(CommSubsystem.class::cast);
392 }
393
394 /**
395 * Retrieve the set of values that occur in matches for Comm.
396 * @return the Set of all values or empty set if there are no matches
397 *
398 */
399 public Set<CommSubsystem> getAllValuesOfComm() {
400 return rawStreamAllValuesOfComm(emptyArray()).collect(Collectors.toSet());
401 }
402
403 /**
404 * Retrieve the set of values that occur in matches for Comm.
405 * @return the Set of all values or empty set if there are no matches
406 *
407 */
408 public Stream<CommSubsystem> streamAllValuesOfComm() {
409 return rawStreamAllValuesOfComm(emptyArray());
410 }
411
412 @Override
413 protected UhfAntennaGainNotLow.Match tupleToMatch(final Tuple t) {
414 try {
415 return UhfAntennaGainNotLow.Match.newMatch((CommSubsystem) t.get(POSITION_COMM));
416 } catch(ClassCastException e) {
417 LOGGER.error("Element(s) in tuple not properly typed!",e);
418 return null;
419 }
420 }
421
422 @Override
423 protected UhfAntennaGainNotLow.Match arrayToMatch(final Object[] match) {
424 try {
425 return UhfAntennaGainNotLow.Match.newMatch((CommSubsystem) match[POSITION_COMM]);
426 } catch(ClassCastException e) {
427 LOGGER.error("Element(s) in array not properly typed!",e);
428 return null;
429 }
430 }
431
432 @Override
433 protected UhfAntennaGainNotLow.Match arrayToMatchMutable(final Object[] match) {
434 try {
435 return UhfAntennaGainNotLow.Match.newMutableMatch((CommSubsystem) match[POSITION_COMM]);
436 } catch(ClassCastException e) {
437 LOGGER.error("Element(s) in array not properly typed!",e);
438 return null;
439 }
440 }
441
442 /**
443 * @return the singleton instance of the query specification of this pattern
444 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
445 *
446 */
447 public static IQuerySpecification<UhfAntennaGainNotLow.Matcher> querySpecification() {
448 return UhfAntennaGainNotLow.instance();
449 }
450 }
451
452 private UhfAntennaGainNotLow() {
453 super(GeneratedPQuery.INSTANCE);
454 }
455
456 /**
457 * @return the singleton instance of the query specification
458 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
459 *
460 */
461 public static UhfAntennaGainNotLow instance() {
462 try{
463 return LazyHolder.INSTANCE;
464 } catch (ExceptionInInitializerError err) {
465 throw processInitializerError(err);
466 }
467 }
468
469 @Override
470 protected UhfAntennaGainNotLow.Matcher instantiate(final ViatraQueryEngine engine) {
471 return UhfAntennaGainNotLow.Matcher.on(engine);
472 }
473
474 @Override
475 public UhfAntennaGainNotLow.Matcher instantiate() {
476 return UhfAntennaGainNotLow.Matcher.create();
477 }
478
479 @Override
480 public UhfAntennaGainNotLow.Match newEmptyMatch() {
481 return UhfAntennaGainNotLow.Match.newEmptyMatch();
482 }
483
484 @Override
485 public UhfAntennaGainNotLow.Match newMatch(final Object... parameters) {
486 return UhfAntennaGainNotLow.Match.newMatch((satellite.CommSubsystem) parameters[0]);
487 }
488
489 /**
490 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created
491 * <b>not</b> at the class load time of the outer class,
492 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
493 *
494 * <p> This workaround is required e.g. to support recursion.
495 *
496 */
497 private static class LazyHolder {
498 private static final UhfAntennaGainNotLow INSTANCE = new UhfAntennaGainNotLow();
499
500 /**
501 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
502 * This initialization order is required to support indirect recursion.
503 *
504 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
505 *
506 */
507 private static final Object STATIC_INITIALIZER = ensureInitialized();
508
509 public static Object ensureInitialized() {
510 INSTANCE.ensureInitializedInternal();
511 return null;
512 }
513 }
514
515 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
516 private static final UhfAntennaGainNotLow.GeneratedPQuery INSTANCE = new GeneratedPQuery();
517
518 private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT);
519
520 private final List<PParameter> parameters = Arrays.asList(parameter_Comm);
521
522 private GeneratedPQuery() {
523 super(PVisibility.PUBLIC);
524 }
525
526 @Override
527 public String getFullyQualifiedName() {
528 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.uhfAntennaGainNotLow";
529 }
530
531 @Override
532 public List<String> getParameterNames() {
533 return Arrays.asList("Comm");
534 }
535
536 @Override
537 public List<PParameter> getParameters() {
538 return parameters;
539 }
540
541 @Override
542 public Set<PBody> doGetContainedBodies() {
543 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
544 Set<PBody> bodies = new LinkedHashSet<>();
545 {
546 PBody body = new PBody(this);
547 PVariable var_Comm = body.getOrCreateVariableByName("Comm");
548 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
549 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
550 new ExportedParameter(body, var_Comm, parameter_Comm)
551 ));
552 // CommSubsystem.band(Comm, TransceiverBand::UHF)
553 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
554 new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "TransceiverBand", "UHF").getInstance());
555 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
556 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
557 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "band")));
558 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "TransceiverBand")));
559 new Equality(body, var__virtual_1_, var__virtual_0_);
560 // // 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)
561 new NegativePatternCall(body, Tuples.flatTupleOf(var_Comm), CommSubsystemGainLow.instance().getInternalQueryRepresentation());
562 bodies.add(body);
563 }
564 {
565 PAnnotation annotation = new PAnnotation("Constraint");
566 annotation.addAttribute("severity", "error");
567 annotation.addAttribute("key", Arrays.asList(new Object[] {
568 new ParameterReference("Comm")
569 }));
570 annotation.addAttribute("message", "UHF transceiver must be combined with a low gain antenna.");
571 addAnnotation(annotation);
572 }
573 return bodies;
574 }
575 }
576}
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 @@
1/**
2 * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGainMedium;
7import java.util.Arrays;
8import java.util.Collection;
9import java.util.LinkedHashSet;
10import java.util.List;
11import java.util.Objects;
12import java.util.Optional;
13import java.util.Set;
14import java.util.function.Consumer;
15import java.util.stream.Collectors;
16import java.util.stream.Stream;
17import org.apache.log4j.Logger;
18import org.eclipse.emf.ecore.EClass;
19import org.eclipse.emf.ecore.EDataType;
20import org.eclipse.viatra.query.runtime.api.IPatternMatch;
21import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
22import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine;
23import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
24import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification;
25import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher;
26import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch;
27import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
28import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey;
29import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey;
30import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
31import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
32import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
33import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation;
34import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference;
35import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
36import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
37import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall;
38import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue;
39import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
40import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
41import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
42import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
43import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
44import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
45import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
46import satellite.CommSubsystem;
47
48/**
49 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
50 *
51 * <p>Original source:
52 * <code><pre>
53 * // X-band transmitters may only be combined with a medium gain antenna
54 *
55 * {@literal @}Constraint(severity = "error", key = {Comm},
56 * message = "X-band transceiver must be combined with a medium gain antenna.")
57 * pattern xAntennaGainNotMedium(Comm : CommSubsystem) {
58 * CommSubsystem.band(Comm, TransceiverBand::X);
59 * neg find commSubsystemGainMedium(Comm);
60 * }
61 * </pre></code>
62 *
63 * @see Matcher
64 * @see Match
65 *
66 */
67@SuppressWarnings("all")
68public final class XAntennaGainNotMedium extends BaseGeneratedEMFQuerySpecification<XAntennaGainNotMedium.Matcher> {
69 /**
70 * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.xAntennaGainNotMedium pattern,
71 * to be used in conjunction with {@link Matcher}.
72 *
73 * <p>Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned.
74 * Each instance is a (possibly partial) substitution of pattern parameters,
75 * usable to represent a match of the pattern in the result of a query,
76 * or to specify the bound (fixed) input parameters when issuing a query.
77 *
78 * @see Matcher
79 *
80 */
81 public static abstract class Match extends BasePatternMatch {
82 private CommSubsystem fComm;
83
84 private static List<String> parameterNames = makeImmutableList("Comm");
85
86 private Match(final CommSubsystem pComm) {
87 this.fComm = pComm;
88 }
89
90 @Override
91 public Object get(final String parameterName) {
92 if ("Comm".equals(parameterName)) return this.fComm;
93 return null;
94 }
95
96 public CommSubsystem getComm() {
97 return this.fComm;
98 }
99
100 @Override
101 public boolean set(final String parameterName, final Object newValue) {
102 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
103 if ("Comm".equals(parameterName) ) {
104 this.fComm = (CommSubsystem) newValue;
105 return true;
106 }
107 return false;
108 }
109
110 public void setComm(final CommSubsystem pComm) {
111 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
112 this.fComm = pComm;
113 }
114
115 @Override
116 public String patternName() {
117 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.xAntennaGainNotMedium";
118 }
119
120 @Override
121 public List<String> parameterNames() {
122 return XAntennaGainNotMedium.Match.parameterNames;
123 }
124
125 @Override
126 public Object[] toArray() {
127 return new Object[]{fComm};
128 }
129
130 @Override
131 public XAntennaGainNotMedium.Match toImmutable() {
132 return isMutable() ? newMatch(fComm) : this;
133 }
134
135 @Override
136 public String prettyPrint() {
137 StringBuilder result = new StringBuilder();
138 result.append("\"Comm\"=" + prettyPrintValue(fComm));
139 return result.toString();
140 }
141
142 @Override
143 public int hashCode() {
144 return Objects.hash(fComm);
145 }
146
147 @Override
148 public boolean equals(final Object obj) {
149 if (this == obj)
150 return true;
151 if (obj == null) {
152 return false;
153 }
154 if ((obj instanceof XAntennaGainNotMedium.Match)) {
155 XAntennaGainNotMedium.Match other = (XAntennaGainNotMedium.Match) obj;
156 return Objects.equals(fComm, other.fComm);
157 } else {
158 // this should be infrequent
159 if (!(obj instanceof IPatternMatch)) {
160 return false;
161 }
162 IPatternMatch otherSig = (IPatternMatch) obj;
163 return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray());
164 }
165 }
166
167 @Override
168 public XAntennaGainNotMedium specification() {
169 return XAntennaGainNotMedium.instance();
170 }
171
172 /**
173 * Returns an empty, mutable match.
174 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
175 *
176 * @return the empty match.
177 *
178 */
179 public static XAntennaGainNotMedium.Match newEmptyMatch() {
180 return new Mutable(null);
181 }
182
183 /**
184 * Returns a mutable (partial) match.
185 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
186 *
187 * @param pComm the fixed value of pattern parameter Comm, or null if not bound.
188 * @return the new, mutable (partial) match object.
189 *
190 */
191 public static XAntennaGainNotMedium.Match newMutableMatch(final CommSubsystem pComm) {
192 return new Mutable(pComm);
193 }
194
195 /**
196 * Returns a new (partial) match.
197 * This can be used e.g. to call the matcher with a partial match.
198 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
199 * @param pComm the fixed value of pattern parameter Comm, or null if not bound.
200 * @return the (partial) match object.
201 *
202 */
203 public static XAntennaGainNotMedium.Match newMatch(final CommSubsystem pComm) {
204 return new Immutable(pComm);
205 }
206
207 private static final class Mutable extends XAntennaGainNotMedium.Match {
208 Mutable(final CommSubsystem pComm) {
209 super(pComm);
210 }
211
212 @Override
213 public boolean isMutable() {
214 return true;
215 }
216 }
217
218 private static final class Immutable extends XAntennaGainNotMedium.Match {
219 Immutable(final CommSubsystem pComm) {
220 super(pComm);
221 }
222
223 @Override
224 public boolean isMutable() {
225 return false;
226 }
227 }
228 }
229
230 /**
231 * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.xAntennaGainNotMedium pattern,
232 * providing pattern-specific query methods.
233 *
234 * <p>Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)},
235 * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}.
236 *
237 * <p>Matches of the pattern will be represented as {@link Match}.
238 *
239 * <p>Original source:
240 * <code><pre>
241 * // X-band transmitters may only be combined with a medium gain antenna
242 *
243 * {@literal @}Constraint(severity = "error", key = {Comm},
244 * message = "X-band transceiver must be combined with a medium gain antenna.")
245 * pattern xAntennaGainNotMedium(Comm : CommSubsystem) {
246 * CommSubsystem.band(Comm, TransceiverBand::X);
247 * neg find commSubsystemGainMedium(Comm);
248 * }
249 * </pre></code>
250 *
251 * @see Match
252 * @see XAntennaGainNotMedium
253 *
254 */
255 public static class Matcher extends BaseMatcher<XAntennaGainNotMedium.Match> {
256 /**
257 * Initializes the pattern matcher within an existing VIATRA Query engine.
258 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
259 *
260 * @param engine the existing VIATRA Query engine in which this matcher will be created.
261 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
262 *
263 */
264 public static XAntennaGainNotMedium.Matcher on(final ViatraQueryEngine engine) {
265 // check if matcher already exists
266 Matcher matcher = engine.getExistingMatcher(querySpecification());
267 if (matcher == null) {
268 matcher = (Matcher)engine.getMatcher(querySpecification());
269 }
270 return matcher;
271 }
272
273 /**
274 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
275 * @return an initialized matcher
276 * @noreference This method is for internal matcher initialization by the framework, do not call it manually.
277 *
278 */
279 public static XAntennaGainNotMedium.Matcher create() {
280 return new Matcher();
281 }
282
283 private static final int POSITION_COMM = 0;
284
285 private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(XAntennaGainNotMedium.Matcher.class);
286
287 /**
288 * Initializes the pattern matcher within an existing VIATRA Query engine.
289 * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned.
290 *
291 * @param engine the existing VIATRA Query engine in which this matcher will be created.
292 * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation
293 *
294 */
295 private Matcher() {
296 super(querySpecification());
297 }
298
299 /**
300 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
301 * @param pComm the fixed value of pattern parameter Comm, or null if not bound.
302 * @return matches represented as a Match object.
303 *
304 */
305 public Collection<XAntennaGainNotMedium.Match> getAllMatches(final CommSubsystem pComm) {
306 return rawStreamAllMatches(new Object[]{pComm}).collect(Collectors.toSet());
307 }
308
309 /**
310 * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters.
311 * </p>
312 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
313 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
314 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
315 * @param pComm the fixed value of pattern parameter Comm, or null if not bound.
316 * @return a stream of matches represented as a Match object.
317 *
318 */
319 public Stream<XAntennaGainNotMedium.Match> streamAllMatches(final CommSubsystem pComm) {
320 return rawStreamAllMatches(new Object[]{pComm});
321 }
322
323 /**
324 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
325 * Neither determinism nor randomness of selection is guaranteed.
326 * @param pComm the fixed value of pattern parameter Comm, or null if not bound.
327 * @return a match represented as a Match object, or null if no match is found.
328 *
329 */
330 public Optional<XAntennaGainNotMedium.Match> getOneArbitraryMatch(final CommSubsystem pComm) {
331 return rawGetOneArbitraryMatch(new Object[]{pComm});
332 }
333
334 /**
335 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
336 * under any possible substitution of the unspecified parameters (if any).
337 * @param pComm the fixed value of pattern parameter Comm, or null if not bound.
338 * @return true if the input is a valid (partial) match of the pattern.
339 *
340 */
341 public boolean hasMatch(final CommSubsystem pComm) {
342 return rawHasMatch(new Object[]{pComm});
343 }
344
345 /**
346 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
347 * @param pComm the fixed value of pattern parameter Comm, or null if not bound.
348 * @return the number of pattern matches found.
349 *
350 */
351 public int countMatches(final CommSubsystem pComm) {
352 return rawCountMatches(new Object[]{pComm});
353 }
354
355 /**
356 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
357 * Neither determinism nor randomness of selection is guaranteed.
358 * @param pComm the fixed value of pattern parameter Comm, or null if not bound.
359 * @param processor the action that will process the selected match.
360 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
361 *
362 */
363 public boolean forOneArbitraryMatch(final CommSubsystem pComm, final Consumer<? super XAntennaGainNotMedium.Match> processor) {
364 return rawForOneArbitraryMatch(new Object[]{pComm}, processor);
365 }
366
367 /**
368 * Returns a new (partial) match.
369 * This can be used e.g. to call the matcher with a partial match.
370 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
371 * @param pComm the fixed value of pattern parameter Comm, or null if not bound.
372 * @return the (partial) match object.
373 *
374 */
375 public XAntennaGainNotMedium.Match newMatch(final CommSubsystem pComm) {
376 return XAntennaGainNotMedium.Match.newMatch(pComm);
377 }
378
379 /**
380 * Retrieve the set of values that occur in matches for Comm.
381 * @return the Set of all values or empty set if there are no matches
382 *
383 */
384 protected Stream<CommSubsystem> rawStreamAllValuesOfComm(final Object[] parameters) {
385 return rawStreamAllValues(POSITION_COMM, parameters).map(CommSubsystem.class::cast);
386 }
387
388 /**
389 * Retrieve the set of values that occur in matches for Comm.
390 * @return the Set of all values or empty set if there are no matches
391 *
392 */
393 public Set<CommSubsystem> getAllValuesOfComm() {
394 return rawStreamAllValuesOfComm(emptyArray()).collect(Collectors.toSet());
395 }
396
397 /**
398 * Retrieve the set of values that occur in matches for Comm.
399 * @return the Set of all values or empty set if there are no matches
400 *
401 */
402 public Stream<CommSubsystem> streamAllValuesOfComm() {
403 return rawStreamAllValuesOfComm(emptyArray());
404 }
405
406 @Override
407 protected XAntennaGainNotMedium.Match tupleToMatch(final Tuple t) {
408 try {
409 return XAntennaGainNotMedium.Match.newMatch((CommSubsystem) t.get(POSITION_COMM));
410 } catch(ClassCastException e) {
411 LOGGER.error("Element(s) in tuple not properly typed!",e);
412 return null;
413 }
414 }
415
416 @Override
417 protected XAntennaGainNotMedium.Match arrayToMatch(final Object[] match) {
418 try {
419 return XAntennaGainNotMedium.Match.newMatch((CommSubsystem) match[POSITION_COMM]);
420 } catch(ClassCastException e) {
421 LOGGER.error("Element(s) in array not properly typed!",e);
422 return null;
423 }
424 }
425
426 @Override
427 protected XAntennaGainNotMedium.Match arrayToMatchMutable(final Object[] match) {
428 try {
429 return XAntennaGainNotMedium.Match.newMutableMatch((CommSubsystem) match[POSITION_COMM]);
430 } catch(ClassCastException e) {
431 LOGGER.error("Element(s) in array not properly typed!",e);
432 return null;
433 }
434 }
435
436 /**
437 * @return the singleton instance of the query specification of this pattern
438 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
439 *
440 */
441 public static IQuerySpecification<XAntennaGainNotMedium.Matcher> querySpecification() {
442 return XAntennaGainNotMedium.instance();
443 }
444 }
445
446 private XAntennaGainNotMedium() {
447 super(GeneratedPQuery.INSTANCE);
448 }
449
450 /**
451 * @return the singleton instance of the query specification
452 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
453 *
454 */
455 public static XAntennaGainNotMedium instance() {
456 try{
457 return LazyHolder.INSTANCE;
458 } catch (ExceptionInInitializerError err) {
459 throw processInitializerError(err);
460 }
461 }
462
463 @Override
464 protected XAntennaGainNotMedium.Matcher instantiate(final ViatraQueryEngine engine) {
465 return XAntennaGainNotMedium.Matcher.on(engine);
466 }
467
468 @Override
469 public XAntennaGainNotMedium.Matcher instantiate() {
470 return XAntennaGainNotMedium.Matcher.create();
471 }
472
473 @Override
474 public XAntennaGainNotMedium.Match newEmptyMatch() {
475 return XAntennaGainNotMedium.Match.newEmptyMatch();
476 }
477
478 @Override
479 public XAntennaGainNotMedium.Match newMatch(final Object... parameters) {
480 return XAntennaGainNotMedium.Match.newMatch((satellite.CommSubsystem) parameters[0]);
481 }
482
483 /**
484 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created
485 * <b>not</b> at the class load time of the outer class,
486 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
487 *
488 * <p> This workaround is required e.g. to support recursion.
489 *
490 */
491 private static class LazyHolder {
492 private static final XAntennaGainNotMedium INSTANCE = new XAntennaGainNotMedium();
493
494 /**
495 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
496 * This initialization order is required to support indirect recursion.
497 *
498 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
499 *
500 */
501 private static final Object STATIC_INITIALIZER = ensureInitialized();
502
503 public static Object ensureInitialized() {
504 INSTANCE.ensureInitializedInternal();
505 return null;
506 }
507 }
508
509 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
510 private static final XAntennaGainNotMedium.GeneratedPQuery INSTANCE = new GeneratedPQuery();
511
512 private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT);
513
514 private final List<PParameter> parameters = Arrays.asList(parameter_Comm);
515
516 private GeneratedPQuery() {
517 super(PVisibility.PUBLIC);
518 }
519
520 @Override
521 public String getFullyQualifiedName() {
522 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.xAntennaGainNotMedium";
523 }
524
525 @Override
526 public List<String> getParameterNames() {
527 return Arrays.asList("Comm");
528 }
529
530 @Override
531 public List<PParameter> getParameters() {
532 return parameters;
533 }
534
535 @Override
536 public Set<PBody> doGetContainedBodies() {
537 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
538 Set<PBody> bodies = new LinkedHashSet<>();
539 {
540 PBody body = new PBody(this);
541 PVariable var_Comm = body.getOrCreateVariableByName("Comm");
542 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
543 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
544 new ExportedParameter(body, var_Comm, parameter_Comm)
545 ));
546 // CommSubsystem.band(Comm, TransceiverBand::X)
547 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
548 new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "TransceiverBand", "X").getInstance());
549 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
550 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
551 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "band")));
552 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "TransceiverBand")));
553 new Equality(body, var__virtual_1_, var__virtual_0_);
554 // neg find commSubsystemGainMedium(Comm)
555 new NegativePatternCall(body, Tuples.flatTupleOf(var_Comm), CommSubsystemGainMedium.instance().getInternalQueryRepresentation());
556 bodies.add(body);
557 }
558 {
559 PAnnotation annotation = new PAnnotation("Constraint");
560 annotation.addAttribute("severity", "error");
561 annotation.addAttribute("key", Arrays.asList(new Object[] {
562 new ParameterReference("Comm")
563 }));
564 annotation.addAttribute("message", "X-band transceiver must be combined with a medium gain antenna.");
565 addAnnotation(annotation);
566 }
567 return bodies;
568 }
569 }
570}
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
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.CubeSat6U.java._trace
Binary files 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
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.MatchingCommSubsystem.java._trace
Binary files 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 @@
36/.CubeSat3U.java._trace 36/.CubeSat3U.java._trace
37/.LinkAllowed.java._trace 37/.LinkAllowed.java._trace
38/.IndirectLinkAllowed.java._trace 38/.IndirectLinkAllowed.java._trace
39/AdditionalCommSubsystemCost.java
40/AtLeastTwoInterferometryPayloads.java
41/BasePrice.java
42/CommSubsystemBand.java
43/CommSubsystemBandUhf.java
44/CommSubsystemGain.java
45/CommSubsystemGainLow.java
46/CommSubsystemGainMedium.java
47/CubeSat3U.java
48/DirectCommunicationLink.java
49/GroundStationNetwork.java
50/IncomingData.java
51/IndirectCommunicationLink.java
52/IndirectLinkAllowed.java
53/InterferometryPayloadCost.java
54/LinkAllowed.java
55/MatchingAntenna.java
56/MissionCost.java
57/MissionCoverage.java
58/MissionTime.java
59/SatelliteQueriesAll.java
60/ScienceData.java
61/SpacecraftCost.java
62/SpacecraftUplink.java
63/SpacecraftWithInterferometryPayload.java
64/SpacecraftWithTwoCommSubsystems.java
65/TransmitRate.java
66/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 @@
1/**
2 * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal;
5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftWithTwoCommSubsystems;
7import java.util.Arrays;
8import java.util.LinkedHashSet;
9import java.util.List;
10import java.util.Set;
11import org.eclipse.emf.ecore.EClass;
12import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
13import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher;
14import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
15import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
16import org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey;
17import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
18import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
19import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
20import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
21import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall;
22import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.TypeFilterConstraint;
23import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue;
24import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall;
25import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
26import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
27import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
28import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
29import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
30
31/**
32 * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way.
33 *
34 * <p>Original source:
35 * <code><pre>
36 * private pattern additionalCommSubsystemCost(Spacecraft : Spacecraft, Cost : java Double) {
37 * find spacecraftWithTwoCommSubsystems(Spacecraft);
38 * Cost == 100000.0;
39 * } or {
40 * neg find spacecraftWithTwoCommSubsystems(Spacecraft);
41 * Cost == 0.0;
42 * }
43 * </pre></code>
44 *
45 * @see GenericPatternMatcher
46 * @see GenericPatternMatch
47 *
48 */
49@SuppressWarnings("all")
50public final class AdditionalCommSubsystemCost extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher {
51 private AdditionalCommSubsystemCost() {
52 super(GeneratedPQuery.INSTANCE);
53 }
54
55 /**
56 * @return the singleton instance of the query specification
57 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
58 *
59 */
60 public static AdditionalCommSubsystemCost instance() {
61 try{
62 return LazyHolder.INSTANCE;
63 } catch (ExceptionInInitializerError err) {
64 throw processInitializerError(err);
65 }
66 }
67
68 /**
69 * 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: <unset>) (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
70 * <b>not</b> at the class load time of the outer class,
71 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
72 *
73 * <p> This workaround is required e.g. to support recursion.
74 *
75 */
76 private static class LazyHolder {
77 private static final AdditionalCommSubsystemCost INSTANCE = new AdditionalCommSubsystemCost();
78
79 /**
80 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
81 * This initialization order is required to support indirect recursion.
82 *
83 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
84 *
85 */
86 private static final Object STATIC_INITIALIZER = ensureInitialized();
87
88 public static Object ensureInitialized() {
89 INSTANCE.ensureInitializedInternal();
90 return null;
91 }
92 }
93
94 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
95 private static final AdditionalCommSubsystemCost.GeneratedPQuery INSTANCE = new GeneratedPQuery();
96
97 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT);
98
99 private final PParameter parameter_Cost = new PParameter("Cost", "java.lang.Double", new JavaTransitiveInstancesKey(java.lang.Double.class), PParameterDirection.INOUT);
100
101 private final List<PParameter> parameters = Arrays.asList(parameter_Spacecraft, parameter_Cost);
102
103 private GeneratedPQuery() {
104 super(PVisibility.PRIVATE);
105 }
106
107 @Override
108 public String getFullyQualifiedName() {
109 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.additionalCommSubsystemCost";
110 }
111
112 @Override
113 public List<String> getParameterNames() {
114 return Arrays.asList("Spacecraft","Cost");
115 }
116
117 @Override
118 public List<PParameter> getParameters() {
119 return parameters;
120 }
121
122 @Override
123 public Set<PBody> doGetContainedBodies() {
124 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
125 Set<PBody> bodies = new LinkedHashSet<>();
126 {
127 PBody body = new PBody(this);
128 PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft");
129 PVariable var_Cost = body.getOrCreateVariableByName("Cost");
130 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
131 new TypeFilterConstraint(body, Tuples.flatTupleOf(var_Cost), new JavaTransitiveInstancesKey(java.lang.Double.class));
132 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
133 new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft),
134 new ExportedParameter(body, var_Cost, parameter_Cost)
135 ));
136 // find spacecraftWithTwoCommSubsystems(Spacecraft)
137 new PositivePatternCall(body, Tuples.flatTupleOf(var_Spacecraft), SpacecraftWithTwoCommSubsystems.instance().getInternalQueryRepresentation());
138 // Cost == 100000.0
139 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
140 new ConstantValue(body, var__virtual_0_, 100000.0);
141 new Equality(body, var_Cost, var__virtual_0_);
142 bodies.add(body);
143 }
144 {
145 PBody body = new PBody(this);
146 PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft");
147 PVariable var_Cost = body.getOrCreateVariableByName("Cost");
148 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
149 new TypeFilterConstraint(body, Tuples.flatTupleOf(var_Cost), new JavaTransitiveInstancesKey(java.lang.Double.class));
150 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
151 new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft),
152 new ExportedParameter(body, var_Cost, parameter_Cost)
153 ));
154 // neg find spacecraftWithTwoCommSubsystems(Spacecraft)
155 new NegativePatternCall(body, Tuples.flatTupleOf(var_Spacecraft), SpacecraftWithTwoCommSubsystems.instance().getInternalQueryRepresentation());
156 // Cost == 0.0
157 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
158 new ConstantValue(body, var__virtual_0_, 0.0);
159 new Equality(body, var_Cost, var__virtual_0_);
160 bodies.add(body);
161 }
162 return bodies;
163 }
164 }
165
166 private static double evaluateExpression_1_1() {
167 return 100000.0;
168 }
169
170 private static double evaluateExpression_2_1() {
171 return 0.0;
172 }
173}
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 @@
1/**
2 * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal;
5
6import java.util.Arrays;
7import java.util.LinkedHashSet;
8import java.util.List;
9import java.util.Set;
10import org.eclipse.emf.ecore.EClass;
11import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
12import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher;
13import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
14import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
15import org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey;
16import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
17import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
18import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
19import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
20import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.TypeFilterConstraint;
21import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue;
22import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
23import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
24import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
25import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
26import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
27
28/**
29 * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way.
30 *
31 * <p>Original source:
32 * <code><pre>
33 * private pattern basePrice(Spacecraft : Spacecraft, BasePrice : java Double) {
34 * CubeSat3U(Spacecraft);
35 * BasePrice == 250000.0;
36 * } or {
37 * CubeSat6U(Spacecraft);
38 * BasePrice == 750000.0;
39 * } or {
40 * SmallSat(Spacecraft);
41 * BasePrice == 3000000.0;
42 * }
43 * </pre></code>
44 *
45 * @see GenericPatternMatcher
46 * @see GenericPatternMatch
47 *
48 */
49@SuppressWarnings("all")
50public final class BasePrice extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher {
51 private BasePrice() {
52 super(GeneratedPQuery.INSTANCE);
53 }
54
55 /**
56 * @return the singleton instance of the query specification
57 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
58 *
59 */
60 public static BasePrice instance() {
61 try{
62 return LazyHolder.INSTANCE;
63 } catch (ExceptionInInitializerError err) {
64 throw processInitializerError(err);
65 }
66 }
67
68 /**
69 * 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: <unset>) (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
70 * <b>not</b> at the class load time of the outer class,
71 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
72 *
73 * <p> This workaround is required e.g. to support recursion.
74 *
75 */
76 private static class LazyHolder {
77 private static final BasePrice INSTANCE = new BasePrice();
78
79 /**
80 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
81 * This initialization order is required to support indirect recursion.
82 *
83 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
84 *
85 */
86 private static final Object STATIC_INITIALIZER = ensureInitialized();
87
88 public static Object ensureInitialized() {
89 INSTANCE.ensureInitializedInternal();
90 return null;
91 }
92 }
93
94 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
95 private static final BasePrice.GeneratedPQuery INSTANCE = new GeneratedPQuery();
96
97 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT);
98
99 private final PParameter parameter_BasePrice = new PParameter("BasePrice", "java.lang.Double", new JavaTransitiveInstancesKey(java.lang.Double.class), PParameterDirection.INOUT);
100
101 private final List<PParameter> parameters = Arrays.asList(parameter_Spacecraft, parameter_BasePrice);
102
103 private GeneratedPQuery() {
104 super(PVisibility.PRIVATE);
105 }
106
107 @Override
108 public String getFullyQualifiedName() {
109 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.basePrice";
110 }
111
112 @Override
113 public List<String> getParameterNames() {
114 return Arrays.asList("Spacecraft","BasePrice");
115 }
116
117 @Override
118 public List<PParameter> getParameters() {
119 return parameters;
120 }
121
122 @Override
123 public Set<PBody> doGetContainedBodies() {
124 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
125 Set<PBody> bodies = new LinkedHashSet<>();
126 {
127 PBody body = new PBody(this);
128 PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft");
129 PVariable var_BasePrice = body.getOrCreateVariableByName("BasePrice");
130 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
131 new TypeFilterConstraint(body, Tuples.flatTupleOf(var_BasePrice), new JavaTransitiveInstancesKey(java.lang.Double.class));
132 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
133 new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft),
134 new ExportedParameter(body, var_BasePrice, parameter_BasePrice)
135 ));
136 // CubeSat3U(Spacecraft)
137 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CubeSat3U")));
138 // BasePrice == 250000.0
139 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
140 new ConstantValue(body, var__virtual_0_, 250000.0);
141 new Equality(body, var_BasePrice, var__virtual_0_);
142 bodies.add(body);
143 }
144 {
145 PBody body = new PBody(this);
146 PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft");
147 PVariable var_BasePrice = body.getOrCreateVariableByName("BasePrice");
148 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
149 new TypeFilterConstraint(body, Tuples.flatTupleOf(var_BasePrice), new JavaTransitiveInstancesKey(java.lang.Double.class));
150 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
151 new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft),
152 new ExportedParameter(body, var_BasePrice, parameter_BasePrice)
153 ));
154 // CubeSat6U(Spacecraft)
155 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CubeSat6U")));
156 // BasePrice == 750000.0
157 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
158 new ConstantValue(body, var__virtual_0_, 750000.0);
159 new Equality(body, var_BasePrice, var__virtual_0_);
160 bodies.add(body);
161 }
162 {
163 PBody body = new PBody(this);
164 PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft");
165 PVariable var_BasePrice = body.getOrCreateVariableByName("BasePrice");
166 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
167 new TypeFilterConstraint(body, Tuples.flatTupleOf(var_BasePrice), new JavaTransitiveInstancesKey(java.lang.Double.class));
168 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
169 new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft),
170 new ExportedParameter(body, var_BasePrice, parameter_BasePrice)
171 ));
172 // SmallSat(Spacecraft)
173 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "SmallSat")));
174 // BasePrice == 3000000.0
175 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
176 new ConstantValue(body, var__virtual_0_, 3000000.0);
177 new Equality(body, var_BasePrice, var__virtual_0_);
178 bodies.add(body);
179 }
180 return bodies;
181 }
182 }
183
184 private static double evaluateExpression_1_1() {
185 return 250000.0;
186 }
187
188 private static double evaluateExpression_2_1() {
189 return 750000.0;
190 }
191
192 private static double evaluateExpression_3_1() {
193 return 3000000.0;
194 }
195}
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 @@
1/**
2 * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal;
5
6import java.util.Arrays;
7import java.util.LinkedHashSet;
8import java.util.List;
9import java.util.Set;
10import org.eclipse.emf.ecore.EClass;
11import org.eclipse.emf.ecore.EDataType;
12import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
13import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher;
14import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
15import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey;
16import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey;
17import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
18import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
19import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
20import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
21import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
22import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
23import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
24import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
25import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
26import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
27
28/**
29 * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way.
30 *
31 * <p>Original source:
32 * <code><pre>
33 * private pattern commSubsystemBand(Comm : CommSubsystem, Band : TransceiverBand) {
34 * CommSubsystem.band(Comm, Band);
35 * }
36 * </pre></code>
37 *
38 * @see GenericPatternMatcher
39 * @see GenericPatternMatch
40 *
41 */
42@SuppressWarnings("all")
43public final class CommSubsystemBand extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher {
44 private CommSubsystemBand() {
45 super(GeneratedPQuery.INSTANCE);
46 }
47
48 /**
49 * @return the singleton instance of the query specification
50 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
51 *
52 */
53 public static CommSubsystemBand instance() {
54 try{
55 return LazyHolder.INSTANCE;
56 } catch (ExceptionInInitializerError err) {
57 throw processInitializerError(err);
58 }
59 }
60
61 /**
62 * 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: <unset>) (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
63 * <b>not</b> at the class load time of the outer class,
64 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
65 *
66 * <p> This workaround is required e.g. to support recursion.
67 *
68 */
69 private static class LazyHolder {
70 private static final CommSubsystemBand INSTANCE = new CommSubsystemBand();
71
72 /**
73 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
74 * This initialization order is required to support indirect recursion.
75 *
76 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
77 *
78 */
79 private static final Object STATIC_INITIALIZER = ensureInitialized();
80
81 public static Object ensureInitialized() {
82 INSTANCE.ensureInitializedInternal();
83 return null;
84 }
85 }
86
87 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
88 private static final CommSubsystemBand.GeneratedPQuery INSTANCE = new GeneratedPQuery();
89
90 private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT);
91
92 private final PParameter parameter_Band = new PParameter("Band", "satellite.TransceiverBand", new EDataTypeInSlotsKey((EDataType)getClassifierLiteralSafe("http://www.example.org/satellite", "TransceiverBand")), PParameterDirection.INOUT);
93
94 private final List<PParameter> parameters = Arrays.asList(parameter_Comm, parameter_Band);
95
96 private GeneratedPQuery() {
97 super(PVisibility.PRIVATE);
98 }
99
100 @Override
101 public String getFullyQualifiedName() {
102 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemBand";
103 }
104
105 @Override
106 public List<String> getParameterNames() {
107 return Arrays.asList("Comm","Band");
108 }
109
110 @Override
111 public List<PParameter> getParameters() {
112 return parameters;
113 }
114
115 @Override
116 public Set<PBody> doGetContainedBodies() {
117 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
118 Set<PBody> bodies = new LinkedHashSet<>();
119 {
120 PBody body = new PBody(this);
121 PVariable var_Comm = body.getOrCreateVariableByName("Comm");
122 PVariable var_Band = body.getOrCreateVariableByName("Band");
123 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
124 new TypeConstraint(body, Tuples.flatTupleOf(var_Band), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "TransceiverBand")));
125 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
126 new ExportedParameter(body, var_Comm, parameter_Comm),
127 new ExportedParameter(body, var_Band, parameter_Band)
128 ));
129 // CommSubsystem.band(Comm, Band)
130 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
131 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
132 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "band")));
133 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "TransceiverBand")));
134 new Equality(body, var__virtual_0_, var_Band);
135 bodies.add(body);
136 }
137 return bodies;
138 }
139 }
140}
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;
8import java.util.List; 8import java.util.List;
9import java.util.Set; 9import java.util.Set;
10import org.eclipse.emf.ecore.EClass; 10import org.eclipse.emf.ecore.EClass;
11import org.eclipse.emf.ecore.EDataType;
12import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; 11import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
13import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; 12import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher;
14import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; 13import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
15import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey;
16import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey;
17import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; 14import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
18import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; 15import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
19import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; 16import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
20import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
21import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; 17import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
22import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue;
23import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; 18import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
24import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; 19import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
25import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; 20import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
@@ -31,8 +26,8 @@ import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
31 * 26 *
32 * <p>Original source: 27 * <p>Original source:
33 * <code><pre> 28 * <code><pre>
34 * private pattern commSubsystemBandUhf(Comm : CommSubsystem) { 29 * private pattern commSubsystemBandUhf(Comm : UHFCommSubsystem) {
35 * CommSubsystem.band(Comm, TransceiverBand::UHF); 30 * UHFCommSubsystem(Comm);
36 * } 31 * }
37 * </pre></code> 32 * </pre></code>
38 * 33 *
@@ -88,7 +83,7 @@ public final class CommSubsystemBandUhf extends BaseGeneratedEMFQuerySpecificati
88 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 83 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
89 private static final CommSubsystemBandUhf.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 84 private static final CommSubsystemBandUhf.GeneratedPQuery INSTANCE = new GeneratedPQuery();
90 85
91 private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); 86 private final PParameter parameter_Comm = new PParameter("Comm", "satellite.UHFCommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "UHFCommSubsystem")), PParameterDirection.INOUT);
92 87
93 private final List<PParameter> parameters = Arrays.asList(parameter_Comm); 88 private final List<PParameter> parameters = Arrays.asList(parameter_Comm);
94 89
@@ -118,18 +113,12 @@ public final class CommSubsystemBandUhf extends BaseGeneratedEMFQuerySpecificati
118 { 113 {
119 PBody body = new PBody(this); 114 PBody body = new PBody(this);
120 PVariable var_Comm = body.getOrCreateVariableByName("Comm"); 115 PVariable var_Comm = body.getOrCreateVariableByName("Comm");
121 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); 116 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "UHFCommSubsystem")));
122 body.setSymbolicParameters(Arrays.<ExportedParameter>asList( 117 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
123 new ExportedParameter(body, var_Comm, parameter_Comm) 118 new ExportedParameter(body, var_Comm, parameter_Comm)
124 )); 119 ));
125 // CommSubsystem.band(Comm, TransceiverBand::UHF) 120 // UHFCommSubsystem(Comm)
126 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); 121 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "UHFCommSubsystem")));
127 new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "TransceiverBand", "UHF").getInstance());
128 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
129 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
130 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "band")));
131 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "TransceiverBand")));
132 new Equality(body, var__virtual_1_, var__virtual_0_);
133 bodies.add(body); 122 bodies.add(body);
134 } 123 }
135 return bodies; 124 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 @@
1/**
2 * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal;
5
6import java.util.Arrays;
7import java.util.LinkedHashSet;
8import java.util.List;
9import java.util.Set;
10import org.eclipse.emf.ecore.EClass;
11import org.eclipse.emf.ecore.EDataType;
12import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
13import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher;
14import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
15import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey;
16import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey;
17import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
18import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
19import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
20import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
21import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
22import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
23import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
24import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
25import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
26import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
27
28/**
29 * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way.
30 *
31 * <p>Original source:
32 * <code><pre>
33 * private pattern commSubsystemGain(Comm : CommSubsystem, Gain : AntennaGain) {
34 * CommSubsystem.gain(Comm, Gain);
35 * }
36 * </pre></code>
37 *
38 * @see GenericPatternMatcher
39 * @see GenericPatternMatch
40 *
41 */
42@SuppressWarnings("all")
43public final class CommSubsystemGain extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher {
44 private CommSubsystemGain() {
45 super(GeneratedPQuery.INSTANCE);
46 }
47
48 /**
49 * @return the singleton instance of the query specification
50 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
51 *
52 */
53 public static CommSubsystemGain instance() {
54 try{
55 return LazyHolder.INSTANCE;
56 } catch (ExceptionInInitializerError err) {
57 throw processInitializerError(err);
58 }
59 }
60
61 /**
62 * 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: <unset>) (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
63 * <b>not</b> at the class load time of the outer class,
64 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
65 *
66 * <p> This workaround is required e.g. to support recursion.
67 *
68 */
69 private static class LazyHolder {
70 private static final CommSubsystemGain INSTANCE = new CommSubsystemGain();
71
72 /**
73 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
74 * This initialization order is required to support indirect recursion.
75 *
76 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
77 *
78 */
79 private static final Object STATIC_INITIALIZER = ensureInitialized();
80
81 public static Object ensureInitialized() {
82 INSTANCE.ensureInitializedInternal();
83 return null;
84 }
85 }
86
87 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
88 private static final CommSubsystemGain.GeneratedPQuery INSTANCE = new GeneratedPQuery();
89
90 private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT);
91
92 private final PParameter parameter_Gain = new PParameter("Gain", "satellite.AntennaGain", new EDataTypeInSlotsKey((EDataType)getClassifierLiteralSafe("http://www.example.org/satellite", "AntennaGain")), PParameterDirection.INOUT);
93
94 private final List<PParameter> parameters = Arrays.asList(parameter_Comm, parameter_Gain);
95
96 private GeneratedPQuery() {
97 super(PVisibility.PRIVATE);
98 }
99
100 @Override
101 public String getFullyQualifiedName() {
102 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemGain";
103 }
104
105 @Override
106 public List<String> getParameterNames() {
107 return Arrays.asList("Comm","Gain");
108 }
109
110 @Override
111 public List<PParameter> getParameters() {
112 return parameters;
113 }
114
115 @Override
116 public Set<PBody> doGetContainedBodies() {
117 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
118 Set<PBody> bodies = new LinkedHashSet<>();
119 {
120 PBody body = new PBody(this);
121 PVariable var_Comm = body.getOrCreateVariableByName("Comm");
122 PVariable var_Gain = body.getOrCreateVariableByName("Gain");
123 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
124 new TypeConstraint(body, Tuples.flatTupleOf(var_Gain), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "AntennaGain")));
125 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
126 new ExportedParameter(body, var_Comm, parameter_Comm),
127 new ExportedParameter(body, var_Gain, parameter_Gain)
128 ));
129 // CommSubsystem.gain(Comm, Gain)
130 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
131 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
132 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "gain")));
133 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "AntennaGain")));
134 new Equality(body, var__virtual_0_, var_Gain);
135 bodies.add(body);
136 }
137 return bodies;
138 }
139 }
140}
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 @@
1/**
2 * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal;
5
6import java.util.Arrays;
7import java.util.LinkedHashSet;
8import java.util.List;
9import java.util.Set;
10import org.eclipse.emf.ecore.EClass;
11import org.eclipse.emf.ecore.EDataType;
12import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
13import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher;
14import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
15import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey;
16import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey;
17import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
18import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
19import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
20import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
21import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
22import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue;
23import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
24import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
25import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
26import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
27import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
28
29/**
30 * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way.
31 *
32 * <p>Original source:
33 * <code><pre>
34 * private pattern commSubsystemGainMedium(Comm : CommSubsystem) {
35 * CommSubsystem.gain(Comm, AntennaGain::MEDIUM);
36 * }
37 * </pre></code>
38 *
39 * @see GenericPatternMatcher
40 * @see GenericPatternMatch
41 *
42 */
43@SuppressWarnings("all")
44public final class CommSubsystemGainMedium extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher {
45 private CommSubsystemGainMedium() {
46 super(GeneratedPQuery.INSTANCE);
47 }
48
49 /**
50 * @return the singleton instance of the query specification
51 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
52 *
53 */
54 public static CommSubsystemGainMedium instance() {
55 try{
56 return LazyHolder.INSTANCE;
57 } catch (ExceptionInInitializerError err) {
58 throw processInitializerError(err);
59 }
60 }
61
62 /**
63 * 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: <unset>) (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
64 * <b>not</b> at the class load time of the outer class,
65 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
66 *
67 * <p> This workaround is required e.g. to support recursion.
68 *
69 */
70 private static class LazyHolder {
71 private static final CommSubsystemGainMedium INSTANCE = new CommSubsystemGainMedium();
72
73 /**
74 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
75 * This initialization order is required to support indirect recursion.
76 *
77 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
78 *
79 */
80 private static final Object STATIC_INITIALIZER = ensureInitialized();
81
82 public static Object ensureInitialized() {
83 INSTANCE.ensureInitializedInternal();
84 return null;
85 }
86 }
87
88 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
89 private static final CommSubsystemGainMedium.GeneratedPQuery INSTANCE = new GeneratedPQuery();
90
91 private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT);
92
93 private final List<PParameter> parameters = Arrays.asList(parameter_Comm);
94
95 private GeneratedPQuery() {
96 super(PVisibility.PRIVATE);
97 }
98
99 @Override
100 public String getFullyQualifiedName() {
101 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemGainMedium";
102 }
103
104 @Override
105 public List<String> getParameterNames() {
106 return Arrays.asList("Comm");
107 }
108
109 @Override
110 public List<PParameter> getParameters() {
111 return parameters;
112 }
113
114 @Override
115 public Set<PBody> doGetContainedBodies() {
116 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
117 Set<PBody> bodies = new LinkedHashSet<>();
118 {
119 PBody body = new PBody(this);
120 PVariable var_Comm = body.getOrCreateVariableByName("Comm");
121 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
122 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
123 new ExportedParameter(body, var_Comm, parameter_Comm)
124 ));
125 // CommSubsystem.gain(Comm, AntennaGain::MEDIUM)
126 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
127 new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "AntennaGain", "MEDIUM").getInstance());
128 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
129 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
130 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "gain")));
131 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "AntennaGain")));
132 new Equality(body, var__virtual_1_, var__virtual_0_);
133 bodies.add(body);
134 }
135 return bodies;
136 }
137 }
138}
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/CubeSat6U.java
index fd24f163..e4526a02 100644
--- 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/CubeSat6U.java
@@ -8,18 +8,13 @@ import java.util.LinkedHashSet;
8import java.util.List; 8import java.util.List;
9import java.util.Set; 9import java.util.Set;
10import org.eclipse.emf.ecore.EClass; 10import org.eclipse.emf.ecore.EClass;
11import org.eclipse.emf.ecore.EDataType;
12import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; 11import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
13import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; 12import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher;
14import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; 13import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
15import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey;
16import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey;
17import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; 14import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
18import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; 15import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
19import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; 16import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
20import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
21import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; 17import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
22import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue;
23import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; 18import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
24import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; 19import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
25import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; 20import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
@@ -31,8 +26,8 @@ import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
31 * 26 *
32 * <p>Original source: 27 * <p>Original source:
33 * <code><pre> 28 * <code><pre>
34 * private pattern commSubsystemGainLow(Comm : CommSubsystem) { 29 * private pattern cubeSat6U(Sat : CubeSat6U) {
35 * CommSubsystem.gain(Comm, AntennaGain::LOW); 30 * CubeSat6U(Sat);
36 * } 31 * }
37 * </pre></code> 32 * </pre></code>
38 * 33 *
@@ -41,8 +36,8 @@ import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
41 * 36 *
42 */ 37 */
43@SuppressWarnings("all") 38@SuppressWarnings("all")
44public final class CommSubsystemGainLow extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { 39public final class CubeSat6U extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher {
45 private CommSubsystemGainLow() { 40 private CubeSat6U() {
46 super(GeneratedPQuery.INSTANCE); 41 super(GeneratedPQuery.INSTANCE);
47 } 42 }
48 43
@@ -51,7 +46,7 @@ public final class CommSubsystemGainLow extends BaseGeneratedEMFQuerySpecificati
51 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded 46 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
52 * 47 *
53 */ 48 */
54 public static CommSubsystemGainLow instance() { 49 public static CubeSat6U instance() {
55 try{ 50 try{
56 return LazyHolder.INSTANCE; 51 return LazyHolder.INSTANCE;
57 } catch (ExceptionInInitializerError err) { 52 } catch (ExceptionInInitializerError err) {
@@ -60,15 +55,15 @@ public final class CommSubsystemGainLow extends BaseGeneratedEMFQuerySpecificati
60 } 55 }
61 56
62 /** 57 /**
63 * 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: <unset>) (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 58 * 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: <unset>) (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
64 * <b>not</b> at the class load time of the outer class, 59 * <b>not</b> at the class load time of the outer class,
65 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. 60 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
66 * 61 *
67 * <p> This workaround is required e.g. to support recursion. 62 * <p> This workaround is required e.g. to support recursion.
68 * 63 *
69 */ 64 */
70 private static class LazyHolder { 65 private static class LazyHolder {
71 private static final CommSubsystemGainLow INSTANCE = new CommSubsystemGainLow(); 66 private static final CubeSat6U INSTANCE = new CubeSat6U();
72 67
73 /** 68 /**
74 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned. 69 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
@@ -86,11 +81,11 @@ public final class CommSubsystemGainLow extends BaseGeneratedEMFQuerySpecificati
86 } 81 }
87 82
88 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 83 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
89 private static final CommSubsystemGainLow.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 84 private static final CubeSat6U.GeneratedPQuery INSTANCE = new GeneratedPQuery();
90 85
91 private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); 86 private final PParameter parameter_Sat = new PParameter("Sat", "satellite.CubeSat6U", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CubeSat6U")), PParameterDirection.INOUT);
92 87
93 private final List<PParameter> parameters = Arrays.asList(parameter_Comm); 88 private final List<PParameter> parameters = Arrays.asList(parameter_Sat);
94 89
95 private GeneratedPQuery() { 90 private GeneratedPQuery() {
96 super(PVisibility.PRIVATE); 91 super(PVisibility.PRIVATE);
@@ -98,12 +93,12 @@ public final class CommSubsystemGainLow extends BaseGeneratedEMFQuerySpecificati
98 93
99 @Override 94 @Override
100 public String getFullyQualifiedName() { 95 public String getFullyQualifiedName() {
101 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemGainLow"; 96 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSat6U";
102 } 97 }
103 98
104 @Override 99 @Override
105 public List<String> getParameterNames() { 100 public List<String> getParameterNames() {
106 return Arrays.asList("Comm"); 101 return Arrays.asList("Sat");
107 } 102 }
108 103
109 @Override 104 @Override
@@ -117,19 +112,13 @@ public final class CommSubsystemGainLow extends BaseGeneratedEMFQuerySpecificati
117 Set<PBody> bodies = new LinkedHashSet<>(); 112 Set<PBody> bodies = new LinkedHashSet<>();
118 { 113 {
119 PBody body = new PBody(this); 114 PBody body = new PBody(this);
120 PVariable var_Comm = body.getOrCreateVariableByName("Comm"); 115 PVariable var_Sat = body.getOrCreateVariableByName("Sat");
121 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); 116 new TypeConstraint(body, Tuples.flatTupleOf(var_Sat), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CubeSat6U")));
122 body.setSymbolicParameters(Arrays.<ExportedParameter>asList( 117 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
123 new ExportedParameter(body, var_Comm, parameter_Comm) 118 new ExportedParameter(body, var_Sat, parameter_Sat)
124 )); 119 ));
125 // CommSubsystem.gain(Comm, AntennaGain::LOW) 120 // CubeSat6U(Sat)
126 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); 121 new TypeConstraint(body, Tuples.flatTupleOf(var_Sat), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CubeSat6U")));
127 new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "AntennaGain", "LOW").getInstance());
128 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
129 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
130 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "gain")));
131 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "AntennaGain")));
132 new Equality(body, var__virtual_1_, var__virtual_0_);
133 bodies.add(body); 122 bodies.add(body);
134 } 123 }
135 return bodies; 124 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 @@
1/**
2 * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal;
5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectCommunicationLink;
7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.ScienceData;
8import java.util.Arrays;
9import java.util.LinkedHashSet;
10import java.util.List;
11import java.util.Set;
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
14import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher;
15import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
16import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
17import org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey;
18import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
19import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
20import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
21import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.TypeFilterConstraint;
22import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall;
23import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
24import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
25import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
26import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
27import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
28
29/**
30 * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way.
31 *
32 * <p>Original source:
33 * <code><pre>
34 * private pattern incomingData(Spacecraft : Spacecraft, Source : Spacecraft, Data : java Double) {
35 * find indirectCommunicationLink(Source, Spacecraft);
36 * find scienceData(Source, Data);
37 * }
38 * </pre></code>
39 *
40 * @see GenericPatternMatcher
41 * @see GenericPatternMatch
42 *
43 */
44@SuppressWarnings("all")
45public final class IncomingData extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher {
46 private IncomingData() {
47 super(GeneratedPQuery.INSTANCE);
48 }
49
50 /**
51 * @return the singleton instance of the query specification
52 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
53 *
54 */
55 public static IncomingData instance() {
56 try{
57 return LazyHolder.INSTANCE;
58 } catch (ExceptionInInitializerError err) {
59 throw processInitializerError(err);
60 }
61 }
62
63 /**
64 * 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: <unset>) (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
65 * <b>not</b> at the class load time of the outer class,
66 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
67 *
68 * <p> This workaround is required e.g. to support recursion.
69 *
70 */
71 private static class LazyHolder {
72 private static final IncomingData INSTANCE = new IncomingData();
73
74 /**
75 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
76 * This initialization order is required to support indirect recursion.
77 *
78 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
79 *
80 */
81 private static final Object STATIC_INITIALIZER = ensureInitialized();
82
83 public static Object ensureInitialized() {
84 INSTANCE.ensureInitializedInternal();
85 return null;
86 }
87 }
88
89 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
90 private static final IncomingData.GeneratedPQuery INSTANCE = new GeneratedPQuery();
91
92 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT);
93
94 private final PParameter parameter_Source = new PParameter("Source", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT);
95
96 private final PParameter parameter_Data = new PParameter("Data", "java.lang.Double", new JavaTransitiveInstancesKey(java.lang.Double.class), PParameterDirection.INOUT);
97
98 private final List<PParameter> parameters = Arrays.asList(parameter_Spacecraft, parameter_Source, parameter_Data);
99
100 private GeneratedPQuery() {
101 super(PVisibility.PRIVATE);
102 }
103
104 @Override
105 public String getFullyQualifiedName() {
106 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incomingData";
107 }
108
109 @Override
110 public List<String> getParameterNames() {
111 return Arrays.asList("Spacecraft","Source","Data");
112 }
113
114 @Override
115 public List<PParameter> getParameters() {
116 return parameters;
117 }
118
119 @Override
120 public Set<PBody> doGetContainedBodies() {
121 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
122 Set<PBody> bodies = new LinkedHashSet<>();
123 {
124 PBody body = new PBody(this);
125 PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft");
126 PVariable var_Source = body.getOrCreateVariableByName("Source");
127 PVariable var_Data = body.getOrCreateVariableByName("Data");
128 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
129 new TypeConstraint(body, Tuples.flatTupleOf(var_Source), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
130 new TypeFilterConstraint(body, Tuples.flatTupleOf(var_Data), new JavaTransitiveInstancesKey(java.lang.Double.class));
131 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
132 new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft),
133 new ExportedParameter(body, var_Source, parameter_Source),
134 new ExportedParameter(body, var_Data, parameter_Data)
135 ));
136 // find indirectCommunicationLink(Source, Spacecraft)
137 new PositivePatternCall(body, Tuples.flatTupleOf(var_Source, var_Spacecraft), IndirectCommunicationLink.instance().getInternalQueryRepresentation());
138 // find scienceData(Source, Data)
139 new PositivePatternCall(body, Tuples.flatTupleOf(var_Source, var_Data), ScienceData.instance().getInternalQueryRepresentation());
140 bodies.add(body);
141 }
142 return bodies;
143 }
144 }
145}
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 @@
1/**
2 * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal;
5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftWithInterferometryPayload;
7import java.util.Arrays;
8import java.util.LinkedHashSet;
9import java.util.List;
10import java.util.Set;
11import org.eclipse.emf.ecore.EClass;
12import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
13import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher;
14import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
15import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
16import org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey;
17import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
18import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
19import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
20import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
21import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall;
22import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.TypeFilterConstraint;
23import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue;
24import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall;
25import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
26import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
27import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
28import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
29import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
30
31/**
32 * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way.
33 *
34 * <p>Original source:
35 * <code><pre>
36 * private pattern interferometryPayloadCost(Spacecraft : Spacecraft, Cost : java Double) {
37 * find spacecraftWithInterferometryPayload(_, Spacecraft);
38 * Cost == 50000.0;
39 * } or {
40 * neg find spacecraftWithInterferometryPayload(_, Spacecraft);
41 * Cost == 0.0;
42 * }
43 * </pre></code>
44 *
45 * @see GenericPatternMatcher
46 * @see GenericPatternMatch
47 *
48 */
49@SuppressWarnings("all")
50public final class InterferometryPayloadCost extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher {
51 private InterferometryPayloadCost() {
52 super(GeneratedPQuery.INSTANCE);
53 }
54
55 /**
56 * @return the singleton instance of the query specification
57 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
58 *
59 */
60 public static InterferometryPayloadCost instance() {
61 try{
62 return LazyHolder.INSTANCE;
63 } catch (ExceptionInInitializerError err) {
64 throw processInitializerError(err);
65 }
66 }
67
68 /**
69 * 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: <unset>) (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
70 * <b>not</b> at the class load time of the outer class,
71 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
72 *
73 * <p> This workaround is required e.g. to support recursion.
74 *
75 */
76 private static class LazyHolder {
77 private static final InterferometryPayloadCost INSTANCE = new InterferometryPayloadCost();
78
79 /**
80 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
81 * This initialization order is required to support indirect recursion.
82 *
83 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
84 *
85 */
86 private static final Object STATIC_INITIALIZER = ensureInitialized();
87
88 public static Object ensureInitialized() {
89 INSTANCE.ensureInitializedInternal();
90 return null;
91 }
92 }
93
94 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
95 private static final InterferometryPayloadCost.GeneratedPQuery INSTANCE = new GeneratedPQuery();
96
97 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT);
98
99 private final PParameter parameter_Cost = new PParameter("Cost", "java.lang.Double", new JavaTransitiveInstancesKey(java.lang.Double.class), PParameterDirection.INOUT);
100
101 private final List<PParameter> parameters = Arrays.asList(parameter_Spacecraft, parameter_Cost);
102
103 private GeneratedPQuery() {
104 super(PVisibility.PRIVATE);
105 }
106
107 @Override
108 public String getFullyQualifiedName() {
109 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.interferometryPayloadCost";
110 }
111
112 @Override
113 public List<String> getParameterNames() {
114 return Arrays.asList("Spacecraft","Cost");
115 }
116
117 @Override
118 public List<PParameter> getParameters() {
119 return parameters;
120 }
121
122 @Override
123 public Set<PBody> doGetContainedBodies() {
124 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
125 Set<PBody> bodies = new LinkedHashSet<>();
126 {
127 PBody body = new PBody(this);
128 PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft");
129 PVariable var_Cost = body.getOrCreateVariableByName("Cost");
130 PVariable var___0_ = body.getOrCreateVariableByName("_<0>");
131 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
132 new TypeFilterConstraint(body, Tuples.flatTupleOf(var_Cost), new JavaTransitiveInstancesKey(java.lang.Double.class));
133 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
134 new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft),
135 new ExportedParameter(body, var_Cost, parameter_Cost)
136 ));
137 // find spacecraftWithInterferometryPayload(_, Spacecraft)
138 new PositivePatternCall(body, Tuples.flatTupleOf(var___0_, var_Spacecraft), SpacecraftWithInterferometryPayload.instance().getInternalQueryRepresentation());
139 // Cost == 50000.0
140 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
141 new ConstantValue(body, var__virtual_0_, 50000.0);
142 new Equality(body, var_Cost, var__virtual_0_);
143 bodies.add(body);
144 }
145 {
146 PBody body = new PBody(this);
147 PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft");
148 PVariable var_Cost = body.getOrCreateVariableByName("Cost");
149 PVariable var___0_ = body.getOrCreateVariableByName("_<0>");
150 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
151 new TypeFilterConstraint(body, Tuples.flatTupleOf(var_Cost), new JavaTransitiveInstancesKey(java.lang.Double.class));
152 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
153 new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft),
154 new ExportedParameter(body, var_Cost, parameter_Cost)
155 ));
156 // neg find spacecraftWithInterferometryPayload(_, Spacecraft)
157 new NegativePatternCall(body, Tuples.flatTupleOf(var___0_, var_Spacecraft), SpacecraftWithInterferometryPayload.instance().getInternalQueryRepresentation());
158 // Cost == 0.0
159 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
160 new ConstantValue(body, var__virtual_0_, 0.0);
161 new Equality(body, var_Cost, var__virtual_0_);
162 bodies.add(body);
163 }
164 return bodies;
165 }
166 }
167
168 private static double evaluateExpression_1_1() {
169 return 50000.0;
170 }
171
172 private static double evaluateExpression_2_1() {
173 return 0.0;
174 }
175}
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;
18import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; 18import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
19import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; 19import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
20import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall; 20import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall;
21import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue;
22import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall; 21import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall;
23import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; 22import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
24import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; 23import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
@@ -32,13 +31,13 @@ import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
32 * <p>Original source: 31 * <p>Original source:
33 * <code><pre> 32 * <code><pre>
34 * private pattern linkAllowed(From : Spacecraft, To : CommunicatingElement) { 33 * private pattern linkAllowed(From : Spacecraft, To : CommunicatingElement) {
35 * find matchingAntenna(From, To, _); 34 * find matchingAntenna(From, To);
36 * neg find cubeSat3U(From); 35 * neg find cubeSat3U(From);
37 * } or { 36 * } or {
38 * find matchingAntenna(From, To, TransceiverBand::UHF); 37 * find matchingAntenna(From, To);
39 * CubeSat3U(From); 38 * CubeSat3U(From);
40 * } or { 39 * } or {
41 * find matchingAntenna(From, To, _); 40 * find matchingAntenna(From, To);
42 * CubeSat3U(From); 41 * CubeSat3U(From);
43 * GroundStationNetwork(To); 42 * GroundStationNetwork(To);
44 * } 43 * }
@@ -129,15 +128,14 @@ public final class LinkAllowed extends BaseGeneratedEMFQuerySpecificationWithGen
129 PBody body = new PBody(this); 128 PBody body = new PBody(this);
130 PVariable var_From = body.getOrCreateVariableByName("From"); 129 PVariable var_From = body.getOrCreateVariableByName("From");
131 PVariable var_To = body.getOrCreateVariableByName("To"); 130 PVariable var_To = body.getOrCreateVariableByName("To");
132 PVariable var___0_ = body.getOrCreateVariableByName("_<0>");
133 new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); 131 new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
134 new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); 132 new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
135 body.setSymbolicParameters(Arrays.<ExportedParameter>asList( 133 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
136 new ExportedParameter(body, var_From, parameter_From), 134 new ExportedParameter(body, var_From, parameter_From),
137 new ExportedParameter(body, var_To, parameter_To) 135 new ExportedParameter(body, var_To, parameter_To)
138 )); 136 ));
139 // find matchingAntenna(From, To, _) 137 // find matchingAntenna(From, To)
140 new PositivePatternCall(body, Tuples.flatTupleOf(var_From, var_To, var___0_), MatchingAntenna.instance().getInternalQueryRepresentation()); 138 new PositivePatternCall(body, Tuples.flatTupleOf(var_From, var_To), MatchingAntenna.instance().getInternalQueryRepresentation());
141 // neg find cubeSat3U(From) 139 // neg find cubeSat3U(From)
142 new NegativePatternCall(body, Tuples.flatTupleOf(var_From), CubeSat3U.instance().getInternalQueryRepresentation()); 140 new NegativePatternCall(body, Tuples.flatTupleOf(var_From), CubeSat3U.instance().getInternalQueryRepresentation());
143 bodies.add(body); 141 bodies.add(body);
@@ -152,10 +150,8 @@ public final class LinkAllowed extends BaseGeneratedEMFQuerySpecificationWithGen
152 new ExportedParameter(body, var_From, parameter_From), 150 new ExportedParameter(body, var_From, parameter_From),
153 new ExportedParameter(body, var_To, parameter_To) 151 new ExportedParameter(body, var_To, parameter_To)
154 )); 152 ));
155 // find matchingAntenna(From, To, TransceiverBand::UHF) 153 // find matchingAntenna(From, To)
156 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); 154 new PositivePatternCall(body, Tuples.flatTupleOf(var_From, var_To), MatchingAntenna.instance().getInternalQueryRepresentation());
157 new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "TransceiverBand", "UHF").getInstance());
158 new PositivePatternCall(body, Tuples.flatTupleOf(var_From, var_To, var__virtual_0_), MatchingAntenna.instance().getInternalQueryRepresentation());
159 // CubeSat3U(From) 155 // CubeSat3U(From)
160 new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CubeSat3U"))); 156 new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CubeSat3U")));
161 bodies.add(body); 157 bodies.add(body);
@@ -164,15 +160,14 @@ public final class LinkAllowed extends BaseGeneratedEMFQuerySpecificationWithGen
164 PBody body = new PBody(this); 160 PBody body = new PBody(this);
165 PVariable var_From = body.getOrCreateVariableByName("From"); 161 PVariable var_From = body.getOrCreateVariableByName("From");
166 PVariable var_To = body.getOrCreateVariableByName("To"); 162 PVariable var_To = body.getOrCreateVariableByName("To");
167 PVariable var___0_ = body.getOrCreateVariableByName("_<0>");
168 new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); 163 new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
169 new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); 164 new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
170 body.setSymbolicParameters(Arrays.<ExportedParameter>asList( 165 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
171 new ExportedParameter(body, var_From, parameter_From), 166 new ExportedParameter(body, var_From, parameter_From),
172 new ExportedParameter(body, var_To, parameter_To) 167 new ExportedParameter(body, var_To, parameter_To)
173 )); 168 ));
174 // find matchingAntenna(From, To, _) 169 // find matchingAntenna(From, To)
175 new PositivePatternCall(body, Tuples.flatTupleOf(var_From, var_To, var___0_), MatchingAntenna.instance().getInternalQueryRepresentation()); 170 new PositivePatternCall(body, Tuples.flatTupleOf(var_From, var_To), MatchingAntenna.instance().getInternalQueryRepresentation());
176 // CubeSat3U(From) 171 // CubeSat3U(From)
177 new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CubeSat3U"))); 172 new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CubeSat3U")));
178 // GroundStationNetwork(To) 173 // 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 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingCommSubsystem;
6import java.util.Arrays; 7import java.util.Arrays;
7import java.util.LinkedHashSet; 8import java.util.LinkedHashSet;
8import java.util.List; 9import java.util.List;
9import java.util.Set; 10import java.util.Set;
10import org.eclipse.emf.ecore.EClass; 11import org.eclipse.emf.ecore.EClass;
11import org.eclipse.emf.ecore.EDataType;
12import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; 12import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
13import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; 13import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher;
14import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; 14import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
15import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey;
16import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; 15import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey;
17import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; 16import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
18import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; 17import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
19import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; 18import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
20import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; 19import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
21import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; 20import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
21import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall;
22import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; 22import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
23import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; 23import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
24import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; 24import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
@@ -30,11 +30,10 @@ import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
30 * 30 *
31 * <p>Original source: 31 * <p>Original source:
32 * <code><pre> 32 * <code><pre>
33 * private pattern matchingAntenna(From : Spacecraft, To : CommunicatingElement, Band : TransceiverBand) { 33 * private pattern matchingAntenna(From : Spacecraft, To : CommunicatingElement) {
34 * CommunicatingElement.commSubsystem.band(From, Band); 34 * CommunicatingElement.commSubsystem(From, FromSys);
35 * CommunicatingElement.commSubsystem.band(To, Band); 35 * CommunicatingElement.commSubsystem(To, ToSys);
36 * CommunicatingElement.commSubsystem.gain(From, Gain); 36 * find matchingCommSubsystem(FromSys, ToSys);
37 * CommunicatingElement.commSubsystem.gain(To, Gain);
38 * } 37 * }
39 * </pre></code> 38 * </pre></code>
40 * 39 *
@@ -94,9 +93,7 @@ public final class MatchingAntenna extends BaseGeneratedEMFQuerySpecificationWit
94 93
95 private final PParameter parameter_To = new PParameter("To", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); 94 private final PParameter parameter_To = new PParameter("To", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT);
96 95
97 private final PParameter parameter_Band = new PParameter("Band", "satellite.TransceiverBand", new EDataTypeInSlotsKey((EDataType)getClassifierLiteralSafe("http://www.example.org/satellite", "TransceiverBand")), PParameterDirection.INOUT); 96 private final List<PParameter> parameters = Arrays.asList(parameter_From, parameter_To);
98
99 private final List<PParameter> parameters = Arrays.asList(parameter_From, parameter_To, parameter_Band);
100 97
101 private GeneratedPQuery() { 98 private GeneratedPQuery() {
102 super(PVisibility.PRIVATE); 99 super(PVisibility.PRIVATE);
@@ -109,7 +106,7 @@ public final class MatchingAntenna extends BaseGeneratedEMFQuerySpecificationWit
109 106
110 @Override 107 @Override
111 public List<String> getParameterNames() { 108 public List<String> getParameterNames() {
112 return Arrays.asList("From","To","Band"); 109 return Arrays.asList("From","To");
113 } 110 }
114 111
115 @Override 112 @Override
@@ -125,52 +122,28 @@ public final class MatchingAntenna extends BaseGeneratedEMFQuerySpecificationWit
125 PBody body = new PBody(this); 122 PBody body = new PBody(this);
126 PVariable var_From = body.getOrCreateVariableByName("From"); 123 PVariable var_From = body.getOrCreateVariableByName("From");
127 PVariable var_To = body.getOrCreateVariableByName("To"); 124 PVariable var_To = body.getOrCreateVariableByName("To");
128 PVariable var_Band = body.getOrCreateVariableByName("Band"); 125 PVariable var_FromSys = body.getOrCreateVariableByName("FromSys");
129 PVariable var_Gain = body.getOrCreateVariableByName("Gain"); 126 PVariable var_ToSys = body.getOrCreateVariableByName("ToSys");
130 new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); 127 new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
131 new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); 128 new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
132 new TypeConstraint(body, Tuples.flatTupleOf(var_Band), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "TransceiverBand")));
133 body.setSymbolicParameters(Arrays.<ExportedParameter>asList( 129 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
134 new ExportedParameter(body, var_From, parameter_From), 130 new ExportedParameter(body, var_From, parameter_From),
135 new ExportedParameter(body, var_To, parameter_To), 131 new ExportedParameter(body, var_To, parameter_To)
136 new ExportedParameter(body, var_Band, parameter_Band)
137 )); 132 ));
138 // CommunicatingElement.commSubsystem.band(From, Band) 133 // CommunicatingElement.commSubsystem(From, FromSys)
139 new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); 134 new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
140 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); 135 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
141 new TypeConstraint(body, Tuples.flatTupleOf(var_From, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); 136 new TypeConstraint(body, Tuples.flatTupleOf(var_From, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem")));
142 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); 137 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
143 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); 138 new Equality(body, var__virtual_0_, var_FromSys);
144 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "band"))); 139 // CommunicatingElement.commSubsystem(To, ToSys)
145 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "TransceiverBand")));
146 new Equality(body, var__virtual_1_, var_Band);
147 // CommunicatingElement.commSubsystem.band(To, Band)
148 new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); 140 new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
149 PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}"); 141 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
150 new TypeConstraint(body, Tuples.flatTupleOf(var_To, var__virtual_2_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); 142 new TypeConstraint(body, Tuples.flatTupleOf(var_To, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem")));
151 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_2_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); 143 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
152 PVariable var__virtual_3_ = body.getOrCreateVariableByName(".virtual{3}"); 144 new Equality(body, var__virtual_1_, var_ToSys);
153 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_2_, var__virtual_3_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "band"))); 145 // find matchingCommSubsystem(FromSys, ToSys)
154 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_3_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "TransceiverBand"))); 146 new PositivePatternCall(body, Tuples.flatTupleOf(var_FromSys, var_ToSys), MatchingCommSubsystem.instance().getInternalQueryRepresentation());
155 new Equality(body, var__virtual_3_, var_Band);
156 // CommunicatingElement.commSubsystem.gain(From, Gain)
157 new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
158 PVariable var__virtual_4_ = body.getOrCreateVariableByName(".virtual{4}");
159 new TypeConstraint(body, Tuples.flatTupleOf(var_From, var__virtual_4_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem")));
160 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_4_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
161 PVariable var__virtual_5_ = body.getOrCreateVariableByName(".virtual{5}");
162 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_4_, var__virtual_5_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "gain")));
163 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_5_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "AntennaGain")));
164 new Equality(body, var__virtual_5_, var_Gain);
165 // CommunicatingElement.commSubsystem.gain(To, Gain)
166 new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
167 PVariable var__virtual_6_ = body.getOrCreateVariableByName(".virtual{6}");
168 new TypeConstraint(body, Tuples.flatTupleOf(var_To, var__virtual_6_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem")));
169 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_6_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
170 PVariable var__virtual_7_ = body.getOrCreateVariableByName(".virtual{7}");
171 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_6_, var__virtual_7_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "gain")));
172 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_7_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "AntennaGain")));
173 new Equality(body, var__virtual_7_, var_Gain);
174 bodies.add(body); 147 bodies.add(body);
175 } 148 }
176 return bodies; 149 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 @@
1/**
2 * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal;
5
6import java.util.Arrays;
7import java.util.LinkedHashSet;
8import java.util.List;
9import java.util.Set;
10import org.eclipse.emf.ecore.EClass;
11import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
12import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher;
13import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
14import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
15import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
16import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
17import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
18import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
19import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
20import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
21import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
22import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
23
24/**
25 * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way.
26 *
27 * <p>Original source:
28 * <code><pre>
29 * private pattern matchingCommSubsystem(From : CommSubsystem, To : CommSubsystem) {
30 * UHFCommSubsystem(From);
31 * UHFCommSubsystem(To);
32 * } or {
33 * XCommSubsystem(From);
34 * XCommSubsystem(To);
35 * } or {
36 * KaCommSubsystem(From);
37 * KaCommSubsystem(To);
38 * }
39 * </pre></code>
40 *
41 * @see GenericPatternMatcher
42 * @see GenericPatternMatch
43 *
44 */
45@SuppressWarnings("all")
46public final class MatchingCommSubsystem extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher {
47 private MatchingCommSubsystem() {
48 super(GeneratedPQuery.INSTANCE);
49 }
50
51 /**
52 * @return the singleton instance of the query specification
53 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
54 *
55 */
56 public static MatchingCommSubsystem instance() {
57 try{
58 return LazyHolder.INSTANCE;
59 } catch (ExceptionInInitializerError err) {
60 throw processInitializerError(err);
61 }
62 }
63
64 /**
65 * 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: <unset>) (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
66 * <b>not</b> at the class load time of the outer class,
67 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
68 *
69 * <p> This workaround is required e.g. to support recursion.
70 *
71 */
72 private static class LazyHolder {
73 private static final MatchingCommSubsystem INSTANCE = new MatchingCommSubsystem();
74
75 /**
76 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
77 * This initialization order is required to support indirect recursion.
78 *
79 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
80 *
81 */
82 private static final Object STATIC_INITIALIZER = ensureInitialized();
83
84 public static Object ensureInitialized() {
85 INSTANCE.ensureInitializedInternal();
86 return null;
87 }
88 }
89
90 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
91 private static final MatchingCommSubsystem.GeneratedPQuery INSTANCE = new GeneratedPQuery();
92
93 private final PParameter parameter_From = new PParameter("From", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT);
94
95 private final PParameter parameter_To = new PParameter("To", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT);
96
97 private final List<PParameter> parameters = Arrays.asList(parameter_From, parameter_To);
98
99 private GeneratedPQuery() {
100 super(PVisibility.PRIVATE);
101 }
102
103 @Override
104 public String getFullyQualifiedName() {
105 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.matchingCommSubsystem";
106 }
107
108 @Override
109 public List<String> getParameterNames() {
110 return Arrays.asList("From","To");
111 }
112
113 @Override
114 public List<PParameter> getParameters() {
115 return parameters;
116 }
117
118 @Override
119 public Set<PBody> doGetContainedBodies() {
120 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
121 Set<PBody> bodies = new LinkedHashSet<>();
122 {
123 PBody body = new PBody(this);
124 PVariable var_From = body.getOrCreateVariableByName("From");
125 PVariable var_To = body.getOrCreateVariableByName("To");
126 new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
127 new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
128 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
129 new ExportedParameter(body, var_From, parameter_From),
130 new ExportedParameter(body, var_To, parameter_To)
131 ));
132 // UHFCommSubsystem(From)
133 new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "UHFCommSubsystem")));
134 // UHFCommSubsystem(To)
135 new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "UHFCommSubsystem")));
136 bodies.add(body);
137 }
138 {
139 PBody body = new PBody(this);
140 PVariable var_From = body.getOrCreateVariableByName("From");
141 PVariable var_To = body.getOrCreateVariableByName("To");
142 new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
143 new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
144 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
145 new ExportedParameter(body, var_From, parameter_From),
146 new ExportedParameter(body, var_To, parameter_To)
147 ));
148 // XCommSubsystem(From)
149 new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "XCommSubsystem")));
150 // XCommSubsystem(To)
151 new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "XCommSubsystem")));
152 bodies.add(body);
153 }
154 {
155 PBody body = new PBody(this);
156 PVariable var_From = body.getOrCreateVariableByName("From");
157 PVariable var_To = body.getOrCreateVariableByName("To");
158 new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
159 new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
160 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
161 new ExportedParameter(body, var_From, parameter_From),
162 new ExportedParameter(body, var_To, parameter_To)
163 ));
164 // KaCommSubsystem(From)
165 new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "KaCommSubsystem")));
166 // KaCommSubsystem(To)
167 new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "KaCommSubsystem")));
168 bodies.add(body);
169 }
170 return bodies;
171 }
172 }
173}
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 @@
1/**
2 * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal;
5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftCost;
7import java.util.Arrays;
8import java.util.LinkedHashSet;
9import java.util.List;
10import java.util.Set;
11import org.eclipse.emf.ecore.EClass;
12import org.eclipse.emf.ecore.EDataType;
13import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
14import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher;
15import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
16import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey;
17import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey;
18import org.eclipse.viatra.query.runtime.matchers.aggregators.sum;
19import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
20import org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey;
21import org.eclipse.viatra.query.runtime.matchers.psystem.IExpressionEvaluator;
22import org.eclipse.viatra.query.runtime.matchers.psystem.IValueProvider;
23import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
24import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
25import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.AggregatorConstraint;
26import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
27import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
28import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExpressionEvaluation;
29import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.TypeFilterConstraint;
30import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
31import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
32import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
33import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
34import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
35
36/**
37 * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way.
38 *
39 * <p>Original source:
40 * <code><pre>
41 * private pattern missionCost(Mission : InterferometryMission, Cost : java Double) {
42 * InterferometryMission.observationTime(Mission, ObservationTime);
43 * SpacecraftCost == sum find spacecraftCost(Mission, _, #_);
44 * Cost == eval(SpacecraftCost + 100000.0 ObservationTime);
45 * }
46 * </pre></code>
47 *
48 * @see GenericPatternMatcher
49 * @see GenericPatternMatch
50 *
51 */
52@SuppressWarnings("all")
53public final class MissionCost extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher {
54 private MissionCost() {
55 super(GeneratedPQuery.INSTANCE);
56 }
57
58 /**
59 * @return the singleton instance of the query specification
60 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
61 *
62 */
63 public static MissionCost instance() {
64 try{
65 return LazyHolder.INSTANCE;
66 } catch (ExceptionInInitializerError err) {
67 throw processInitializerError(err);
68 }
69 }
70
71 /**
72 * 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: <unset>) (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
73 * <b>not</b> at the class load time of the outer class,
74 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
75 *
76 * <p> This workaround is required e.g. to support recursion.
77 *
78 */
79 private static class LazyHolder {
80 private static final MissionCost INSTANCE = new MissionCost();
81
82 /**
83 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
84 * This initialization order is required to support indirect recursion.
85 *
86 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
87 *
88 */
89 private static final Object STATIC_INITIALIZER = ensureInitialized();
90
91 public static Object ensureInitialized() {
92 INSTANCE.ensureInitializedInternal();
93 return null;
94 }
95 }
96
97 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
98 private static final MissionCost.GeneratedPQuery INSTANCE = new GeneratedPQuery();
99
100 private final PParameter parameter_Mission = new PParameter("Mission", "satellite.InterferometryMission", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "InterferometryMission")), PParameterDirection.INOUT);
101
102 private final PParameter parameter_Cost = new PParameter("Cost", "java.lang.Double", new JavaTransitiveInstancesKey(java.lang.Double.class), PParameterDirection.INOUT);
103
104 private final List<PParameter> parameters = Arrays.asList(parameter_Mission, parameter_Cost);
105
106 private GeneratedPQuery() {
107 super(PVisibility.PRIVATE);
108 }
109
110 @Override
111 public String getFullyQualifiedName() {
112 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.missionCost";
113 }
114
115 @Override
116 public List<String> getParameterNames() {
117 return Arrays.asList("Mission","Cost");
118 }
119
120 @Override
121 public List<PParameter> getParameters() {
122 return parameters;
123 }
124
125 @Override
126 public Set<PBody> doGetContainedBodies() {
127 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
128 Set<PBody> bodies = new LinkedHashSet<>();
129 {
130 PBody body = new PBody(this);
131 PVariable var_Mission = body.getOrCreateVariableByName("Mission");
132 PVariable var_Cost = body.getOrCreateVariableByName("Cost");
133 PVariable var_ObservationTime = body.getOrCreateVariableByName("ObservationTime");
134 PVariable var_SpacecraftCost = body.getOrCreateVariableByName("SpacecraftCost");
135 PVariable var___0_ = body.getOrCreateVariableByName("_<0>");
136 PVariable var___1_ = body.getOrCreateVariableByName("_<1>");
137 new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "InterferometryMission")));
138 new TypeFilterConstraint(body, Tuples.flatTupleOf(var_Cost), new JavaTransitiveInstancesKey(java.lang.Double.class));
139 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
140 new ExportedParameter(body, var_Mission, parameter_Mission),
141 new ExportedParameter(body, var_Cost, parameter_Cost)
142 ));
143 // InterferometryMission.observationTime(Mission, ObservationTime)
144 new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "InterferometryMission")));
145 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
146 new TypeConstraint(body, Tuples.flatTupleOf(var_Mission, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "InterferometryMission", "observationTime")));
147 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.eclipse.org/emf/2002/Ecore", "EFloat")));
148 new Equality(body, var__virtual_0_, var_ObservationTime);
149 // SpacecraftCost == sum find spacecraftCost(Mission, _, #_)
150 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
151 new AggregatorConstraint(new sum().getAggregatorLogic(Double.class), body, Tuples.flatTupleOf(var_Mission, var___0_, var___1_), SpacecraftCost.instance().getInternalQueryRepresentation(), var__virtual_1_, 2);
152 new Equality(body, var_SpacecraftCost, var__virtual_1_);
153 // Cost == eval(SpacecraftCost + 100000.0 * ObservationTime)
154 PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}");
155 new ExpressionEvaluation(body, new IExpressionEvaluator() {
156
157 @Override
158 public String getShortDescription() {
159 return "Expression evaluation from pattern missionCost";
160 }
161
162 @Override
163 public Iterable<String> getInputParameterNames() {
164 return Arrays.asList("ObservationTime", "SpacecraftCost");}
165
166 @Override
167 public Object evaluateExpression(IValueProvider provider) throws Exception {
168 Float ObservationTime = (Float) provider.getValue("ObservationTime");
169 Double SpacecraftCost = (Double) provider.getValue("SpacecraftCost");
170 return evaluateExpression_1_1(ObservationTime, SpacecraftCost);
171 }
172 }, var__virtual_2_ );
173 new Equality(body, var_Cost, var__virtual_2_);
174 bodies.add(body);
175 }
176 return bodies;
177 }
178 }
179
180 private static double evaluateExpression_1_1(final Float ObservationTime, final Double SpacecraftCost) {
181 return ((SpacecraftCost).doubleValue() + (100000.0 * (ObservationTime).floatValue()));
182 }
183}
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 @@
1/**
2 * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal;
5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftWithInterferometryPayload;
7import java.util.Arrays;
8import java.util.LinkedHashSet;
9import java.util.List;
10import java.util.Set;
11import org.eclipse.emf.ecore.EClass;
12import org.eclipse.emf.ecore.EDataType;
13import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
14import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher;
15import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
16import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey;
17import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey;
18import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
19import org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey;
20import org.eclipse.viatra.query.runtime.matchers.psystem.IExpressionEvaluator;
21import org.eclipse.viatra.query.runtime.matchers.psystem.IValueProvider;
22import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
23import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
24import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
25import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
26import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExpressionEvaluation;
27import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.PatternMatchCounter;
28import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.TypeFilterConstraint;
29import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
30import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
31import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
32import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
33import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
34
35/**
36 * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way.
37 *
38 * <p>Original source:
39 * <code><pre>
40 * private pattern missionCoverage(Mission : InterferometryMission, Coverage : java Double) {
41 * InterferometryMission.observationTime(Mission, ObservationTime);
42 * ObserverCount == count find spacecraftWithInterferometryPayload(Mission, _);
43 * Coverage == eval(Math.pow(1 - 2.0 / ObserverCount, 1 + 9 (1.0 / ObservationTime)) + 0.05 ObservationTime / 3);
44 * }
45 * </pre></code>
46 *
47 * @see GenericPatternMatcher
48 * @see GenericPatternMatch
49 *
50 */
51@SuppressWarnings("all")
52public final class MissionCoverage extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher {
53 private MissionCoverage() {
54 super(GeneratedPQuery.INSTANCE);
55 }
56
57 /**
58 * @return the singleton instance of the query specification
59 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
60 *
61 */
62 public static MissionCoverage instance() {
63 try{
64 return LazyHolder.INSTANCE;
65 } catch (ExceptionInInitializerError err) {
66 throw processInitializerError(err);
67 }
68 }
69
70 /**
71 * 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: <unset>) (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
72 * <b>not</b> at the class load time of the outer class,
73 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
74 *
75 * <p> This workaround is required e.g. to support recursion.
76 *
77 */
78 private static class LazyHolder {
79 private static final MissionCoverage INSTANCE = new MissionCoverage();
80
81 /**
82 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
83 * This initialization order is required to support indirect recursion.
84 *
85 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
86 *
87 */
88 private static final Object STATIC_INITIALIZER = ensureInitialized();
89
90 public static Object ensureInitialized() {
91 INSTANCE.ensureInitializedInternal();
92 return null;
93 }
94 }
95
96 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
97 private static final MissionCoverage.GeneratedPQuery INSTANCE = new GeneratedPQuery();
98
99 private final PParameter parameter_Mission = new PParameter("Mission", "satellite.InterferometryMission", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "InterferometryMission")), PParameterDirection.INOUT);
100
101 private final PParameter parameter_Coverage = new PParameter("Coverage", "java.lang.Double", new JavaTransitiveInstancesKey(java.lang.Double.class), PParameterDirection.INOUT);
102
103 private final List<PParameter> parameters = Arrays.asList(parameter_Mission, parameter_Coverage);
104
105 private GeneratedPQuery() {
106 super(PVisibility.PRIVATE);
107 }
108
109 @Override
110 public String getFullyQualifiedName() {
111 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.missionCoverage";
112 }
113
114 @Override
115 public List<String> getParameterNames() {
116 return Arrays.asList("Mission","Coverage");
117 }
118
119 @Override
120 public List<PParameter> getParameters() {
121 return parameters;
122 }
123
124 @Override
125 public Set<PBody> doGetContainedBodies() {
126 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
127 Set<PBody> bodies = new LinkedHashSet<>();
128 {
129 PBody body = new PBody(this);
130 PVariable var_Mission = body.getOrCreateVariableByName("Mission");
131 PVariable var_Coverage = body.getOrCreateVariableByName("Coverage");
132 PVariable var_ObservationTime = body.getOrCreateVariableByName("ObservationTime");
133 PVariable var_ObserverCount = body.getOrCreateVariableByName("ObserverCount");
134 PVariable var___0_ = body.getOrCreateVariableByName("_<0>");
135 new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "InterferometryMission")));
136 new TypeFilterConstraint(body, Tuples.flatTupleOf(var_Coverage), new JavaTransitiveInstancesKey(java.lang.Double.class));
137 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
138 new ExportedParameter(body, var_Mission, parameter_Mission),
139 new ExportedParameter(body, var_Coverage, parameter_Coverage)
140 ));
141 // InterferometryMission.observationTime(Mission, ObservationTime)
142 new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "InterferometryMission")));
143 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
144 new TypeConstraint(body, Tuples.flatTupleOf(var_Mission, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "InterferometryMission", "observationTime")));
145 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.eclipse.org/emf/2002/Ecore", "EFloat")));
146 new Equality(body, var__virtual_0_, var_ObservationTime);
147 // ObserverCount == count find spacecraftWithInterferometryPayload(Mission, _)
148 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
149 new PatternMatchCounter(body, Tuples.flatTupleOf(var_Mission, var___0_), SpacecraftWithInterferometryPayload.instance().getInternalQueryRepresentation(), var__virtual_1_);
150 new Equality(body, var_ObserverCount, var__virtual_1_);
151 // Coverage == eval(Math.pow(1 - 2.0 / ObserverCount, 1 + 9 * (1.0 / ObservationTime)) + 0.05 * ObservationTime / 3)
152 PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}");
153 new ExpressionEvaluation(body, new IExpressionEvaluator() {
154
155 @Override
156 public String getShortDescription() {
157 return "Expression evaluation from pattern missionCoverage";
158 }
159
160 @Override
161 public Iterable<String> getInputParameterNames() {
162 return Arrays.asList("ObservationTime", "ObserverCount");}
163
164 @Override
165 public Object evaluateExpression(IValueProvider provider) throws Exception {
166 Float ObservationTime = (Float) provider.getValue("ObservationTime");
167 Integer ObserverCount = (Integer) provider.getValue("ObserverCount");
168 return evaluateExpression_1_1(ObservationTime, ObserverCount);
169 }
170 }, var__virtual_2_ );
171 new Equality(body, var_Coverage, var__virtual_2_);
172 bodies.add(body);
173 }
174 return bodies;
175 }
176 }
177
178 private static double evaluateExpression_1_1(final Float ObservationTime, final Integer ObserverCount) {
179 double _pow = Math.pow((1 - (2.0 / (ObserverCount).intValue())), (1 + (9 * (1.0 / (ObservationTime).floatValue()))));
180 double _plus = (_pow + ((0.05 * (ObservationTime).floatValue()) / 3));
181 return _plus;
182 }
183}
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 @@
1/**
2 * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal;
5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.TransmitTime;
7import java.util.Arrays;
8import java.util.LinkedHashSet;
9import java.util.List;
10import java.util.Set;
11import org.eclipse.emf.ecore.EClass;
12import org.eclipse.emf.ecore.EDataType;
13import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
14import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher;
15import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
16import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey;
17import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey;
18import org.eclipse.viatra.query.runtime.matchers.aggregators.sum;
19import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
20import org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey;
21import org.eclipse.viatra.query.runtime.matchers.psystem.IExpressionEvaluator;
22import org.eclipse.viatra.query.runtime.matchers.psystem.IValueProvider;
23import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
24import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
25import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.AggregatorConstraint;
26import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
27import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
28import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExpressionEvaluation;
29import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.TypeFilterConstraint;
30import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
31import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
32import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
33import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
34import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
35
36/**
37 * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way.
38 *
39 * <p>Original source:
40 * <code><pre>
41 * private pattern missionTime(Mission : InterferometryMission, Time : java Double) {
42 * InterferometryMission.observationTime(Mission, ObservationTime);
43 * TrasmitTime == sum find transmitTime(Mission, _, #_);
44 * Time == eval(TrasmitTime + 60.0 ObservationTime);
45 * }
46 * </pre></code>
47 *
48 * @see GenericPatternMatcher
49 * @see GenericPatternMatch
50 *
51 */
52@SuppressWarnings("all")
53public final class MissionTime extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher {
54 private MissionTime() {
55 super(GeneratedPQuery.INSTANCE);
56 }
57
58 /**
59 * @return the singleton instance of the query specification
60 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
61 *
62 */
63 public static MissionTime instance() {
64 try{
65 return LazyHolder.INSTANCE;
66 } catch (ExceptionInInitializerError err) {
67 throw processInitializerError(err);
68 }
69 }
70
71 /**
72 * 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: <unset>) (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
73 * <b>not</b> at the class load time of the outer class,
74 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
75 *
76 * <p> This workaround is required e.g. to support recursion.
77 *
78 */
79 private static class LazyHolder {
80 private static final MissionTime INSTANCE = new MissionTime();
81
82 /**
83 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
84 * This initialization order is required to support indirect recursion.
85 *
86 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
87 *
88 */
89 private static final Object STATIC_INITIALIZER = ensureInitialized();
90
91 public static Object ensureInitialized() {
92 INSTANCE.ensureInitializedInternal();
93 return null;
94 }
95 }
96
97 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
98 private static final MissionTime.GeneratedPQuery INSTANCE = new GeneratedPQuery();
99
100 private final PParameter parameter_Mission = new PParameter("Mission", "satellite.InterferometryMission", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "InterferometryMission")), PParameterDirection.INOUT);
101
102 private final PParameter parameter_Time = new PParameter("Time", "java.lang.Double", new JavaTransitiveInstancesKey(java.lang.Double.class), PParameterDirection.INOUT);
103
104 private final List<PParameter> parameters = Arrays.asList(parameter_Mission, parameter_Time);
105
106 private GeneratedPQuery() {
107 super(PVisibility.PRIVATE);
108 }
109
110 @Override
111 public String getFullyQualifiedName() {
112 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.missionTime";
113 }
114
115 @Override
116 public List<String> getParameterNames() {
117 return Arrays.asList("Mission","Time");
118 }
119
120 @Override
121 public List<PParameter> getParameters() {
122 return parameters;
123 }
124
125 @Override
126 public Set<PBody> doGetContainedBodies() {
127 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
128 Set<PBody> bodies = new LinkedHashSet<>();
129 {
130 PBody body = new PBody(this);
131 PVariable var_Mission = body.getOrCreateVariableByName("Mission");
132 PVariable var_Time = body.getOrCreateVariableByName("Time");
133 PVariable var_ObservationTime = body.getOrCreateVariableByName("ObservationTime");
134 PVariable var_TrasmitTime = body.getOrCreateVariableByName("TrasmitTime");
135 PVariable var___0_ = body.getOrCreateVariableByName("_<0>");
136 PVariable var___1_ = body.getOrCreateVariableByName("_<1>");
137 new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "InterferometryMission")));
138 new TypeFilterConstraint(body, Tuples.flatTupleOf(var_Time), new JavaTransitiveInstancesKey(java.lang.Double.class));
139 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
140 new ExportedParameter(body, var_Mission, parameter_Mission),
141 new ExportedParameter(body, var_Time, parameter_Time)
142 ));
143 // InterferometryMission.observationTime(Mission, ObservationTime)
144 new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "InterferometryMission")));
145 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
146 new TypeConstraint(body, Tuples.flatTupleOf(var_Mission, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "InterferometryMission", "observationTime")));
147 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.eclipse.org/emf/2002/Ecore", "EFloat")));
148 new Equality(body, var__virtual_0_, var_ObservationTime);
149 // TrasmitTime == sum find transmitTime(Mission, _, #_)
150 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
151 new AggregatorConstraint(new sum().getAggregatorLogic(Double.class), body, Tuples.flatTupleOf(var_Mission, var___0_, var___1_), TransmitTime.instance().getInternalQueryRepresentation(), var__virtual_1_, 2);
152 new Equality(body, var_TrasmitTime, var__virtual_1_);
153 // Time == eval(TrasmitTime + 60.0 * ObservationTime)
154 PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}");
155 new ExpressionEvaluation(body, new IExpressionEvaluator() {
156
157 @Override
158 public String getShortDescription() {
159 return "Expression evaluation from pattern missionTime";
160 }
161
162 @Override
163 public Iterable<String> getInputParameterNames() {
164 return Arrays.asList("ObservationTime", "TrasmitTime");}
165
166 @Override
167 public Object evaluateExpression(IValueProvider provider) throws Exception {
168 Float ObservationTime = (Float) provider.getValue("ObservationTime");
169 Double TrasmitTime = (Double) provider.getValue("TrasmitTime");
170 return evaluateExpression_1_1(ObservationTime, TrasmitTime);
171 }
172 }, var__virtual_2_ );
173 new Equality(body, var_Time, var__virtual_2_);
174 bodies.add(body);
175 }
176 return bodies;
177 }
178 }
179
180 private static double evaluateExpression_1_1(final Float ObservationTime, final Double TrasmitTime) {
181 return ((TrasmitTime).doubleValue() + (60.0 * (ObservationTime).floatValue()));
182 }
183}
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;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkDoesNotStartAtContainingElement; 6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkDoesNotStartAtContainingElement;
7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLoop; 7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLoop;
8import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CostMetric;
9import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CoverageMetric;
10import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CubeSatWithKaAntenna; 8import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CubeSatWithKaAntenna;
11import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetBand; 9import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetBand;
12import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetGain;
13import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.KaAntennaGainLow;
14import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoLinkToGroundStation; 10import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoLinkToGroundStation;
15import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoPotentialLinkToGroundStation; 11import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoPotentialLinkToGroundStation;
16import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NotEnoughInterferometryPayloads; 12import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NotEnoughInterferometryPayloads;
17import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SmallSat; 13import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SmallSat;
18import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SpacecraftOfKind;
19import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.ThreeUCubeSatWithNonUhfCrossLink; 14import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.ThreeUCubeSatWithNonUhfCrossLink;
20import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.TimeMetric;
21import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.UhfAntennaGainNotLow;
22import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.XAntennaGainNotMedium;
23import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.AdditionalCommSubsystemCost;
24import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.AtLeastTwoInterferometryPayloads; 15import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.AtLeastTwoInterferometryPayloads;
25import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.BasePrice;
26import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBand;
27import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBandUhf; 16import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBandUhf;
28import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGain;
29import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGainLow;
30import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGainMedium;
31import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CubeSat3U; 17import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CubeSat3U;
18import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CubeSat6U;
32import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.DirectCommunicationLink; 19import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.DirectCommunicationLink;
33import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.GroundStationNetwork; 20import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.GroundStationNetwork;
34import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IncomingData;
35import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectCommunicationLink; 21import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectCommunicationLink;
36import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectLinkAllowed; 22import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectLinkAllowed;
37import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.InterferometryPayloadCost;
38import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.LinkAllowed; 23import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.LinkAllowed;
39import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingAntenna; 24import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingAntenna;
40import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MissionCost; 25import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingCommSubsystem;
41import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MissionCoverage;
42import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MissionTime;
43import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.ScienceData;
44import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftCost;
45import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftUplink;
46import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftWithInterferometryPayload; 26import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftWithInterferometryPayload;
47import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftWithTwoCommSubsystems;
48import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.TransmitRate;
49import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.TransmitTime;
50import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup; 27import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup;
51 28
52/** 29/**
@@ -64,41 +41,18 @@ import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup;
64 * <li>indirectLinkAllowed</li> 41 * <li>indirectLinkAllowed</li>
65 * <li>linkAllowed</li> 42 * <li>linkAllowed</li>
66 * <li>matchingAntenna</li> 43 * <li>matchingAntenna</li>
44 * <li>matchingCommSubsystem</li>
67 * <li>cubeSat3U</li> 45 * <li>cubeSat3U</li>
46 * <li>cubeSat6U</li>
68 * <li>communicationLoop</li> 47 * <li>communicationLoop</li>
69 * <li>indirectCommunicationLink</li> 48 * <li>indirectCommunicationLink</li>
70 * <li>directCommunicationLink</li> 49 * <li>directCommunicationLink</li>
71 * <li>incompatibleSourceAndTargetBand</li> 50 * <li>incompatibleSourceAndTargetBand</li>
72 * <li>commSubsystemBand</li>
73 * <li>incompatibleSourceAndTargetGain</li>
74 * <li>commSubsystemGain</li>
75 * <li>uhfAntennaGainNotLow</li>
76 * <li>commSubsystemGainLow</li>
77 * <li>xAntennaGainNotMedium</li>
78 * <li>commSubsystemGainMedium</li>
79 * <li>kaAntennaGainLow</li>
80 * <li>threeUCubeSatWithNonUhfCrossLink</li> 51 * <li>threeUCubeSatWithNonUhfCrossLink</li>
81 * <li>commSubsystemBandUhf</li> 52 * <li>commSubsystemBandUhf</li>
82 * <li>groundStationNetwork</li> 53 * <li>groundStationNetwork</li>
83 * <li>cubeSatWithKaAntenna</li> 54 * <li>cubeSatWithKaAntenna</li>
84 * <li>smallSat</li> 55 * <li>smallSat</li>
85 * <li>spacecraftOfKind</li>
86 * <li>coverageMetric</li>
87 * <li>missionCoverage</li>
88 * <li>timeMetric</li>
89 * <li>missionTime</li>
90 * <li>transmitTime</li>
91 * <li>incomingData</li>
92 * <li>scienceData</li>
93 * <li>transmitRate</li>
94 * <li>spacecraftUplink</li>
95 * <li>costMetric</li>
96 * <li>missionCost</li>
97 * <li>spacecraftCost</li>
98 * <li>basePrice</li>
99 * <li>interferometryPayloadCost</li>
100 * <li>additionalCommSubsystemCost</li>
101 * <li>spacecraftWithTwoCommSubsystems</li>
102 * </ul> 56 * </ul>
103 * 57 *
104 * @see IQueryGroup 58 * @see IQueryGroup
@@ -132,40 +86,17 @@ public final class SatelliteQueriesAll extends BaseGeneratedPatternGroup {
132 querySpecifications.add(IndirectLinkAllowed.instance()); 86 querySpecifications.add(IndirectLinkAllowed.instance());
133 querySpecifications.add(LinkAllowed.instance()); 87 querySpecifications.add(LinkAllowed.instance());
134 querySpecifications.add(MatchingAntenna.instance()); 88 querySpecifications.add(MatchingAntenna.instance());
89 querySpecifications.add(MatchingCommSubsystem.instance());
135 querySpecifications.add(CubeSat3U.instance()); 90 querySpecifications.add(CubeSat3U.instance());
91 querySpecifications.add(CubeSat6U.instance());
136 querySpecifications.add(CommunicationLoop.instance()); 92 querySpecifications.add(CommunicationLoop.instance());
137 querySpecifications.add(IndirectCommunicationLink.instance()); 93 querySpecifications.add(IndirectCommunicationLink.instance());
138 querySpecifications.add(DirectCommunicationLink.instance()); 94 querySpecifications.add(DirectCommunicationLink.instance());
139 querySpecifications.add(IncompatibleSourceAndTargetBand.instance()); 95 querySpecifications.add(IncompatibleSourceAndTargetBand.instance());
140 querySpecifications.add(CommSubsystemBand.instance());
141 querySpecifications.add(IncompatibleSourceAndTargetGain.instance());
142 querySpecifications.add(CommSubsystemGain.instance());
143 querySpecifications.add(UhfAntennaGainNotLow.instance());
144 querySpecifications.add(CommSubsystemGainLow.instance());
145 querySpecifications.add(XAntennaGainNotMedium.instance());
146 querySpecifications.add(CommSubsystemGainMedium.instance());
147 querySpecifications.add(KaAntennaGainLow.instance());
148 querySpecifications.add(ThreeUCubeSatWithNonUhfCrossLink.instance()); 96 querySpecifications.add(ThreeUCubeSatWithNonUhfCrossLink.instance());
149 querySpecifications.add(CommSubsystemBandUhf.instance()); 97 querySpecifications.add(CommSubsystemBandUhf.instance());
150 querySpecifications.add(GroundStationNetwork.instance()); 98 querySpecifications.add(GroundStationNetwork.instance());
151 querySpecifications.add(CubeSatWithKaAntenna.instance()); 99 querySpecifications.add(CubeSatWithKaAntenna.instance());
152 querySpecifications.add(SmallSat.instance()); 100 querySpecifications.add(SmallSat.instance());
153 querySpecifications.add(SpacecraftOfKind.instance());
154 querySpecifications.add(CoverageMetric.instance());
155 querySpecifications.add(MissionCoverage.instance());
156 querySpecifications.add(TimeMetric.instance());
157 querySpecifications.add(MissionTime.instance());
158 querySpecifications.add(TransmitTime.instance());
159 querySpecifications.add(IncomingData.instance());
160 querySpecifications.add(ScienceData.instance());
161 querySpecifications.add(TransmitRate.instance());
162 querySpecifications.add(SpacecraftUplink.instance());
163 querySpecifications.add(CostMetric.instance());
164 querySpecifications.add(MissionCost.instance());
165 querySpecifications.add(SpacecraftCost.instance());
166 querySpecifications.add(BasePrice.instance());
167 querySpecifications.add(InterferometryPayloadCost.instance());
168 querySpecifications.add(AdditionalCommSubsystemCost.instance());
169 querySpecifications.add(SpacecraftWithTwoCommSubsystems.instance());
170 } 101 }
171} 102}
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 @@
1/**
2 * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal;
5
6import java.util.Arrays;
7import java.util.LinkedHashSet;
8import java.util.List;
9import java.util.Set;
10import org.eclipse.emf.ecore.EClass;
11import org.eclipse.emf.ecore.EDataType;
12import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
13import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher;
14import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
15import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey;
16import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey;
17import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
18import org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey;
19import org.eclipse.viatra.query.runtime.matchers.psystem.IExpressionEvaluator;
20import org.eclipse.viatra.query.runtime.matchers.psystem.IValueProvider;
21import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
22import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
23import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
24import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
25import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExpressionEvaluation;
26import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.TypeFilterConstraint;
27import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
28import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
29import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
30import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
31import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
32
33/**
34 * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way.
35 *
36 * <p>Original source:
37 * <code><pre>
38 * private pattern scienceData(Spacecraft : Spacecraft, Data : java Double) {
39 * ConstellationMission.spacecraft(Mission, Spacecraft);
40 * InterferometryMission.observationTime(Mission, ObservationTime);
41 * Data == eval(12.0 ObservationTime);
42 * }
43 * </pre></code>
44 *
45 * @see GenericPatternMatcher
46 * @see GenericPatternMatch
47 *
48 */
49@SuppressWarnings("all")
50public final class ScienceData extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher {
51 private ScienceData() {
52 super(GeneratedPQuery.INSTANCE);
53 }
54
55 /**
56 * @return the singleton instance of the query specification
57 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
58 *
59 */
60 public static ScienceData instance() {
61 try{
62 return LazyHolder.INSTANCE;
63 } catch (ExceptionInInitializerError err) {
64 throw processInitializerError(err);
65 }
66 }
67
68 /**
69 * 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: <unset>) (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
70 * <b>not</b> at the class load time of the outer class,
71 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
72 *
73 * <p> This workaround is required e.g. to support recursion.
74 *
75 */
76 private static class LazyHolder {
77 private static final ScienceData INSTANCE = new ScienceData();
78
79 /**
80 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
81 * This initialization order is required to support indirect recursion.
82 *
83 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
84 *
85 */
86 private static final Object STATIC_INITIALIZER = ensureInitialized();
87
88 public static Object ensureInitialized() {
89 INSTANCE.ensureInitializedInternal();
90 return null;
91 }
92 }
93
94 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
95 private static final ScienceData.GeneratedPQuery INSTANCE = new GeneratedPQuery();
96
97 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT);
98
99 private final PParameter parameter_Data = new PParameter("Data", "java.lang.Double", new JavaTransitiveInstancesKey(java.lang.Double.class), PParameterDirection.INOUT);
100
101 private final List<PParameter> parameters = Arrays.asList(parameter_Spacecraft, parameter_Data);
102
103 private GeneratedPQuery() {
104 super(PVisibility.PRIVATE);
105 }
106
107 @Override
108 public String getFullyQualifiedName() {
109 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.scienceData";
110 }
111
112 @Override
113 public List<String> getParameterNames() {
114 return Arrays.asList("Spacecraft","Data");
115 }
116
117 @Override
118 public List<PParameter> getParameters() {
119 return parameters;
120 }
121
122 @Override
123 public Set<PBody> doGetContainedBodies() {
124 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
125 Set<PBody> bodies = new LinkedHashSet<>();
126 {
127 PBody body = new PBody(this);
128 PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft");
129 PVariable var_Data = body.getOrCreateVariableByName("Data");
130 PVariable var_Mission = body.getOrCreateVariableByName("Mission");
131 PVariable var_ObservationTime = body.getOrCreateVariableByName("ObservationTime");
132 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
133 new TypeFilterConstraint(body, Tuples.flatTupleOf(var_Data), new JavaTransitiveInstancesKey(java.lang.Double.class));
134 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
135 new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft),
136 new ExportedParameter(body, var_Data, parameter_Data)
137 ));
138 // ConstellationMission.spacecraft(Mission, Spacecraft)
139 new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "ConstellationMission")));
140 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
141 new TypeConstraint(body, Tuples.flatTupleOf(var_Mission, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "ConstellationMission", "spacecraft")));
142 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
143 new Equality(body, var__virtual_0_, var_Spacecraft);
144 // InterferometryMission.observationTime(Mission, ObservationTime)
145 new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "InterferometryMission")));
146 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
147 new TypeConstraint(body, Tuples.flatTupleOf(var_Mission, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "InterferometryMission", "observationTime")));
148 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.eclipse.org/emf/2002/Ecore", "EFloat")));
149 new Equality(body, var__virtual_1_, var_ObservationTime);
150 // Data == eval(12.0 * ObservationTime)
151 PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}");
152 new ExpressionEvaluation(body, new IExpressionEvaluator() {
153
154 @Override
155 public String getShortDescription() {
156 return "Expression evaluation from pattern scienceData";
157 }
158
159 @Override
160 public Iterable<String> getInputParameterNames() {
161 return Arrays.asList("ObservationTime");}
162
163 @Override
164 public Object evaluateExpression(IValueProvider provider) throws Exception {
165 Float ObservationTime = (Float) provider.getValue("ObservationTime");
166 return evaluateExpression_1_1(ObservationTime);
167 }
168 }, var__virtual_2_ );
169 new Equality(body, var_Data, var__virtual_2_);
170 bodies.add(body);
171 }
172 return bodies;
173 }
174 }
175
176 private static double evaluateExpression_1_1(final Float ObservationTime) {
177 return (12.0 * (ObservationTime).floatValue());
178 }
179}
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 @@
1/**
2 * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal;
5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SpacecraftOfKind;
7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.AdditionalCommSubsystemCost;
8import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.BasePrice;
9import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.InterferometryPayloadCost;
10import java.util.Arrays;
11import java.util.LinkedHashSet;
12import java.util.List;
13import java.util.Set;
14import org.eclipse.emf.ecore.EClass;
15import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
16import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher;
17import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
18import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey;
19import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
20import org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey;
21import org.eclipse.viatra.query.runtime.matchers.psystem.IExpressionEvaluator;
22import org.eclipse.viatra.query.runtime.matchers.psystem.IValueProvider;
23import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
24import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
25import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
26import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
27import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExpressionEvaluation;
28import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.PatternMatchCounter;
29import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.TypeFilterConstraint;
30import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall;
31import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
32import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
33import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
34import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
35import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
36
37/**
38 * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way.
39 *
40 * <p>Original source:
41 * <code><pre>
42 * private pattern spacecraftCost(Mission : InterferometryMission, Spacecraft : Spacecraft, Cost : java Double) {
43 * ConstellationMission.spacecraft(Mission, Spacecraft);
44 * find spacecraftOfKind(Spacecraft, Kind);
45 * KindCount == count find spacecraftOfKind(_, Kind);
46 * find basePrice(Spacecraft, BasePrice);
47 * find interferometryPayloadCost(Spacecraft, InterferometryPayloadCost);
48 * find additionalCommSubsystemCost(Spacecraft, AdditionalCommSubsystemCost);
49 * Cost == eval(BasePrice Math.pow(KindCount, -0.25) + InterferometryPayloadCost + AdditionalCommSubsystemCost);
50 * }
51 * </pre></code>
52 *
53 * @see GenericPatternMatcher
54 * @see GenericPatternMatch
55 *
56 */
57@SuppressWarnings("all")
58public final class SpacecraftCost extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher {
59 private SpacecraftCost() {
60 super(GeneratedPQuery.INSTANCE);
61 }
62
63 /**
64 * @return the singleton instance of the query specification
65 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
66 *
67 */
68 public static SpacecraftCost instance() {
69 try{
70 return LazyHolder.INSTANCE;
71 } catch (ExceptionInInitializerError err) {
72 throw processInitializerError(err);
73 }
74 }
75
76 /**
77 * 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: <unset>) (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
78 * <b>not</b> at the class load time of the outer class,
79 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
80 *
81 * <p> This workaround is required e.g. to support recursion.
82 *
83 */
84 private static class LazyHolder {
85 private static final SpacecraftCost INSTANCE = new SpacecraftCost();
86
87 /**
88 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
89 * This initialization order is required to support indirect recursion.
90 *
91 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
92 *
93 */
94 private static final Object STATIC_INITIALIZER = ensureInitialized();
95
96 public static Object ensureInitialized() {
97 INSTANCE.ensureInitializedInternal();
98 return null;
99 }
100 }
101
102 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
103 private static final SpacecraftCost.GeneratedPQuery INSTANCE = new GeneratedPQuery();
104
105 private final PParameter parameter_Mission = new PParameter("Mission", "satellite.InterferometryMission", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "InterferometryMission")), PParameterDirection.INOUT);
106
107 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT);
108
109 private final PParameter parameter_Cost = new PParameter("Cost", "java.lang.Double", new JavaTransitiveInstancesKey(java.lang.Double.class), PParameterDirection.INOUT);
110
111 private final List<PParameter> parameters = Arrays.asList(parameter_Mission, parameter_Spacecraft, parameter_Cost);
112
113 private GeneratedPQuery() {
114 super(PVisibility.PRIVATE);
115 }
116
117 @Override
118 public String getFullyQualifiedName() {
119 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftCost";
120 }
121
122 @Override
123 public List<String> getParameterNames() {
124 return Arrays.asList("Mission","Spacecraft","Cost");
125 }
126
127 @Override
128 public List<PParameter> getParameters() {
129 return parameters;
130 }
131
132 @Override
133 public Set<PBody> doGetContainedBodies() {
134 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
135 Set<PBody> bodies = new LinkedHashSet<>();
136 {
137 PBody body = new PBody(this);
138 PVariable var_Mission = body.getOrCreateVariableByName("Mission");
139 PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft");
140 PVariable var_Cost = body.getOrCreateVariableByName("Cost");
141 PVariable var_Kind = body.getOrCreateVariableByName("Kind");
142 PVariable var_KindCount = body.getOrCreateVariableByName("KindCount");
143 PVariable var___0_ = body.getOrCreateVariableByName("_<0>");
144 PVariable var_BasePrice = body.getOrCreateVariableByName("BasePrice");
145 PVariable var_InterferometryPayloadCost = body.getOrCreateVariableByName("InterferometryPayloadCost");
146 PVariable var_AdditionalCommSubsystemCost = body.getOrCreateVariableByName("AdditionalCommSubsystemCost");
147 new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "InterferometryMission")));
148 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
149 new TypeFilterConstraint(body, Tuples.flatTupleOf(var_Cost), new JavaTransitiveInstancesKey(java.lang.Double.class));
150 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
151 new ExportedParameter(body, var_Mission, parameter_Mission),
152 new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft),
153 new ExportedParameter(body, var_Cost, parameter_Cost)
154 ));
155 // ConstellationMission.spacecraft(Mission, Spacecraft)
156 new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "ConstellationMission")));
157 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
158 new TypeConstraint(body, Tuples.flatTupleOf(var_Mission, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "ConstellationMission", "spacecraft")));
159 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
160 new Equality(body, var__virtual_0_, var_Spacecraft);
161 // find spacecraftOfKind(Spacecraft, Kind)
162 new PositivePatternCall(body, Tuples.flatTupleOf(var_Spacecraft, var_Kind), SpacecraftOfKind.instance().getInternalQueryRepresentation());
163 // KindCount == count find spacecraftOfKind(_, Kind)
164 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
165 new PatternMatchCounter(body, Tuples.flatTupleOf(var___0_, var_Kind), SpacecraftOfKind.instance().getInternalQueryRepresentation(), var__virtual_1_);
166 new Equality(body, var_KindCount, var__virtual_1_);
167 // find basePrice(Spacecraft, BasePrice)
168 new PositivePatternCall(body, Tuples.flatTupleOf(var_Spacecraft, var_BasePrice), BasePrice.instance().getInternalQueryRepresentation());
169 // find interferometryPayloadCost(Spacecraft, InterferometryPayloadCost)
170 new PositivePatternCall(body, Tuples.flatTupleOf(var_Spacecraft, var_InterferometryPayloadCost), InterferometryPayloadCost.instance().getInternalQueryRepresentation());
171 // find additionalCommSubsystemCost(Spacecraft, AdditionalCommSubsystemCost)
172 new PositivePatternCall(body, Tuples.flatTupleOf(var_Spacecraft, var_AdditionalCommSubsystemCost), AdditionalCommSubsystemCost.instance().getInternalQueryRepresentation());
173 // Cost == eval(BasePrice * Math.pow(KindCount, -0.25) + InterferometryPayloadCost + AdditionalCommSubsystemCost)
174 PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}");
175 new ExpressionEvaluation(body, new IExpressionEvaluator() {
176
177 @Override
178 public String getShortDescription() {
179 return "Expression evaluation from pattern spacecraftCost";
180 }
181
182 @Override
183 public Iterable<String> getInputParameterNames() {
184 return Arrays.asList("AdditionalCommSubsystemCost", "BasePrice", "InterferometryPayloadCost", "KindCount");}
185
186 @Override
187 public Object evaluateExpression(IValueProvider provider) throws Exception {
188 Double AdditionalCommSubsystemCost = (Double) provider.getValue("AdditionalCommSubsystemCost");
189 Double BasePrice = (Double) provider.getValue("BasePrice");
190 Double InterferometryPayloadCost = (Double) provider.getValue("InterferometryPayloadCost");
191 Integer KindCount = (Integer) provider.getValue("KindCount");
192 return evaluateExpression_1_1(AdditionalCommSubsystemCost, BasePrice, InterferometryPayloadCost, KindCount);
193 }
194 }, var__virtual_2_ );
195 new Equality(body, var_Cost, var__virtual_2_);
196 bodies.add(body);
197 }
198 return bodies;
199 }
200 }
201
202 private static double evaluateExpression_1_1(final Double AdditionalCommSubsystemCost, final Double BasePrice, final Double InterferometryPayloadCost, final Integer KindCount) {
203 double _pow = Math.pow((KindCount).intValue(), (-0.25));
204 double _multiply = ((BasePrice).doubleValue() * _pow);
205 double _plus = (_multiply + (InterferometryPayloadCost).doubleValue());
206 double _plus_1 = (_plus + (AdditionalCommSubsystemCost).doubleValue());
207 return _plus_1;
208 }
209}
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 @@
1/**
2 * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal;
5
6import java.util.Arrays;
7import java.util.LinkedHashSet;
8import java.util.List;
9import java.util.Set;
10import org.eclipse.emf.ecore.EClass;
11import org.eclipse.emf.ecore.EDataType;
12import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
13import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher;
14import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
15import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey;
16import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey;
17import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
18import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
19import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
20import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
21import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
22import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
23import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
24import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
25import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
26import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
27
28/**
29 * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way.
30 *
31 * <p>Original source:
32 * <code><pre>
33 * private pattern spacecraftUplink(Spacecraft : Spacecraft, Band : TransceiverBand, Target : CommunicatingElement) {
34 * CommunicatingElement.communicationLink(Spacecraft, Link);
35 * DirectedCommunicationLink.source.band(Link, Band);
36 * DirectedCommunicationLink.target(Link, TargetSubsystem);
37 * CommunicatingElement.commSubsystem(Target, TargetSubsystem);
38 * }
39 * </pre></code>
40 *
41 * @see GenericPatternMatcher
42 * @see GenericPatternMatch
43 *
44 */
45@SuppressWarnings("all")
46public final class SpacecraftUplink extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher {
47 private SpacecraftUplink() {
48 super(GeneratedPQuery.INSTANCE);
49 }
50
51 /**
52 * @return the singleton instance of the query specification
53 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
54 *
55 */
56 public static SpacecraftUplink instance() {
57 try{
58 return LazyHolder.INSTANCE;
59 } catch (ExceptionInInitializerError err) {
60 throw processInitializerError(err);
61 }
62 }
63
64 /**
65 * 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: <unset>) (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
66 * <b>not</b> at the class load time of the outer class,
67 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
68 *
69 * <p> This workaround is required e.g. to support recursion.
70 *
71 */
72 private static class LazyHolder {
73 private static final SpacecraftUplink INSTANCE = new SpacecraftUplink();
74
75 /**
76 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
77 * This initialization order is required to support indirect recursion.
78 *
79 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
80 *
81 */
82 private static final Object STATIC_INITIALIZER = ensureInitialized();
83
84 public static Object ensureInitialized() {
85 INSTANCE.ensureInitializedInternal();
86 return null;
87 }
88 }
89
90 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
91 private static final SpacecraftUplink.GeneratedPQuery INSTANCE = new GeneratedPQuery();
92
93 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT);
94
95 private final PParameter parameter_Band = new PParameter("Band", "satellite.TransceiverBand", new EDataTypeInSlotsKey((EDataType)getClassifierLiteralSafe("http://www.example.org/satellite", "TransceiverBand")), PParameterDirection.INOUT);
96
97 private final PParameter parameter_Target = new PParameter("Target", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT);
98
99 private final List<PParameter> parameters = Arrays.asList(parameter_Spacecraft, parameter_Band, parameter_Target);
100
101 private GeneratedPQuery() {
102 super(PVisibility.PRIVATE);
103 }
104
105 @Override
106 public String getFullyQualifiedName() {
107 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftUplink";
108 }
109
110 @Override
111 public List<String> getParameterNames() {
112 return Arrays.asList("Spacecraft","Band","Target");
113 }
114
115 @Override
116 public List<PParameter> getParameters() {
117 return parameters;
118 }
119
120 @Override
121 public Set<PBody> doGetContainedBodies() {
122 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
123 Set<PBody> bodies = new LinkedHashSet<>();
124 {
125 PBody body = new PBody(this);
126 PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft");
127 PVariable var_Band = body.getOrCreateVariableByName("Band");
128 PVariable var_Target = body.getOrCreateVariableByName("Target");
129 PVariable var_Link = body.getOrCreateVariableByName("Link");
130 PVariable var_TargetSubsystem = body.getOrCreateVariableByName("TargetSubsystem");
131 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
132 new TypeConstraint(body, Tuples.flatTupleOf(var_Band), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "TransceiverBand")));
133 new TypeConstraint(body, Tuples.flatTupleOf(var_Target), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
134 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
135 new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft),
136 new ExportedParameter(body, var_Band, parameter_Band),
137 new ExportedParameter(body, var_Target, parameter_Target)
138 ));
139 // CommunicatingElement.communicationLink(Spacecraft, Link)
140 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
141 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
142 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "communicationLink")));
143 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink")));
144 new Equality(body, var__virtual_0_, var_Link);
145 // DirectedCommunicationLink.source.band(Link, Band)
146 new TypeConstraint(body, Tuples.flatTupleOf(var_Link), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink")));
147 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
148 new TypeConstraint(body, Tuples.flatTupleOf(var_Link, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "DirectedCommunicationLink", "source")));
149 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
150 PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}");
151 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_, var__virtual_2_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "band")));
152 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_2_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "TransceiverBand")));
153 new Equality(body, var__virtual_2_, var_Band);
154 // DirectedCommunicationLink.target(Link, TargetSubsystem)
155 new TypeConstraint(body, Tuples.flatTupleOf(var_Link), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink")));
156 PVariable var__virtual_3_ = body.getOrCreateVariableByName(".virtual{3}");
157 new TypeConstraint(body, Tuples.flatTupleOf(var_Link, var__virtual_3_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "DirectedCommunicationLink", "target")));
158 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_3_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
159 new Equality(body, var__virtual_3_, var_TargetSubsystem);
160 // CommunicatingElement.commSubsystem(Target, TargetSubsystem)
161 new TypeConstraint(body, Tuples.flatTupleOf(var_Target), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
162 PVariable var__virtual_4_ = body.getOrCreateVariableByName(".virtual{4}");
163 new TypeConstraint(body, Tuples.flatTupleOf(var_Target, var__virtual_4_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem")));
164 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_4_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
165 new Equality(body, var__virtual_4_, var_TargetSubsystem);
166 bodies.add(body);
167 }
168 return bodies;
169 }
170 }
171}
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 @@
1/**
2 * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal;
5
6import java.util.Arrays;
7import java.util.LinkedHashSet;
8import java.util.List;
9import java.util.Set;
10import org.eclipse.emf.ecore.EClass;
11import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
12import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher;
13import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
14import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey;
15import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
16import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
17import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
18import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
19import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
20import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Inequality;
21import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
22import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
23import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
24import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
25import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
26
27/**
28 * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way.
29 *
30 * <p>Original source:
31 * <code><pre>
32 * private pattern spacecraftWithTwoCommSubsystems(Spacecraft : Spacecraft) {
33 * Spacecraft.commSubsystem(Spacecraft, Subsystem1);
34 * Spacecraft.commSubsystem(Spacecraft, Subsystem2);
35 * Subsystem1 != Subsystem2;
36 * }
37 * </pre></code>
38 *
39 * @see GenericPatternMatcher
40 * @see GenericPatternMatch
41 *
42 */
43@SuppressWarnings("all")
44public final class SpacecraftWithTwoCommSubsystems extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher {
45 private SpacecraftWithTwoCommSubsystems() {
46 super(GeneratedPQuery.INSTANCE);
47 }
48
49 /**
50 * @return the singleton instance of the query specification
51 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
52 *
53 */
54 public static SpacecraftWithTwoCommSubsystems instance() {
55 try{
56 return LazyHolder.INSTANCE;
57 } catch (ExceptionInInitializerError err) {
58 throw processInitializerError(err);
59 }
60 }
61
62 /**
63 * 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: <unset>) (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
64 * <b>not</b> at the class load time of the outer class,
65 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
66 *
67 * <p> This workaround is required e.g. to support recursion.
68 *
69 */
70 private static class LazyHolder {
71 private static final SpacecraftWithTwoCommSubsystems INSTANCE = new SpacecraftWithTwoCommSubsystems();
72
73 /**
74 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
75 * This initialization order is required to support indirect recursion.
76 *
77 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
78 *
79 */
80 private static final Object STATIC_INITIALIZER = ensureInitialized();
81
82 public static Object ensureInitialized() {
83 INSTANCE.ensureInitializedInternal();
84 return null;
85 }
86 }
87
88 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
89 private static final SpacecraftWithTwoCommSubsystems.GeneratedPQuery INSTANCE = new GeneratedPQuery();
90
91 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT);
92
93 private final List<PParameter> parameters = Arrays.asList(parameter_Spacecraft);
94
95 private GeneratedPQuery() {
96 super(PVisibility.PRIVATE);
97 }
98
99 @Override
100 public String getFullyQualifiedName() {
101 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftWithTwoCommSubsystems";
102 }
103
104 @Override
105 public List<String> getParameterNames() {
106 return Arrays.asList("Spacecraft");
107 }
108
109 @Override
110 public List<PParameter> getParameters() {
111 return parameters;
112 }
113
114 @Override
115 public Set<PBody> doGetContainedBodies() {
116 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
117 Set<PBody> bodies = new LinkedHashSet<>();
118 {
119 PBody body = new PBody(this);
120 PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft");
121 PVariable var_Subsystem1 = body.getOrCreateVariableByName("Subsystem1");
122 PVariable var_Subsystem2 = body.getOrCreateVariableByName("Subsystem2");
123 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
124 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
125 new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft)
126 ));
127 // Spacecraft.commSubsystem(Spacecraft, Subsystem1)
128 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
129 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
130 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem")));
131 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
132 new Equality(body, var__virtual_0_, var_Subsystem1);
133 // Spacecraft.commSubsystem(Spacecraft, Subsystem2)
134 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
135 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
136 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem")));
137 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
138 new Equality(body, var__virtual_1_, var_Subsystem2);
139 // Subsystem1 != Subsystem2
140 new Inequality(body, var_Subsystem1, var_Subsystem2);
141 bodies.add(body);
142 }
143 return bodies;
144 }
145 }
146}
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 @@
1/**
2 * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal;
5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftUplink;
7import java.util.Arrays;
8import java.util.LinkedHashSet;
9import java.util.List;
10import java.util.Set;
11import org.eclipse.emf.ecore.EClass;
12import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
13import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher;
14import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
15import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
16import org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey;
17import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
18import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
19import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
20import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
21import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.TypeFilterConstraint;
22import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue;
23import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall;
24import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
25import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
26import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
27import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
28import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
29
30/**
31 * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way.
32 *
33 * <p>Original source:
34 * <code><pre>
35 * private pattern transmitRate(Spacecraft : Spacecraft, TransmitRate : java Double) {
36 * find spacecraftUplink(Spacecraft, TransceiverBand::UHF, Target);
37 * Spacecraft(Target);
38 * TransmitRate == 5.0;
39 * } or {
40 * find spacecraftUplink(Spacecraft, TransceiverBand::X, Target);
41 * Spacecraft(Target);
42 * TransmitRate == 1.6;
43 * } or {
44 * find spacecraftUplink(Spacecraft, TransceiverBand::X, Target);
45 * GroundStationNetwork(Target);
46 * TransmitRate == 0.7;
47 * } or {
48 * find spacecraftUplink(Spacecraft, TransceiverBand::Ka, Target);
49 * Spacecraft(Target);
50 * TransmitRate == 220.0;
51 * } or {
52 * find spacecraftUplink(Spacecraft, TransceiverBand::Ka, Target);
53 * GroundStationNetwork(Target);
54 * TransmitRate == 80.0;
55 * }
56 * </pre></code>
57 *
58 * @see GenericPatternMatcher
59 * @see GenericPatternMatch
60 *
61 */
62@SuppressWarnings("all")
63public final class TransmitRate extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher {
64 private TransmitRate() {
65 super(GeneratedPQuery.INSTANCE);
66 }
67
68 /**
69 * @return the singleton instance of the query specification
70 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
71 *
72 */
73 public static TransmitRate instance() {
74 try{
75 return LazyHolder.INSTANCE;
76 } catch (ExceptionInInitializerError err) {
77 throw processInitializerError(err);
78 }
79 }
80
81 /**
82 * 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: <unset>) (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
83 * <b>not</b> at the class load time of the outer class,
84 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
85 *
86 * <p> This workaround is required e.g. to support recursion.
87 *
88 */
89 private static class LazyHolder {
90 private static final TransmitRate INSTANCE = new TransmitRate();
91
92 /**
93 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
94 * This initialization order is required to support indirect recursion.
95 *
96 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
97 *
98 */
99 private static final Object STATIC_INITIALIZER = ensureInitialized();
100
101 public static Object ensureInitialized() {
102 INSTANCE.ensureInitializedInternal();
103 return null;
104 }
105 }
106
107 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
108 private static final TransmitRate.GeneratedPQuery INSTANCE = new GeneratedPQuery();
109
110 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT);
111
112 private final PParameter parameter_TransmitRate = new PParameter("TransmitRate", "java.lang.Double", new JavaTransitiveInstancesKey(java.lang.Double.class), PParameterDirection.INOUT);
113
114 private final List<PParameter> parameters = Arrays.asList(parameter_Spacecraft, parameter_TransmitRate);
115
116 private GeneratedPQuery() {
117 super(PVisibility.PRIVATE);
118 }
119
120 @Override
121 public String getFullyQualifiedName() {
122 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.transmitRate";
123 }
124
125 @Override
126 public List<String> getParameterNames() {
127 return Arrays.asList("Spacecraft","TransmitRate");
128 }
129
130 @Override
131 public List<PParameter> getParameters() {
132 return parameters;
133 }
134
135 @Override
136 public Set<PBody> doGetContainedBodies() {
137 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
138 Set<PBody> bodies = new LinkedHashSet<>();
139 {
140 PBody body = new PBody(this);
141 PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft");
142 PVariable var_TransmitRate = body.getOrCreateVariableByName("TransmitRate");
143 PVariable var_Target = body.getOrCreateVariableByName("Target");
144 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
145 new TypeFilterConstraint(body, Tuples.flatTupleOf(var_TransmitRate), new JavaTransitiveInstancesKey(java.lang.Double.class));
146 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
147 new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft),
148 new ExportedParameter(body, var_TransmitRate, parameter_TransmitRate)
149 ));
150 // find spacecraftUplink(Spacecraft, TransceiverBand::UHF, Target)
151 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
152 new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "TransceiverBand", "UHF").getInstance());
153 new PositivePatternCall(body, Tuples.flatTupleOf(var_Spacecraft, var__virtual_0_, var_Target), SpacecraftUplink.instance().getInternalQueryRepresentation());
154 // Spacecraft(Target)
155 new TypeConstraint(body, Tuples.flatTupleOf(var_Target), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
156 // TransmitRate == 5.0
157 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
158 new ConstantValue(body, var__virtual_1_, 5.0);
159 new Equality(body, var_TransmitRate, var__virtual_1_);
160 bodies.add(body);
161 }
162 {
163 PBody body = new PBody(this);
164 PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft");
165 PVariable var_TransmitRate = body.getOrCreateVariableByName("TransmitRate");
166 PVariable var_Target = body.getOrCreateVariableByName("Target");
167 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
168 new TypeFilterConstraint(body, Tuples.flatTupleOf(var_TransmitRate), new JavaTransitiveInstancesKey(java.lang.Double.class));
169 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
170 new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft),
171 new ExportedParameter(body, var_TransmitRate, parameter_TransmitRate)
172 ));
173 // find spacecraftUplink(Spacecraft, TransceiverBand::X, Target)
174 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
175 new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "TransceiverBand", "X").getInstance());
176 new PositivePatternCall(body, Tuples.flatTupleOf(var_Spacecraft, var__virtual_0_, var_Target), SpacecraftUplink.instance().getInternalQueryRepresentation());
177 // Spacecraft(Target)
178 new TypeConstraint(body, Tuples.flatTupleOf(var_Target), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
179 // TransmitRate == 1.6
180 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
181 new ConstantValue(body, var__virtual_1_, 1.6);
182 new Equality(body, var_TransmitRate, var__virtual_1_);
183 bodies.add(body);
184 }
185 {
186 PBody body = new PBody(this);
187 PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft");
188 PVariable var_TransmitRate = body.getOrCreateVariableByName("TransmitRate");
189 PVariable var_Target = body.getOrCreateVariableByName("Target");
190 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
191 new TypeFilterConstraint(body, Tuples.flatTupleOf(var_TransmitRate), new JavaTransitiveInstancesKey(java.lang.Double.class));
192 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
193 new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft),
194 new ExportedParameter(body, var_TransmitRate, parameter_TransmitRate)
195 ));
196 // find spacecraftUplink(Spacecraft, TransceiverBand::X, Target)
197 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
198 new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "TransceiverBand", "X").getInstance());
199 new PositivePatternCall(body, Tuples.flatTupleOf(var_Spacecraft, var__virtual_0_, var_Target), SpacecraftUplink.instance().getInternalQueryRepresentation());
200 // GroundStationNetwork(Target)
201 new TypeConstraint(body, Tuples.flatTupleOf(var_Target), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "GroundStationNetwork")));
202 // TransmitRate == 0.7
203 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
204 new ConstantValue(body, var__virtual_1_, 0.7);
205 new Equality(body, var_TransmitRate, var__virtual_1_);
206 bodies.add(body);
207 }
208 {
209 PBody body = new PBody(this);
210 PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft");
211 PVariable var_TransmitRate = body.getOrCreateVariableByName("TransmitRate");
212 PVariable var_Target = body.getOrCreateVariableByName("Target");
213 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
214 new TypeFilterConstraint(body, Tuples.flatTupleOf(var_TransmitRate), new JavaTransitiveInstancesKey(java.lang.Double.class));
215 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
216 new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft),
217 new ExportedParameter(body, var_TransmitRate, parameter_TransmitRate)
218 ));
219 // find spacecraftUplink(Spacecraft, TransceiverBand::Ka, Target)
220 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
221 new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "TransceiverBand", "Ka").getInstance());
222 new PositivePatternCall(body, Tuples.flatTupleOf(var_Spacecraft, var__virtual_0_, var_Target), SpacecraftUplink.instance().getInternalQueryRepresentation());
223 // Spacecraft(Target)
224 new TypeConstraint(body, Tuples.flatTupleOf(var_Target), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
225 // TransmitRate == 220.0
226 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
227 new ConstantValue(body, var__virtual_1_, 220.0);
228 new Equality(body, var_TransmitRate, var__virtual_1_);
229 bodies.add(body);
230 }
231 {
232 PBody body = new PBody(this);
233 PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft");
234 PVariable var_TransmitRate = body.getOrCreateVariableByName("TransmitRate");
235 PVariable var_Target = body.getOrCreateVariableByName("Target");
236 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
237 new TypeFilterConstraint(body, Tuples.flatTupleOf(var_TransmitRate), new JavaTransitiveInstancesKey(java.lang.Double.class));
238 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
239 new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft),
240 new ExportedParameter(body, var_TransmitRate, parameter_TransmitRate)
241 ));
242 // find spacecraftUplink(Spacecraft, TransceiverBand::Ka, Target)
243 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
244 new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "TransceiverBand", "Ka").getInstance());
245 new PositivePatternCall(body, Tuples.flatTupleOf(var_Spacecraft, var__virtual_0_, var_Target), SpacecraftUplink.instance().getInternalQueryRepresentation());
246 // GroundStationNetwork(Target)
247 new TypeConstraint(body, Tuples.flatTupleOf(var_Target), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "GroundStationNetwork")));
248 // TransmitRate == 80.0
249 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
250 new ConstantValue(body, var__virtual_1_, 80.0);
251 new Equality(body, var_TransmitRate, var__virtual_1_);
252 bodies.add(body);
253 }
254 return bodies;
255 }
256 }
257
258 private static double evaluateExpression_1_1() {
259 return 5.0;
260 }
261
262 private static double evaluateExpression_2_1() {
263 return 1.6;
264 }
265
266 private static double evaluateExpression_3_1() {
267 return 0.7;
268 }
269
270 private static double evaluateExpression_4_1() {
271 return 220.0;
272 }
273
274 private static double evaluateExpression_5_1() {
275 return 80.0;
276 }
277}
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 @@
1/**
2 * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal;
5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IncomingData;
7import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.ScienceData;
8import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.TransmitRate;
9import java.util.Arrays;
10import java.util.LinkedHashSet;
11import java.util.List;
12import java.util.Set;
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
15import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher;
16import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
17import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey;
18import org.eclipse.viatra.query.runtime.matchers.aggregators.sum;
19import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
20import org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey;
21import org.eclipse.viatra.query.runtime.matchers.psystem.IExpressionEvaluator;
22import org.eclipse.viatra.query.runtime.matchers.psystem.IValueProvider;
23import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
24import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
25import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.AggregatorConstraint;
26import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
27import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
28import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExpressionEvaluation;
29import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.TypeFilterConstraint;
30import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall;
31import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
32import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
33import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
34import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
35import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
36import org.eclipse.xtext.xbase.lib.DoubleExtensions;
37
38/**
39 * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way.
40 *
41 * <p>Original source:
42 * <code><pre>
43 * private pattern transmitTime(Mission : InterferometryMission, Spacecraft : Spacecraft, TransmitTime : java Double) {
44 * ConstellationMission.spacecraft(Mission, Spacecraft);
45 * find scienceData(Spacecraft, ScienceData);
46 * IncomingData == sum find incomingData(Spacecraft, _, #_);
47 * find transmitRate(Spacecraft, TransmitRate);
48 * TransmitTime == eval((ScienceData + IncomingData) / (7.5 TransmitRate));
49 * }
50 * </pre></code>
51 *
52 * @see GenericPatternMatcher
53 * @see GenericPatternMatch
54 *
55 */
56@SuppressWarnings("all")
57public final class TransmitTime extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher {
58 private TransmitTime() {
59 super(GeneratedPQuery.INSTANCE);
60 }
61
62 /**
63 * @return the singleton instance of the query specification
64 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
65 *
66 */
67 public static TransmitTime instance() {
68 try{
69 return LazyHolder.INSTANCE;
70 } catch (ExceptionInInitializerError err) {
71 throw processInitializerError(err);
72 }
73 }
74
75 /**
76 * 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: <unset>) (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
77 * <b>not</b> at the class load time of the outer class,
78 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
79 *
80 * <p> This workaround is required e.g. to support recursion.
81 *
82 */
83 private static class LazyHolder {
84 private static final TransmitTime INSTANCE = new TransmitTime();
85
86 /**
87 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
88 * This initialization order is required to support indirect recursion.
89 *
90 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
91 *
92 */
93 private static final Object STATIC_INITIALIZER = ensureInitialized();
94
95 public static Object ensureInitialized() {
96 INSTANCE.ensureInitializedInternal();
97 return null;
98 }
99 }
100
101 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
102 private static final TransmitTime.GeneratedPQuery INSTANCE = new GeneratedPQuery();
103
104 private final PParameter parameter_Mission = new PParameter("Mission", "satellite.InterferometryMission", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "InterferometryMission")), PParameterDirection.INOUT);
105
106 private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT);
107
108 private final PParameter parameter_TransmitTime = new PParameter("TransmitTime", "java.lang.Double", new JavaTransitiveInstancesKey(java.lang.Double.class), PParameterDirection.INOUT);
109
110 private final List<PParameter> parameters = Arrays.asList(parameter_Mission, parameter_Spacecraft, parameter_TransmitTime);
111
112 private GeneratedPQuery() {
113 super(PVisibility.PRIVATE);
114 }
115
116 @Override
117 public String getFullyQualifiedName() {
118 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.transmitTime";
119 }
120
121 @Override
122 public List<String> getParameterNames() {
123 return Arrays.asList("Mission","Spacecraft","TransmitTime");
124 }
125
126 @Override
127 public List<PParameter> getParameters() {
128 return parameters;
129 }
130
131 @Override
132 public Set<PBody> doGetContainedBodies() {
133 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
134 Set<PBody> bodies = new LinkedHashSet<>();
135 {
136 PBody body = new PBody(this);
137 PVariable var_Mission = body.getOrCreateVariableByName("Mission");
138 PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft");
139 PVariable var_TransmitTime = body.getOrCreateVariableByName("TransmitTime");
140 PVariable var_ScienceData = body.getOrCreateVariableByName("ScienceData");
141 PVariable var_IncomingData = body.getOrCreateVariableByName("IncomingData");
142 PVariable var___0_ = body.getOrCreateVariableByName("_<0>");
143 PVariable var___1_ = body.getOrCreateVariableByName("_<1>");
144 PVariable var_TransmitRate = body.getOrCreateVariableByName("TransmitRate");
145 new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "InterferometryMission")));
146 new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
147 new TypeFilterConstraint(body, Tuples.flatTupleOf(var_TransmitTime), new JavaTransitiveInstancesKey(java.lang.Double.class));
148 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
149 new ExportedParameter(body, var_Mission, parameter_Mission),
150 new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft),
151 new ExportedParameter(body, var_TransmitTime, parameter_TransmitTime)
152 ));
153 // ConstellationMission.spacecraft(Mission, Spacecraft)
154 new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "ConstellationMission")));
155 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
156 new TypeConstraint(body, Tuples.flatTupleOf(var_Mission, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "ConstellationMission", "spacecraft")));
157 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
158 new Equality(body, var__virtual_0_, var_Spacecraft);
159 // find scienceData(Spacecraft, ScienceData)
160 new PositivePatternCall(body, Tuples.flatTupleOf(var_Spacecraft, var_ScienceData), ScienceData.instance().getInternalQueryRepresentation());
161 // IncomingData == sum find incomingData(Spacecraft, _, #_)
162 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
163 new AggregatorConstraint(new sum().getAggregatorLogic(Double.class), body, Tuples.flatTupleOf(var_Spacecraft, var___0_, var___1_), IncomingData.instance().getInternalQueryRepresentation(), var__virtual_1_, 2);
164 new Equality(body, var_IncomingData, var__virtual_1_);
165 // find transmitRate(Spacecraft, TransmitRate)
166 new PositivePatternCall(body, Tuples.flatTupleOf(var_Spacecraft, var_TransmitRate), TransmitRate.instance().getInternalQueryRepresentation());
167 // TransmitTime == eval((ScienceData + IncomingData) / (7.5 * TransmitRate))
168 PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}");
169 new ExpressionEvaluation(body, new IExpressionEvaluator() {
170
171 @Override
172 public String getShortDescription() {
173 return "Expression evaluation from pattern transmitTime";
174 }
175
176 @Override
177 public Iterable<String> getInputParameterNames() {
178 return Arrays.asList("IncomingData", "ScienceData", "TransmitRate");}
179
180 @Override
181 public Object evaluateExpression(IValueProvider provider) throws Exception {
182 Double IncomingData = (Double) provider.getValue("IncomingData");
183 Double ScienceData = (Double) provider.getValue("ScienceData");
184 Double TransmitRate = (Double) provider.getValue("TransmitRate");
185 return evaluateExpression_1_1(IncomingData, ScienceData, TransmitRate);
186 }
187 }, var__virtual_2_ );
188 new Equality(body, var_TransmitTime, var__virtual_2_);
189 bodies.add(body);
190 }
191 return bodies;
192 }
193 }
194
195 private static double evaluateExpression_1_1(final Double IncomingData, final Double ScienceData, final Double TransmitRate) {
196 double _plus = DoubleExtensions.operator_plus(ScienceData, IncomingData);
197 double _divide = (_plus / (7.5 * (TransmitRate).doubleValue()));
198 return _divide;
199 }
200}
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 @@
1package hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo
2
3import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CostMetric
4
5class CostObjective extends MetricBasedGuidanceFunction {
6 new() {
7 super(CostMetric.instance)
8 }
9
10 override getName() {
11 "Cost"
12 }
13}
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 @@
1package hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo
2
3import java.util.Properties
4import org.moeaframework.Executor
5import org.moeaframework.Instrumenter
6import org.moeaframework.algorithm.PeriodicAction
7import org.moeaframework.core.TerminationCondition
8import org.moeaframework.core.spi.AlgorithmFactory
9import uk.ac.kcl.inf.mdeoptimiser.interfaces.cli.Run
10import uk.ac.kcl.inf.mdeoptimiser.languages.mopt.Optimisation
11import uk.ac.kcl.inf.mdeoptimiser.languages.mopt.SolverSpec
12import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.OptimisationInterpreter
13import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.executor.SolutionGenerator
14import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.moea.MoeaOptimisation
15import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.moea.algorithms.MoeaOptimisationAlgorithmProvider
16import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.moea.instrumentation.PopulationCollector
17import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.moea.problem.MoeaOptimisationProblem
18import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.operators.adaptation.MutationStepSizeStrategyFactory
19import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.output.MDEOBatch
20
21class ExcludedMoeaOptimisation extends MoeaOptimisation {
22 SolutionGenerator solutionGenerator
23 Instrumenter algorithmStepSizeInstrumenter
24
25 override execute(SolverSpec solverSpec, SolutionGenerator solutionGenerator) {
26 this.solutionGenerator = solutionGenerator
27 super.execute(solverSpec, solutionGenerator)
28 }
29
30 override Instrumenter runOptimisation(SolverSpec solverSpec, Properties optimisationProperties) {
31 val algorithmFactory = new AlgorithmFactory
32 algorithmFactory.addProvider(new MoeaOptimisationAlgorithmProvider)
33
34 algorithmStepSizeInstrumenter = new Instrumenter().addExcludedPackage("org.eclipse").withProblemClass(
35 MoeaOptimisationProblem, solutionGenerator).attachApproximationSetCollector().attachElapsedTimeCollector().
36 attachPopulationSizeCollector.attach(new PopulationCollector()).withFrequency(1).withFrequencyType(
37 PeriodicAction.FrequencyType.STEPS)
38
39 var stepSizeStrategy = new MutationStepSizeStrategyFactory(solverSpec.algorithm, algorithmStepSizeInstrumenter).
40 strategy
41
42 solutionGenerator.setMutationStepSizeStrategy(stepSizeStrategy)
43
44 // TODO: Place this in a better location.
45 // Exclude JDK packages from Instrumenter
46 this.algorithmStepSizeInstrumenter.addExcludedPackage("jdk")
47
48 new Executor().usingAlgorithmFactory(algorithmFactory).withAlgorithm(solverSpec.algorithm.name) // Initialize problem with our solution generator
49 .withProblemClass(MoeaOptimisationProblem, solutionGenerator).withProperties(optimisationProperties).
50 withInstrumenter(algorithmStepSizeInstrumenter).withTerminationCondition(
51 optimisationProperties.get("terminationCondition") as TerminationCondition).run()
52
53 return algorithmStepSizeInstrumenter
54 }
55}
56
57class ExcludedOptimisationInterpreter extends OptimisationInterpreter {
58 val Optimisation model
59
60 new(String projectPath, Optimisation model) {
61 super(projectPath, model)
62 this.model = model
63 }
64
65 override start() {
66 // This model provider loads the model given by the user in the DSL
67 var solutionGenerator = new SolutionGenerator(model, getBreedingOperators, getMutationOperators,
68 getModelProvider, getMetamodel);
69
70 return new ExcludedMoeaOptimisation().execute(model.solver, solutionGenerator)
71 }
72
73}
74
75class ExcludedRun extends Run {
76 override runBatch(String moptProjectPath, Optimisation optimisationModel, Integer batch, boolean singleBatch) {
77 val optimisationInterpreter = new ExcludedOptimisationInterpreter(moptProjectPath, optimisationModel);
78 val startTime = System.nanoTime();
79 val optimisationOutcome = optimisationInterpreter.start();
80 val endTime = System.nanoTime();
81 val experimentDuration = ((endTime - startTime) / 1000000);
82 val generatedRules = optimisationInterpreter.getRulegenOperators();
83 return new MDEOBatch(batch, experimentDuration, optimisationOutcome, generatedRules, singleBatch);
84 }
85}
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 @@
1package hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo
2
3import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries
4import java.util.WeakHashMap
5import org.eclipse.emf.ecore.EObject
6import org.eclipse.viatra.query.runtime.api.AdvancedViatraQueryEngine
7import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine
8import org.eclipse.viatra.query.runtime.api.ViatraQueryEngineOptions
9import org.eclipse.viatra.query.runtime.emf.EMFScope
10import org.eclipse.viatra.query.runtime.localsearch.matcher.integration.LocalSearchHints
11
12class LocalSearchEngineManager {
13 public static val INSTANCE = new LocalSearchEngineManager
14
15 val WeakHashMap<EObject, ViatraQueryEngine> engineMap = new WeakHashMap
16
17 private new() {
18 }
19
20 def getEngine(EObject eObject) {
21 engineMap.computeIfAbsent(eObject) [
22 val scope = new EMFScope(it)
23 val localSearchHints = LocalSearchHints.^default.build
24 val options = ViatraQueryEngineOptions.defineOptions.withDefaultHint(localSearchHints).withDefaultBackend(
25 localSearchHints.queryBackendFactory).build
26 val engine = AdvancedViatraQueryEngine.on(scope, options)
27 SatelliteQueries.instance.prepare(engine)
28 engine
29 ]
30 }
31}
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 @@
1package hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo
2
3import org.eclipse.viatra.query.runtime.api.IPatternMatch
4import org.eclipse.viatra.query.runtime.api.IQuerySpecification
5import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher
6import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction
7import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution
8
9abstract class MetricBasedGuidanceFunction implements IGuidanceFunction {
10 val IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>> querySpecification
11
12 protected new(IQuerySpecification<? extends ViatraQueryMatcher<? extends IPatternMatch>> querySpecification) {
13 this.querySpecification = querySpecification
14 if (querySpecification.parameters.size != 1) {
15 throw new IllegalArgumentException("Metric must have a single parameter")
16 }
17 }
18
19 override computeFitness(Solution model) {
20 val value = getMetricValue(model)
21 computeFitness(value)
22 }
23
24 protected def double computeFitness(double metricValue) {
25 metricValue
26 }
27
28 private def getMetricValue(Solution solution) {
29 val model = solution.model
30 val queryEngine = LocalSearchEngineManager.INSTANCE.getEngine(model)
31 val matcher = querySpecification.getMatcher(queryEngine)
32 val iterator = matcher.allMatches.iterator
33 if (!iterator.hasNext) {
34 throw new IllegalStateException("Too few matches")
35 }
36 val objectValue = iterator.next.get(0)
37 if (objectValue instanceof Number) {
38 val doubleValue = objectValue.doubleValue
39 if (iterator.hasNext) {
40 throw new IllegalStateException("Too many matches")
41 }
42 doubleValue
43 } else {
44 throw new IllegalStateException("Metric value must be a number")
45 }
46 }
47}
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 @@
1package hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo
2
3import com.google.common.collect.ImmutableList
4import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries
5import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction
6import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution
7
8class PatternMatchConstraint implements IGuidanceFunction {
9 static val CONSTRAINT_ANNOTATION_NAME = "Constraint"
10
11 val queries = ImmutableList.copyOf(SatelliteQueries.instance.specifications.filter [
12 allAnnotations.exists[name == CONSTRAINT_ANNOTATION_NAME]
13 ])
14
15 override getName() {
16 "PatternMatch"
17 }
18
19 override computeFitness(Solution solution) {
20 val model = solution.model
21 val queryEngine = LocalSearchEngineManager.INSTANCE.getEngine(model)
22 var int matchCount = 0
23 for (query : queries) {
24 val matcher = query.getMatcher(queryEngine)
25 matchCount += matcher.countMatches
26 }
27 matchCount
28 }
29}
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 @@
1package hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo
2
3import java.io.BufferedReader
4import java.io.BufferedWriter
5import java.io.FileReader
6import java.io.FileWriter
7import java.util.Map
8import org.eclipse.emf.ecore.EPackage
9import org.eclipse.emf.ecore.resource.Resource
10import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl
11import satellite.SatellitePackage
12import uk.ac.kcl.inf.mdeoptimiser.languages.MoptStandaloneSetup
13
14class SatelliteMdeOptimiserMain {
15 static val PROJECT_PATH = "."
16 static val MOPT_PATH = "src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/satellite.mopt"
17
18 private new() {
19 new IllegalStateException("This is a static utility class and should not be instantiated directly.")
20 }
21
22 public static def void main(String[] args) {
23 Resource.Factory.Registry.INSTANCE.extensionToFactoryMap.put(Resource.Factory.Registry.DEFAULT_EXTENSION,
24 new XMIResourceFactoryImpl)
25 EPackage.Registry.INSTANCE.put(SatellitePackage.eNS_URI, SatellitePackage.eINSTANCE)
26 fixupHenshinModel("model/satellite.henshin", "model/satellite_fixup.henshin",
27 #{"satellite.ecore" -> SatellitePackage.eNS_URI})
28 val injector = new MoptStandaloneSetup().createInjectorAndDoEMFRegistration();
29 injector.getInstance(ExcludedRun).run(PROJECT_PATH, MOPT_PATH)
30 }
31
32 private def static void fixupHenshinModel(String originalPath, String outputPath, Map<String, String> remapMap) {
33 val reader = new BufferedReader(new FileReader(originalPath))
34 try {
35 val writer = new BufferedWriter(new FileWriter(outputPath))
36 try {
37 var String line
38 while ((line = reader.readLine) !== null) {
39 for (entry : remapMap.entrySet) {
40 line = line.replace(entry.key, entry.value)
41 }
42 writer.write(line)
43 writer.write("\n")
44 }
45 } finally {
46 writer.close
47 }
48 } finally {
49 reader.close
50 }
51 }
52}
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 @@
1problem {
2 basepath <model>
3 metamodel <satellite.SatellitePackage>
4 model <../inputs/SatelliteInstance.xmi>
5}
6
7goal {
8 objective Cost minimise java { "hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo.CostObjective" }
9 constraint PatternMatch java { "hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo.PatternMatchConstraint" }
10}
11
12search {
13 mutate using <satellite_fixup.henshin> unit "addCubeSat3U"
14// mutate { "CubeSat3U" }
15// mutate { "CubeSat6U" }
16// mutate { "SmallSat" }
17// mutate { "InterferometryPayload" }
18// mutate { "CommSubsystem" }
19// mutate { "DirectedCommunicationLink" }
20}
21
22solver {
23 optimisation provider moea algorithm NSGAII {
24 variation: mutation
25 population: 25
26 mutation.step: 3
27 mutation.strategy: random
28 }
29
30 termination {
31 time: 120
32 }
33
34 batches 1
35} \ 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
55} 55}
56 56
57private pattern linkAllowed(From : Spacecraft, To : CommunicatingElement) { 57private pattern linkAllowed(From : Spacecraft, To : CommunicatingElement) {
58 find matchingAntenna(From, To, _); 58 find matchingAntenna(From, To);
59 neg find cubeSat3U(From); 59 neg find cubeSat3U(From);
60} or { 60} or {
61 find matchingAntenna(From, To, TransceiverBand::UHF); 61 find matchingAntenna(From, To);
62 CubeSat3U(From); 62 CubeSat3U(From);
63} or { 63} or {
64 find matchingAntenna(From, To, _); 64 find matchingAntenna(From, To);
65 CubeSat3U(From); 65 CubeSat3U(From);
66 GroundStationNetwork(To); 66 GroundStationNetwork(To);
67} 67}
68 68
69private pattern matchingAntenna(From : Spacecraft, To : CommunicatingElement, Band : TransceiverBand) { 69private pattern matchingAntenna(From : Spacecraft, To : CommunicatingElement) {
70 CommunicatingElement.commSubsystem.band(From, Band); 70 CommunicatingElement.commSubsystem(From, FromSys);
71 CommunicatingElement.commSubsystem.band(To, Band); 71 CommunicatingElement.commSubsystem(To, ToSys);
72 CommunicatingElement.commSubsystem.gain(From, Gain); 72 find matchingCommSubsystem(FromSys, ToSys);
73 CommunicatingElement.commSubsystem.gain(To, Gain); 73}
74
75private pattern matchingCommSubsystem(From : CommSubsystem, To : CommSubsystem) {
76 UHFCommSubsystem(From);
77 UHFCommSubsystem(To);
78} or {
79 XCommSubsystem(From);
80 XCommSubsystem(To);
81} or {
82 KaCommSubsystem(From);
83 KaCommSubsystem(To);
74} 84}
75 85
76private pattern cubeSat3U(Sat : CubeSat3U) { 86private pattern cubeSat3U(Sat : CubeSat3U) {
77 CubeSat3U(Sat); 87 CubeSat3U(Sat);
78} 88}
79 89
90private pattern cubeSat6U(Sat : CubeSat6U) {
91 CubeSat6U(Sat);
92}
93
80// No communication loops may exist 94// No communication loops may exist
81// No spacecraft may directly communicate with itself 95// No spacecraft may directly communicate with itself
82 96
@@ -104,63 +118,7 @@ private pattern directCommunicationLink(Source : CommunicatingElement, Target :
104pattern incompatibleSourceAndTargetBand(Link : DirectedCommunicationLink) { 118pattern incompatibleSourceAndTargetBand(Link : DirectedCommunicationLink) {
105 DirectedCommunicationLink.source(Link, SourceSubsystem); 119 DirectedCommunicationLink.source(Link, SourceSubsystem);
106 DirectedCommunicationLink.target(Link, TargetSubsystem); 120 DirectedCommunicationLink.target(Link, TargetSubsystem);
107 CommSubsystem.band(SourceSubsystem, Band); 121 neg find matchingCommSubsystem(SourceSubsystem, TargetSubsystem);
108 neg find commSubsystemBand(TargetSubsystem, Band);
109}
110
111private pattern commSubsystemBand(Comm : CommSubsystem, Band : TransceiverBand) {
112 CommSubsystem.band(Comm, Band);
113}
114
115@Constraint(severity = "error", key = {Link},
116 message = "Two ends of a communication link must use the same antenna gain.")
117pattern incompatibleSourceAndTargetGain(Link : DirectedCommunicationLink) {
118 DirectedCommunicationLink.source(Link, SourceSubsystem);
119 DirectedCommunicationLink.target(Link, TargetSubsystem);
120 CommSubsystem.gain(SourceSubsystem, Gain);
121 neg find commSubsystemGain(TargetSubsystem, Gain);
122}
123
124private pattern commSubsystemGain(Comm : CommSubsystem, Gain : AntennaGain) {
125 CommSubsystem.gain(Comm, Gain);
126}
127
128// UHF-band transmitters may only be combined with a low gain antenna
129
130@Constraint(severity = "error", key = {Comm},
131 message = "UHF transceiver must be combined with a low gain antenna.")
132pattern uhfAntennaGainNotLow(Comm : CommSubsystem) {
133 CommSubsystem.band(Comm, TransceiverBand::UHF);
134 // VIATRA will fail to infer a type constraint for the virtual variable introduced
135 // when an enum literal appears in a negative pattern call, so we use a helper pattern
136 // instead of neg find commSubsystemGain(Comm, AntennaGain::LOW);
137 neg find commSubsystemGainLow(Comm);
138}
139
140private pattern commSubsystemGainLow(Comm : CommSubsystem) {
141 CommSubsystem.gain(Comm, AntennaGain::LOW);
142}
143
144// X-band transmitters may only be combined with a medium gain antenna
145
146@Constraint(severity = "error", key = {Comm},
147 message = "X-band transceiver must be combined with a medium gain antenna.")
148pattern xAntennaGainNotMedium(Comm : CommSubsystem) {
149 CommSubsystem.band(Comm, TransceiverBand::X);
150 neg find commSubsystemGainMedium(Comm);
151}
152
153private pattern commSubsystemGainMedium(Comm : CommSubsystem) {
154 CommSubsystem.gain(Comm, AntennaGain::MEDIUM);
155}
156
157// Ka-band transmitters may only be combined with a medium or high gain antenna
158
159@Constraint(severity = "error", key = {Comm},
160 message = "Ka-band transceiver must be combined with a medium or high gain antenna.")
161pattern kaAntennaGainLow(Comm : CommSubsystem) {
162 CommSubsystem.band(Comm, TransceiverBand::Ka);
163 CommSubsystem.gain(Comm, AntennaGain::LOW);
164} 122}
165 123
166// 3U CubeSats are assumed to only be able to downlink to Earth using an X-band trasmitter, 124// 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) {
177 neg find groundStationNetwork(Target); 135 neg find groundStationNetwork(Target);
178} 136}
179 137
180private pattern commSubsystemBandUhf(Comm : CommSubsystem) { 138private pattern commSubsystemBandUhf(Comm : UHFCommSubsystem) {
181 CommSubsystem.band(Comm, TransceiverBand::UHF); 139 UHFCommSubsystem(Comm);
182} 140}
183 141
184private pattern groundStationNetwork(Network : GroundStationNetwork) { 142private pattern groundStationNetwork(Network : GroundStationNetwork) {
@@ -190,7 +148,8 @@ private pattern groundStationNetwork(Network : GroundStationNetwork) {
190@Constraint(severity = "error", key = {Spacecraft}, 148@Constraint(severity = "error", key = {Spacecraft},
191 message = "Only a Small Satellite can be configured with a Ka-band communication system.") 149 message = "Only a Small Satellite can be configured with a Ka-band communication system.")
192pattern cubeSatWithKaAntenna(Spacecraft : Spacecraft) { 150pattern cubeSatWithKaAntenna(Spacecraft : Spacecraft) {
193 CommunicatingElement.commSubsystem.band(Spacecraft, TransceiverBand::Ka); 151 CommunicatingElement.commSubsystem(Spacecraft, Comm);
152 KaCommSubsystem(Comm);
194 neg find smallSat(Spacecraft); 153 neg find smallSat(Spacecraft);
195} 154}
196 155
@@ -198,146 +157,147 @@ pattern smallSat(Sat : SmallSat) {
198 SmallSat(Sat); 157 SmallSat(Sat);
199} 158}
200 159
201@QueryBasedFeature(feature = "kind") 160////
202pattern spacecraftOfKind(Spacecraft : Spacecraft, Kind : SpacecraftKind) { 161//// Metrics
203 CubeSat3U(Spacecraft); 162////
204 Kind == SpacecraftKind::CubeSat3U;
205} or {
206 CubeSat6U(Spacecraft);
207 Kind == SpacecraftKind::CubeSat6U;
208} or {
209 SmallSat(Spacecraft);
210 Kind == SpacecraftKind::SmallSat;
211}
212
213
214// 163//
215// Metrics 164//// Coverage
216// 165//
217 166//pattern coverageMetric(Coverage : java Double) {
218// Coverage 167// Coverage == sum find missionCoverage(_, #_);
219 168//}
220pattern coverageMetric(Coverage : java Double) { 169//
221 Coverage == sum find missionCoverage(_, #_); 170//private pattern missionCoverage(Mission : InterferometryMission, Coverage : java Double) {
222} 171// InterferometryMission.observationTime(Mission, ObservationTime);
223 172// ObserverCount == count find spacecraftWithInterferometryPayload(Mission, _);
224private pattern missionCoverage(Mission : InterferometryMission, Coverage : java Double) { 173// Coverage == eval(Math.pow(1 - 2.0 / ObserverCount, 1 + 9 * (1.0 / ObservationTime)) + 0.05 * ObservationTime / 3);
225 InterferometryMission.observationTime(Mission, ObservationTime); 174//}
226 ObserverCount == count find spacecraftWithInterferometryPayload(Mission, _); 175//
227 Coverage == eval(Math.pow(1 - 2.0 / ObserverCount, 1 + 9 * (1.0 / ObservationTime)) + 0.05 * ObservationTime / 3); 176//// Time
228} 177//
229 178//pattern timeMetric(Time : java Double) {
230// Time 179// Time == sum find missionTime(_, #_);
231 180//}
232pattern timeMetric(Time : java Double) { 181//
233 Time == sum find missionTime(_, #_); 182//private pattern missionTime(Mission : InterferometryMission, Time : java Double) {
234} 183// InterferometryMission.observationTime(Mission, ObservationTime);
235 184// TrasmitTime == sum find transmitTime(Mission, _, #_);
236private pattern missionTime(Mission : InterferometryMission, Time : java Double) { 185// Time == eval(TrasmitTime + 60.0 * ObservationTime);
237 InterferometryMission.observationTime(Mission, ObservationTime); 186//}
238 TrasmitTime == sum find transmitTime(Mission, _, #_); 187//
239 Time == eval(TrasmitTime + 60.0 * ObservationTime); 188//private pattern transmitTime(Mission : InterferometryMission, Spacecraft : Spacecraft, TransmitTime : java Double) {
240} 189// ConstellationMission.spacecraft(Mission, Spacecraft);
241 190// find scienceData(Spacecraft, ScienceData);
242private pattern transmitTime(Mission : InterferometryMission, Spacecraft : Spacecraft, TransmitTime : java Double) { 191// IncomingData == sum find incomingData(Spacecraft, _, #_);
243 ConstellationMission.spacecraft(Mission, Spacecraft); 192// find transmitRate(Spacecraft, TransmitRate);
244 find scienceData(Spacecraft, ScienceData); 193// TransmitTime == eval((ScienceData + IncomingData) / (7.5 * TransmitRate));
245 IncomingData == sum find incomingData(Spacecraft, _, #_); 194//}
246 find transmitRate(Spacecraft, TransmitRate); 195//
247 TransmitTime == eval((ScienceData + IncomingData) / (7.5 * TransmitRate)); 196//private pattern incomingData(Spacecraft : Spacecraft, Source : Spacecraft, Data : java Double) {
248} 197// find indirectCommunicationLink(Source, Spacecraft);
249 198// find scienceData(Source, Data);
250private pattern incomingData(Spacecraft : Spacecraft, Source : Spacecraft, Data : java Double) { 199//}
251 find indirectCommunicationLink(Source, Spacecraft); 200//
252 find scienceData(Source, Data); 201//private pattern scienceData(Spacecraft : Spacecraft, Data : java Double) {
253} 202// ConstellationMission.spacecraft(Mission, Spacecraft);
254 203// InterferometryMission.observationTime(Mission, ObservationTime);
255private pattern scienceData(Spacecraft : Spacecraft, Data : java Double) { 204// Data == eval(12.0 * ObservationTime);
256 ConstellationMission.spacecraft(Mission, Spacecraft); 205//}
257 InterferometryMission.observationTime(Mission, ObservationTime); 206//
258 Data == eval(12.0 * ObservationTime); 207//private pattern transmitRate(Spacecraft : Spacecraft, TransmitRate : java Double) {
259} 208// find spacecraftUplink(Spacecraft, Comm, Target);
260 209// UHFCommSubsystem(Comm);
261private pattern transmitRate(Spacecraft : Spacecraft, TransmitRate : java Double) { 210// Spacecraft(Target);
262 find spacecraftUplink(Spacecraft, TransceiverBand::UHF, Target); 211// TransmitRate == 5.0;
263 Spacecraft(Target); 212//} or {
264 TransmitRate == 5.0; 213// find spacecraftUplink(Spacecraft, Comm, Target);
265} or { 214// XCommSubsystem(Comm);
266 find spacecraftUplink(Spacecraft, TransceiverBand::X, Target); 215// Spacecraft(Target);
267 Spacecraft(Target); 216// TransmitRate == 1.6;
268 TransmitRate == 1.6; 217//} or {
269} or { 218// find spacecraftUplink(Spacecraft, Comm, Target);
270 find spacecraftUplink(Spacecraft, TransceiverBand::X, Target); 219// XCommSubsystem(Comm);
271 GroundStationNetwork(Target); 220// GroundStationNetwork(Target);
272 TransmitRate == 0.7; 221// TransmitRate == 0.7;
273} or { 222//} or {
274 find spacecraftUplink(Spacecraft, TransceiverBand::Ka, Target); 223// find spacecraftUplink(Spacecraft, Comm, Target);
275 Spacecraft(Target); 224// KaCommSubsystem(Comm);
276 TransmitRate == 220.0; 225// Spacecraft(Target);
277} or { 226// TransmitRate == 220.0;
278 find spacecraftUplink(Spacecraft, TransceiverBand::Ka, Target); 227//} or {
279 GroundStationNetwork(Target); 228// find spacecraftUplink(Spacecraft, Comm, Target);
280 TransmitRate == 80.0; 229// KaCommSubsystem(Comm);
281} 230// GroundStationNetwork(Target);
282 231// TransmitRate == 80.0;
283private pattern spacecraftUplink(Spacecraft : Spacecraft, Band : TransceiverBand, Target : CommunicatingElement) { 232//}
284 CommunicatingElement.communicationLink(Spacecraft, Link); 233//
285 DirectedCommunicationLink.source.band(Link, Band); 234//private pattern spacecraftUplink(Spacecraft : Spacecraft, TargetSubsystem : CommSubsystem, Target : CommunicatingElement) {
286 DirectedCommunicationLink.target(Link, TargetSubsystem); 235// CommunicatingElement.communicationLink(Spacecraft, Link);
287 CommunicatingElement.commSubsystem(Target, TargetSubsystem); 236// DirectedCommunicationLink.target(Link, TargetSubsystem);
288} 237// CommunicatingElement.commSubsystem(Target, TargetSubsystem);
289 238//}
290// Cost 239//
291 240//// Cost
292pattern costMetric(Cost : java Double) { 241//
293 Cost == sum find missionCost(_, #_); 242//pattern costMetric(Cost : java Double) {
294} 243// Cost == sum find missionCost(_, #_);
295 244//}
296private pattern missionCost(Mission : InterferometryMission, Cost : java Double) { 245//
297 InterferometryMission.observationTime(Mission, ObservationTime); 246//private pattern missionCost(Mission : InterferometryMission, Cost : java Double) {
298 SpacecraftCost == sum find spacecraftCost(Mission, _, #_); 247// InterferometryMission.observationTime(Mission, ObservationTime);
299 Cost == eval(SpacecraftCost + 100000.0 * ObservationTime); 248// SpacecraftCost == sum find spacecraftCost(Mission, _, #_);
300} 249// Cost == eval(SpacecraftCost + 100000.0 * ObservationTime);
301 250//}
302private pattern spacecraftCost(Mission : InterferometryMission, Spacecraft : Spacecraft, Cost : java Double) { 251//
303 ConstellationMission.spacecraft(Mission, Spacecraft); 252//private pattern spacecraftCost(Mission : InterferometryMission, Spacecraft : Spacecraft, Cost : java Double) {
304 find spacecraftOfKind(Spacecraft, Kind); 253// ConstellationMission.spacecraft(Mission, Spacecraft);
305 KindCount == count find spacecraftOfKind(_, Kind); 254// find spacecraftOfKindCount(Spacecraft, KindCount);
306 find basePrice(Spacecraft, BasePrice); 255// find basePrice(Spacecraft, BasePrice);
307 find interferometryPayloadCost(Spacecraft, InterferometryPayloadCost); 256// find interferometryPayloadCost(Spacecraft, InterferometryPayloadCost);
308 find additionalCommSubsystemCost(Spacecraft, AdditionalCommSubsystemCost); 257// find additionalCommSubsystemCost(Spacecraft, AdditionalCommSubsystemCost);
309 Cost == eval(BasePrice * Math.pow(KindCount, -0.25) + InterferometryPayloadCost + AdditionalCommSubsystemCost); 258// Cost == eval(BasePrice * Math.pow(KindCount, -0.25) + InterferometryPayloadCost + AdditionalCommSubsystemCost);
310} 259//}
311 260//
312private pattern basePrice(Spacecraft : Spacecraft, BasePrice : java Double) { 261//private pattern spacecraftOfKindCount(Sat : Spacecraft, Count : java Integer) {
313 CubeSat3U(Spacecraft); 262// CubeSat3U(Sat);
314 BasePrice == 250000.0; 263// Count == count find cubeSat3U(_);
315} or { 264//} or {
316 CubeSat6U(Spacecraft); 265// CubeSat6U(Sat);
317 BasePrice == 750000.0; 266// Count == count find cubeSat6U(_);
318} or { 267//} or {
319 SmallSat(Spacecraft); 268// SmallSat(Sat);
320 BasePrice == 3000000.0; 269// Count == count find smallSat(_);
321} 270//}
322 271//
323private pattern interferometryPayloadCost(Spacecraft : Spacecraft, Cost : java Double) { 272//private pattern basePrice(Spacecraft : Spacecraft, BasePrice : java Double) {
324 find spacecraftWithInterferometryPayload(_, Spacecraft); 273// CubeSat3U(Spacecraft);
325 Cost == 50000.0; 274// BasePrice == 250000.0;
326} or { 275//} or {
327 neg find spacecraftWithInterferometryPayload(_, Spacecraft); 276// CubeSat6U(Spacecraft);
328 Cost == 0.0; 277// BasePrice == 750000.0;
329} 278//} or {
330 279// SmallSat(Spacecraft);
331private pattern additionalCommSubsystemCost(Spacecraft : Spacecraft, Cost : java Double) { 280// BasePrice == 3000000.0;
332 find spacecraftWithTwoCommSubsystems(Spacecraft); 281//}
333 Cost == 100000.0; 282//
334} or { 283//private pattern interferometryPayloadCost(Spacecraft : Spacecraft, Cost : java Double) {
335 neg find spacecraftWithTwoCommSubsystems(Spacecraft); 284// find spacecraftWithInterferometryPayload(_, Spacecraft);
336 Cost == 0.0; 285// Cost == 50000.0;
337} 286//} or {
338 287// neg find spacecraftWithInterferometryPayload(_, Spacecraft);
339private pattern spacecraftWithTwoCommSubsystems(Spacecraft : Spacecraft) { 288// Cost == 0.0;
340 Spacecraft.commSubsystem(Spacecraft, Subsystem1); 289//}
341 Spacecraft.commSubsystem(Spacecraft, Subsystem2); 290//
342 Subsystem1 != Subsystem2; 291//private pattern additionalCommSubsystemCost(Spacecraft : Spacecraft, Cost : java Double) {
343} 292// find spacecraftWithTwoCommSubsystems(Spacecraft);
293// Cost == 100000.0;
294//} or {
295// neg find spacecraftWithTwoCommSubsystems(Spacecraft);
296// Cost == 0.0;
297//}
298//
299//private pattern spacecraftWithTwoCommSubsystems(Spacecraft : Spacecraft) {
300// Spacecraft.commSubsystem(Spacecraft, Subsystem1);
301// Spacecraft.commSubsystem(Spacecraft, Subsystem2);
302// Subsystem1 != Subsystem2;
303//} \ 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 {
6 private new() { 6 private new() {
7 throw new IllegalStateException("This is a static utility class and should not be instantiated directly.") 7 throw new IllegalStateException("This is a static utility class and should not be instantiated directly.")
8 } 8 }
9 9
10 static def void main(String[] args) { 10 public static def void main(String[] args) {
11 println(StandaloneScriptExecutor.executeScript("configs/generation.vsconfig")) 11 println(StandaloneScriptExecutor.executeScript("configs/generation.vsconfig"))
12 } 12 }
13} 13}
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 @@
1/.ExcludedMoeaOptimisation.java._trace
2/.ExcludedOptimisationInterpreter.java._trace
3/.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 @@
1/.SatellineMdeOptimiserMain.java._trace
2/.SatelliteMdeOptimiserMain.java._trace
3/.ExcludedMoeaOptimisation.java._trace
4/.ExcludedOptimisationInterpreter.java._trace
5/.ExcludedRun.java._trace
6/.LocalSearchEngineManager.java._trace
7/.PatternMatchConstraint.java._trace
8/.PatternCostConstraint.java._trace
9/.MetricBasedGuidanceFunction.java._trace
10/.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 @@
1/.SatelliteGeneratorMain.java._trace 1/.SatelliteGeneratorMain.java._trace
2/.SatelliteGeneratorMain.xtendbin
3/SatelliteGeneratorMain.java