From 6eb760ee960cd3efe51ca6e4107153c09838a1da Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Thu, 1 Aug 2019 18:38:15 +0200 Subject: Clean up CPS and Satellite domains --- .../.gitignore | 1 + .../domains/cps/cplex/.CbcCpsMain.xtendbin | Bin 7229 -> 0 bytes .../domains/cps/cplex/.CpsToLpTranslator.xtendbin | Bin 11104 -> 0 bytes .../inf/dslreasoner/domains/cps/cplex/.gitignore | 6 - .../dslreasoner/domains/cps/cplex/CbcCpsMain.java | 109 - .../domains/cps/cplex/CpsToLpTranslator.java | 505 ---- .../domains/cps/dse/.CpsStateCoder.xtendbin | Bin 7626 -> 0 bytes .../domains/cps/dse/.RuleBasedCpsMain.xtendbin | Bin 5193 -> 0 bytes .../domains/cps/dse/.RuleBasedCpsSolver.xtendbin | Bin 7336 -> 0 bytes .../mit/inf/dslreasoner/domains/cps/dse/.gitignore | 9 - .../dslreasoner/domains/cps/dse/CpsStateCoder.java | 316 --- .../domains/cps/dse/RuleBasedCpsMain.java | 46 - .../domains/cps/dse/RuleBasedCpsSolver.java | 93 - .../domains/cps/generator/.CpsGenerator.xtendbin | Bin 9849 -> 0 bytes .../dslreasoner/domains/cps/generator/.gitignore | 3 - .../domains/cps/generator/CpsGenerator.java | 177 -- .../domains/cps/mdeo/.CpsMdeOptimiserMain.xtendbin | Bin 6069 -> 0 bytes .../.NonRedundantAllocationsConstraint.xtendbin | Bin 3332 -> 0 bytes .../.NotAllocatedAppInstancesConstraint.xtendbin | Bin 3440 -> 0 bytes .../.NotSatisfiedRequirementsConstraint.xtendbin | Bin 3412 -> 0 bytes .../cps/mdeo/.ResourceUtilizationUtil.xtendbin | Bin 3546 -> 0 bytes .../cps/mdeo/.TooLowAverageHddConstraint.xtendbin | Bin 3790 -> 0 bytes .../mdeo/.TooLowAverageMemoryConstraint.xtendbin | Bin 3797 -> 0 bytes .../cps/mdeo/.TotalCostFitnessFunction.xtendbin | Bin 2975 -> 0 bytes .../cps/mdeo/.UnavailableHddConstraint.xtendbin | Bin 3131 -> 0 bytes .../cps/mdeo/.UnavailableMemoryConstraint.xtendbin | Bin 3130 -> 0 bytes .../inf/dslreasoner/domains/cps/mdeo/.gitignore | 15 - .../domains/cps/mdeo/CpsMdeOptimiserMain.java | 82 - .../mdeo/NonRedundantAllocationsConstraint.java | 54 - .../mdeo/NotAllocatedAppInstancesConstraint.java | 47 - .../mdeo/NotSatisfiedRequirementsConstraint.java | 55 - .../domains/cps/mdeo/ResourceUtilizationUtil.java | 67 - .../cps/mdeo/TooLowAverageHddConstraint.java | 59 - .../cps/mdeo/TooLowAverageMemoryConstraint.java | 59 - .../domains/cps/mdeo/TotalCostFitnessFunction.java | 44 - .../domains/cps/mdeo/UnavailableHddConstraint.java | 45 - .../cps/mdeo/UnavailableMemoryConstraint.java | 45 - .../.gitignore | 4 + .../META-INF/MANIFEST.MF | 3 +- .../ecore-gen/satellite/CommSubsystem.java | 20 +- .../ecore-gen/satellite/SatellitePackage.java | 57 +- .../satellite/impl/CommSubsystemImpl.java | 116 +- .../satellite/impl/SatellitePackageImpl.java | 20 +- .../batch-0/batch-0-data-steps.csv | 145 - .../batch-0/batch-0-outcome.txt | 20 - .../batch-0/batch-0-serialized-objectives.pf | 1 - .../batch-0/mutation-operators/satellite.ecore | 68 - .../batch-0796A23B6.xmi | 13 - .../experiment-data.csv | 2 - .../satellite.mopt | 35 - ...0525-195435-matching-henshinoverall-results.txt | 27 - .../model/satellite.ecore | 5 +- .../model/satellite.genmodel | 1 + .../outputs/debug/generation.logicproblem | 1449 ---------- .../debug/run1/generated3valued.vql_deactivated | 3000 -------------------- .../outputs/debug/run1/init.partialmodel | 147 - .../debug/run2/generated3valued.vql_deactivated | 3000 -------------------- .../outputs/debug/run2/init.partialmodel | 147 - .../debug/run3/generated3valued.vql_deactivated | 3000 -------------------- .../outputs/debug/run3/init.partialmodel | 147 - .../debug/run4/generated3valued.vql_deactivated | 3000 -------------------- .../outputs/debug/run4/init.partialmodel | 147 - .../debug/run5/generated3valued.vql_deactivated | 3000 -------------------- .../outputs/debug/run5/init.partialmodel | 147 - .../outputs/log.txt | 1 - .../outputs/models/run1/1_1.gml | 2452 ---------------- .../outputs/models/run1/1_1.png | Bin 552885 -> 0 bytes .../outputs/models/run1/1_1.xmi | 47 - .../outputs/models/run2/2_1.gml | 2451 ---------------- .../outputs/models/run2/2_1.png | Bin 546742 -> 0 bytes .../outputs/models/run2/2_1.xmi | 47 - .../outputs/models/run3/3_1.gml | 2451 ---------------- .../outputs/models/run3/3_1.png | Bin 570634 -> 0 bytes .../outputs/models/run3/3_1.xmi | 47 - .../outputs/models/run4/4_1.gml | 2452 ---------------- .../outputs/models/run4/4_1.png | Bin 662713 -> 0 bytes .../outputs/models/run4/4_1.xmi | 47 - .../plugin.xml | 1 + .../.CommunicationLinkOfElement.java._trace | Bin 5550 -> 0 bytes .../.MultipleCommunicationLinks.java._trace | Bin 3530 -> 0 bytes .../domains/satellite/queries/.gitignore | 43 - ...icationLinkDoesNotStartAtContainingElement.java | 562 ---- .../satellite/queries/CommunicationLoop.java | 557 ---- .../satellite/queries/CubeSatWithKaAntenna.java | 570 ---- .../queries/IncompatibleSourceAndTargetBand.java | 566 ---- .../satellite/queries/NoLinkToGroundStation.java | 575 ---- .../queries/NoPotentialLinkToGroundStation.java | 571 ---- .../queries/NotEnoughInterferometryPayloads.java | 559 ---- .../satellite/queries/SatelliteQueries.java | 141 - .../domains/satellite/queries/SmallSat.java | 533 ---- .../queries/ThreeUCubeSatWithNonUhfCrossLink.java | 591 ---- .../queries/internal/.CubeSat6U.java._trace | Bin 718 -> 0 bytes .../internal/.MatchingCommSubsystem.java._trace | Bin 755 -> 0 bytes .../domains/satellite/queries/internal/.gitignore | 70 - .../internal/AtLeastTwoInterferometryPayloads.java | 138 - .../queries/internal/CommSubsystemBandUhf.java | 127 - .../satellite/queries/internal/CubeSat3U.java | 127 - .../satellite/queries/internal/CubeSat6U.java | 127 - .../queries/internal/DirectCommunicationLink.java | 154 - .../queries/internal/GroundStationNetwork.java | 127 - .../internal/IndirectCommunicationLink.java | 134 - .../queries/internal/IndirectLinkAllowed.java | 134 - .../satellite/queries/internal/LinkAllowed.java | 180 -- .../queries/internal/MatchingAntenna.java | 152 - .../queries/internal/MatchingCommSubsystem.java | 173 -- .../queries/internal/SatelliteQueriesAll.java | 105 - .../SpacecraftWithInterferometryPayload.java | 149 - .../internal/TransmittingCommSubsystem.java | 146 - .../domains/satellite/queries/SatelliteQueries.vql | 8 +- .../satellite/runner/SatelliteGeneratorMain.xtend | 4 + .../inf/dslreasoner/domains/cps/mdeo/.gitignore | 3 - .../domains/satellite/mdeo/.CostObjective.xtendbin | Bin 805 -> 0 bytes .../mdeo/.LocalSearchEngineManager.xtendbin | Bin 4261 -> 0 bytes .../mdeo/.MetricBasedGuidanceFunction.xtendbin | Bin 5142 -> 0 bytes .../mdeo/.PatternMatchConstraint.xtendbin | Bin 5091 -> 0 bytes .../mdeo/.SatelliteMdeOptimiserMain.xtendbin | Bin 5312 -> 0 bytes .../dslreasoner/domains/satellite/mdeo/.gitignore | 10 - .../satellite/mdeo/LocalSearchEngineManager.java | 39 - .../mdeo/MetricBasedGuidanceFunction.java | 72 - .../satellite/mdeo/PatternMatchConstraint.java | 54 - .../satellite/mdeo/SatelliteMdeOptimiserMain.java | 69 - .../domains/satellite/runner/.gitignore | 3 - 122 files changed, 227 insertions(+), 36900 deletions(-) delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CbcCpsMain.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CpsToLpTranslator.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.gitignore delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CbcCpsMain.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CpsToLpTranslator.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.CpsStateCoder.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsMain.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsSolver.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.gitignore delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/CpsStateCoder.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsMain.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsSolver.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.CpsGenerator.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.gitignore delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/CpsGenerator.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.CpsMdeOptimiserMain.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NonRedundantAllocationsConstraint.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotAllocatedAppInstancesConstraint.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotSatisfiedRequirementsConstraint.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ResourceUtilizationUtil.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageHddConstraint.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageMemoryConstraint.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TotalCostFitnessFunction.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableHddConstraint.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableMemoryConstraint.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.gitignore delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/CpsMdeOptimiserMain.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NonRedundantAllocationsConstraint.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotAllocatedAppInstancesConstraint.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotSatisfiedRequirementsConstraint.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ResourceUtilizationUtil.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageHddConstraint.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageMemoryConstraint.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TotalCostFitnessFunction.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableHddConstraint.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableMemoryConstraint.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-data-steps.csv delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-outcome.txt delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-serialized-objectives.pf delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/mutation-operators/satellite.ecore delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0796A23B6.xmi delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/experiment-data.csv delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/satellite.mopt delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshinoverall-results.txt delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generation.logicproblem delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run1/generated3valued.vql_deactivated delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run1/init.partialmodel delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run2/generated3valued.vql_deactivated delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run2/init.partialmodel delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run3/generated3valued.vql_deactivated delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run3/init.partialmodel delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run4/generated3valued.vql_deactivated delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run4/init.partialmodel delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run5/generated3valued.vql_deactivated delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run5/init.partialmodel delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/log.txt delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run1/1_1.gml delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run1/1_1.png delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run1/1_1.xmi delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run2/2_1.gml delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run2/2_1.png delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run2/2_1.xmi delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run3/3_1.gml delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run3/3_1.png delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run3/3_1.xmi delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run4/4_1.gml delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run4/4_1.png delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run4/4_1.xmi delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.CommunicationLinkOfElement.java._trace delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.MultipleCommunicationLinks.java._trace delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.gitignore delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLinkDoesNotStartAtContainingElement.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLoop.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CubeSatWithKaAntenna.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetBand.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoLinkToGroundStation.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoPotentialLinkToGroundStation.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NotEnoughInterferometryPayloads.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SmallSat.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/ThreeUCubeSatWithNonUhfCrossLink.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.CubeSat6U.java._trace delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.MatchingCommSubsystem.java._trace delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.gitignore delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/AtLeastTwoInterferometryPayloads.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBandUhf.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CubeSat3U.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CubeSat6U.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/DirectCommunicationLink.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/GroundStationNetwork.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IndirectCommunicationLink.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IndirectLinkAllowed.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/LinkAllowed.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MatchingAntenna.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MatchingCommSubsystem.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SatelliteQueriesAll.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftWithInterferometryPayload.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/TransmittingCommSubsystem.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.gitignore delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.CostObjective.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.LocalSearchEngineManager.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.MetricBasedGuidanceFunction.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.PatternMatchConstraint.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.SatelliteMdeOptimiserMain.xtendbin delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.gitignore delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/LocalSearchEngineManager.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/MetricBasedGuidanceFunction.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/PatternMatchConstraint.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/SatelliteMdeOptimiserMain.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/runner/.gitignore (limited to 'Domains') diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/.gitignore index a71b16b9..2affc42f 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/.gitignore +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/.gitignore @@ -1,4 +1,5 @@ /bin/ +/xtend-gen/ /problem.lp /solution.txt /model/cps_fixup.henshin 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 deleted file mode 100644 index 14b2c080..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CbcCpsMain.xtendbin and /dev/null 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 deleted file mode 100644 index 9acd8621..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CpsToLpTranslator.xtendbin and /dev/null differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.gitignore deleted file mode 100644 index 011600b4..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -/.CpsToLpTranslator.java._trace -/.CbcCpsMain.java._trace -/.CbcCpsMain.xtendbin -/.CpsToLpTranslator.xtendbin -/CbcCpsMain.java -/CpsToLpTranslator.java diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CbcCpsMain.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CbcCpsMain.java deleted file mode 100644 index a6ff0d0e..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CbcCpsMain.java +++ /dev/null @@ -1,109 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.cplex; - -import hu.bme.mit.inf.dslreasoner.domains.cps.CpsPackage; -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -import hu.bme.mit.inf.dslreasoner.domains.cps.Request; -import hu.bme.mit.inf.dslreasoner.domains.cps.Requirement; -import hu.bme.mit.inf.dslreasoner.domains.cps.cplex.CpsToLpTranslator; -import hu.bme.mit.inf.dslreasoner.domains.cps.generator.CpsGenerator; -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.FileReader; -import java.io.FileWriter; -import java.util.List; -import java.util.Map; -import java.util.concurrent.TimeUnit; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; -import org.eclipse.xtext.xbase.lib.Exceptions; -import org.eclipse.xtext.xbase.lib.Functions.Function1; -import org.eclipse.xtext.xbase.lib.Functions.Function2; -import org.eclipse.xtext.xbase.lib.InputOutput; -import org.eclipse.xtext.xbase.lib.IterableExtensions; -import org.eclipse.xtext.xbase.lib.ListExtensions; - -@SuppressWarnings("all") -public class CbcCpsMain { - private static final String PROBLEM_FILE = "problem.lp"; - - private static final String SOLUTION_FILE = "solution.txt"; - - private static final Pattern VALUE_REGEX = Pattern.compile("Optimal - objective value\\s*([0-9]+(\\.[0-9]+)?)"); - - private CbcCpsMain() { - new IllegalStateException("This is a static utility class and should not be instantiated directly."); - } - - public static void main(final String[] args) { - try { - Map _extensionToFactoryMap = Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap(); - XMIResourceFactoryImpl _xMIResourceFactoryImpl = new XMIResourceFactoryImpl(); - _extensionToFactoryMap.put(Resource.Factory.Registry.DEFAULT_EXTENSION, _xMIResourceFactoryImpl); - EPackage.Registry.INSTANCE.put(CpsPackage.eNS_URI, CpsPackage.eINSTANCE); - final CpsGenerator generator = new CpsGenerator(1, 4, 1); - final CyberPhysicalSystem problem = generator.generateCpsProblem(); - final CpsToLpTranslator toLp = new CpsToLpTranslator(problem, 10, true); - final CharSequence lp = toLp.getLpProblem(); - FileWriter _fileWriter = new FileWriter(CbcCpsMain.PROBLEM_FILE); - final BufferedWriter writer = new BufferedWriter(_fileWriter); - try { - writer.append(lp); - } finally { - writer.close(); - } - final Process process = new ProcessBuilder().inheritIO().command("cbc", CbcCpsMain.PROBLEM_FILE, "solve", "solu", CbcCpsMain.SOLUTION_FILE).start(); - boolean _waitFor = process.waitFor(120, TimeUnit.SECONDS); - boolean _not = (!_waitFor); - if (_not) { - System.err.println("Timeout reached"); - process.destroyForcibly(); - System.exit((-1)); - } - int _exitValue = process.exitValue(); - boolean _notEquals = (_exitValue != 0); - if (_notEquals) { - int _exitValue_1 = process.exitValue(); - String _plus = ("Unexpected exit value " + Integer.valueOf(_exitValue_1)); - System.err.println(_plus); - System.exit((-1)); - } - FileReader _fileReader = new FileReader(CbcCpsMain.SOLUTION_FILE); - final BufferedReader reader = new BufferedReader(_fileReader); - double value = Double.NaN; - try { - String line = null; - while (((line = reader.readLine()) != null)) { - { - InputOutput.println(line); - final Matcher matcher = CbcCpsMain.VALUE_REGEX.matcher(line); - boolean _matches = matcher.matches(); - if (_matches) { - value = Double.parseDouble(matcher.group(1)); - } - } - } - } finally { - reader.close(); - } - final Function1> _function = (Request it) -> { - final Function1 _function_1 = (Requirement it_1) -> { - return Integer.valueOf(it_1.getCount()); - }; - return ListExtensions.map(it.getRequirements(), _function_1); - }; - final Function2 _function_1 = (Integer p1, Integer p2) -> { - return Integer.valueOf(((p1).intValue() + (p2).intValue())); - }; - Integer _reduce = IterableExtensions.reduce(IterableExtensions.flatMap(problem.getRequests(), _function), _function_1); - final int applicationCost = ((_reduce).intValue() * 5); - final double cost = (applicationCost + value); - InputOutput.println(); - InputOutput.println(("Cost: " + Double.valueOf(cost))); - } catch (Throwable _e) { - throw Exceptions.sneakyThrow(_e); - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CpsToLpTranslator.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CpsToLpTranslator.java deleted file mode 100644 index 20afeee6..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/CpsToLpTranslator.java +++ /dev/null @@ -1,505 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.cplex; - -import com.google.common.base.Objects; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationType; -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -import hu.bme.mit.inf.dslreasoner.domains.cps.HostType; -import hu.bme.mit.inf.dslreasoner.domains.cps.Request; -import hu.bme.mit.inf.dslreasoner.domains.cps.Requirement; -import hu.bme.mit.inf.dslreasoner.domains.cps.ResourceRequirement; -import java.util.Collection; -import java.util.List; -import java.util.Map; -import org.eclipse.emf.common.util.EList; -import org.eclipse.xtend2.lib.StringConcatenation; -import org.eclipse.xtext.xbase.lib.CollectionLiterals; -import org.eclipse.xtext.xbase.lib.ExclusiveRange; -import org.eclipse.xtext.xbase.lib.Functions.Function1; -import org.eclipse.xtext.xbase.lib.IterableExtensions; -import org.eclipse.xtext.xbase.lib.ListExtensions; -import org.eclipse.xtext.xbase.lib.Pair; - -@SuppressWarnings("all") -public class CpsToLpTranslator { - private static final double MINIMUM_MEMORY_USAGE = 0.25; - - private static final double MINIMUM_HDD_USAGE = 0.25; - - private final CyberPhysicalSystem cps; - - private final Map> appInstances; - - private final Map> hostInstances; - - private final boolean breakSymmetry; - - public CpsToLpTranslator(final CyberPhysicalSystem cps, final int hostInstanceCount, final boolean breakSymmetry) { - this.cps = cps; - this.appInstances = this.createAppInstances(); - this.hostInstances = this.createHostInstances(hostInstanceCount); - this.breakSymmetry = breakSymmetry; - } - - private ImmutableMap> createAppInstances() { - ImmutableMap> _xblockexpression = null; - { - final ImmutableMap.Builder> builder = ImmutableMap.>builder(); - int i = 0; - Iterable _requirements = this.getRequirements(); - for (final Requirement req : _requirements) { - { - final ImmutableList.Builder listBuilder = ImmutableList.builder(); - for (int j = 0; (j < req.getCount()); j++) { - StringConcatenation _builder = new StringConcatenation(); - _builder.append("r"); - _builder.append(i); - _builder.append("a"); - _builder.append(j); - listBuilder.add(_builder.toString()); - } - builder.put(req, listBuilder.build()); - i++; - } - } - _xblockexpression = builder.build(); - } - return _xblockexpression; - } - - private ImmutableMap> createHostInstances(final int hostInstanceCount) { - ImmutableMap> _xblockexpression = null; - { - final ImmutableMap.Builder> builder = ImmutableMap.>builder(); - int i = 0; - EList _hostTypes = this.cps.getHostTypes(); - for (final HostType hostType : _hostTypes) { - { - final ImmutableList.Builder listBuilder = ImmutableList.builder(); - for (int j = 0; (j < hostInstanceCount); j++) { - StringConcatenation _builder = new StringConcatenation(); - _builder.append("h"); - _builder.append(i); - _builder.append("i"); - _builder.append(j); - listBuilder.add(_builder.toString()); - } - builder.put(hostType, listBuilder.build()); - i++; - } - } - _xblockexpression = builder.build(); - } - return _xblockexpression; - } - - public CharSequence getLpProblem() { - StringConcatenation _builder = new StringConcatenation(); - _builder.append("Minimize"); - _builder.newLine(); - _builder.append("\t"); - _builder.append("total_cost: "); - CharSequence _objective = this.getObjective(); - _builder.append(_objective, "\t"); - _builder.newLineIfNotEmpty(); - _builder.append("Subject To"); - _builder.newLine(); - _builder.append("\t"); - CharSequence _constraints = this.getConstraints(); - _builder.append(_constraints, "\t"); - _builder.newLineIfNotEmpty(); - _builder.append("Bounds"); - _builder.newLine(); - _builder.append("\t"); - CharSequence _bounds = this.getBounds(); - _builder.append(_bounds, "\t"); - _builder.newLineIfNotEmpty(); - _builder.append("Binary"); - _builder.newLine(); - _builder.append("\t"); - CharSequence _binaryVariables = this.getBinaryVariables(); - _builder.append(_binaryVariables, "\t"); - _builder.newLineIfNotEmpty(); - _builder.append("End"); - _builder.newLine(); - return _builder; - } - - private CharSequence getObjective() { - StringConcatenation _builder = new StringConcatenation(); - { - Iterable> _hostInstancesWithType = this.getHostInstancesWithType(); - boolean _hasElements = false; - for(final Pair pair : _hostInstancesWithType) { - if (!_hasElements) { - _hasElements = true; - } else { - _builder.appendImmediate(" + ", ""); - } - int _cost = pair.getKey().getCost(); - _builder.append(_cost); - _builder.append(" "); - CharSequence _existsVariable = this.getExistsVariable(pair.getValue()); - _builder.append(_existsVariable); - } - } - return _builder; - } - - private CharSequence getConstraints() { - StringConcatenation _builder = new StringConcatenation(); - { - Iterable> _appInstancesWithType = this.getAppInstancesWithType(); - for(final Pair appPair : _appInstancesWithType) { - String _value = appPair.getValue(); - _builder.append(_value); - _builder.append("_allocated: "); - { - Iterable _possibleHostInstances = this.getPossibleHostInstances(appPair.getKey()); - boolean _hasElements = false; - for(final String host : _possibleHostInstances) { - if (!_hasElements) { - _hasElements = true; - } else { - _builder.appendImmediate(" + ", ""); - } - CharSequence _allocatedToVariable = this.getAllocatedToVariable(appPair.getValue(), host); - _builder.append(_allocatedToVariable); - } - } - _builder.append(" = 1"); - _builder.newLineIfNotEmpty(); - { - Iterable _possibleHostInstances_1 = this.getPossibleHostInstances(appPair.getKey()); - for(final String host_1 : _possibleHostInstances_1) { - String _value_1 = appPair.getValue(); - _builder.append(_value_1); - _builder.append("_to_"); - _builder.append(host_1); - _builder.append("_exists: "); - CharSequence _existsVariable = this.getExistsVariable(host_1); - _builder.append(_existsVariable); - _builder.append(" - "); - CharSequence _allocatedToVariable_1 = this.getAllocatedToVariable(appPair.getValue(), host_1); - _builder.append(_allocatedToVariable_1); - _builder.append(" >= 0"); - _builder.newLineIfNotEmpty(); - } - } - } - } - { - Iterable> _hostInstancesWithType = this.getHostInstancesWithType(); - for(final Pair hostPair : _hostInstancesWithType) { - String _value_2 = hostPair.getValue(); - _builder.append(_value_2); - _builder.append("_mem_use: "); - { - Iterable> _possibleAppInstancesWithRequirements = this.getPossibleAppInstancesWithRequirements(hostPair.getKey()); - boolean _hasElements_1 = false; - for(final Pair appPair_1 : _possibleAppInstancesWithRequirements) { - if (!_hasElements_1) { - _hasElements_1 = true; - } else { - _builder.appendImmediate(" + ", ""); - } - int _requiredMemory = appPair_1.getKey().getRequiredMemory(); - _builder.append(_requiredMemory); - _builder.append(" "); - CharSequence _allocatedToVariable_2 = this.getAllocatedToVariable(appPair_1.getValue(), hostPair.getValue()); - _builder.append(_allocatedToVariable_2); - } - } - _builder.append(" - "); - int _defaultMemory = hostPair.getKey().getDefaultMemory(); - _builder.append(_defaultMemory); - _builder.append(" "); - CharSequence _memoryUsageVariable = this.getMemoryUsageVariable(hostPair.getValue()); - _builder.append(_memoryUsageVariable); - _builder.append(" = 0"); - _builder.newLineIfNotEmpty(); - String _value_3 = hostPair.getValue(); - _builder.append(_value_3); - _builder.append("_hdd_use: "); - { - Iterable> _possibleAppInstancesWithRequirements_1 = this.getPossibleAppInstancesWithRequirements(hostPair.getKey()); - boolean _hasElements_2 = false; - for(final Pair appPair_2 : _possibleAppInstancesWithRequirements_1) { - if (!_hasElements_2) { - _hasElements_2 = true; - } else { - _builder.appendImmediate(" + ", ""); - } - int _requiredHdd = appPair_2.getKey().getRequiredHdd(); - _builder.append(_requiredHdd); - _builder.append(" "); - CharSequence _allocatedToVariable_3 = this.getAllocatedToVariable(appPair_2.getValue(), hostPair.getValue()); - _builder.append(_allocatedToVariable_3); - } - } - _builder.append(" - "); - int _defaultHdd = hostPair.getKey().getDefaultHdd(); - _builder.append(_defaultHdd); - _builder.append(" "); - CharSequence _hddUsageVariable = this.getHddUsageVariable(hostPair.getValue()); - _builder.append(_hddUsageVariable); - _builder.append(" = 0"); - _builder.newLineIfNotEmpty(); - } - } - _builder.append("average_mem: "); - { - Iterable _allHostInstances = this.getAllHostInstances(); - boolean _hasElements_3 = false; - for(final String host_2 : _allHostInstances) { - if (!_hasElements_3) { - _hasElements_3 = true; - } else { - _builder.appendImmediate(" + ", ""); - } - CharSequence _memoryUsageVariable_1 = this.getMemoryUsageVariable(host_2); - _builder.append(_memoryUsageVariable_1); - _builder.append(" - "); - _builder.append(CpsToLpTranslator.MINIMUM_MEMORY_USAGE); - _builder.append(" "); - CharSequence _existsVariable_1 = this.getExistsVariable(host_2); - _builder.append(_existsVariable_1); - } - } - _builder.append(" >= 0"); - _builder.newLineIfNotEmpty(); - _builder.append("average_hdd: "); - { - Iterable _allHostInstances_1 = this.getAllHostInstances(); - boolean _hasElements_4 = false; - for(final String host_3 : _allHostInstances_1) { - if (!_hasElements_4) { - _hasElements_4 = true; - } else { - _builder.appendImmediate(" + ", ""); - } - CharSequence _memoryUsageVariable_2 = this.getMemoryUsageVariable(host_3); - _builder.append(_memoryUsageVariable_2); - _builder.append(" - "); - _builder.append(CpsToLpTranslator.MINIMUM_HDD_USAGE); - _builder.append(" "); - CharSequence _existsVariable_2 = this.getExistsVariable(host_3); - _builder.append(_existsVariable_2); - } - } - _builder.append(" >= 0"); - _builder.newLineIfNotEmpty(); - { - final Function1 _function = (Requirement it) -> { - int _count = it.getCount(); - return Boolean.valueOf((_count > 1)); - }; - Iterable> _indexed = IterableExtensions.indexed(IterableExtensions.filter(this.getRequirements(), _function)); - for(final Pair reqPair : _indexed) { - { - final Function1> _function_1 = (ResourceRequirement it) -> { - return this.hostInstances.get(it.getHostType()); - }; - Iterable _flatMap = IterableExtensions.flatMap(reqPair.getValue().getType().getRequirements(), _function_1); - for(final String host_4 : _flatMap) { - _builder.append("r"); - Integer _key = reqPair.getKey(); - _builder.append(_key); - _builder.append("_"); - _builder.append(host_4); - _builder.append("_redundant: "); - { - List _get = this.appInstances.get(reqPair.getValue()); - boolean _hasElements_5 = false; - for(final String app : _get) { - if (!_hasElements_5) { - _hasElements_5 = true; - } else { - _builder.appendImmediate(" + ", ""); - } - CharSequence _allocatedToVariable_4 = this.getAllocatedToVariable(app, host_4); - _builder.append(_allocatedToVariable_4); - } - } - _builder.append(" <= 1"); - _builder.newLineIfNotEmpty(); - } - } - } - } - { - if (this.breakSymmetry) { - { - Collection> _values = this.hostInstances.values(); - for(final List hosts : _values) { - { - int _size = hosts.size(); - int _minus = (_size - 1); - ExclusiveRange _doubleDotLessThan = new ExclusiveRange(0, _minus, true); - for(final Integer i : _doubleDotLessThan) { - String _get_1 = hosts.get(((i).intValue() + 1)); - _builder.append(_get_1); - _builder.append("_after_"); - String _get_2 = hosts.get((i).intValue()); - _builder.append(_get_2); - _builder.append(": "); - CharSequence _existsVariable_3 = this.getExistsVariable(hosts.get((i).intValue())); - _builder.append(_existsVariable_3); - _builder.append(" - "); - CharSequence _existsVariable_4 = this.getExistsVariable(hosts.get(((i).intValue() + 1))); - _builder.append(_existsVariable_4); - _builder.append(" >= 0"); - _builder.newLineIfNotEmpty(); - } - } - } - } - } - } - return _builder; - } - - private CharSequence getBounds() { - StringConcatenation _builder = new StringConcatenation(); - { - Iterable _allHostInstances = this.getAllHostInstances(); - for(final String host : _allHostInstances) { - _builder.append("0 <= "); - CharSequence _memoryUsageVariable = this.getMemoryUsageVariable(host); - _builder.append(_memoryUsageVariable); - _builder.append(" <= 1"); - _builder.newLineIfNotEmpty(); - _builder.append("0 <= "); - CharSequence _hddUsageVariable = this.getHddUsageVariable(host); - _builder.append(_hddUsageVariable); - _builder.append(" <= 1"); - _builder.newLineIfNotEmpty(); - } - } - return _builder; - } - - private CharSequence getBinaryVariables() { - StringConcatenation _builder = new StringConcatenation(); - { - Iterable _allHostInstances = this.getAllHostInstances(); - for(final String host : _allHostInstances) { - CharSequence _existsVariable = this.getExistsVariable(host); - _builder.append(_existsVariable); - _builder.newLineIfNotEmpty(); - } - } - { - Iterable> _appInstancesWithType = this.getAppInstancesWithType(); - for(final Pair appPair : _appInstancesWithType) { - { - Iterable _possibleHostInstances = this.getPossibleHostInstances(appPair.getKey()); - for(final String host_1 : _possibleHostInstances) { - CharSequence _allocatedToVariable = this.getAllocatedToVariable(appPair.getValue(), host_1); - _builder.append(_allocatedToVariable); - _builder.newLineIfNotEmpty(); - } - } - } - } - return _builder; - } - - private Iterable getRequirements() { - final Function1> _function = (Request it) -> { - return it.getRequirements(); - }; - return IterableExtensions.flatMap(this.cps.getRequests(), _function); - } - - private Iterable getAllHostInstances() { - final Function1, List> _function = (List it) -> { - return it; - }; - return IterableExtensions.flatMap(this.hostInstances.values(), _function); - } - - private Iterable> getHostInstancesWithType() { - final Function1>, List>> _function = (Map.Entry> pair) -> { - final Function1> _function_1 = (String it) -> { - HostType _key = pair.getKey(); - return Pair.of(_key, it); - }; - return ListExtensions.>map(pair.getValue(), _function_1); - }; - return IterableExtensions.flatMap(this.hostInstances.entrySet(), _function); - } - - private Iterable> getAppInstancesWithType() { - final Function1>, List>> _function = (Map.Entry> pair) -> { - final Function1> _function_1 = (String it) -> { - ApplicationType _type = pair.getKey().getType(); - return Pair.of(_type, it); - }; - return ListExtensions.>map(pair.getValue(), _function_1); - }; - return IterableExtensions.flatMap(this.appInstances.entrySet(), _function); - } - - private Iterable getPossibleHostInstances(final ApplicationType appType) { - final Function1> _function = (ResourceRequirement req) -> { - return this.hostInstances.get(req.getHostType()); - }; - return IterableExtensions.flatMap(appType.getRequirements(), _function); - } - - private Iterable> getPossibleAppInstancesWithRequirements(final HostType hostType) { - final Function1>, List>> _function = (Map.Entry> pair) -> { - List> _xblockexpression = null; - { - final Function1 _function_1 = (ResourceRequirement it) -> { - HostType _hostType = it.getHostType(); - return Boolean.valueOf(Objects.equal(_hostType, hostType)); - }; - final ResourceRequirement resourceReq = IterableExtensions.findFirst(pair.getKey().getType().getRequirements(), _function_1); - List> _xifexpression = null; - if ((resourceReq == null)) { - _xifexpression = CollectionLiterals.>emptyList(); - } else { - final Function1> _function_2 = (String it) -> { - return Pair.of(resourceReq, it); - }; - _xifexpression = ListExtensions.>map(pair.getValue(), _function_2); - } - _xblockexpression = _xifexpression; - } - return _xblockexpression; - }; - return IterableExtensions.flatMap(this.appInstances.entrySet(), _function); - } - - private CharSequence getExistsVariable(final String hostInstance) { - StringConcatenation _builder = new StringConcatenation(); - _builder.append(hostInstance); - _builder.append("_exists"); - return _builder; - } - - private CharSequence getMemoryUsageVariable(final String hostInstance) { - StringConcatenation _builder = new StringConcatenation(); - _builder.append(hostInstance); - _builder.append("_mem"); - return _builder; - } - - private CharSequence getHddUsageVariable(final String hostInstance) { - StringConcatenation _builder = new StringConcatenation(); - _builder.append(hostInstance); - _builder.append("_hdd"); - return _builder; - } - - private CharSequence getAllocatedToVariable(final String appInstance, final String hostInstance) { - StringConcatenation _builder = new StringConcatenation(); - _builder.append(appInstance); - _builder.append("_to_"); - _builder.append(hostInstance); - return _builder; - } -} 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 deleted file mode 100644 index ee672cb1..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.CpsStateCoder.xtendbin and /dev/null 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 deleted file mode 100644 index e58e8b6f..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsMain.xtendbin and /dev/null 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 deleted file mode 100644 index e29f2d71..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsSolver.xtendbin and /dev/null differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.gitignore deleted file mode 100644 index 2338336b..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.gitignore +++ /dev/null @@ -1,9 +0,0 @@ -/.RuleBasedCpsSolver.java._trace -/.RuleBasedCpsMain.java._trace -/.CpsStateCoder.java._trace -/.CpsStateCoder.xtendbin -/.RuleBasedCpsMain.xtendbin -/.RuleBasedCpsSolver.xtendbin -/CpsStateCoder.java -/RuleBasedCpsMain.java -/RuleBasedCpsSolver.java diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/CpsStateCoder.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/CpsStateCoder.java deleted file mode 100644 index 3ae8e828..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/CpsStateCoder.java +++ /dev/null @@ -1,316 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.dse; - -import com.google.common.base.Objects; -import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationInstance; -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -import hu.bme.mit.inf.dslreasoner.domains.cps.HostInstance; -import hu.bme.mit.inf.dslreasoner.domains.cps.HostType; -import hu.bme.mit.inf.dslreasoner.domains.cps.Request; -import hu.bme.mit.inf.dslreasoner.domains.cps.Requirement; -import java.util.Arrays; -import org.eclipse.emf.common.notify.Notifier; -import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.emf.ecore.resource.ResourceSet; -import org.eclipse.viatra.dse.statecode.IStateCoder; -import org.eclipse.viatra.dse.statecode.IStateCoderFactory; -import org.eclipse.viatra.query.runtime.api.IPatternMatch; -import org.eclipse.xtend2.lib.StringConcatenation; -import org.eclipse.xtend2.lib.StringConcatenationClient; -import org.eclipse.xtext.xbase.lib.IterableExtensions; - -@SuppressWarnings("all") -public class CpsStateCoder implements IStateCoder { - public static class Factory implements IStateCoderFactory { - @Override - public IStateCoder createStateCoder() { - return new CpsStateCoder(); - } - } - - private CyberPhysicalSystem cps; - - protected CpsStateCoder() { - } - - @Override - public void init(final Notifier notifier) { - CyberPhysicalSystem _switchResult = null; - boolean _matched = false; - if (notifier instanceof ResourceSet) { - _matched=true; - _switchResult = this.getCpsFromResourceSet(((ResourceSet)notifier)); - } - if (!_matched) { - if (notifier instanceof Resource) { - _matched=true; - _switchResult = this.getCpsFromResource(((Resource)notifier)); - } - } - if (!_matched) { - if (notifier instanceof CyberPhysicalSystem) { - _matched=true; - _switchResult = ((CyberPhysicalSystem)notifier); - } - } - if (!_matched) { - throw new IllegalArgumentException("notifier is not a CyberPhysicalSystem"); - } - this.cps = _switchResult; - } - - private CyberPhysicalSystem getCpsFromResourceSet(final ResourceSet resourceSet) { - CyberPhysicalSystem _xblockexpression = null; - { - boolean _isEmpty = resourceSet.getResources().isEmpty(); - if (_isEmpty) { - throw new IllegalArgumentException("No Resource in ResourceSet"); - } - final Resource resource = IterableExtensions.head(resourceSet.getResources()); - _xblockexpression = this.getCpsFromResource(resource); - } - return _xblockexpression; - } - - private CyberPhysicalSystem getCpsFromResource(final Resource resource) { - CyberPhysicalSystem _xblockexpression = null; - { - boolean _isEmpty = resource.getContents().isEmpty(); - if (_isEmpty) { - throw new IllegalArgumentException("No EObject in Resource"); - } - final EObject cps = IterableExtensions.head(resource.getContents()); - CyberPhysicalSystem _xifexpression = null; - if ((cps instanceof CyberPhysicalSystem)) { - _xifexpression = ((CyberPhysicalSystem)cps); - } else { - throw new IllegalArgumentException("EObject in Resource is not a CyberPhysicalSystem"); - } - _xblockexpression = _xifexpression; - } - return _xblockexpression; - } - - @Override - public String createStateCode() { - StringConcatenation _builder = new StringConcatenation(); - StringConcatenationClient _createRequestsCode = this.createRequestsCode(); - _builder.append(_createRequestsCode); - CharSequence _createHostTypesCode = this.createHostTypesCode(); - _builder.append(_createHostTypesCode); - return _builder.toString(); - } - - private StringConcatenationClient createRequestsCode() { - StringConcatenationClient _client = new StringConcatenationClient() { - @Override - protected void appendTo(StringConcatenationClient.TargetStringConcatenation _builder) { - { - EList _requests = CpsStateCoder.this.cps.getRequests(); - for(final Request request : _requests) { - StringConcatenationClient _createRequestCode = CpsStateCoder.this.createRequestCode(request); - _builder.append(_createRequestCode); - } - } - } - }; - return _client; - } - - private StringConcatenationClient createRequestCode(final Request request) { - StringConcatenationClient _client = new StringConcatenationClient() { - @Override - protected void appendTo(StringConcatenationClient.TargetStringConcatenation _builder) { - _builder.append("["); - { - EList _requirements = request.getRequirements(); - for(final Requirement requirement : _requirements) { - StringConcatenationClient _createRequirementCode = CpsStateCoder.this.createRequirementCode(requirement); - _builder.append(_createRequirementCode); - } - } - _builder.append("]"); - } - }; - return _client; - } - - private StringConcatenationClient createRequirementCode(final Requirement requirement) { - StringConcatenationClient _client = new StringConcatenationClient() { - @Override - protected void appendTo(StringConcatenationClient.TargetStringConcatenation _builder) { - _builder.append("["); - { - EList _instances = requirement.getInstances(); - boolean _hasElements = false; - for(final ApplicationInstance app : _instances) { - if (!_hasElements) { - _hasElements = true; - } else { - _builder.appendImmediate(",", ""); - } - String _createAppCode = CpsStateCoder.this.createAppCode(app); - _builder.append(_createAppCode); - } - } - _builder.append("]"); - } - }; - return _client; - } - - private String createAppCode(final ApplicationInstance app) { - String _xifexpression = null; - HostInstance _allocatedTo = app.getAllocatedTo(); - boolean _tripleEquals = (_allocatedTo == null); - if (_tripleEquals) { - _xifexpression = "-"; - } else { - _xifexpression = this.createMatchArgumentCode(app.getAllocatedTo()); - } - return _xifexpression; - } - - private CharSequence createHostTypesCode() { - StringConcatenation _builder = new StringConcatenation(); - _builder.append("("); - { - EList _hostTypes = this.cps.getHostTypes(); - boolean _hasElements = false; - for(final HostType hostType : _hostTypes) { - if (!_hasElements) { - _hasElements = true; - } else { - _builder.appendImmediate(",", ""); - } - int _size = hostType.getInstances().size(); - _builder.append(_size); - } - } - _builder.append(")"); - return _builder; - } - - @Override - public String createActivationCode(final IPatternMatch match) { - StringConcatenation _builder = new StringConcatenation(); - String _simpleName = match.specification().getSimpleName(); - _builder.append(_simpleName); - _builder.append("("); - { - Object[] _array = match.toArray(); - boolean _hasElements = false; - for(final Object arg : _array) { - if (!_hasElements) { - _hasElements = true; - } else { - _builder.appendImmediate(",", ""); - } - String _createMatchArgumentCode = this.createMatchArgumentCode(arg); - _builder.append(_createMatchArgumentCode); - } - } - _builder.append(")"); - return _builder.toString(); - } - - protected String _createMatchArgumentCode(final Requirement requirement) { - String _xblockexpression = null; - { - final EObject request = requirement.eContainer(); - String _xifexpression = null; - if ((request instanceof Request)) { - String _xblockexpression_1 = null; - { - EObject _eContainer = ((Request)request).eContainer(); - boolean _notEquals = (!Objects.equal(_eContainer, this.cps)); - if (_notEquals) { - throw new IllegalArgumentException("Request is not contained in the CPS"); - } - final int requestIndex = this.cps.getRequests().indexOf(request); - final int requirementIndex = ((Request)request).getRequirements().indexOf(requirement); - String _plus = (Integer.valueOf(requestIndex) + "."); - _xblockexpression_1 = (_plus + Integer.valueOf(requirementIndex)); - } - _xifexpression = _xblockexpression_1; - } else { - throw new IllegalArgumentException("Requirement is not contained in a request"); - } - _xblockexpression = _xifexpression; - } - return _xblockexpression; - } - - protected String _createMatchArgumentCode(final ApplicationInstance app) { - String _xblockexpression = null; - { - final Requirement requirement = app.getRequirement(); - if ((requirement == null)) { - throw new IllegalArgumentException("Application instance is not associated with a requirement"); - } - final int instanceIndex = requirement.getInstances().indexOf(app); - String _createMatchArgumentCode = this.createMatchArgumentCode(requirement); - String _plus = (_createMatchArgumentCode + "."); - _xblockexpression = (_plus + Integer.valueOf(instanceIndex)); - } - return _xblockexpression; - } - - protected String _createMatchArgumentCode(final HostInstance host) { - String _xblockexpression = null; - { - final EObject hostType = host.eContainer(); - String _xifexpression = null; - if ((hostType instanceof HostType)) { - String _xblockexpression_1 = null; - { - final int hostIndex = ((HostType)hostType).getInstances().indexOf(host); - String _createMatchArgumentCode = this.createMatchArgumentCode(hostType); - String _plus = (_createMatchArgumentCode + "."); - _xblockexpression_1 = (_plus + Integer.valueOf(hostIndex)); - } - _xifexpression = _xblockexpression_1; - } else { - throw new IllegalArgumentException("Host is not contained in a host type"); - } - _xblockexpression = _xifexpression; - } - return _xblockexpression; - } - - protected String _createMatchArgumentCode(final HostType hostType) { - String _xblockexpression = null; - { - EObject _eContainer = hostType.eContainer(); - boolean _notEquals = (!Objects.equal(_eContainer, this.cps)); - if (_notEquals) { - throw new IllegalArgumentException("Host type is not contained in the CPS"); - } - final int hostTypeIndex = this.cps.getHostTypes().indexOf(hostType); - _xblockexpression = Integer.valueOf(hostTypeIndex).toString(); - } - return _xblockexpression; - } - - protected String _createMatchArgumentCode(final Object object) { - throw new IllegalArgumentException("Unknown match argument: "); - } - - protected String createMatchArgumentCode(final Object app) { - if (app instanceof ApplicationInstance) { - return _createMatchArgumentCode((ApplicationInstance)app); - } else if (app instanceof HostInstance) { - return _createMatchArgumentCode((HostInstance)app); - } else if (app instanceof HostType) { - return _createMatchArgumentCode((HostType)app); - } else if (app instanceof Requirement) { - return _createMatchArgumentCode((Requirement)app); - } else if (app != null) { - return _createMatchArgumentCode(app); - } else { - throw new IllegalArgumentException("Unhandled parameter types: " + - Arrays.asList(app).toString()); - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsMain.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsMain.java deleted file mode 100644 index 7d81f84b..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsMain.java +++ /dev/null @@ -1,46 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.dse; - -import hu.bme.mit.inf.dslreasoner.domains.cps.CpsPackage; -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -import hu.bme.mit.inf.dslreasoner.domains.cps.dse.RuleBasedCpsSolver; -import hu.bme.mit.inf.dslreasoner.domains.cps.generator.CpsGenerator; -import hu.bme.mit.inf.dslreasoner.domains.cps.queries.CpsQueries; -import java.util.Map; -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.EStructuralFeature; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; -import org.eclipse.viatra.addon.querybasedfeatures.runtime.QueryBasedFeatureSettingDelegateFactory; -import org.eclipse.viatra.addon.querybasedfeatures.runtime.handler.QueryBasedFeatures; -import org.eclipse.viatra.dse.api.DesignSpaceExplorer; -import org.eclipse.viatra.query.runtime.extensibility.SingletonQueryGroupProvider; -import org.eclipse.viatra.query.runtime.registry.IQuerySpecificationRegistry; -import org.eclipse.viatra.query.runtime.registry.QuerySpecificationRegistry; -import org.eclipse.viatra.query.runtime.registry.connector.QueryGroupProviderSourceConnector; - -@SuppressWarnings("all") -public class RuleBasedCpsMain { - private RuleBasedCpsMain() { - new IllegalStateException("This is a static utility class and should not be instantiated directly."); - } - - public static void main(final String[] args) { - DesignSpaceExplorer.turnOnLogging(DesignSpaceExplorer.DseLoggingLevel.VERBOSE_FULL); - Map _extensionToFactoryMap = Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap(); - XMIResourceFactoryImpl _xMIResourceFactoryImpl = new XMIResourceFactoryImpl(); - _extensionToFactoryMap.put(Resource.Factory.Registry.DEFAULT_EXTENSION, _xMIResourceFactoryImpl); - QueryBasedFeatureSettingDelegateFactory _queryBasedFeatureSettingDelegateFactory = new QueryBasedFeatureSettingDelegateFactory(); - EStructuralFeature.Internal.SettingDelegate.Factory.Registry.INSTANCE.put(QueryBasedFeatures.ANNOTATION_SOURCE, _queryBasedFeatureSettingDelegateFactory); - EPackage.Registry.INSTANCE.put(CpsPackage.eNS_URI, CpsPackage.eINSTANCE); - IQuerySpecificationRegistry _instance = QuerySpecificationRegistry.getInstance(); - CpsQueries _instance_1 = CpsQueries.instance(); - SingletonQueryGroupProvider _singletonQueryGroupProvider = new SingletonQueryGroupProvider(_instance_1); - QueryGroupProviderSourceConnector _queryGroupProviderSourceConnector = new QueryGroupProviderSourceConnector("CpsQueries", _singletonQueryGroupProvider, - true); - _instance.addSource(_queryGroupProviderSourceConnector); - final CpsGenerator generator = new CpsGenerator(1, 4, 1); - final CyberPhysicalSystem problem = generator.generateCpsProblem(); - final RuleBasedCpsSolver solver = new RuleBasedCpsSolver(); - solver.solve(problem); - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsSolver.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsSolver.java deleted file mode 100644 index fd348752..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/RuleBasedCpsSolver.java +++ /dev/null @@ -1,93 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.dse; - -import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationInstance; -import hu.bme.mit.inf.dslreasoner.domains.cps.CpsFactory; -import hu.bme.mit.inf.dslreasoner.domains.cps.CpsPackage; -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -import hu.bme.mit.inf.dslreasoner.domains.cps.HostInstance; -import hu.bme.mit.inf.dslreasoner.domains.cps.dse.CpsStateCoder; -import hu.bme.mit.inf.dslreasoner.domains.cps.queries.Allocate; -import hu.bme.mit.inf.dslreasoner.domains.cps.queries.AverageFreeHddMetric; -import hu.bme.mit.inf.dslreasoner.domains.cps.queries.AverageFreeMemoryMetric; -import hu.bme.mit.inf.dslreasoner.domains.cps.queries.CostMetric; -import hu.bme.mit.inf.dslreasoner.domains.cps.queries.CreateHostInstance; -import hu.bme.mit.inf.dslreasoner.domains.cps.queries.GuidanceObjective; -import hu.bme.mit.inf.dslreasoner.domains.cps.queries.RequirementNotSatisfied; -import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization.CompositeDirectionalThresholdObjective; -import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization.ObjectiveKind; -import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization.ObjectiveThreshold; -import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization.QueryBasedObjective; -import java.util.Collection; -import java.util.function.Consumer; -import org.eclipse.emf.common.util.EList; -import org.eclipse.viatra.dse.api.DesignSpaceExplorer; -import org.eclipse.viatra.dse.api.Solution; -import org.eclipse.viatra.dse.evolutionary.EvolutionaryStrategy; -import org.eclipse.viatra.dse.evolutionary.EvolutionaryStrategyBuilder; -import org.eclipse.viatra.dse.objectives.Fitness; -import org.eclipse.viatra.transformation.runtime.emf.rules.batch.BatchTransformationRuleFactory; -import org.eclipse.xtext.xbase.lib.Extension; -import org.eclipse.xtext.xbase.lib.InputOutput; - -@SuppressWarnings("all") -public class RuleBasedCpsSolver { - @Extension - private final BatchTransformationRuleFactory _batchTransformationRuleFactory = new BatchTransformationRuleFactory(); - - @Extension - private final CpsFactory _cpsFactory = CpsFactory.eINSTANCE; - - public void solve(final CyberPhysicalSystem problem) { - final DesignSpaceExplorer dse = new DesignSpaceExplorer(); - dse.addMetaModelPackage(CpsPackage.eINSTANCE); - dse.setInitialModel(problem.eResource().getResourceSet()); - final Consumer _function = (RequirementNotSatisfied.Match it) -> { - final ApplicationInstance app = this._cpsFactory.createApplicationInstance(); - EList _instances = it.getReq().getType().getInstances(); - _instances.add(app); - EList _instances_1 = it.getReq().getInstances(); - _instances_1.add(app); - }; - dse.addTransformationRule(this._batchTransformationRuleFactory.createRule(RequirementNotSatisfied.instance()).action(_function).build()); - final Consumer _function_1 = (Allocate.Match it) -> { - ApplicationInstance _app = it.getApp(); - _app.setAllocatedTo(it.getHost()); - }; - dse.addTransformationRule(this._batchTransformationRuleFactory.createRule(Allocate.instance()).action(_function_1).build()); - final Consumer _function_2 = (CreateHostInstance.Match it) -> { - EList _instances = it.getHostType().getInstances(); - HostInstance _createHostInstance = this._cpsFactory.createHostInstance(); - _instances.add(_createHostInstance); - }; - dse.addTransformationRule(this._batchTransformationRuleFactory.createRule(CreateHostInstance.instance()).action(_function_2).build()); - GuidanceObjective _instance = GuidanceObjective.instance(); - ObjectiveThreshold.Inclusive _inclusive = new ObjectiveThreshold.Inclusive(0); - QueryBasedObjective _queryBasedObjective = new QueryBasedObjective(_instance, ObjectiveKind.LOWER_IS_BETTER, _inclusive, 0); - AverageFreeMemoryMetric _instance_1 = AverageFreeMemoryMetric.instance(); - ObjectiveThreshold.Inclusive _inclusive_1 = new ObjectiveThreshold.Inclusive(0.75); - QueryBasedObjective _queryBasedObjective_1 = new QueryBasedObjective(_instance_1, ObjectiveKind.LOWER_IS_BETTER, _inclusive_1, 0); - AverageFreeHddMetric _instance_2 = AverageFreeHddMetric.instance(); - ObjectiveThreshold.Inclusive _inclusive_2 = new ObjectiveThreshold.Inclusive(0.75); - QueryBasedObjective _queryBasedObjective_2 = new QueryBasedObjective(_instance_2, ObjectiveKind.LOWER_IS_BETTER, _inclusive_2, 0); - CompositeDirectionalThresholdObjective _compositeDirectionalThresholdObjective = new CompositeDirectionalThresholdObjective("Composite", _queryBasedObjective, _queryBasedObjective_1, _queryBasedObjective_2); - dse.addObjective(_compositeDirectionalThresholdObjective); - CostMetric _instance_3 = CostMetric.instance(); - QueryBasedObjective _queryBasedObjective_3 = new QueryBasedObjective(_instance_3, ObjectiveKind.LOWER_IS_BETTER, - ObjectiveThreshold.NO_THRESHOLD, 0); - dse.addObjective(_queryBasedObjective_3); - dse.setMaxNumberOfThreads(1); - CpsStateCoder.Factory _factory = new CpsStateCoder.Factory(); - dse.setStateCoderFactory(_factory); - final EvolutionaryStrategy strategy = EvolutionaryStrategyBuilder.createNsga2Strategy(25); - dse.startExplorationWithTimeout(strategy, ((2 * 60) * 1000)); - Collection _solutions = dse.getSolutions(); - for (final Solution solution : _solutions) { - Object _stateCode = solution.getStateCode(); - String _plus = ("Found solution: " + _stateCode); - String _plus_1 = (_plus + " "); - Fitness _fitness = solution.getArbitraryTrajectory().getFitness(); - String _plus_2 = (_plus_1 + _fitness); - InputOutput.println(_plus_2); - } - } -} 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 deleted file mode 100644 index 42bebd02..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.CpsGenerator.xtendbin and /dev/null differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.gitignore deleted file mode 100644 index 716ffd30..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/.CpsGenerator.java._trace -/.CpsGenerator.xtendbin -/CpsGenerator.java diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/CpsGenerator.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/CpsGenerator.java deleted file mode 100644 index ce0cd02d..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/CpsGenerator.java +++ /dev/null @@ -1,177 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.generator; - -import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationInstance; -import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationType; -import hu.bme.mit.inf.dslreasoner.domains.cps.CpsFactory; -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -import hu.bme.mit.inf.dslreasoner.domains.cps.HostType; -import hu.bme.mit.inf.dslreasoner.domains.cps.Request; -import hu.bme.mit.inf.dslreasoner.domains.cps.Requirement; -import hu.bme.mit.inf.dslreasoner.domains.cps.ResourceRequirement; -import java.util.Collection; -import java.util.Collections; -import java.util.List; -import java.util.Random; -import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.common.util.URI; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; -import org.eclipse.xtext.xbase.lib.CollectionLiterals; -import org.eclipse.xtext.xbase.lib.ExclusiveRange; -import org.eclipse.xtext.xbase.lib.Extension; -import org.eclipse.xtext.xbase.lib.ObjectExtensions; -import org.eclipse.xtext.xbase.lib.Procedures.Procedure1; - -@SuppressWarnings("all") -public class CpsGenerator { - @Extension - private final CpsFactory _cpsFactory = CpsFactory.eINSTANCE; - - private static final int MIN_MEMORY = 1; - - private static final int MAX_MEMORY = 6; - - private static final int MIN_HDD = 1; - - private static final int MAX_HDD = 30; - - private static final int HIGH_CPU_FRACTION = 4; - - private static final int MIN_REPLICAS = 1; - - private static final int MAX_REPLICAS = 4; - - private final Random random; - - private final int applicationTypeCount; - - private final int demandFactor; - - private final boolean populateAppInstances; - - public CpsGenerator(final long randomSeed, final int applicationTypeCount, final int demandFactor) { - this(randomSeed, applicationTypeCount, demandFactor, false); - } - - public CpsGenerator(final long randomSeed, final int applicationTypeCount, final int demandFactor, final boolean populateAppInstances) { - Random _random = new Random(randomSeed); - this.random = _random; - this.applicationTypeCount = applicationTypeCount; - this.demandFactor = demandFactor; - this.populateAppInstances = populateAppInstances; - } - - public CyberPhysicalSystem generateCpsProblem() { - CyberPhysicalSystem _xblockexpression = null; - { - final ResourceSetImpl resourceSet = new ResourceSetImpl(); - final Resource resource = resourceSet.createResource(URI.createFileURI("dummy.dummyext")); - CyberPhysicalSystem _createCyberPhysicalSystem = this._cpsFactory.createCyberPhysicalSystem(); - final Procedure1 _function = (CyberPhysicalSystem it) -> { - final CyberPhysicalSystem cps = it; - EList _contents = resource.getContents(); - _contents.add(cps); - this.createLowCpuHostTypes(it); - final List highCpuHostTypes = this.createHighCpuHostTypes(it); - for (int i = 0; (i < this.applicationTypeCount); i++) { - if (((i % CpsGenerator.HIGH_CPU_FRACTION) == 0)) { - this.createRandomApplicationType(it, highCpuHostTypes); - } else { - this.createRandomApplicationType(it, it.getHostTypes()); - } - } - for (int i = 0; (i < this.demandFactor); i++) { - EList _requests = it.getRequests(); - Request _createRequest = this._cpsFactory.createRequest(); - final Procedure1 _function_1 = (Request it_1) -> { - EList _applicationTypes = cps.getApplicationTypes(); - for (final ApplicationType appType : _applicationTypes) { - EList _requirements = it_1.getRequirements(); - Requirement _createRequirement = this._cpsFactory.createRequirement(); - final Procedure1 _function_2 = (Requirement it_2) -> { - it_2.setCount(this.nextInt(CpsGenerator.MIN_REPLICAS, CpsGenerator.MAX_REPLICAS)); - it_2.setType(appType); - if (this.populateAppInstances) { - int _count = it_2.getCount(); - ExclusiveRange _doubleDotLessThan = new ExclusiveRange(0, _count, true); - for (final Integer j : _doubleDotLessThan) { - { - final ApplicationInstance app = this._cpsFactory.createApplicationInstance(); - app.setType(appType); - EList _instances = appType.getInstances(); - _instances.add(app); - EList _instances_1 = it_2.getInstances(); - _instances_1.add(app); - } - } - } - }; - Requirement _doubleArrow = ObjectExtensions.operator_doubleArrow(_createRequirement, _function_2); - _requirements.add(_doubleArrow); - } - }; - Request _doubleArrow = ObjectExtensions.operator_doubleArrow(_createRequest, _function_1); - _requests.add(_doubleArrow); - } - }; - _xblockexpression = ObjectExtensions.operator_doubleArrow(_createCyberPhysicalSystem, _function); - } - return _xblockexpression; - } - - private void createRandomApplicationType(final CyberPhysicalSystem it, final Collection allowedHostTypes) { - final ApplicationType appType = this._cpsFactory.createApplicationType(); - final int memory = this.nextInt(CpsGenerator.MIN_MEMORY, CpsGenerator.MAX_MEMORY); - final int hdd = this.nextInt(CpsGenerator.MIN_HDD, CpsGenerator.MAX_HDD); - for (final HostType hostType : allowedHostTypes) { - EList _requirements = appType.getRequirements(); - ResourceRequirement _createResourceRequirement = this._cpsFactory.createResourceRequirement(); - final Procedure1 _function = (ResourceRequirement it_1) -> { - it_1.setHostType(hostType); - it_1.setRequiredMemory(memory); - it_1.setRequiredHdd(hdd); - }; - ResourceRequirement _doubleArrow = ObjectExtensions.operator_doubleArrow(_createResourceRequirement, _function); - _requirements.add(_doubleArrow); - } - EList _applicationTypes = it.getApplicationTypes(); - _applicationTypes.add(appType); - } - - private List createLowCpuHostTypes(final CyberPhysicalSystem it) { - HostType _createHostType = this.createHostType(it, 2, 8, 75); - HostType _createHostType_1 = this.createHostType(it, 4, 16, 150); - HostType _createHostType_2 = this.createHostType(it, 3, 16, 75); - HostType _createHostType_3 = this.createHostType(it, 6, 32, 150); - return Collections.unmodifiableList(CollectionLiterals.newArrayList(_createHostType, _createHostType_1, _createHostType_2, _createHostType_3)); - } - - private List createHighCpuHostTypes(final CyberPhysicalSystem it) { - HostType _createHostType = this.createHostType(it, 2, 4, 50); - HostType _createHostType_1 = this.createHostType(it, 4, 8, 100); - return Collections.unmodifiableList(CollectionLiterals.newArrayList(_createHostType, _createHostType_1)); - } - - private HostType createHostType(final CyberPhysicalSystem it, final int cost, final int memory, final int hdd) { - HostType _xblockexpression = null; - { - HostType _createHostType = this._cpsFactory.createHostType(); - final Procedure1 _function = (HostType it_1) -> { - it_1.setCost(cost); - it_1.setDefaultMemory(memory); - it_1.setDefaultHdd(hdd); - }; - final HostType hostType = ObjectExtensions.operator_doubleArrow(_createHostType, _function); - EList _hostTypes = it.getHostTypes(); - _hostTypes.add(hostType); - _xblockexpression = hostType; - } - return _xblockexpression; - } - - private int nextInt(final int lower, final int upper) { - int _nextInt = this.random.nextInt(((upper - lower) + 1)); - return (lower + _nextInt); - } -} 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 deleted file mode 100644 index b9f0df1a..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.CpsMdeOptimiserMain.xtendbin and /dev/null 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 deleted file mode 100644 index 86913d04..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NonRedundantAllocationsConstraint.xtendbin and /dev/null 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 deleted file mode 100644 index fd33b1a1..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotAllocatedAppInstancesConstraint.xtendbin and /dev/null 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 deleted file mode 100644 index cc5c52dd..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotSatisfiedRequirementsConstraint.xtendbin and /dev/null 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 deleted file mode 100644 index a80b5bc3..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ResourceUtilizationUtil.xtendbin and /dev/null 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 deleted file mode 100644 index 24309a53..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageHddConstraint.xtendbin and /dev/null 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 deleted file mode 100644 index 86af43db..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageMemoryConstraint.xtendbin and /dev/null 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 deleted file mode 100644 index f37b1a5c..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TotalCostFitnessFunction.xtendbin and /dev/null 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 deleted file mode 100644 index eeef5142..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableHddConstraint.xtendbin and /dev/null 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 deleted file mode 100644 index dd11fbd5..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableMemoryConstraint.xtendbin and /dev/null differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.gitignore deleted file mode 100644 index 51a2537b..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.gitignore +++ /dev/null @@ -1,15 +0,0 @@ -/.TotalCostFitnessFunction.java._trace -/.CpsMdeOptimiserMain.java._trace -/.ExcludedOptimisationInterpreter.java._trace -/.ExcludedMoeaOptimisation.java._trace -/.ExcludedRun.java._trace -/.SatisfiedRequirementsConstraint.java._trace -/.NotSatisfiedRequirementsConstraint.java._trace -/.NotAllocatedAppInstancesConstraint.java._trace -/.NonRedundantAllocationsConstraint.java._trace -/.UnavailableMemoryConstraint.java._trace -/.ResourceUtilizationUtil.java._trace -/.UnavailableHddConstraint.java._trace -/.TooLowAverageMemoryConstraint.java._trace -/.TooLowAverageHddUtilization.java._trace -/.TooLowAverageHddConstraint.java._trace diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/CpsMdeOptimiserMain.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/CpsMdeOptimiserMain.java deleted file mode 100644 index c047f255..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/CpsMdeOptimiserMain.java +++ /dev/null @@ -1,82 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo; - -import hu.bme.mit.inf.dslreasoner.domains.cps.CpsPackage; -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -import hu.bme.mit.inf.dslreasoner.domains.cps.generator.CpsGenerator; -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.FileReader; -import java.io.FileWriter; -import java.util.Collections; -import java.util.Map; -import java.util.Set; -import org.eclipse.emf.common.util.URI; -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; -import org.eclipse.xtext.xbase.lib.CollectionLiterals; -import org.eclipse.xtext.xbase.lib.Exceptions; -import org.eclipse.xtext.xbase.lib.Pair; -import uk.ac.kcl.inf.mdeoptimiser.interfaces.cli.Run; - -@SuppressWarnings("all") -public class CpsMdeOptimiserMain { - private static final String PROJECT_PATH = "."; - - private static final String PROBLEM_PATH = "model/problem.xmi"; - - private static final String MOPT_PATH = "src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/cps.mopt"; - - private CpsMdeOptimiserMain() { - new IllegalStateException("This is a static utility class and should not be instantiated directly."); - } - - public static void main(final String[] args) { - try { - Map _extensionToFactoryMap = Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap(); - XMIResourceFactoryImpl _xMIResourceFactoryImpl = new XMIResourceFactoryImpl(); - _extensionToFactoryMap.put(Resource.Factory.Registry.DEFAULT_EXTENSION, _xMIResourceFactoryImpl); - EPackage.Registry.INSTANCE.put(CpsPackage.eNS_URI, CpsPackage.eINSTANCE); - final CpsGenerator generator = new CpsGenerator(1, 4, 1); - final CyberPhysicalSystem problem = generator.generateCpsProblem(); - Resource _eResource = problem.eResource(); - _eResource.setURI(URI.createFileURI(CpsMdeOptimiserMain.PROBLEM_PATH)); - problem.eResource().save(CollectionLiterals.emptyMap()); - Pair _mappedTo = Pair.of("cps.ecore", CpsPackage.eNS_URI); - CpsMdeOptimiserMain.fixupHenshinModel("model/cps.henshin", "model/cps_fixup.henshin", Collections.unmodifiableMap(CollectionLiterals.newHashMap(_mappedTo))); - Run.main(new String[] { "-p", CpsMdeOptimiserMain.PROJECT_PATH, "-m", CpsMdeOptimiserMain.MOPT_PATH }); - } catch (Throwable _e) { - throw Exceptions.sneakyThrow(_e); - } - } - - private static void fixupHenshinModel(final String originalPath, final String outputPath, final Map remapMap) { - try { - FileReader _fileReader = new FileReader(originalPath); - final BufferedReader reader = new BufferedReader(_fileReader); - try { - FileWriter _fileWriter = new FileWriter(outputPath); - final BufferedWriter writer = new BufferedWriter(_fileWriter); - try { - String line = null; - while (((line = reader.readLine()) != null)) { - { - Set> _entrySet = remapMap.entrySet(); - for (final Map.Entry entry : _entrySet) { - line = line.replace(entry.getKey(), entry.getValue()); - } - writer.write(line); - writer.write("\n"); - } - } - } finally { - writer.close(); - } - } finally { - reader.close(); - } - } catch (Throwable _e) { - throw Exceptions.sneakyThrow(_e); - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NonRedundantAllocationsConstraint.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NonRedundantAllocationsConstraint.java deleted file mode 100644 index 6100d821..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NonRedundantAllocationsConstraint.java +++ /dev/null @@ -1,54 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo; - -import com.google.common.collect.HashMultiset; -import com.google.common.collect.Multiset; -import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationInstance; -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -import hu.bme.mit.inf.dslreasoner.domains.cps.HostInstance; -import hu.bme.mit.inf.dslreasoner.domains.cps.HostType; -import hu.bme.mit.inf.dslreasoner.domains.cps.Requirement; -import java.util.Set; -import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.ecore.EObject; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution; - -@SuppressWarnings("all") -public class NonRedundantAllocationsConstraint implements IGuidanceFunction { - @Override - public String getName() { - return "NonRedundantAllocations"; - } - - @Override - public double computeFitness(final Solution solution) { - int _xblockexpression = (int) 0; - { - EObject _model = solution.getModel(); - final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model); - int cost = 0; - EList _hostTypes = cps.getHostTypes(); - for (final HostType hostType : _hostTypes) { - EList _instances = hostType.getInstances(); - for (final HostInstance host : _instances) { - { - final HashMultiset bins = HashMultiset.create(); - EList _applications = host.getApplications(); - for (final ApplicationInstance app : _applications) { - bins.add(app.getRequirement()); - } - Set> _entrySet = bins.entrySet(); - for (final Multiset.Entry entry : _entrySet) { - int _cost = cost; - int _count = entry.getCount(); - int _minus = (_count - 1); - cost = (_cost + _minus); - } - } - } - } - _xblockexpression = cost; - } - return _xblockexpression; - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotAllocatedAppInstancesConstraint.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotAllocatedAppInstancesConstraint.java deleted file mode 100644 index e9ade5de..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotAllocatedAppInstancesConstraint.java +++ /dev/null @@ -1,47 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo; - -import com.google.common.base.Objects; -import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationInstance; -import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationType; -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -import hu.bme.mit.inf.dslreasoner.domains.cps.HostType; -import hu.bme.mit.inf.dslreasoner.domains.cps.ResourceRequirement; -import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.xtext.xbase.lib.Functions.Function1; -import org.eclipse.xtext.xbase.lib.IterableExtensions; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution; - -@SuppressWarnings("all") -public class NotAllocatedAppInstancesConstraint implements IGuidanceFunction { - @Override - public String getName() { - return "NotAllocatedAppInstances"; - } - - @Override - public double computeFitness(final Solution solution) { - int _xblockexpression = (int) 0; - { - EObject _model = solution.getModel(); - final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model); - int cost = 0; - EList _applicationTypes = cps.getApplicationTypes(); - for (final ApplicationType appType : _applicationTypes) { - EList _instances = appType.getInstances(); - for (final ApplicationInstance app : _instances) { - if (((app.getAllocatedTo() == null) || (!IterableExtensions.exists(appType.getRequirements(), ((Function1) (ResourceRequirement it) -> { - HostType _hostType = it.getHostType(); - HostType _type = app.getAllocatedTo().getType(); - return Boolean.valueOf(Objects.equal(_hostType, _type)); - }))))) { - cost++; - } - } - } - _xblockexpression = cost; - } - return _xblockexpression; - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotSatisfiedRequirementsConstraint.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotSatisfiedRequirementsConstraint.java deleted file mode 100644 index 34f73952..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/NotSatisfiedRequirementsConstraint.java +++ /dev/null @@ -1,55 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo; - -import com.google.common.base.Objects; -import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationInstance; -import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationType; -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -import hu.bme.mit.inf.dslreasoner.domains.cps.Request; -import hu.bme.mit.inf.dslreasoner.domains.cps.Requirement; -import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.ecore.EObject; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution; - -@SuppressWarnings("all") -public class NotSatisfiedRequirementsConstraint implements IGuidanceFunction { - @Override - public String getName() { - return "NotSatisfiedRequirements"; - } - - @Override - public double computeFitness(final Solution solution) { - int _xblockexpression = (int) 0; - { - EObject _model = solution.getModel(); - final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model); - int cost = 0; - EList _requests = cps.getRequests(); - for (final Request request : _requests) { - EList _requirements = request.getRequirements(); - for (final Requirement requirement : _requirements) { - { - int _cost = cost; - int _count = requirement.getCount(); - int _size = requirement.getInstances().size(); - int _minus = (_count - _size); - int _abs = Math.abs(_minus); - cost = (_cost + _abs); - EList _instances = requirement.getInstances(); - for (final ApplicationInstance app : _instances) { - ApplicationType _type = app.getType(); - ApplicationType _type_1 = requirement.getType(); - boolean _notEquals = (!Objects.equal(_type, _type_1)); - if (_notEquals) { - cost++; - } - } - } - } - } - _xblockexpression = cost; - } - return _xblockexpression; - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ResourceUtilizationUtil.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ResourceUtilizationUtil.java deleted file mode 100644 index a03213e3..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ResourceUtilizationUtil.java +++ /dev/null @@ -1,67 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo; - -import com.google.common.base.Objects; -import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationInstance; -import hu.bme.mit.inf.dslreasoner.domains.cps.HostInstance; -import hu.bme.mit.inf.dslreasoner.domains.cps.HostType; -import hu.bme.mit.inf.dslreasoner.domains.cps.ResourceRequirement; -import org.eclipse.emf.common.util.EList; -import org.eclipse.xtext.xbase.lib.Functions.Function1; -import org.eclipse.xtext.xbase.lib.IterableExtensions; - -@SuppressWarnings("all") -public class ResourceUtilizationUtil { - private ResourceUtilizationUtil() { - new IllegalStateException("This is a static utility class and should not be instantiated directly."); - } - - public static int getMemoryUtilization(final HostInstance host) { - int _xblockexpression = (int) 0; - { - int utilization = 0; - EList _applications = host.getApplications(); - for (final ApplicationInstance app : _applications) { - { - final Function1 _function = (ResourceRequirement it) -> { - HostType _hostType = it.getHostType(); - HostType _type = host.getType(); - return Boolean.valueOf(Objects.equal(_hostType, _type)); - }; - final ResourceRequirement req = IterableExtensions.findFirst(app.getType().getRequirements(), _function); - if ((req != null)) { - int _utilization = utilization; - int _requiredMemory = req.getRequiredMemory(); - utilization = (_utilization + _requiredMemory); - } - } - } - _xblockexpression = utilization; - } - return _xblockexpression; - } - - public static int getHddUtilization(final HostInstance host) { - int _xblockexpression = (int) 0; - { - int utilization = 0; - EList _applications = host.getApplications(); - for (final ApplicationInstance app : _applications) { - { - final Function1 _function = (ResourceRequirement it) -> { - HostType _hostType = it.getHostType(); - HostType _type = host.getType(); - return Boolean.valueOf(Objects.equal(_hostType, _type)); - }; - final ResourceRequirement req = IterableExtensions.findFirst(app.getType().getRequirements(), _function); - if ((req != null)) { - int _utilization = utilization; - int _requiredHdd = req.getRequiredHdd(); - utilization = (_utilization + _requiredHdd); - } - } - } - _xblockexpression = utilization; - } - return _xblockexpression; - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageHddConstraint.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageHddConstraint.java deleted file mode 100644 index 0ff3c795..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageHddConstraint.java +++ /dev/null @@ -1,59 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo; - -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -import hu.bme.mit.inf.dslreasoner.domains.cps.HostInstance; -import hu.bme.mit.inf.dslreasoner.domains.cps.HostType; -import hu.bme.mit.inf.dslreasoner.domains.cps.mdeo.ResourceUtilizationUtil; -import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.ecore.EObject; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution; - -@SuppressWarnings("all") -public class TooLowAverageHddConstraint implements IGuidanceFunction { - private static final double THRESHOLD = 0.25; - - @Override - public String getName() { - return "TooLowAverageHdd"; - } - - @Override - public double computeFitness(final Solution solution) { - double _xblockexpression = (double) 0; - { - EObject _model = solution.getModel(); - final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model); - double sumUtilization = 0; - int numHosts = 0; - EList _hostTypes = cps.getHostTypes(); - for (final HostType hostType : _hostTypes) { - { - int _numHosts = numHosts; - int _size = hostType.getInstances().size(); - numHosts = (_numHosts + _size); - EList _instances = hostType.getInstances(); - for (final HostInstance host : _instances) { - { - final int utilization = ResourceUtilizationUtil.getHddUtilization(host); - double _sumUtilization = sumUtilization; - int _defaultHdd = hostType.getDefaultHdd(); - double _divide = (((double) utilization) / _defaultHdd); - sumUtilization = (_sumUtilization + _divide); - } - } - } - } - final double averageUtilization = (sumUtilization / numHosts); - final double difference = (TooLowAverageHddConstraint.THRESHOLD - averageUtilization); - double _xifexpression = (double) 0; - if ((difference > 0)) { - _xifexpression = difference; - } else { - _xifexpression = 0; - } - _xblockexpression = _xifexpression; - } - return _xblockexpression; - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageMemoryConstraint.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageMemoryConstraint.java deleted file mode 100644 index 341925bc..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TooLowAverageMemoryConstraint.java +++ /dev/null @@ -1,59 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo; - -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -import hu.bme.mit.inf.dslreasoner.domains.cps.HostInstance; -import hu.bme.mit.inf.dslreasoner.domains.cps.HostType; -import hu.bme.mit.inf.dslreasoner.domains.cps.mdeo.ResourceUtilizationUtil; -import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.ecore.EObject; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution; - -@SuppressWarnings("all") -public class TooLowAverageMemoryConstraint implements IGuidanceFunction { - private static final double THRESHOLD = 0.25; - - @Override - public String getName() { - return "TooLowAverageMemory"; - } - - @Override - public double computeFitness(final Solution solution) { - double _xblockexpression = (double) 0; - { - EObject _model = solution.getModel(); - final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model); - double sumUtilization = 0; - int numHosts = 0; - EList _hostTypes = cps.getHostTypes(); - for (final HostType hostType : _hostTypes) { - { - int _numHosts = numHosts; - int _size = hostType.getInstances().size(); - numHosts = (_numHosts + _size); - EList _instances = hostType.getInstances(); - for (final HostInstance host : _instances) { - { - final int utilization = ResourceUtilizationUtil.getMemoryUtilization(host); - double _sumUtilization = sumUtilization; - int _defaultMemory = hostType.getDefaultMemory(); - double _divide = (((double) utilization) / _defaultMemory); - sumUtilization = (_sumUtilization + _divide); - } - } - } - } - final double averageUtilization = (sumUtilization / numHosts); - final double difference = (TooLowAverageMemoryConstraint.THRESHOLD - averageUtilization); - double _xifexpression = (double) 0; - if ((difference > 0)) { - _xifexpression = difference; - } else { - _xifexpression = 0; - } - _xblockexpression = _xifexpression; - } - return _xblockexpression; - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TotalCostFitnessFunction.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TotalCostFitnessFunction.java deleted file mode 100644 index 7bb80ca8..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/TotalCostFitnessFunction.java +++ /dev/null @@ -1,44 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo; - -import hu.bme.mit.inf.dslreasoner.domains.cps.ApplicationType; -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -import hu.bme.mit.inf.dslreasoner.domains.cps.HostType; -import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.ecore.EObject; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution; - -@SuppressWarnings("all") -public class TotalCostFitnessFunction implements IGuidanceFunction { - @Override - public String getName() { - return "TotalCost"; - } - - @Override - public double computeFitness(final Solution solution) { - int _xblockexpression = (int) 0; - { - EObject _model = solution.getModel(); - final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model); - int cost = 0; - EList _applicationTypes = cps.getApplicationTypes(); - for (final ApplicationType appType : _applicationTypes) { - int _cost = cost; - int _size = appType.getInstances().size(); - int _multiply = (5 * _size); - cost = (_cost + _multiply); - } - EList _hostTypes = cps.getHostTypes(); - for (final HostType hostType : _hostTypes) { - int _cost_1 = cost; - int _cost_2 = hostType.getCost(); - int _size_1 = hostType.getInstances().size(); - int _multiply_1 = (_cost_2 * _size_1); - cost = (_cost_1 + _multiply_1); - } - _xblockexpression = cost; - } - return _xblockexpression; - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableHddConstraint.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableHddConstraint.java deleted file mode 100644 index 00d1c4e6..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableHddConstraint.java +++ /dev/null @@ -1,45 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo; - -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -import hu.bme.mit.inf.dslreasoner.domains.cps.HostInstance; -import hu.bme.mit.inf.dslreasoner.domains.cps.HostType; -import hu.bme.mit.inf.dslreasoner.domains.cps.mdeo.ResourceUtilizationUtil; -import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.ecore.EObject; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution; - -@SuppressWarnings("all") -public class UnavailableHddConstraint implements IGuidanceFunction { - @Override - public String getName() { - return "UnavailableHdd"; - } - - @Override - public double computeFitness(final Solution solution) { - int _xblockexpression = (int) 0; - { - EObject _model = solution.getModel(); - final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model); - int cost = 0; - EList _hostTypes = cps.getHostTypes(); - for (final HostType hostType : _hostTypes) { - EList _instances = hostType.getInstances(); - for (final HostInstance host : _instances) { - { - final int utilization = ResourceUtilizationUtil.getHddUtilization(host); - int _defaultHdd = hostType.getDefaultHdd(); - final int difference = (utilization - _defaultHdd); - if ((difference > 0)) { - int _cost = cost; - cost = (_cost + difference); - } - } - } - } - _xblockexpression = cost; - } - return _xblockexpression; - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableMemoryConstraint.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableMemoryConstraint.java deleted file mode 100644 index a9be9f1f..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/UnavailableMemoryConstraint.java +++ /dev/null @@ -1,45 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo; - -import hu.bme.mit.inf.dslreasoner.domains.cps.CyberPhysicalSystem; -import hu.bme.mit.inf.dslreasoner.domains.cps.HostInstance; -import hu.bme.mit.inf.dslreasoner.domains.cps.HostType; -import hu.bme.mit.inf.dslreasoner.domains.cps.mdeo.ResourceUtilizationUtil; -import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.ecore.EObject; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution; - -@SuppressWarnings("all") -public class UnavailableMemoryConstraint implements IGuidanceFunction { - @Override - public String getName() { - return "UnavailableMemory"; - } - - @Override - public double computeFitness(final Solution solution) { - int _xblockexpression = (int) 0; - { - EObject _model = solution.getModel(); - final CyberPhysicalSystem cps = ((CyberPhysicalSystem) _model); - int cost = 0; - EList _hostTypes = cps.getHostTypes(); - for (final HostType hostType : _hostTypes) { - EList _instances = hostType.getInstances(); - for (final HostInstance host : _instances) { - { - final int utilization = ResourceUtilizationUtil.getMemoryUtilization(host); - int _defaultMemory = hostType.getDefaultMemory(); - final int difference = (utilization - _defaultMemory); - if ((difference > 0)) { - int _cost = cost; - cost = (_cost + difference); - } - } - } - } - _xblockexpression = cost; - } - return _xblockexpression; - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.gitignore index ae3c1726..7c70320a 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.gitignore +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.gitignore @@ -1 +1,5 @@ /bin/ +/mdeo-results/ +/outputs/ +/src-gen/ +/xtend-gen/ 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 3ee950cb..36d729b4 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 @@ -34,7 +34,8 @@ Require-Bundle: org.eclipse.viatra.addon.querybasedfeatures.runtime, org.apache.commons.lang3;bundle-version="3.8.1", com.google.inject;bundle-version="3.0.0", org.sidiff.common.henshin;bundle-version="1.0.0", - org.sidiff.serge;bundle-version="1.0.0" + org.sidiff.serge;bundle-version="1.0.0", + org.eclipse.viatra.query.runtime.rete;bundle-version="2.2.0" Import-Package: org.apache.log4j Automatic-Module-Name: hu.bme.mit.inf.dslreasoner.domains.satellite Bundle-ActivationPolicy: lazy diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommSubsystem.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommSubsystem.java index 3b9d7ecf..90bca78c 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 @@ -2,6 +2,7 @@ */ package satellite; +import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EObject; /** @@ -14,6 +15,7 @@ import org.eclipse.emf.ecore.EObject; *

*
    *
  • {@link satellite.CommSubsystem#getTarget Target}
  • + *
  • {@link satellite.CommSubsystem#getSource Source}
  • *
* * @see satellite.SatellitePackage#getCommSubsystem() @@ -24,12 +26,14 @@ public interface CommSubsystem extends EObject { /** * Returns the value of the 'Target' reference. + * It is bidirectional and its opposite is '{@link satellite.CommSubsystem#getSource Source}'. * * * @return the value of the 'Target' reference. * @see #setTarget(CommSubsystem) * @see satellite.SatellitePackage#getCommSubsystem_Target() - * @model + * @see satellite.CommSubsystem#getSource + * @model opposite="source" * @generated */ CommSubsystem getTarget(); @@ -44,4 +48,18 @@ public interface CommSubsystem extends EObject { */ void setTarget(CommSubsystem value); + /** + * Returns the value of the 'Source' reference list. + * The list contents are of type {@link satellite.CommSubsystem}. + * It is bidirectional and its opposite is '{@link satellite.CommSubsystem#getTarget Target}'. + * + * + * @return the value of the 'Source' reference list. + * @see satellite.SatellitePackage#getCommSubsystem_Source() + * @see satellite.CommSubsystem#getTarget + * @model opposite="target" + * @generated + */ + EList getSource(); + } // CommSubsystem 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 64a60d6a..7be4ef84 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 @@ -296,6 +296,15 @@ public interface SatellitePackage extends EPackage { */ int COMM_SUBSYSTEM__TARGET = 0; + /** + * The feature id for the 'Source' reference list. + * + * + * @generated + * @ordered + */ + int COMM_SUBSYSTEM__SOURCE = 1; + /** * The number of structural features of the 'Comm Subsystem' class. * @@ -303,7 +312,7 @@ public interface SatellitePackage extends EPackage { * @generated * @ordered */ - int COMM_SUBSYSTEM_FEATURE_COUNT = 1; + int COMM_SUBSYSTEM_FEATURE_COUNT = 2; /** * The number of operations of the 'Comm Subsystem' class. @@ -573,6 +582,15 @@ public interface SatellitePackage extends EPackage { */ int UHF_COMM_SUBSYSTEM__TARGET = COMM_SUBSYSTEM__TARGET; + /** + * The feature id for the 'Source' reference list. + * + * + * @generated + * @ordered + */ + int UHF_COMM_SUBSYSTEM__SOURCE = COMM_SUBSYSTEM__SOURCE; + /** * The number of structural features of the 'UHF Comm Subsystem' class. * @@ -610,6 +628,15 @@ public interface SatellitePackage extends EPackage { */ int XCOMM_SUBSYSTEM__TARGET = COMM_SUBSYSTEM__TARGET; + /** + * The feature id for the 'Source' reference list. + * + * + * @generated + * @ordered + */ + int XCOMM_SUBSYSTEM__SOURCE = COMM_SUBSYSTEM__SOURCE; + /** * The number of structural features of the 'XComm Subsystem' class. * @@ -647,6 +674,15 @@ public interface SatellitePackage extends EPackage { */ int KA_COMM_SUBSYSTEM__TARGET = COMM_SUBSYSTEM__TARGET; + /** + * The feature id for the 'Source' reference list. + * + * + * @generated + * @ordered + */ + int KA_COMM_SUBSYSTEM__SOURCE = COMM_SUBSYSTEM__SOURCE; + /** * The number of structural features of the 'Ka Comm Subsystem' class. * @@ -791,6 +827,17 @@ public interface SatellitePackage extends EPackage { */ EReference getCommSubsystem_Target(); + /** + * Returns the meta object for the reference list '{@link satellite.CommSubsystem#getSource Source}'. + * + * + * @return the meta object for the reference list 'Source'. + * @see satellite.CommSubsystem#getSource() + * @see #getCommSubsystem() + * @generated + */ + EReference getCommSubsystem_Source(); + /** * Returns the meta object for class '{@link satellite.Payload Payload}'. * @@ -1013,6 +1060,14 @@ public interface SatellitePackage extends EPackage { */ EReference COMM_SUBSYSTEM__TARGET = eINSTANCE.getCommSubsystem_Target(); + /** + * The meta object literal for the 'Source' reference list feature. + * + * + * @generated + */ + EReference COMM_SUBSYSTEM__SOURCE = eINSTANCE.getCommSubsystem_Source(); + /** * The meta object literal for the '{@link satellite.impl.PayloadImpl Payload}' class. * 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 cdfbd6de..21e385a8 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,11 +2,16 @@ */ package satellite.impl; +import java.util.Collection; import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.InternalEObject; import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; +import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList; +import org.eclipse.emf.ecore.util.InternalEList; import satellite.CommSubsystem; import satellite.SatellitePackage; @@ -19,6 +24,7 @@ import satellite.SatellitePackage; *

*
    *
  • {@link satellite.impl.CommSubsystemImpl#getTarget Target}
  • + *
  • {@link satellite.impl.CommSubsystemImpl#getSource Source}
  • *
* * @generated @@ -34,6 +40,16 @@ public abstract class CommSubsystemImpl extends MinimalEObjectImpl.Container imp */ protected CommSubsystem target; + /** + * The cached value of the '{@link #getSource() Source}' reference list. + * + * + * @see #getSource() + * @generated + * @ordered + */ + protected EList source; + /** * * @@ -86,13 +102,91 @@ public abstract class CommSubsystemImpl extends MinimalEObjectImpl.Container imp * * @generated */ - @Override - public void setTarget(CommSubsystem newTarget) { + public NotificationChain basicSetTarget(CommSubsystem newTarget, NotificationChain msgs) { CommSubsystem oldTarget = target; target = newTarget; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SatellitePackage.COMM_SUBSYSTEM__TARGET, oldTarget, - target)); + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, + SatellitePackage.COMM_SUBSYSTEM__TARGET, oldTarget, newTarget); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setTarget(CommSubsystem newTarget) { + if (newTarget != target) { + NotificationChain msgs = null; + if (target != null) + msgs = ((InternalEObject) target).eInverseRemove(this, SatellitePackage.COMM_SUBSYSTEM__SOURCE, + CommSubsystem.class, msgs); + if (newTarget != null) + msgs = ((InternalEObject) newTarget).eInverseAdd(this, SatellitePackage.COMM_SUBSYSTEM__SOURCE, + CommSubsystem.class, msgs); + msgs = basicSetTarget(newTarget, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SatellitePackage.COMM_SUBSYSTEM__TARGET, newTarget, + newTarget)); + } + + /** + * + * + * @generated + */ + @Override + public EList getSource() { + if (source == null) { + source = new EObjectWithInverseResolvingEList(CommSubsystem.class, this, + SatellitePackage.COMM_SUBSYSTEM__SOURCE, SatellitePackage.COMM_SUBSYSTEM__TARGET); + } + return source; + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SatellitePackage.COMM_SUBSYSTEM__TARGET: + if (target != null) + msgs = ((InternalEObject) target).eInverseRemove(this, SatellitePackage.COMM_SUBSYSTEM__SOURCE, + CommSubsystem.class, msgs); + return basicSetTarget((CommSubsystem) otherEnd, msgs); + case SatellitePackage.COMM_SUBSYSTEM__SOURCE: + return ((InternalEList) (InternalEList) getSource()).basicAdd(otherEnd, msgs); + } + return super.eInverseAdd(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SatellitePackage.COMM_SUBSYSTEM__TARGET: + return basicSetTarget(null, msgs); + case SatellitePackage.COMM_SUBSYSTEM__SOURCE: + return ((InternalEList) getSource()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); } /** @@ -107,6 +201,8 @@ public abstract class CommSubsystemImpl extends MinimalEObjectImpl.Container imp if (resolve) return getTarget(); return basicGetTarget(); + case SatellitePackage.COMM_SUBSYSTEM__SOURCE: + return getSource(); } return super.eGet(featureID, resolve, coreType); } @@ -116,12 +212,17 @@ public abstract class CommSubsystemImpl extends MinimalEObjectImpl.Container imp * * @generated */ + @SuppressWarnings("unchecked") @Override public void eSet(int featureID, Object newValue) { switch (featureID) { case SatellitePackage.COMM_SUBSYSTEM__TARGET: setTarget((CommSubsystem) newValue); return; + case SatellitePackage.COMM_SUBSYSTEM__SOURCE: + getSource().clear(); + getSource().addAll((Collection) newValue); + return; } super.eSet(featureID, newValue); } @@ -137,6 +238,9 @@ public abstract class CommSubsystemImpl extends MinimalEObjectImpl.Container imp case SatellitePackage.COMM_SUBSYSTEM__TARGET: setTarget((CommSubsystem) null); return; + case SatellitePackage.COMM_SUBSYSTEM__SOURCE: + getSource().clear(); + return; } super.eUnset(featureID); } @@ -151,6 +255,8 @@ public abstract class CommSubsystemImpl extends MinimalEObjectImpl.Container imp switch (featureID) { case SatellitePackage.COMM_SUBSYSTEM__TARGET: return target != null; + case SatellitePackage.COMM_SUBSYSTEM__SOURCE: + return source != null && !source.isEmpty(); } return super.eIsSet(featureID); } 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 e3e20e0c..17212a96 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 @@ -322,6 +322,16 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka return (EReference) commSubsystemEClass.getEStructuralFeatures().get(0); } + /** + * + * + * @generated + */ + @Override + public EReference getCommSubsystem_Source() { + return (EReference) commSubsystemEClass.getEStructuralFeatures().get(1); + } + /** * * @@ -459,6 +469,7 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka commSubsystemEClass = createEClass(COMM_SUBSYSTEM); createEReference(commSubsystemEClass, COMM_SUBSYSTEM__TARGET); + createEReference(commSubsystemEClass, COMM_SUBSYSTEM__SOURCE); payloadEClass = createEClass(PAYLOAD); @@ -553,9 +564,12 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka initEClass(commSubsystemEClass, CommSubsystem.class, "CommSubsystem", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEReference(getCommSubsystem_Target(), this.getCommSubsystem(), null, "target", null, 0, 1, - CommSubsystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, - !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getCommSubsystem_Target(), this.getCommSubsystem(), this.getCommSubsystem_Source(), "target", + null, 0, 1, CommSubsystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, + IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getCommSubsystem_Source(), this.getCommSubsystem(), this.getCommSubsystem_Target(), "source", + null, 0, -1, CommSubsystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, + IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(payloadEClass, Payload.class, "Payload", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 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 deleted file mode 100644 index b5578ae8..00000000 --- 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 +++ /dev/null @@ -1,145 +0,0 @@ -NFE, Elapsed Time, Approximation Set, Population, Population Size -25, 1.891789696, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -50, 2.586708782, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -75, 3.2109932480000003, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -100, 3.755158208, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -125, 4.238918802000001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -150, 4.7050757370000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -175, 5.2712747900000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -200, 5.808632395, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -225, 6.281898818, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -250, 6.614350584, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -275, 7.083502681000001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -300, 7.426119055, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -325, 7.941173648, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -350, 8.319613926, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -375, 8.730843491, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -400, 9.013722178, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -425, 9.443927308000001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -450, 9.750104678000001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -475, 10.129727031, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -500, 10.448347054000001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -525, 10.735080266, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -550, 11.190916156, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -575, 11.633786536, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -600, 12.021543378, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -625, 12.544638568000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -650, 12.845640665000001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -675, 13.122804784000001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -700, 13.396689107, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -725, 13.837233090000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -750, 14.115298167, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -775, 14.388343172, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -800, 14.826446569000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -825, 15.109539416, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -850, 15.388781908, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -875, 15.811032095000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -900, 16.224146467, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -925, 16.609006308, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -950, 16.911202402, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -975, 17.351199716, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1000, 17.726844683, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1025, 18.004694833000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1050, 18.275873235000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1075, 18.723853517000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1100, 19.006602448000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1125, 19.27602452, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1150, 19.546914792000003, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1175, 20.063555527000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1200, 20.4503214, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1225, 20.812025281, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1250, 21.372619142, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1275, 22.044064458, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1300, 22.541792224, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1325, 22.979074876000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1350, 23.722393477, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1375, 24.210281178000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1400, 24.597108146, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1425, 24.962990538000003, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1450, 25.449476537000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1475, 25.735480272, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1500, 26.017771945000003, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1525, 26.503268108, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1550, 26.875246388, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1575, 27.277011053000003, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1600, 27.920554676000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1625, 28.350389968, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1650, 28.746870958000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1675, 29.399911038000003, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1700, 29.705655292000003, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1725, 30.222917600000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1750, 30.582687885000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1775, 30.930680467000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1800, 31.401464999, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1825, 31.71501731, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1850, 32.118626995, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1875, 32.522417332, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1900, 32.888226244, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1925, 33.340297764, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1950, 33.78173228, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -1975, 34.213199421, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2000, 34.6389604, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2025, 35.068572284000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2050, 35.598090496000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2075, 36.029981973000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2100, 36.410860302, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2125, 36.845392142, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2150, 37.220125764, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2175, 37.633310576, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2200, 38.105014037000004, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2225, 38.495631925000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2250, 38.868065483, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2275, 39.31772083, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2300, 39.724176017000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2325, 40.16674348, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2350, 40.650008441000004, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2375, 41.092378918, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2400, 41.535670983, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2425, 42.001399116, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2450, 42.484935328000006, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2475, 42.911409647, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2500, 43.336942158, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2525, 43.787051396, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2550, 44.277504574000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2575, 44.76816336, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2600, 45.276457352, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2625, 45.735699625, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2650, 46.168899874000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2675, 46.593364297, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2700, 47.056027297, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2725, 47.452480539, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2750, 47.84848743800001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2775, 48.296304749, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2800, 48.772881607, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2825, 49.140301813, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2850, 49.601806971, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2875, 50.036785167000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2900, 50.519073857, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2925, 50.952136413000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2950, 51.422963162, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -2975, 51.880428426, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -3000, 52.325376492000004, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -3025, 52.757666111000006, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -3050, 53.199401996000006, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -3075, 53.643965946, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -3100, 54.042385829000004, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -3125, 54.470351427000004, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -3150, 54.911578006000006, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -3175, 55.434332657000006, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -3200, 55.876270659000006, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -3225, 56.29157381700001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -3250, 56.678343517, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -3275, 57.110165294000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -3300, 61.833746227000006, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -3325, 62.143060813000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -3350, 62.487517775, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -3375, 62.855227351, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -3400, 63.290566593, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -3425, 63.715538516, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -3450, 68.23575590200001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -3475, 72.71105517400001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -3500, 77.068135532, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -3525, 81.616801517, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -3550, 90.065785465, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -3575, 103.88993463300001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 -3600, 148.72096381100002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 \ No newline at end of file diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-outcome.txt b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-outcome.txt deleted file mode 100644 index 350a6a69..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-outcome.txt +++ /dev/null @@ -1,20 +0,0 @@ - -============================================ - -Batch 0 duration: 00:02:29.245 - --------------------------------------------- -Evaluation data for solution: ./mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0796A23B6.xmi - -Objective values: -Cost: 1158414.6563694086 - -Constraint values: -PatternMatch: 13.0 - -Transformations chain: -Length: 2 -Sequence: {1=addCubeSat3U, 2=addCubeSat3U, 3=addCubeSat3U} -> {1=addCubeSat3U, 2=addCubeSat3U, 3=addCubeSat3U} - -============================================ - diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-serialized-objectives.pf b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-serialized-objectives.pf deleted file mode 100644 index a4823e89..00000000 --- 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 +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index a58dd30e..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/mutation-operators/satellite.ecore +++ /dev/null @@ -1,68 +0,0 @@ - - - -
- - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 deleted file mode 100644 index 958b22d0..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0796A23B6.xmi +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - 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 deleted file mode 100644 index 8c754932..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/experiment-data.csv +++ /dev/null @@ -1,2 +0,0 @@ -batch-id,duration,o-Cost,c-PatternMatch,solutions-found,solution-model -0,00:02:29.245,1158414.6563694086,13.0,1,./mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0796A23B6.xmi diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/satellite.mopt b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/satellite.mopt deleted file mode 100644 index 138ea309..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/satellite.mopt +++ /dev/null @@ -1,35 +0,0 @@ -problem { - basepath - metamodel - model <../inputs/SatelliteInstance.xmi> -} - -goal { - objective Cost minimise java { "hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo.CostObjective" } - constraint PatternMatch java { "hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo.PatternMatchConstraint" } -} - -search { - mutate using unit "addCubeSat3U" -// mutate { "CubeSat3U" } -// mutate { "CubeSat6U" } -// mutate { "SmallSat" } -// mutate { "InterferometryPayload" } -// mutate { "CommSubsystem" } -// mutate { "DirectedCommunicationLink" } -} - -solver { - optimisation provider moea algorithm NSGAII { - variation: mutation - population: 25 - mutation.step: 3 - mutation.strategy: random - } - - termination { - time: 120 - } - - batches 1 -} \ No newline at end of file diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshinoverall-results.txt b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshinoverall-results.txt deleted file mode 100644 index 669f03b0..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshinoverall-results.txt +++ /dev/null @@ -1,27 +0,0 @@ -Average experiment time: 00:02:29.245 - -Average value for Cost objective: 1158414.6563694086 -============================================ - -============================================ - -Batch 0 duration: 00:02:29.245 - --------------------------------------------- -Evaluation data for solution: ./mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0796A23B6.xmi - -Objective values: -Cost: 1158414.6563694086 - -Constraint values: -PatternMatch: 13.0 - -Transformations chain: -Length: 2 -Sequence: {1=addCubeSat3U, 2=addCubeSat3U, 3=addCubeSat3U} -> {1=addCubeSat3U, 2=addCubeSat3U, 3=addCubeSat3U} - -============================================ - -Serialized objectives saved to: /home/kris/bme/research/VIATRA-Generator/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/./mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-serialized-objectives.pf -============================================ - diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.ecore b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.ecore index 74f09388..1685c756 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 @@ -21,7 +21,10 @@ containment="true"/> - + + 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 e315e0ec..09b5f64c 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 @@ -27,6 +27,7 @@ + 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 deleted file mode 100644 index ab54ab85..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generation.logicproblem +++ /dev/null @@ -1,1449 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run1/generated3valued.vql_deactivated b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run1/generated3valued.vql_deactivated deleted file mode 100644 index c96a951c..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run1/generated3valued.vql_deactivated +++ /dev/null @@ -1,3000 +0,0 @@ -import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" -import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem" -import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" - -////////// -// 0. Util -////////// -private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) { - PartialInterpretation.problem(interpretation,problem); -} - -///////////////////////// -// 0.1 Existence -///////////////////////// -private pattern mustExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - find interpretation(problem,interpretation); - LogicProblem.elements(problem,element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); -} - -private pattern mayExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - find mustExist(problem,interpretation,element); -} or { - find interpretation(problem,interpretation); - neg find elementCloseWorld(element); - PartialInterpretation.openWorldElements(interpretation,element); -} - -private pattern elementCloseWorld(element:DefinedElement) { - PartialInterpretation.openWorldElements(i,element); - PartialInterpretation.maxNewElements(i,0); -} or { - Scope.targetTypeInterpretation(scope,interpretation); - PartialTypeInterpratation.elements(interpretation,element); - Scope.maxNewElements(scope,0); -} - -//////////////////////// -// 0.2 Equivalence -//////////////////////// -pattern mayEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) { - find mayExist(problem,interpretation,a); - find mayExist(problem,interpretation,b); - a == b; -} -pattern mustEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) { - find mustExist(problem,interpretation,a); - find mustExist(problem,interpretation,b); - a == b; -} - -//////////////////////// -// 0.3 Required Patterns by TypeIndexer -//////////////////////// -private pattern typeInterpretation(problem:LogicProblem, interpretation:PartialInterpretation, type:TypeDeclaration, typeInterpretation:PartialComplexTypeInterpretation) { - find interpretation(problem,interpretation); - LogicProblem.types(problem,type); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); -} - -private pattern directInstanceOf(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, type:Type) { - find interpretation(problem,interpretation); - LogicProblem.types(problem,type); - TypeDefinition.elements(type,element); -} or { - find interpretation(problem,interpretation); - find typeInterpretation(problem,interpretation,type,typeInterpretation); - PartialComplexTypeInterpretation.elements(typeInterpretation,element); -} - -private pattern isPrimitive(element: PrimitiveElement) { - PrimitiveElement(element); -} - -////////// -// 1. Problem-Specific Base Indexers -////////// -// 1.1 Type Indexers -////////// -// 1.1.1 primitive Type Indexers -////////// - -////////// -// 1.1.2 domain-specific Type Indexers -////////// -/** - * An element must be an instance of type "ConstellationMission class". - */ -private pattern mustInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"ConstellationMission class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"ConstellationMission class"); -} - -/** - * An element may be an instance of type "ConstellationMission class". - */ -private pattern mayInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewConstellationMission_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewConstellationMission_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfConstellationMission_class(problem,interpretation,element); } -/** - * An element must be an instance of type "InterferometryMission class". - */ -private pattern mustInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"InterferometryMission class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"InterferometryMission class"); -} - -/** - * An element may be an instance of type "InterferometryMission class". - */ -private pattern mayInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfInterferometryMission_class(problem,interpretation,element); } -/** - * An element must be an instance of type "CommunicatingElement class". - */ -private pattern mustInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CommunicatingElement class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CommunicatingElement class"); -} - -/** - * An element may be an instance of type "CommunicatingElement class". - */ -private pattern mayInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); - neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); - neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); } -/** - * An element must be an instance of type "GroundStationNetwork class". - */ -private pattern mustInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"GroundStationNetwork class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"GroundStationNetwork class"); -} - -/** - * An element may be an instance of type "GroundStationNetwork class". - */ -private pattern mayInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); - neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); - neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); } -/** - * An element must be an instance of type "Spacecraft class". - */ -private pattern mustInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"Spacecraft class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"Spacecraft class"); -} - -/** - * An element may be an instance of type "Spacecraft class". - */ -private pattern mayInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewSpacecraft_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewSpacecraft_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfSpacecraft_class(problem,interpretation,element); } -/** - * An element must be an instance of type "CommSubsystem class". - */ -private pattern mustInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CommSubsystem class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CommSubsystem class"); -} - -/** - * An element may be an instance of type "CommSubsystem class". - */ -private pattern mayInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCommSubsystem_class(problem,interpretation,element); } -/** - * An element must be an instance of type "Payload class". - */ -private pattern mustInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"Payload class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"Payload class"); -} - -/** - * An element may be an instance of type "Payload class". - */ -private pattern mayInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewPayload_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewPayload_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfPayload_class(problem,interpretation,element); } -/** - * An element must be an instance of type "InterferometryPayload class". - */ -private pattern mustInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"InterferometryPayload class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"InterferometryPayload class"); -} - -/** - * An element may be an instance of type "InterferometryPayload class". - */ -private pattern mayInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); } -/** - * An element must be an instance of type "CubeSat3U class". - */ -private pattern mustInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CubeSat3U class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CubeSat3U class"); -} - -/** - * An element may be an instance of type "CubeSat3U class". - */ -private pattern mayInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCubeSat3U_class(problem,interpretation,element); } -/** - * An element must be an instance of type "CubeSat6U class". - */ -private pattern mustInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CubeSat6U class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CubeSat6U class"); -} - -/** - * An element may be an instance of type "CubeSat6U class". - */ -private pattern mayInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCubeSat6U_class(problem,interpretation,element); } -/** - * An element must be an instance of type "SmallSat class". - */ -private pattern mustInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"SmallSat class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"SmallSat class"); -} - -/** - * An element may be an instance of type "SmallSat class". - */ -private pattern mayInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewSmallSat_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewSmallSat_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfSmallSat_class(problem,interpretation,element); } -/** - * An element must be an instance of type "CubeSat class". - */ -private pattern mustInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CubeSat class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CubeSat class"); -} - -/** - * An element may be an instance of type "CubeSat class". - */ -private pattern mayInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCubeSat_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCubeSat_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCubeSat_class(problem,interpretation,element); } -/** - * An element must be an instance of type "UHFCommSubsystem class". - */ -private pattern mustInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"UHFCommSubsystem class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"UHFCommSubsystem class"); -} - -/** - * An element may be an instance of type "UHFCommSubsystem class". - */ -private pattern mayInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); } -/** - * An element must be an instance of type "XCommSubsystem class". - */ -private pattern mustInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"XCommSubsystem class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"XCommSubsystem class"); -} - -/** - * An element may be an instance of type "XCommSubsystem class". - */ -private pattern mayInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); } -/** - * An element must be an instance of type "KaCommSubsystem class". - */ -private pattern mustInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"KaCommSubsystem class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"KaCommSubsystem class"); -} - -/** - * An element may be an instance of type "KaCommSubsystem class". - */ -private pattern mayInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); } -/** - * An element must be an instance of type "ConstellationMission class DefinedPart". - */ -private pattern mustInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"ConstellationMission class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"ConstellationMission class DefinedPart"); -} - -/** - * An element may be an instance of type "ConstellationMission class DefinedPart". - */ -private pattern mayInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "ConstellationMission class UndefinedPart". - */ -private pattern mustInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"ConstellationMission class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"ConstellationMission class UndefinedPart"); -} - -/** - * An element may be an instance of type "ConstellationMission class UndefinedPart". - */ -private pattern mayInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "InterferometryMission class DefinedPart". - */ -private pattern mustInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"InterferometryMission class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"InterferometryMission class DefinedPart"); -} - -/** - * An element may be an instance of type "InterferometryMission class DefinedPart". - */ -private pattern mayInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "InterferometryMission class UndefinedPart". - */ -private pattern mustInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"InterferometryMission class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"InterferometryMission class UndefinedPart"); -} - -/** - * An element may be an instance of type "InterferometryMission class UndefinedPart". - */ -private pattern mayInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "CommunicatingElement class DefinedPart". - */ -private pattern mustInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CommunicatingElement class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CommunicatingElement class DefinedPart"); -} - -/** - * An element may be an instance of type "CommunicatingElement class DefinedPart". - */ -private pattern mayInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "CommunicatingElement class UndefinedPart". - */ -private pattern mustInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CommunicatingElement class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CommunicatingElement class UndefinedPart"); -} - -/** - * An element may be an instance of type "CommunicatingElement class UndefinedPart". - */ -private pattern mayInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "GroundStationNetwork class DefinedPart". - */ -private pattern mustInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"GroundStationNetwork class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"GroundStationNetwork class DefinedPart"); -} - -/** - * An element may be an instance of type "GroundStationNetwork class DefinedPart". - */ -private pattern mayInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "GroundStationNetwork class UndefinedPart". - */ -private pattern mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"GroundStationNetwork class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"GroundStationNetwork class UndefinedPart"); -} - -/** - * An element may be an instance of type "GroundStationNetwork class UndefinedPart". - */ -private pattern mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "CommSubsystem class DefinedPart". - */ -private pattern mustInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CommSubsystem class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CommSubsystem class DefinedPart"); -} - -/** - * An element may be an instance of type "CommSubsystem class DefinedPart". - */ -private pattern mayInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "CommSubsystem class UndefinedPart". - */ -private pattern mustInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CommSubsystem class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CommSubsystem class UndefinedPart"); -} - -/** - * An element may be an instance of type "CommSubsystem class UndefinedPart". - */ -private pattern mayInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "XCommSubsystem class DefinedPart". - */ -private pattern mustInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"XCommSubsystem class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"XCommSubsystem class DefinedPart"); -} - -/** - * An element may be an instance of type "XCommSubsystem class DefinedPart". - */ -private pattern mayInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "XCommSubsystem class UndefinedPart". - */ -private pattern mustInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"XCommSubsystem class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"XCommSubsystem class UndefinedPart"); -} - -/** - * An element may be an instance of type "XCommSubsystem class UndefinedPart". - */ -private pattern mayInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "KaCommSubsystem class DefinedPart". - */ -private pattern mustInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"KaCommSubsystem class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"KaCommSubsystem class DefinedPart"); -} - -/** - * An element may be an instance of type "KaCommSubsystem class DefinedPart". - */ -private pattern mayInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "KaCommSubsystem class UndefinedPart". - */ -private pattern mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"KaCommSubsystem class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"KaCommSubsystem class UndefinedPart"); -} - -/** - * An element may be an instance of type "KaCommSubsystem class UndefinedPart". - */ -private pattern mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); } - -////////// -// 1.2 Relation Declaration Indexers -////////// -/** - * Matcher for detecting tuples t where []groundStationNetwork reference ConstellationMission(source,target) - */ -private pattern mustInRelationgroundStationNetwork_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission"); - PartialRelationInterpretation.relationlinks(relationIterpretation,link); - BinaryElementRelationLink.param1(link,source); - BinaryElementRelationLink.param2(link,target); -} -/** - * Matcher for detecting tuples t where <>groundStationNetwork reference ConstellationMission(source,target) - */ -private pattern mayInRelationgroundStationNetwork_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - // The two endpoint of the link have to exist - find mayExist(problem, interpretation, source); - find mayExist(problem, interpretation, target); - // Type consistency - find mayInstanceOfConstellationMission_class(problem,interpretation,source); - find mayInstanceOfGroundStationNetwork_class(problem,interpretation,target); - // There are "numberOfExistingReferences" currently existing instances of the reference from the source, - // the upper bound of the multiplicity should be considered. - numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,_); - check(numberOfExistingReferences < 1); - // The reference is containment, then a new reference cannot be create if: - // 1. Multiple parents - neg find mustContains4(problem,interpretation,_,target); - // 2. Circle in the containment hierarchy - neg find mustTransitiveContains(source,target); -} or { - find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target); -} -/** - * Matcher for detecting tuples t where []spacecraft reference ConstellationMission(source,target) - */ -private pattern mustInRelationspacecraft_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission"); - PartialRelationInterpretation.relationlinks(relationIterpretation,link); - BinaryElementRelationLink.param1(link,source); - BinaryElementRelationLink.param2(link,target); -} -/** - * Matcher for detecting tuples t where <>spacecraft reference ConstellationMission(source,target) - */ -private pattern mayInRelationspacecraft_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - // The two endpoint of the link have to exist - find mayExist(problem, interpretation, source); - find mayExist(problem, interpretation, target); - // Type consistency - find mayInstanceOfConstellationMission_class(problem,interpretation,source); - find mayInstanceOfSpacecraft_class(problem,interpretation,target); - // There are "numberOfExistingReferences" currently existing instances of the reference from the source, - // the upper bound of the multiplicity should be considered. - numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,_); - check(numberOfExistingReferences < 50); - // The reference is containment, then a new reference cannot be create if: - // 1. Multiple parents - neg find mustContains4(problem,interpretation,_,target); - // 2. Circle in the containment hierarchy - neg find mustTransitiveContains(source,target); -} or { - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target); -} -/** - * Matcher for detecting tuples t where []commSubsystem reference CommunicatingElement(source,target) - */ -private pattern mustInRelationcommSubsystem_reference_CommunicatingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement"); - PartialRelationInterpretation.relationlinks(relationIterpretation,link); - BinaryElementRelationLink.param1(link,source); - BinaryElementRelationLink.param2(link,target); -} -/** - * Matcher for detecting tuples t where <>commSubsystem reference CommunicatingElement(source,target) - */ -private pattern mayInRelationcommSubsystem_reference_CommunicatingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - // The two endpoint of the link have to exist - find mayExist(problem, interpretation, source); - find mayExist(problem, interpretation, target); - // Type consistency - find mayInstanceOfCommunicatingElement_class(problem,interpretation,source); - find mayInstanceOfCommSubsystem_class(problem,interpretation,target); - // There are "numberOfExistingReferences" currently existing instances of the reference from the source, - // the upper bound of the multiplicity should be considered. - numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,_); - check(numberOfExistingReferences < 2); - // The reference is containment, then a new reference cannot be create if: - // 1. Multiple parents - neg find mustContains4(problem,interpretation,_,target); - // 2. Circle in the containment hierarchy - neg find mustTransitiveContains(source,target); -} or { - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); -} -/** - * Matcher for detecting tuples t where []payload reference Spacecraft(source,target) - */ -private pattern mustInRelationpayload_reference_Spacecraft( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"payload reference Spacecraft"); - PartialRelationInterpretation.relationlinks(relationIterpretation,link); - BinaryElementRelationLink.param1(link,source); - BinaryElementRelationLink.param2(link,target); -} -/** - * Matcher for detecting tuples t where <>payload reference Spacecraft(source,target) - */ -private pattern mayInRelationpayload_reference_Spacecraft( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - // The two endpoint of the link have to exist - find mayExist(problem, interpretation, source); - find mayExist(problem, interpretation, target); - // Type consistency - find mayInstanceOfSpacecraft_class(problem,interpretation,source); - find mayInstanceOfPayload_class(problem,interpretation,target); - // There are "numberOfExistingReferences" currently existing instances of the reference from the source, - // the upper bound of the multiplicity should be considered. - numberOfExistingReferences == count find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,_); - check(numberOfExistingReferences < 1); - // The reference is containment, then a new reference cannot be create if: - // 1. Multiple parents - neg find mustContains4(problem,interpretation,_,target); - // 2. Circle in the containment hierarchy - neg find mustTransitiveContains(source,target); -} or { - find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); -} -/** - * Matcher for detecting tuples t where []target reference CommSubsystem(source,target) - */ -private pattern mustInRelationtarget_reference_CommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem"); - PartialRelationInterpretation.relationlinks(relationIterpretation,link); - BinaryElementRelationLink.param1(link,source); - BinaryElementRelationLink.param2(link,target); -} -/** - * Matcher for detecting tuples t where <>target reference CommSubsystem(source,target) - */ -private pattern mayInRelationtarget_reference_CommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - // The two endpoint of the link have to exist - find mayExist(problem, interpretation, source); - find mayExist(problem, interpretation, target); - // Type consistency - find mayInstanceOfCommSubsystem_class(problem,interpretation,source); - find mayInstanceOfCommSubsystem_class(problem,interpretation,target); - // There are "numberOfExistingReferences" currently existing instances of the reference from the source, - // the upper bound of the multiplicity should be considered. - numberOfExistingReferences == count find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,_); - check(numberOfExistingReferences < 1); -} or { - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,target); -} - -////////// -// 1.3 Relation Definition Indexers -////////// -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - // Element is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1); - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2); - neg find mayEquivalent(problem, interpretation, var_Comm1, var_Comm2); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - // Element is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1); - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2); - neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - // Element is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1); - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2); - neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries transmittingCommSubsystem -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element, var_Comm) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // Element is exported - // Comm is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_Comm); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, _var__0); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element, var_Comm) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // Element is exported - // Comm is exported - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_Comm); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, _var__0); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element, var_Comm) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // Element is exported - // Comm is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_Comm); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, _var__0); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - // Mission is exported - find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find interpretation(problem,interpretation); - find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - // Mission is exported - find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - // Mission is exported - find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - // Mission is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1); - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2); - neg find mayEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find interpretation(problem,interpretation); - find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - // Mission is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1); - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2); - neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - // Mission is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1); - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2); - neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission, var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Mission is exported - // Spacecraft is exported - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1); - find mustInstanceOfPayload_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_Payload); - find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission, var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Mission is exported - // Spacecraft is exported - find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_Spacecraft); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - find mayInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1); - find mayInstanceOfPayload_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_Payload); - find mayInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission, var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Mission is exported - // Spacecraft is exported - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1); - find mustInstanceOfPayload_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_Payload); - find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation); - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation); - find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation); - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation); - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation); - find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation); - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From); -}or{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From); -}or{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From); - find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_To); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To); -} -private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) { - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To); -} -private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) { - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To); -} -private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) { - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys); - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_From); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_FromSys); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_ToSys); - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys); - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingCommSubsystem -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From); - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To); -}or{ - find interpretation(problem,interpretation); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_From); - find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_To); -}or{ - find interpretation(problem,interpretation); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_From); - find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_To); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); - // Sat is exported - find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat6U -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); - // Sat is exported - find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - // Element is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - // Element is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - // Element is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Source, var_Target) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - // Source is exported - // Target is exported - find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Source, var_Target) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - // Source is exported - // Target is exported - find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Source, var_Target) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - // Source is exported - // Target is exported - find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Source, var_Target) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - // Source is exported - // Target is exported - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Source, var_Target) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - // Source is exported - // Target is exported - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mayEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Source, var_Target) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - // Source is exported - // Target is exported - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem); -} -private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) { - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target); -} -private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) { - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target); -} -private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) { - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand( - problem:LogicProblem, interpretation:PartialInterpretation, - var_SourceSubsystem) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - // SourceSubsystem is exported - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand( - problem:LogicProblem, interpretation:PartialInterpretation, - var_SourceSubsystem) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - // SourceSubsystem is exported - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand( - problem:LogicProblem, interpretation:PartialInterpretation, - var_SourceSubsystem) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - // SourceSubsystem is exported - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); - // Sat is exported - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_SourceComm); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm); - find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_TargetComm); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mayEquivalent(problem, interpretation, var_virtual2, var_TargetComm); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find interpretation(problem,interpretation); - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); - // Comm is exported - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find interpretation(problem,interpretation); - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); - // Comm is exported - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find interpretation(problem,interpretation); - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); - // Comm is exported - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Network) -{ - find interpretation(problem,interpretation); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network); - // Network is exported - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Network) -{ - find interpretation(problem,interpretation); - find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network); - // Network is exported - find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Network) -{ - find interpretation(problem,interpretation); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network); - // Network is exported - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_Comm); - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_Comm); - find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_Comm); - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries smallSat -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat); - // Sat is exported - find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat); -} - -////////// -// 1.4 Containment Indexer -////////// -private pattern mustContains2(source: DefinedElement, target: DefinedElement) { - find mustContains4(_,_,source,target); -} - -private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target: DefinedElement) - { find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target); }or - - { find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target); }or - - { find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); }or - - { find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); } - -private pattern mustTransitiveContains(source,target) { - find mustContains2+(source,target); -} - -////////// -// 2. Invalidation Indexers -////////// -// 2.1 Invalidated by WF Queries -////////// -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation, - var_SourceSubsystem) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft); -} - -////////// -// 3. Unfinishedness Indexers -////////// -// 3.1 Unfinishedness Measured by Multiplicity -////////// -pattern unfinishedLowerMultiplicity_groundStationNetwork_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) { - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,object); - numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,object,_); - check(numberOfExistingReferences < 1); - missingMultiplicity == eval(1-numberOfExistingReferences); -} -pattern unfinishedLowerMultiplicity_spacecraft_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) { - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,object); - numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,object,_); - check(numberOfExistingReferences < 2); - missingMultiplicity == eval(2-numberOfExistingReferences); -} -pattern unfinishedLowerMultiplicity_commSubsystem_reference_CommunicatingElement(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) { - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement"); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,object); - numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,object,_); - check(numberOfExistingReferences < 1); - missingMultiplicity == eval(1-numberOfExistingReferences); -} - -////////// -// 3.2 Unfinishedness Measured by WF Queries -////////// -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation, - var_SourceSubsystem) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft); -} - -////////// -// 4. Refinement Indexers -////////// -// 4.1 Object constructors -////////// -private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfConstellationMission_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryPayload_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfPayload_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat6U_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfXCommSubsystem_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat3U_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSmallSat_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -} -pattern createObject_InterferometryPayload_class_by_payload_reference_Spacecraft( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"payload reference Spacecraft"); - find mustInstanceOfSpacecraft_class(problem,interpretation,container); - find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject); - find mayInRelationpayload_reference_Spacecraft(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_InterferometryPayload_class( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class"); - find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,container); - find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_CubeSat6U_class( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class"); - find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,container); - find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject); - find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_GroundStationNetwork_class_UndefinedPart( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart"); - find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_UHFCommSubsystem_class_by_commSubsystem_reference_CommunicatingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement"); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,container); - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_UHFCommSubsystem_class( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class"); - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,container); - find mayInstanceOfSmallSat_class(problem,interpretation,newObject); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_SmallSat_class( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class"); - find mayInstanceOfSmallSat_class(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_KaCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement"); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,container); - find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_KaCommSubsystem_class_UndefinedPart( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart"); - find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_CubeSat3U_class_by_spacecraft_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,container); - find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_CubeSat3U_class( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class"); - find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_XCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement"); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,container); - find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_XCommSubsystem_class_UndefinedPart( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart"); - find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_InterferometryMission_class_UndefinedPart( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart"); - find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} - -////////// -// 4.2 Type refinement -////////// -pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfInterferometryPayload_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); -} -pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); -} -pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); -} -pattern refineTypeTo_UHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); -} -pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); -} -pattern refineTypeTo_KaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); -} -pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); -} -pattern refineTypeTo_XCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); -} -pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); -} - -////////// -// 4.3 Relation refinement -////////// -pattern refineRelation_target_reference_CommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - relationIterpretation:PartialRelationInterpretation, - from: DefinedElement, to: DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem"); - find mustExist(problem, interpretation, from); - find mustExist(problem, interpretation, to); - find mustInstanceOfCommSubsystem_class(problem,interpretation,from); - find mustInstanceOfCommSubsystem_class(problem,interpretation,to); - find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to); - neg find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to); -} - diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run1/init.partialmodel b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run1/init.partialmodel deleted file mode 100644 index 9f14379f..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run1/init.partialmodel +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run2/generated3valued.vql_deactivated b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run2/generated3valued.vql_deactivated deleted file mode 100644 index c96a951c..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run2/generated3valued.vql_deactivated +++ /dev/null @@ -1,3000 +0,0 @@ -import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" -import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem" -import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" - -////////// -// 0. Util -////////// -private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) { - PartialInterpretation.problem(interpretation,problem); -} - -///////////////////////// -// 0.1 Existence -///////////////////////// -private pattern mustExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - find interpretation(problem,interpretation); - LogicProblem.elements(problem,element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); -} - -private pattern mayExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - find mustExist(problem,interpretation,element); -} or { - find interpretation(problem,interpretation); - neg find elementCloseWorld(element); - PartialInterpretation.openWorldElements(interpretation,element); -} - -private pattern elementCloseWorld(element:DefinedElement) { - PartialInterpretation.openWorldElements(i,element); - PartialInterpretation.maxNewElements(i,0); -} or { - Scope.targetTypeInterpretation(scope,interpretation); - PartialTypeInterpratation.elements(interpretation,element); - Scope.maxNewElements(scope,0); -} - -//////////////////////// -// 0.2 Equivalence -//////////////////////// -pattern mayEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) { - find mayExist(problem,interpretation,a); - find mayExist(problem,interpretation,b); - a == b; -} -pattern mustEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) { - find mustExist(problem,interpretation,a); - find mustExist(problem,interpretation,b); - a == b; -} - -//////////////////////// -// 0.3 Required Patterns by TypeIndexer -//////////////////////// -private pattern typeInterpretation(problem:LogicProblem, interpretation:PartialInterpretation, type:TypeDeclaration, typeInterpretation:PartialComplexTypeInterpretation) { - find interpretation(problem,interpretation); - LogicProblem.types(problem,type); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); -} - -private pattern directInstanceOf(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, type:Type) { - find interpretation(problem,interpretation); - LogicProblem.types(problem,type); - TypeDefinition.elements(type,element); -} or { - find interpretation(problem,interpretation); - find typeInterpretation(problem,interpretation,type,typeInterpretation); - PartialComplexTypeInterpretation.elements(typeInterpretation,element); -} - -private pattern isPrimitive(element: PrimitiveElement) { - PrimitiveElement(element); -} - -////////// -// 1. Problem-Specific Base Indexers -////////// -// 1.1 Type Indexers -////////// -// 1.1.1 primitive Type Indexers -////////// - -////////// -// 1.1.2 domain-specific Type Indexers -////////// -/** - * An element must be an instance of type "ConstellationMission class". - */ -private pattern mustInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"ConstellationMission class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"ConstellationMission class"); -} - -/** - * An element may be an instance of type "ConstellationMission class". - */ -private pattern mayInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewConstellationMission_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewConstellationMission_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfConstellationMission_class(problem,interpretation,element); } -/** - * An element must be an instance of type "InterferometryMission class". - */ -private pattern mustInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"InterferometryMission class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"InterferometryMission class"); -} - -/** - * An element may be an instance of type "InterferometryMission class". - */ -private pattern mayInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfInterferometryMission_class(problem,interpretation,element); } -/** - * An element must be an instance of type "CommunicatingElement class". - */ -private pattern mustInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CommunicatingElement class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CommunicatingElement class"); -} - -/** - * An element may be an instance of type "CommunicatingElement class". - */ -private pattern mayInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); - neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); - neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); } -/** - * An element must be an instance of type "GroundStationNetwork class". - */ -private pattern mustInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"GroundStationNetwork class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"GroundStationNetwork class"); -} - -/** - * An element may be an instance of type "GroundStationNetwork class". - */ -private pattern mayInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); - neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); - neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); } -/** - * An element must be an instance of type "Spacecraft class". - */ -private pattern mustInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"Spacecraft class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"Spacecraft class"); -} - -/** - * An element may be an instance of type "Spacecraft class". - */ -private pattern mayInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewSpacecraft_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewSpacecraft_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfSpacecraft_class(problem,interpretation,element); } -/** - * An element must be an instance of type "CommSubsystem class". - */ -private pattern mustInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CommSubsystem class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CommSubsystem class"); -} - -/** - * An element may be an instance of type "CommSubsystem class". - */ -private pattern mayInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCommSubsystem_class(problem,interpretation,element); } -/** - * An element must be an instance of type "Payload class". - */ -private pattern mustInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"Payload class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"Payload class"); -} - -/** - * An element may be an instance of type "Payload class". - */ -private pattern mayInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewPayload_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewPayload_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfPayload_class(problem,interpretation,element); } -/** - * An element must be an instance of type "InterferometryPayload class". - */ -private pattern mustInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"InterferometryPayload class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"InterferometryPayload class"); -} - -/** - * An element may be an instance of type "InterferometryPayload class". - */ -private pattern mayInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); } -/** - * An element must be an instance of type "CubeSat3U class". - */ -private pattern mustInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CubeSat3U class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CubeSat3U class"); -} - -/** - * An element may be an instance of type "CubeSat3U class". - */ -private pattern mayInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCubeSat3U_class(problem,interpretation,element); } -/** - * An element must be an instance of type "CubeSat6U class". - */ -private pattern mustInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CubeSat6U class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CubeSat6U class"); -} - -/** - * An element may be an instance of type "CubeSat6U class". - */ -private pattern mayInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCubeSat6U_class(problem,interpretation,element); } -/** - * An element must be an instance of type "SmallSat class". - */ -private pattern mustInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"SmallSat class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"SmallSat class"); -} - -/** - * An element may be an instance of type "SmallSat class". - */ -private pattern mayInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewSmallSat_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewSmallSat_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfSmallSat_class(problem,interpretation,element); } -/** - * An element must be an instance of type "CubeSat class". - */ -private pattern mustInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CubeSat class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CubeSat class"); -} - -/** - * An element may be an instance of type "CubeSat class". - */ -private pattern mayInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCubeSat_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCubeSat_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCubeSat_class(problem,interpretation,element); } -/** - * An element must be an instance of type "UHFCommSubsystem class". - */ -private pattern mustInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"UHFCommSubsystem class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"UHFCommSubsystem class"); -} - -/** - * An element may be an instance of type "UHFCommSubsystem class". - */ -private pattern mayInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); } -/** - * An element must be an instance of type "XCommSubsystem class". - */ -private pattern mustInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"XCommSubsystem class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"XCommSubsystem class"); -} - -/** - * An element may be an instance of type "XCommSubsystem class". - */ -private pattern mayInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); } -/** - * An element must be an instance of type "KaCommSubsystem class". - */ -private pattern mustInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"KaCommSubsystem class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"KaCommSubsystem class"); -} - -/** - * An element may be an instance of type "KaCommSubsystem class". - */ -private pattern mayInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); } -/** - * An element must be an instance of type "ConstellationMission class DefinedPart". - */ -private pattern mustInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"ConstellationMission class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"ConstellationMission class DefinedPart"); -} - -/** - * An element may be an instance of type "ConstellationMission class DefinedPart". - */ -private pattern mayInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "ConstellationMission class UndefinedPart". - */ -private pattern mustInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"ConstellationMission class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"ConstellationMission class UndefinedPart"); -} - -/** - * An element may be an instance of type "ConstellationMission class UndefinedPart". - */ -private pattern mayInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "InterferometryMission class DefinedPart". - */ -private pattern mustInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"InterferometryMission class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"InterferometryMission class DefinedPart"); -} - -/** - * An element may be an instance of type "InterferometryMission class DefinedPart". - */ -private pattern mayInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "InterferometryMission class UndefinedPart". - */ -private pattern mustInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"InterferometryMission class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"InterferometryMission class UndefinedPart"); -} - -/** - * An element may be an instance of type "InterferometryMission class UndefinedPart". - */ -private pattern mayInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "CommunicatingElement class DefinedPart". - */ -private pattern mustInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CommunicatingElement class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CommunicatingElement class DefinedPart"); -} - -/** - * An element may be an instance of type "CommunicatingElement class DefinedPart". - */ -private pattern mayInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "CommunicatingElement class UndefinedPart". - */ -private pattern mustInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CommunicatingElement class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CommunicatingElement class UndefinedPart"); -} - -/** - * An element may be an instance of type "CommunicatingElement class UndefinedPart". - */ -private pattern mayInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "GroundStationNetwork class DefinedPart". - */ -private pattern mustInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"GroundStationNetwork class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"GroundStationNetwork class DefinedPart"); -} - -/** - * An element may be an instance of type "GroundStationNetwork class DefinedPart". - */ -private pattern mayInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "GroundStationNetwork class UndefinedPart". - */ -private pattern mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"GroundStationNetwork class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"GroundStationNetwork class UndefinedPart"); -} - -/** - * An element may be an instance of type "GroundStationNetwork class UndefinedPart". - */ -private pattern mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "CommSubsystem class DefinedPart". - */ -private pattern mustInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CommSubsystem class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CommSubsystem class DefinedPart"); -} - -/** - * An element may be an instance of type "CommSubsystem class DefinedPart". - */ -private pattern mayInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "CommSubsystem class UndefinedPart". - */ -private pattern mustInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CommSubsystem class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CommSubsystem class UndefinedPart"); -} - -/** - * An element may be an instance of type "CommSubsystem class UndefinedPart". - */ -private pattern mayInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "XCommSubsystem class DefinedPart". - */ -private pattern mustInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"XCommSubsystem class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"XCommSubsystem class DefinedPart"); -} - -/** - * An element may be an instance of type "XCommSubsystem class DefinedPart". - */ -private pattern mayInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "XCommSubsystem class UndefinedPart". - */ -private pattern mustInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"XCommSubsystem class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"XCommSubsystem class UndefinedPart"); -} - -/** - * An element may be an instance of type "XCommSubsystem class UndefinedPart". - */ -private pattern mayInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "KaCommSubsystem class DefinedPart". - */ -private pattern mustInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"KaCommSubsystem class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"KaCommSubsystem class DefinedPart"); -} - -/** - * An element may be an instance of type "KaCommSubsystem class DefinedPart". - */ -private pattern mayInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "KaCommSubsystem class UndefinedPart". - */ -private pattern mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"KaCommSubsystem class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"KaCommSubsystem class UndefinedPart"); -} - -/** - * An element may be an instance of type "KaCommSubsystem class UndefinedPart". - */ -private pattern mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); } - -////////// -// 1.2 Relation Declaration Indexers -////////// -/** - * Matcher for detecting tuples t where []groundStationNetwork reference ConstellationMission(source,target) - */ -private pattern mustInRelationgroundStationNetwork_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission"); - PartialRelationInterpretation.relationlinks(relationIterpretation,link); - BinaryElementRelationLink.param1(link,source); - BinaryElementRelationLink.param2(link,target); -} -/** - * Matcher for detecting tuples t where <>groundStationNetwork reference ConstellationMission(source,target) - */ -private pattern mayInRelationgroundStationNetwork_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - // The two endpoint of the link have to exist - find mayExist(problem, interpretation, source); - find mayExist(problem, interpretation, target); - // Type consistency - find mayInstanceOfConstellationMission_class(problem,interpretation,source); - find mayInstanceOfGroundStationNetwork_class(problem,interpretation,target); - // There are "numberOfExistingReferences" currently existing instances of the reference from the source, - // the upper bound of the multiplicity should be considered. - numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,_); - check(numberOfExistingReferences < 1); - // The reference is containment, then a new reference cannot be create if: - // 1. Multiple parents - neg find mustContains4(problem,interpretation,_,target); - // 2. Circle in the containment hierarchy - neg find mustTransitiveContains(source,target); -} or { - find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target); -} -/** - * Matcher for detecting tuples t where []spacecraft reference ConstellationMission(source,target) - */ -private pattern mustInRelationspacecraft_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission"); - PartialRelationInterpretation.relationlinks(relationIterpretation,link); - BinaryElementRelationLink.param1(link,source); - BinaryElementRelationLink.param2(link,target); -} -/** - * Matcher for detecting tuples t where <>spacecraft reference ConstellationMission(source,target) - */ -private pattern mayInRelationspacecraft_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - // The two endpoint of the link have to exist - find mayExist(problem, interpretation, source); - find mayExist(problem, interpretation, target); - // Type consistency - find mayInstanceOfConstellationMission_class(problem,interpretation,source); - find mayInstanceOfSpacecraft_class(problem,interpretation,target); - // There are "numberOfExistingReferences" currently existing instances of the reference from the source, - // the upper bound of the multiplicity should be considered. - numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,_); - check(numberOfExistingReferences < 50); - // The reference is containment, then a new reference cannot be create if: - // 1. Multiple parents - neg find mustContains4(problem,interpretation,_,target); - // 2. Circle in the containment hierarchy - neg find mustTransitiveContains(source,target); -} or { - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target); -} -/** - * Matcher for detecting tuples t where []commSubsystem reference CommunicatingElement(source,target) - */ -private pattern mustInRelationcommSubsystem_reference_CommunicatingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement"); - PartialRelationInterpretation.relationlinks(relationIterpretation,link); - BinaryElementRelationLink.param1(link,source); - BinaryElementRelationLink.param2(link,target); -} -/** - * Matcher for detecting tuples t where <>commSubsystem reference CommunicatingElement(source,target) - */ -private pattern mayInRelationcommSubsystem_reference_CommunicatingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - // The two endpoint of the link have to exist - find mayExist(problem, interpretation, source); - find mayExist(problem, interpretation, target); - // Type consistency - find mayInstanceOfCommunicatingElement_class(problem,interpretation,source); - find mayInstanceOfCommSubsystem_class(problem,interpretation,target); - // There are "numberOfExistingReferences" currently existing instances of the reference from the source, - // the upper bound of the multiplicity should be considered. - numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,_); - check(numberOfExistingReferences < 2); - // The reference is containment, then a new reference cannot be create if: - // 1. Multiple parents - neg find mustContains4(problem,interpretation,_,target); - // 2. Circle in the containment hierarchy - neg find mustTransitiveContains(source,target); -} or { - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); -} -/** - * Matcher for detecting tuples t where []payload reference Spacecraft(source,target) - */ -private pattern mustInRelationpayload_reference_Spacecraft( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"payload reference Spacecraft"); - PartialRelationInterpretation.relationlinks(relationIterpretation,link); - BinaryElementRelationLink.param1(link,source); - BinaryElementRelationLink.param2(link,target); -} -/** - * Matcher for detecting tuples t where <>payload reference Spacecraft(source,target) - */ -private pattern mayInRelationpayload_reference_Spacecraft( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - // The two endpoint of the link have to exist - find mayExist(problem, interpretation, source); - find mayExist(problem, interpretation, target); - // Type consistency - find mayInstanceOfSpacecraft_class(problem,interpretation,source); - find mayInstanceOfPayload_class(problem,interpretation,target); - // There are "numberOfExistingReferences" currently existing instances of the reference from the source, - // the upper bound of the multiplicity should be considered. - numberOfExistingReferences == count find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,_); - check(numberOfExistingReferences < 1); - // The reference is containment, then a new reference cannot be create if: - // 1. Multiple parents - neg find mustContains4(problem,interpretation,_,target); - // 2. Circle in the containment hierarchy - neg find mustTransitiveContains(source,target); -} or { - find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); -} -/** - * Matcher for detecting tuples t where []target reference CommSubsystem(source,target) - */ -private pattern mustInRelationtarget_reference_CommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem"); - PartialRelationInterpretation.relationlinks(relationIterpretation,link); - BinaryElementRelationLink.param1(link,source); - BinaryElementRelationLink.param2(link,target); -} -/** - * Matcher for detecting tuples t where <>target reference CommSubsystem(source,target) - */ -private pattern mayInRelationtarget_reference_CommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - // The two endpoint of the link have to exist - find mayExist(problem, interpretation, source); - find mayExist(problem, interpretation, target); - // Type consistency - find mayInstanceOfCommSubsystem_class(problem,interpretation,source); - find mayInstanceOfCommSubsystem_class(problem,interpretation,target); - // There are "numberOfExistingReferences" currently existing instances of the reference from the source, - // the upper bound of the multiplicity should be considered. - numberOfExistingReferences == count find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,_); - check(numberOfExistingReferences < 1); -} or { - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,target); -} - -////////// -// 1.3 Relation Definition Indexers -////////// -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - // Element is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1); - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2); - neg find mayEquivalent(problem, interpretation, var_Comm1, var_Comm2); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - // Element is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1); - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2); - neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - // Element is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1); - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2); - neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries transmittingCommSubsystem -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element, var_Comm) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // Element is exported - // Comm is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_Comm); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, _var__0); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element, var_Comm) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // Element is exported - // Comm is exported - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_Comm); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, _var__0); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element, var_Comm) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // Element is exported - // Comm is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_Comm); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, _var__0); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - // Mission is exported - find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find interpretation(problem,interpretation); - find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - // Mission is exported - find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - // Mission is exported - find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - // Mission is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1); - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2); - neg find mayEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find interpretation(problem,interpretation); - find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - // Mission is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1); - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2); - neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - // Mission is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1); - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2); - neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission, var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Mission is exported - // Spacecraft is exported - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1); - find mustInstanceOfPayload_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_Payload); - find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission, var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Mission is exported - // Spacecraft is exported - find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_Spacecraft); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - find mayInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1); - find mayInstanceOfPayload_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_Payload); - find mayInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission, var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Mission is exported - // Spacecraft is exported - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1); - find mustInstanceOfPayload_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_Payload); - find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation); - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation); - find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation); - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation); - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation); - find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation); - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From); -}or{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From); -}or{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From); - find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_To); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To); -} -private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) { - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To); -} -private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) { - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To); -} -private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) { - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys); - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_From); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_FromSys); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_ToSys); - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys); - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingCommSubsystem -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From); - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To); -}or{ - find interpretation(problem,interpretation); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_From); - find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_To); -}or{ - find interpretation(problem,interpretation); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_From); - find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_To); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); - // Sat is exported - find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat6U -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); - // Sat is exported - find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - // Element is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - // Element is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - // Element is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Source, var_Target) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - // Source is exported - // Target is exported - find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Source, var_Target) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - // Source is exported - // Target is exported - find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Source, var_Target) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - // Source is exported - // Target is exported - find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Source, var_Target) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - // Source is exported - // Target is exported - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Source, var_Target) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - // Source is exported - // Target is exported - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mayEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Source, var_Target) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - // Source is exported - // Target is exported - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem); -} -private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) { - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target); -} -private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) { - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target); -} -private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) { - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand( - problem:LogicProblem, interpretation:PartialInterpretation, - var_SourceSubsystem) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - // SourceSubsystem is exported - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand( - problem:LogicProblem, interpretation:PartialInterpretation, - var_SourceSubsystem) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - // SourceSubsystem is exported - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand( - problem:LogicProblem, interpretation:PartialInterpretation, - var_SourceSubsystem) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - // SourceSubsystem is exported - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); - // Sat is exported - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_SourceComm); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm); - find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_TargetComm); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mayEquivalent(problem, interpretation, var_virtual2, var_TargetComm); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find interpretation(problem,interpretation); - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); - // Comm is exported - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find interpretation(problem,interpretation); - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); - // Comm is exported - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find interpretation(problem,interpretation); - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); - // Comm is exported - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Network) -{ - find interpretation(problem,interpretation); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network); - // Network is exported - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Network) -{ - find interpretation(problem,interpretation); - find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network); - // Network is exported - find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Network) -{ - find interpretation(problem,interpretation); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network); - // Network is exported - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_Comm); - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_Comm); - find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_Comm); - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries smallSat -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat); - // Sat is exported - find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat); -} - -////////// -// 1.4 Containment Indexer -////////// -private pattern mustContains2(source: DefinedElement, target: DefinedElement) { - find mustContains4(_,_,source,target); -} - -private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target: DefinedElement) - { find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target); }or - - { find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target); }or - - { find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); }or - - { find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); } - -private pattern mustTransitiveContains(source,target) { - find mustContains2+(source,target); -} - -////////// -// 2. Invalidation Indexers -////////// -// 2.1 Invalidated by WF Queries -////////// -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation, - var_SourceSubsystem) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft); -} - -////////// -// 3. Unfinishedness Indexers -////////// -// 3.1 Unfinishedness Measured by Multiplicity -////////// -pattern unfinishedLowerMultiplicity_groundStationNetwork_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) { - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,object); - numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,object,_); - check(numberOfExistingReferences < 1); - missingMultiplicity == eval(1-numberOfExistingReferences); -} -pattern unfinishedLowerMultiplicity_spacecraft_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) { - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,object); - numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,object,_); - check(numberOfExistingReferences < 2); - missingMultiplicity == eval(2-numberOfExistingReferences); -} -pattern unfinishedLowerMultiplicity_commSubsystem_reference_CommunicatingElement(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) { - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement"); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,object); - numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,object,_); - check(numberOfExistingReferences < 1); - missingMultiplicity == eval(1-numberOfExistingReferences); -} - -////////// -// 3.2 Unfinishedness Measured by WF Queries -////////// -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation, - var_SourceSubsystem) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft); -} - -////////// -// 4. Refinement Indexers -////////// -// 4.1 Object constructors -////////// -private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfConstellationMission_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryPayload_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfPayload_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat6U_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfXCommSubsystem_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat3U_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSmallSat_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -} -pattern createObject_InterferometryPayload_class_by_payload_reference_Spacecraft( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"payload reference Spacecraft"); - find mustInstanceOfSpacecraft_class(problem,interpretation,container); - find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject); - find mayInRelationpayload_reference_Spacecraft(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_InterferometryPayload_class( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class"); - find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,container); - find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_CubeSat6U_class( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class"); - find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,container); - find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject); - find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_GroundStationNetwork_class_UndefinedPart( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart"); - find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_UHFCommSubsystem_class_by_commSubsystem_reference_CommunicatingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement"); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,container); - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_UHFCommSubsystem_class( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class"); - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,container); - find mayInstanceOfSmallSat_class(problem,interpretation,newObject); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_SmallSat_class( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class"); - find mayInstanceOfSmallSat_class(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_KaCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement"); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,container); - find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_KaCommSubsystem_class_UndefinedPart( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart"); - find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_CubeSat3U_class_by_spacecraft_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,container); - find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_CubeSat3U_class( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class"); - find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_XCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement"); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,container); - find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_XCommSubsystem_class_UndefinedPart( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart"); - find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_InterferometryMission_class_UndefinedPart( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart"); - find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} - -////////// -// 4.2 Type refinement -////////// -pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfInterferometryPayload_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); -} -pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); -} -pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); -} -pattern refineTypeTo_UHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); -} -pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); -} -pattern refineTypeTo_KaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); -} -pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); -} -pattern refineTypeTo_XCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); -} -pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); -} - -////////// -// 4.3 Relation refinement -////////// -pattern refineRelation_target_reference_CommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - relationIterpretation:PartialRelationInterpretation, - from: DefinedElement, to: DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem"); - find mustExist(problem, interpretation, from); - find mustExist(problem, interpretation, to); - find mustInstanceOfCommSubsystem_class(problem,interpretation,from); - find mustInstanceOfCommSubsystem_class(problem,interpretation,to); - find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to); - neg find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to); -} - diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run2/init.partialmodel b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run2/init.partialmodel deleted file mode 100644 index 01b90968..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run2/init.partialmodel +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run3/generated3valued.vql_deactivated b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run3/generated3valued.vql_deactivated deleted file mode 100644 index c96a951c..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run3/generated3valued.vql_deactivated +++ /dev/null @@ -1,3000 +0,0 @@ -import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" -import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem" -import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" - -////////// -// 0. Util -////////// -private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) { - PartialInterpretation.problem(interpretation,problem); -} - -///////////////////////// -// 0.1 Existence -///////////////////////// -private pattern mustExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - find interpretation(problem,interpretation); - LogicProblem.elements(problem,element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); -} - -private pattern mayExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - find mustExist(problem,interpretation,element); -} or { - find interpretation(problem,interpretation); - neg find elementCloseWorld(element); - PartialInterpretation.openWorldElements(interpretation,element); -} - -private pattern elementCloseWorld(element:DefinedElement) { - PartialInterpretation.openWorldElements(i,element); - PartialInterpretation.maxNewElements(i,0); -} or { - Scope.targetTypeInterpretation(scope,interpretation); - PartialTypeInterpratation.elements(interpretation,element); - Scope.maxNewElements(scope,0); -} - -//////////////////////// -// 0.2 Equivalence -//////////////////////// -pattern mayEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) { - find mayExist(problem,interpretation,a); - find mayExist(problem,interpretation,b); - a == b; -} -pattern mustEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) { - find mustExist(problem,interpretation,a); - find mustExist(problem,interpretation,b); - a == b; -} - -//////////////////////// -// 0.3 Required Patterns by TypeIndexer -//////////////////////// -private pattern typeInterpretation(problem:LogicProblem, interpretation:PartialInterpretation, type:TypeDeclaration, typeInterpretation:PartialComplexTypeInterpretation) { - find interpretation(problem,interpretation); - LogicProblem.types(problem,type); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); -} - -private pattern directInstanceOf(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, type:Type) { - find interpretation(problem,interpretation); - LogicProblem.types(problem,type); - TypeDefinition.elements(type,element); -} or { - find interpretation(problem,interpretation); - find typeInterpretation(problem,interpretation,type,typeInterpretation); - PartialComplexTypeInterpretation.elements(typeInterpretation,element); -} - -private pattern isPrimitive(element: PrimitiveElement) { - PrimitiveElement(element); -} - -////////// -// 1. Problem-Specific Base Indexers -////////// -// 1.1 Type Indexers -////////// -// 1.1.1 primitive Type Indexers -////////// - -////////// -// 1.1.2 domain-specific Type Indexers -////////// -/** - * An element must be an instance of type "ConstellationMission class". - */ -private pattern mustInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"ConstellationMission class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"ConstellationMission class"); -} - -/** - * An element may be an instance of type "ConstellationMission class". - */ -private pattern mayInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewConstellationMission_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewConstellationMission_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfConstellationMission_class(problem,interpretation,element); } -/** - * An element must be an instance of type "InterferometryMission class". - */ -private pattern mustInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"InterferometryMission class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"InterferometryMission class"); -} - -/** - * An element may be an instance of type "InterferometryMission class". - */ -private pattern mayInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfInterferometryMission_class(problem,interpretation,element); } -/** - * An element must be an instance of type "CommunicatingElement class". - */ -private pattern mustInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CommunicatingElement class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CommunicatingElement class"); -} - -/** - * An element may be an instance of type "CommunicatingElement class". - */ -private pattern mayInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); - neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); - neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); } -/** - * An element must be an instance of type "GroundStationNetwork class". - */ -private pattern mustInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"GroundStationNetwork class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"GroundStationNetwork class"); -} - -/** - * An element may be an instance of type "GroundStationNetwork class". - */ -private pattern mayInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); - neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); - neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); } -/** - * An element must be an instance of type "Spacecraft class". - */ -private pattern mustInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"Spacecraft class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"Spacecraft class"); -} - -/** - * An element may be an instance of type "Spacecraft class". - */ -private pattern mayInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewSpacecraft_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewSpacecraft_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfSpacecraft_class(problem,interpretation,element); } -/** - * An element must be an instance of type "CommSubsystem class". - */ -private pattern mustInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CommSubsystem class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CommSubsystem class"); -} - -/** - * An element may be an instance of type "CommSubsystem class". - */ -private pattern mayInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCommSubsystem_class(problem,interpretation,element); } -/** - * An element must be an instance of type "Payload class". - */ -private pattern mustInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"Payload class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"Payload class"); -} - -/** - * An element may be an instance of type "Payload class". - */ -private pattern mayInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewPayload_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewPayload_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfPayload_class(problem,interpretation,element); } -/** - * An element must be an instance of type "InterferometryPayload class". - */ -private pattern mustInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"InterferometryPayload class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"InterferometryPayload class"); -} - -/** - * An element may be an instance of type "InterferometryPayload class". - */ -private pattern mayInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); } -/** - * An element must be an instance of type "CubeSat3U class". - */ -private pattern mustInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CubeSat3U class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CubeSat3U class"); -} - -/** - * An element may be an instance of type "CubeSat3U class". - */ -private pattern mayInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCubeSat3U_class(problem,interpretation,element); } -/** - * An element must be an instance of type "CubeSat6U class". - */ -private pattern mustInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CubeSat6U class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CubeSat6U class"); -} - -/** - * An element may be an instance of type "CubeSat6U class". - */ -private pattern mayInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCubeSat6U_class(problem,interpretation,element); } -/** - * An element must be an instance of type "SmallSat class". - */ -private pattern mustInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"SmallSat class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"SmallSat class"); -} - -/** - * An element may be an instance of type "SmallSat class". - */ -private pattern mayInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewSmallSat_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewSmallSat_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfSmallSat_class(problem,interpretation,element); } -/** - * An element must be an instance of type "CubeSat class". - */ -private pattern mustInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CubeSat class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CubeSat class"); -} - -/** - * An element may be an instance of type "CubeSat class". - */ -private pattern mayInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCubeSat_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCubeSat_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCubeSat_class(problem,interpretation,element); } -/** - * An element must be an instance of type "UHFCommSubsystem class". - */ -private pattern mustInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"UHFCommSubsystem class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"UHFCommSubsystem class"); -} - -/** - * An element may be an instance of type "UHFCommSubsystem class". - */ -private pattern mayInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); } -/** - * An element must be an instance of type "XCommSubsystem class". - */ -private pattern mustInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"XCommSubsystem class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"XCommSubsystem class"); -} - -/** - * An element may be an instance of type "XCommSubsystem class". - */ -private pattern mayInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); } -/** - * An element must be an instance of type "KaCommSubsystem class". - */ -private pattern mustInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"KaCommSubsystem class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"KaCommSubsystem class"); -} - -/** - * An element may be an instance of type "KaCommSubsystem class". - */ -private pattern mayInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); } -/** - * An element must be an instance of type "ConstellationMission class DefinedPart". - */ -private pattern mustInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"ConstellationMission class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"ConstellationMission class DefinedPart"); -} - -/** - * An element may be an instance of type "ConstellationMission class DefinedPart". - */ -private pattern mayInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "ConstellationMission class UndefinedPart". - */ -private pattern mustInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"ConstellationMission class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"ConstellationMission class UndefinedPart"); -} - -/** - * An element may be an instance of type "ConstellationMission class UndefinedPart". - */ -private pattern mayInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "InterferometryMission class DefinedPart". - */ -private pattern mustInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"InterferometryMission class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"InterferometryMission class DefinedPart"); -} - -/** - * An element may be an instance of type "InterferometryMission class DefinedPart". - */ -private pattern mayInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "InterferometryMission class UndefinedPart". - */ -private pattern mustInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"InterferometryMission class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"InterferometryMission class UndefinedPart"); -} - -/** - * An element may be an instance of type "InterferometryMission class UndefinedPart". - */ -private pattern mayInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "CommunicatingElement class DefinedPart". - */ -private pattern mustInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CommunicatingElement class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CommunicatingElement class DefinedPart"); -} - -/** - * An element may be an instance of type "CommunicatingElement class DefinedPart". - */ -private pattern mayInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "CommunicatingElement class UndefinedPart". - */ -private pattern mustInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CommunicatingElement class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CommunicatingElement class UndefinedPart"); -} - -/** - * An element may be an instance of type "CommunicatingElement class UndefinedPart". - */ -private pattern mayInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "GroundStationNetwork class DefinedPart". - */ -private pattern mustInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"GroundStationNetwork class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"GroundStationNetwork class DefinedPart"); -} - -/** - * An element may be an instance of type "GroundStationNetwork class DefinedPart". - */ -private pattern mayInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "GroundStationNetwork class UndefinedPart". - */ -private pattern mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"GroundStationNetwork class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"GroundStationNetwork class UndefinedPart"); -} - -/** - * An element may be an instance of type "GroundStationNetwork class UndefinedPart". - */ -private pattern mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "CommSubsystem class DefinedPart". - */ -private pattern mustInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CommSubsystem class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CommSubsystem class DefinedPart"); -} - -/** - * An element may be an instance of type "CommSubsystem class DefinedPart". - */ -private pattern mayInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "CommSubsystem class UndefinedPart". - */ -private pattern mustInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CommSubsystem class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CommSubsystem class UndefinedPart"); -} - -/** - * An element may be an instance of type "CommSubsystem class UndefinedPart". - */ -private pattern mayInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "XCommSubsystem class DefinedPart". - */ -private pattern mustInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"XCommSubsystem class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"XCommSubsystem class DefinedPart"); -} - -/** - * An element may be an instance of type "XCommSubsystem class DefinedPart". - */ -private pattern mayInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "XCommSubsystem class UndefinedPart". - */ -private pattern mustInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"XCommSubsystem class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"XCommSubsystem class UndefinedPart"); -} - -/** - * An element may be an instance of type "XCommSubsystem class UndefinedPart". - */ -private pattern mayInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "KaCommSubsystem class DefinedPart". - */ -private pattern mustInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"KaCommSubsystem class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"KaCommSubsystem class DefinedPart"); -} - -/** - * An element may be an instance of type "KaCommSubsystem class DefinedPart". - */ -private pattern mayInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "KaCommSubsystem class UndefinedPart". - */ -private pattern mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"KaCommSubsystem class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"KaCommSubsystem class UndefinedPart"); -} - -/** - * An element may be an instance of type "KaCommSubsystem class UndefinedPart". - */ -private pattern mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); } - -////////// -// 1.2 Relation Declaration Indexers -////////// -/** - * Matcher for detecting tuples t where []groundStationNetwork reference ConstellationMission(source,target) - */ -private pattern mustInRelationgroundStationNetwork_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission"); - PartialRelationInterpretation.relationlinks(relationIterpretation,link); - BinaryElementRelationLink.param1(link,source); - BinaryElementRelationLink.param2(link,target); -} -/** - * Matcher for detecting tuples t where <>groundStationNetwork reference ConstellationMission(source,target) - */ -private pattern mayInRelationgroundStationNetwork_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - // The two endpoint of the link have to exist - find mayExist(problem, interpretation, source); - find mayExist(problem, interpretation, target); - // Type consistency - find mayInstanceOfConstellationMission_class(problem,interpretation,source); - find mayInstanceOfGroundStationNetwork_class(problem,interpretation,target); - // There are "numberOfExistingReferences" currently existing instances of the reference from the source, - // the upper bound of the multiplicity should be considered. - numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,_); - check(numberOfExistingReferences < 1); - // The reference is containment, then a new reference cannot be create if: - // 1. Multiple parents - neg find mustContains4(problem,interpretation,_,target); - // 2. Circle in the containment hierarchy - neg find mustTransitiveContains(source,target); -} or { - find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target); -} -/** - * Matcher for detecting tuples t where []spacecraft reference ConstellationMission(source,target) - */ -private pattern mustInRelationspacecraft_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission"); - PartialRelationInterpretation.relationlinks(relationIterpretation,link); - BinaryElementRelationLink.param1(link,source); - BinaryElementRelationLink.param2(link,target); -} -/** - * Matcher for detecting tuples t where <>spacecraft reference ConstellationMission(source,target) - */ -private pattern mayInRelationspacecraft_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - // The two endpoint of the link have to exist - find mayExist(problem, interpretation, source); - find mayExist(problem, interpretation, target); - // Type consistency - find mayInstanceOfConstellationMission_class(problem,interpretation,source); - find mayInstanceOfSpacecraft_class(problem,interpretation,target); - // There are "numberOfExistingReferences" currently existing instances of the reference from the source, - // the upper bound of the multiplicity should be considered. - numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,_); - check(numberOfExistingReferences < 50); - // The reference is containment, then a new reference cannot be create if: - // 1. Multiple parents - neg find mustContains4(problem,interpretation,_,target); - // 2. Circle in the containment hierarchy - neg find mustTransitiveContains(source,target); -} or { - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target); -} -/** - * Matcher for detecting tuples t where []commSubsystem reference CommunicatingElement(source,target) - */ -private pattern mustInRelationcommSubsystem_reference_CommunicatingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement"); - PartialRelationInterpretation.relationlinks(relationIterpretation,link); - BinaryElementRelationLink.param1(link,source); - BinaryElementRelationLink.param2(link,target); -} -/** - * Matcher for detecting tuples t where <>commSubsystem reference CommunicatingElement(source,target) - */ -private pattern mayInRelationcommSubsystem_reference_CommunicatingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - // The two endpoint of the link have to exist - find mayExist(problem, interpretation, source); - find mayExist(problem, interpretation, target); - // Type consistency - find mayInstanceOfCommunicatingElement_class(problem,interpretation,source); - find mayInstanceOfCommSubsystem_class(problem,interpretation,target); - // There are "numberOfExistingReferences" currently existing instances of the reference from the source, - // the upper bound of the multiplicity should be considered. - numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,_); - check(numberOfExistingReferences < 2); - // The reference is containment, then a new reference cannot be create if: - // 1. Multiple parents - neg find mustContains4(problem,interpretation,_,target); - // 2. Circle in the containment hierarchy - neg find mustTransitiveContains(source,target); -} or { - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); -} -/** - * Matcher for detecting tuples t where []payload reference Spacecraft(source,target) - */ -private pattern mustInRelationpayload_reference_Spacecraft( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"payload reference Spacecraft"); - PartialRelationInterpretation.relationlinks(relationIterpretation,link); - BinaryElementRelationLink.param1(link,source); - BinaryElementRelationLink.param2(link,target); -} -/** - * Matcher for detecting tuples t where <>payload reference Spacecraft(source,target) - */ -private pattern mayInRelationpayload_reference_Spacecraft( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - // The two endpoint of the link have to exist - find mayExist(problem, interpretation, source); - find mayExist(problem, interpretation, target); - // Type consistency - find mayInstanceOfSpacecraft_class(problem,interpretation,source); - find mayInstanceOfPayload_class(problem,interpretation,target); - // There are "numberOfExistingReferences" currently existing instances of the reference from the source, - // the upper bound of the multiplicity should be considered. - numberOfExistingReferences == count find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,_); - check(numberOfExistingReferences < 1); - // The reference is containment, then a new reference cannot be create if: - // 1. Multiple parents - neg find mustContains4(problem,interpretation,_,target); - // 2. Circle in the containment hierarchy - neg find mustTransitiveContains(source,target); -} or { - find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); -} -/** - * Matcher for detecting tuples t where []target reference CommSubsystem(source,target) - */ -private pattern mustInRelationtarget_reference_CommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem"); - PartialRelationInterpretation.relationlinks(relationIterpretation,link); - BinaryElementRelationLink.param1(link,source); - BinaryElementRelationLink.param2(link,target); -} -/** - * Matcher for detecting tuples t where <>target reference CommSubsystem(source,target) - */ -private pattern mayInRelationtarget_reference_CommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - // The two endpoint of the link have to exist - find mayExist(problem, interpretation, source); - find mayExist(problem, interpretation, target); - // Type consistency - find mayInstanceOfCommSubsystem_class(problem,interpretation,source); - find mayInstanceOfCommSubsystem_class(problem,interpretation,target); - // There are "numberOfExistingReferences" currently existing instances of the reference from the source, - // the upper bound of the multiplicity should be considered. - numberOfExistingReferences == count find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,_); - check(numberOfExistingReferences < 1); -} or { - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,target); -} - -////////// -// 1.3 Relation Definition Indexers -////////// -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - // Element is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1); - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2); - neg find mayEquivalent(problem, interpretation, var_Comm1, var_Comm2); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - // Element is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1); - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2); - neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - // Element is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1); - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2); - neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries transmittingCommSubsystem -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element, var_Comm) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // Element is exported - // Comm is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_Comm); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, _var__0); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element, var_Comm) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // Element is exported - // Comm is exported - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_Comm); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, _var__0); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element, var_Comm) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // Element is exported - // Comm is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_Comm); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, _var__0); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - // Mission is exported - find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find interpretation(problem,interpretation); - find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - // Mission is exported - find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - // Mission is exported - find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - // Mission is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1); - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2); - neg find mayEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find interpretation(problem,interpretation); - find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - // Mission is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1); - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2); - neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - // Mission is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1); - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2); - neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission, var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Mission is exported - // Spacecraft is exported - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1); - find mustInstanceOfPayload_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_Payload); - find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission, var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Mission is exported - // Spacecraft is exported - find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_Spacecraft); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - find mayInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1); - find mayInstanceOfPayload_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_Payload); - find mayInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission, var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Mission is exported - // Spacecraft is exported - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1); - find mustInstanceOfPayload_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_Payload); - find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation); - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation); - find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation); - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation); - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation); - find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation); - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From); -}or{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From); -}or{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From); - find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_To); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To); -} -private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) { - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To); -} -private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) { - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To); -} -private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) { - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys); - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_From); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_FromSys); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_ToSys); - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys); - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingCommSubsystem -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From); - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To); -}or{ - find interpretation(problem,interpretation); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_From); - find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_To); -}or{ - find interpretation(problem,interpretation); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_From); - find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_To); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); - // Sat is exported - find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat6U -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); - // Sat is exported - find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - // Element is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - // Element is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - // Element is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Source, var_Target) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - // Source is exported - // Target is exported - find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Source, var_Target) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - // Source is exported - // Target is exported - find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Source, var_Target) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - // Source is exported - // Target is exported - find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Source, var_Target) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - // Source is exported - // Target is exported - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Source, var_Target) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - // Source is exported - // Target is exported - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mayEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Source, var_Target) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - // Source is exported - // Target is exported - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem); -} -private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) { - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target); -} -private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) { - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target); -} -private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) { - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand( - problem:LogicProblem, interpretation:PartialInterpretation, - var_SourceSubsystem) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - // SourceSubsystem is exported - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand( - problem:LogicProblem, interpretation:PartialInterpretation, - var_SourceSubsystem) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - // SourceSubsystem is exported - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand( - problem:LogicProblem, interpretation:PartialInterpretation, - var_SourceSubsystem) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - // SourceSubsystem is exported - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); - // Sat is exported - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_SourceComm); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm); - find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_TargetComm); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mayEquivalent(problem, interpretation, var_virtual2, var_TargetComm); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find interpretation(problem,interpretation); - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); - // Comm is exported - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find interpretation(problem,interpretation); - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); - // Comm is exported - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find interpretation(problem,interpretation); - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); - // Comm is exported - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Network) -{ - find interpretation(problem,interpretation); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network); - // Network is exported - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Network) -{ - find interpretation(problem,interpretation); - find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network); - // Network is exported - find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Network) -{ - find interpretation(problem,interpretation); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network); - // Network is exported - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_Comm); - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_Comm); - find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_Comm); - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries smallSat -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat); - // Sat is exported - find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat); -} - -////////// -// 1.4 Containment Indexer -////////// -private pattern mustContains2(source: DefinedElement, target: DefinedElement) { - find mustContains4(_,_,source,target); -} - -private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target: DefinedElement) - { find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target); }or - - { find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target); }or - - { find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); }or - - { find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); } - -private pattern mustTransitiveContains(source,target) { - find mustContains2+(source,target); -} - -////////// -// 2. Invalidation Indexers -////////// -// 2.1 Invalidated by WF Queries -////////// -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation, - var_SourceSubsystem) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft); -} - -////////// -// 3. Unfinishedness Indexers -////////// -// 3.1 Unfinishedness Measured by Multiplicity -////////// -pattern unfinishedLowerMultiplicity_groundStationNetwork_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) { - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,object); - numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,object,_); - check(numberOfExistingReferences < 1); - missingMultiplicity == eval(1-numberOfExistingReferences); -} -pattern unfinishedLowerMultiplicity_spacecraft_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) { - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,object); - numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,object,_); - check(numberOfExistingReferences < 2); - missingMultiplicity == eval(2-numberOfExistingReferences); -} -pattern unfinishedLowerMultiplicity_commSubsystem_reference_CommunicatingElement(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) { - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement"); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,object); - numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,object,_); - check(numberOfExistingReferences < 1); - missingMultiplicity == eval(1-numberOfExistingReferences); -} - -////////// -// 3.2 Unfinishedness Measured by WF Queries -////////// -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation, - var_SourceSubsystem) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft); -} - -////////// -// 4. Refinement Indexers -////////// -// 4.1 Object constructors -////////// -private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfConstellationMission_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryPayload_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfPayload_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat6U_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfXCommSubsystem_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat3U_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSmallSat_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -} -pattern createObject_InterferometryPayload_class_by_payload_reference_Spacecraft( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"payload reference Spacecraft"); - find mustInstanceOfSpacecraft_class(problem,interpretation,container); - find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject); - find mayInRelationpayload_reference_Spacecraft(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_InterferometryPayload_class( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class"); - find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,container); - find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_CubeSat6U_class( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class"); - find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,container); - find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject); - find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_GroundStationNetwork_class_UndefinedPart( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart"); - find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_UHFCommSubsystem_class_by_commSubsystem_reference_CommunicatingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement"); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,container); - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_UHFCommSubsystem_class( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class"); - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,container); - find mayInstanceOfSmallSat_class(problem,interpretation,newObject); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_SmallSat_class( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class"); - find mayInstanceOfSmallSat_class(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_KaCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement"); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,container); - find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_KaCommSubsystem_class_UndefinedPart( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart"); - find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_CubeSat3U_class_by_spacecraft_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,container); - find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_CubeSat3U_class( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class"); - find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_XCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement"); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,container); - find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_XCommSubsystem_class_UndefinedPart( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart"); - find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_InterferometryMission_class_UndefinedPart( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart"); - find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} - -////////// -// 4.2 Type refinement -////////// -pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfInterferometryPayload_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); -} -pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); -} -pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); -} -pattern refineTypeTo_UHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); -} -pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); -} -pattern refineTypeTo_KaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); -} -pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); -} -pattern refineTypeTo_XCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); -} -pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); -} - -////////// -// 4.3 Relation refinement -////////// -pattern refineRelation_target_reference_CommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - relationIterpretation:PartialRelationInterpretation, - from: DefinedElement, to: DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem"); - find mustExist(problem, interpretation, from); - find mustExist(problem, interpretation, to); - find mustInstanceOfCommSubsystem_class(problem,interpretation,from); - find mustInstanceOfCommSubsystem_class(problem,interpretation,to); - find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to); - neg find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to); -} - diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run3/init.partialmodel b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run3/init.partialmodel deleted file mode 100644 index 01b90968..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run3/init.partialmodel +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run4/generated3valued.vql_deactivated b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run4/generated3valued.vql_deactivated deleted file mode 100644 index c96a951c..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run4/generated3valued.vql_deactivated +++ /dev/null @@ -1,3000 +0,0 @@ -import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" -import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem" -import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" - -////////// -// 0. Util -////////// -private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) { - PartialInterpretation.problem(interpretation,problem); -} - -///////////////////////// -// 0.1 Existence -///////////////////////// -private pattern mustExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - find interpretation(problem,interpretation); - LogicProblem.elements(problem,element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); -} - -private pattern mayExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - find mustExist(problem,interpretation,element); -} or { - find interpretation(problem,interpretation); - neg find elementCloseWorld(element); - PartialInterpretation.openWorldElements(interpretation,element); -} - -private pattern elementCloseWorld(element:DefinedElement) { - PartialInterpretation.openWorldElements(i,element); - PartialInterpretation.maxNewElements(i,0); -} or { - Scope.targetTypeInterpretation(scope,interpretation); - PartialTypeInterpratation.elements(interpretation,element); - Scope.maxNewElements(scope,0); -} - -//////////////////////// -// 0.2 Equivalence -//////////////////////// -pattern mayEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) { - find mayExist(problem,interpretation,a); - find mayExist(problem,interpretation,b); - a == b; -} -pattern mustEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) { - find mustExist(problem,interpretation,a); - find mustExist(problem,interpretation,b); - a == b; -} - -//////////////////////// -// 0.3 Required Patterns by TypeIndexer -//////////////////////// -private pattern typeInterpretation(problem:LogicProblem, interpretation:PartialInterpretation, type:TypeDeclaration, typeInterpretation:PartialComplexTypeInterpretation) { - find interpretation(problem,interpretation); - LogicProblem.types(problem,type); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); -} - -private pattern directInstanceOf(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, type:Type) { - find interpretation(problem,interpretation); - LogicProblem.types(problem,type); - TypeDefinition.elements(type,element); -} or { - find interpretation(problem,interpretation); - find typeInterpretation(problem,interpretation,type,typeInterpretation); - PartialComplexTypeInterpretation.elements(typeInterpretation,element); -} - -private pattern isPrimitive(element: PrimitiveElement) { - PrimitiveElement(element); -} - -////////// -// 1. Problem-Specific Base Indexers -////////// -// 1.1 Type Indexers -////////// -// 1.1.1 primitive Type Indexers -////////// - -////////// -// 1.1.2 domain-specific Type Indexers -////////// -/** - * An element must be an instance of type "ConstellationMission class". - */ -private pattern mustInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"ConstellationMission class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"ConstellationMission class"); -} - -/** - * An element may be an instance of type "ConstellationMission class". - */ -private pattern mayInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewConstellationMission_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewConstellationMission_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfConstellationMission_class(problem,interpretation,element); } -/** - * An element must be an instance of type "InterferometryMission class". - */ -private pattern mustInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"InterferometryMission class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"InterferometryMission class"); -} - -/** - * An element may be an instance of type "InterferometryMission class". - */ -private pattern mayInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfInterferometryMission_class(problem,interpretation,element); } -/** - * An element must be an instance of type "CommunicatingElement class". - */ -private pattern mustInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CommunicatingElement class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CommunicatingElement class"); -} - -/** - * An element may be an instance of type "CommunicatingElement class". - */ -private pattern mayInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); - neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); - neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); } -/** - * An element must be an instance of type "GroundStationNetwork class". - */ -private pattern mustInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"GroundStationNetwork class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"GroundStationNetwork class"); -} - -/** - * An element may be an instance of type "GroundStationNetwork class". - */ -private pattern mayInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); - neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); - neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); } -/** - * An element must be an instance of type "Spacecraft class". - */ -private pattern mustInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"Spacecraft class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"Spacecraft class"); -} - -/** - * An element may be an instance of type "Spacecraft class". - */ -private pattern mayInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewSpacecraft_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewSpacecraft_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfSpacecraft_class(problem,interpretation,element); } -/** - * An element must be an instance of type "CommSubsystem class". - */ -private pattern mustInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CommSubsystem class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CommSubsystem class"); -} - -/** - * An element may be an instance of type "CommSubsystem class". - */ -private pattern mayInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCommSubsystem_class(problem,interpretation,element); } -/** - * An element must be an instance of type "Payload class". - */ -private pattern mustInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"Payload class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"Payload class"); -} - -/** - * An element may be an instance of type "Payload class". - */ -private pattern mayInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewPayload_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewPayload_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfPayload_class(problem,interpretation,element); } -/** - * An element must be an instance of type "InterferometryPayload class". - */ -private pattern mustInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"InterferometryPayload class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"InterferometryPayload class"); -} - -/** - * An element may be an instance of type "InterferometryPayload class". - */ -private pattern mayInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); } -/** - * An element must be an instance of type "CubeSat3U class". - */ -private pattern mustInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CubeSat3U class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CubeSat3U class"); -} - -/** - * An element may be an instance of type "CubeSat3U class". - */ -private pattern mayInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCubeSat3U_class(problem,interpretation,element); } -/** - * An element must be an instance of type "CubeSat6U class". - */ -private pattern mustInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CubeSat6U class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CubeSat6U class"); -} - -/** - * An element may be an instance of type "CubeSat6U class". - */ -private pattern mayInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCubeSat6U_class(problem,interpretation,element); } -/** - * An element must be an instance of type "SmallSat class". - */ -private pattern mustInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"SmallSat class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"SmallSat class"); -} - -/** - * An element may be an instance of type "SmallSat class". - */ -private pattern mayInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewSmallSat_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewSmallSat_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfSmallSat_class(problem,interpretation,element); } -/** - * An element must be an instance of type "CubeSat class". - */ -private pattern mustInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CubeSat class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CubeSat class"); -} - -/** - * An element may be an instance of type "CubeSat class". - */ -private pattern mayInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCubeSat_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCubeSat_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCubeSat_class(problem,interpretation,element); } -/** - * An element must be an instance of type "UHFCommSubsystem class". - */ -private pattern mustInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"UHFCommSubsystem class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"UHFCommSubsystem class"); -} - -/** - * An element may be an instance of type "UHFCommSubsystem class". - */ -private pattern mayInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); } -/** - * An element must be an instance of type "XCommSubsystem class". - */ -private pattern mustInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"XCommSubsystem class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"XCommSubsystem class"); -} - -/** - * An element may be an instance of type "XCommSubsystem class". - */ -private pattern mayInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); } -/** - * An element must be an instance of type "KaCommSubsystem class". - */ -private pattern mustInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"KaCommSubsystem class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"KaCommSubsystem class"); -} - -/** - * An element may be an instance of type "KaCommSubsystem class". - */ -private pattern mayInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); } -/** - * An element must be an instance of type "ConstellationMission class DefinedPart". - */ -private pattern mustInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"ConstellationMission class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"ConstellationMission class DefinedPart"); -} - -/** - * An element may be an instance of type "ConstellationMission class DefinedPart". - */ -private pattern mayInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "ConstellationMission class UndefinedPart". - */ -private pattern mustInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"ConstellationMission class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"ConstellationMission class UndefinedPart"); -} - -/** - * An element may be an instance of type "ConstellationMission class UndefinedPart". - */ -private pattern mayInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "InterferometryMission class DefinedPart". - */ -private pattern mustInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"InterferometryMission class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"InterferometryMission class DefinedPart"); -} - -/** - * An element may be an instance of type "InterferometryMission class DefinedPart". - */ -private pattern mayInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "InterferometryMission class UndefinedPart". - */ -private pattern mustInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"InterferometryMission class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"InterferometryMission class UndefinedPart"); -} - -/** - * An element may be an instance of type "InterferometryMission class UndefinedPart". - */ -private pattern mayInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "CommunicatingElement class DefinedPart". - */ -private pattern mustInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CommunicatingElement class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CommunicatingElement class DefinedPart"); -} - -/** - * An element may be an instance of type "CommunicatingElement class DefinedPart". - */ -private pattern mayInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "CommunicatingElement class UndefinedPart". - */ -private pattern mustInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CommunicatingElement class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CommunicatingElement class UndefinedPart"); -} - -/** - * An element may be an instance of type "CommunicatingElement class UndefinedPart". - */ -private pattern mayInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "GroundStationNetwork class DefinedPart". - */ -private pattern mustInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"GroundStationNetwork class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"GroundStationNetwork class DefinedPart"); -} - -/** - * An element may be an instance of type "GroundStationNetwork class DefinedPart". - */ -private pattern mayInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "GroundStationNetwork class UndefinedPart". - */ -private pattern mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"GroundStationNetwork class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"GroundStationNetwork class UndefinedPart"); -} - -/** - * An element may be an instance of type "GroundStationNetwork class UndefinedPart". - */ -private pattern mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "CommSubsystem class DefinedPart". - */ -private pattern mustInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CommSubsystem class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CommSubsystem class DefinedPart"); -} - -/** - * An element may be an instance of type "CommSubsystem class DefinedPart". - */ -private pattern mayInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "CommSubsystem class UndefinedPart". - */ -private pattern mustInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CommSubsystem class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CommSubsystem class UndefinedPart"); -} - -/** - * An element may be an instance of type "CommSubsystem class UndefinedPart". - */ -private pattern mayInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "XCommSubsystem class DefinedPart". - */ -private pattern mustInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"XCommSubsystem class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"XCommSubsystem class DefinedPart"); -} - -/** - * An element may be an instance of type "XCommSubsystem class DefinedPart". - */ -private pattern mayInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "XCommSubsystem class UndefinedPart". - */ -private pattern mustInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"XCommSubsystem class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"XCommSubsystem class UndefinedPart"); -} - -/** - * An element may be an instance of type "XCommSubsystem class UndefinedPart". - */ -private pattern mayInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "KaCommSubsystem class DefinedPart". - */ -private pattern mustInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"KaCommSubsystem class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"KaCommSubsystem class DefinedPart"); -} - -/** - * An element may be an instance of type "KaCommSubsystem class DefinedPart". - */ -private pattern mayInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "KaCommSubsystem class UndefinedPart". - */ -private pattern mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"KaCommSubsystem class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"KaCommSubsystem class UndefinedPart"); -} - -/** - * An element may be an instance of type "KaCommSubsystem class UndefinedPart". - */ -private pattern mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); } - -////////// -// 1.2 Relation Declaration Indexers -////////// -/** - * Matcher for detecting tuples t where []groundStationNetwork reference ConstellationMission(source,target) - */ -private pattern mustInRelationgroundStationNetwork_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission"); - PartialRelationInterpretation.relationlinks(relationIterpretation,link); - BinaryElementRelationLink.param1(link,source); - BinaryElementRelationLink.param2(link,target); -} -/** - * Matcher for detecting tuples t where <>groundStationNetwork reference ConstellationMission(source,target) - */ -private pattern mayInRelationgroundStationNetwork_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - // The two endpoint of the link have to exist - find mayExist(problem, interpretation, source); - find mayExist(problem, interpretation, target); - // Type consistency - find mayInstanceOfConstellationMission_class(problem,interpretation,source); - find mayInstanceOfGroundStationNetwork_class(problem,interpretation,target); - // There are "numberOfExistingReferences" currently existing instances of the reference from the source, - // the upper bound of the multiplicity should be considered. - numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,_); - check(numberOfExistingReferences < 1); - // The reference is containment, then a new reference cannot be create if: - // 1. Multiple parents - neg find mustContains4(problem,interpretation,_,target); - // 2. Circle in the containment hierarchy - neg find mustTransitiveContains(source,target); -} or { - find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target); -} -/** - * Matcher for detecting tuples t where []spacecraft reference ConstellationMission(source,target) - */ -private pattern mustInRelationspacecraft_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission"); - PartialRelationInterpretation.relationlinks(relationIterpretation,link); - BinaryElementRelationLink.param1(link,source); - BinaryElementRelationLink.param2(link,target); -} -/** - * Matcher for detecting tuples t where <>spacecraft reference ConstellationMission(source,target) - */ -private pattern mayInRelationspacecraft_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - // The two endpoint of the link have to exist - find mayExist(problem, interpretation, source); - find mayExist(problem, interpretation, target); - // Type consistency - find mayInstanceOfConstellationMission_class(problem,interpretation,source); - find mayInstanceOfSpacecraft_class(problem,interpretation,target); - // There are "numberOfExistingReferences" currently existing instances of the reference from the source, - // the upper bound of the multiplicity should be considered. - numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,_); - check(numberOfExistingReferences < 50); - // The reference is containment, then a new reference cannot be create if: - // 1. Multiple parents - neg find mustContains4(problem,interpretation,_,target); - // 2. Circle in the containment hierarchy - neg find mustTransitiveContains(source,target); -} or { - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target); -} -/** - * Matcher for detecting tuples t where []commSubsystem reference CommunicatingElement(source,target) - */ -private pattern mustInRelationcommSubsystem_reference_CommunicatingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement"); - PartialRelationInterpretation.relationlinks(relationIterpretation,link); - BinaryElementRelationLink.param1(link,source); - BinaryElementRelationLink.param2(link,target); -} -/** - * Matcher for detecting tuples t where <>commSubsystem reference CommunicatingElement(source,target) - */ -private pattern mayInRelationcommSubsystem_reference_CommunicatingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - // The two endpoint of the link have to exist - find mayExist(problem, interpretation, source); - find mayExist(problem, interpretation, target); - // Type consistency - find mayInstanceOfCommunicatingElement_class(problem,interpretation,source); - find mayInstanceOfCommSubsystem_class(problem,interpretation,target); - // There are "numberOfExistingReferences" currently existing instances of the reference from the source, - // the upper bound of the multiplicity should be considered. - numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,_); - check(numberOfExistingReferences < 2); - // The reference is containment, then a new reference cannot be create if: - // 1. Multiple parents - neg find mustContains4(problem,interpretation,_,target); - // 2. Circle in the containment hierarchy - neg find mustTransitiveContains(source,target); -} or { - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); -} -/** - * Matcher for detecting tuples t where []payload reference Spacecraft(source,target) - */ -private pattern mustInRelationpayload_reference_Spacecraft( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"payload reference Spacecraft"); - PartialRelationInterpretation.relationlinks(relationIterpretation,link); - BinaryElementRelationLink.param1(link,source); - BinaryElementRelationLink.param2(link,target); -} -/** - * Matcher for detecting tuples t where <>payload reference Spacecraft(source,target) - */ -private pattern mayInRelationpayload_reference_Spacecraft( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - // The two endpoint of the link have to exist - find mayExist(problem, interpretation, source); - find mayExist(problem, interpretation, target); - // Type consistency - find mayInstanceOfSpacecraft_class(problem,interpretation,source); - find mayInstanceOfPayload_class(problem,interpretation,target); - // There are "numberOfExistingReferences" currently existing instances of the reference from the source, - // the upper bound of the multiplicity should be considered. - numberOfExistingReferences == count find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,_); - check(numberOfExistingReferences < 1); - // The reference is containment, then a new reference cannot be create if: - // 1. Multiple parents - neg find mustContains4(problem,interpretation,_,target); - // 2. Circle in the containment hierarchy - neg find mustTransitiveContains(source,target); -} or { - find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); -} -/** - * Matcher for detecting tuples t where []target reference CommSubsystem(source,target) - */ -private pattern mustInRelationtarget_reference_CommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem"); - PartialRelationInterpretation.relationlinks(relationIterpretation,link); - BinaryElementRelationLink.param1(link,source); - BinaryElementRelationLink.param2(link,target); -} -/** - * Matcher for detecting tuples t where <>target reference CommSubsystem(source,target) - */ -private pattern mayInRelationtarget_reference_CommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - // The two endpoint of the link have to exist - find mayExist(problem, interpretation, source); - find mayExist(problem, interpretation, target); - // Type consistency - find mayInstanceOfCommSubsystem_class(problem,interpretation,source); - find mayInstanceOfCommSubsystem_class(problem,interpretation,target); - // There are "numberOfExistingReferences" currently existing instances of the reference from the source, - // the upper bound of the multiplicity should be considered. - numberOfExistingReferences == count find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,_); - check(numberOfExistingReferences < 1); -} or { - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,target); -} - -////////// -// 1.3 Relation Definition Indexers -////////// -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - // Element is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1); - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2); - neg find mayEquivalent(problem, interpretation, var_Comm1, var_Comm2); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - // Element is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1); - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2); - neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - // Element is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1); - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2); - neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries transmittingCommSubsystem -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element, var_Comm) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // Element is exported - // Comm is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_Comm); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, _var__0); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element, var_Comm) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // Element is exported - // Comm is exported - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_Comm); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, _var__0); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element, var_Comm) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // Element is exported - // Comm is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_Comm); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, _var__0); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - // Mission is exported - find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find interpretation(problem,interpretation); - find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - // Mission is exported - find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - // Mission is exported - find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - // Mission is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1); - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2); - neg find mayEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find interpretation(problem,interpretation); - find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - // Mission is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1); - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2); - neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - // Mission is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1); - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2); - neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission, var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Mission is exported - // Spacecraft is exported - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1); - find mustInstanceOfPayload_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_Payload); - find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission, var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Mission is exported - // Spacecraft is exported - find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_Spacecraft); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - find mayInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1); - find mayInstanceOfPayload_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_Payload); - find mayInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission, var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Mission is exported - // Spacecraft is exported - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1); - find mustInstanceOfPayload_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_Payload); - find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation); - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation); - find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation); - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation); - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation); - find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation); - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From); -}or{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From); -}or{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From); - find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_To); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To); -} -private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) { - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To); -} -private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) { - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To); -} -private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) { - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys); - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_From); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_FromSys); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_ToSys); - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys); - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingCommSubsystem -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From); - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To); -}or{ - find interpretation(problem,interpretation); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_From); - find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_To); -}or{ - find interpretation(problem,interpretation); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_From); - find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_To); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); - // Sat is exported - find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat6U -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); - // Sat is exported - find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - // Element is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - // Element is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - // Element is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Source, var_Target) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - // Source is exported - // Target is exported - find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Source, var_Target) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - // Source is exported - // Target is exported - find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Source, var_Target) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - // Source is exported - // Target is exported - find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Source, var_Target) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - // Source is exported - // Target is exported - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Source, var_Target) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - // Source is exported - // Target is exported - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mayEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Source, var_Target) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - // Source is exported - // Target is exported - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem); -} -private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) { - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target); -} -private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) { - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target); -} -private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) { - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand( - problem:LogicProblem, interpretation:PartialInterpretation, - var_SourceSubsystem) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - // SourceSubsystem is exported - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand( - problem:LogicProblem, interpretation:PartialInterpretation, - var_SourceSubsystem) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - // SourceSubsystem is exported - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand( - problem:LogicProblem, interpretation:PartialInterpretation, - var_SourceSubsystem) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - // SourceSubsystem is exported - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); - // Sat is exported - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_SourceComm); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm); - find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_TargetComm); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mayEquivalent(problem, interpretation, var_virtual2, var_TargetComm); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find interpretation(problem,interpretation); - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); - // Comm is exported - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find interpretation(problem,interpretation); - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); - // Comm is exported - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find interpretation(problem,interpretation); - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); - // Comm is exported - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Network) -{ - find interpretation(problem,interpretation); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network); - // Network is exported - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Network) -{ - find interpretation(problem,interpretation); - find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network); - // Network is exported - find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Network) -{ - find interpretation(problem,interpretation); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network); - // Network is exported - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_Comm); - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_Comm); - find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_Comm); - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries smallSat -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat); - // Sat is exported - find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat); -} - -////////// -// 1.4 Containment Indexer -////////// -private pattern mustContains2(source: DefinedElement, target: DefinedElement) { - find mustContains4(_,_,source,target); -} - -private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target: DefinedElement) - { find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target); }or - - { find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target); }or - - { find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); }or - - { find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); } - -private pattern mustTransitiveContains(source,target) { - find mustContains2+(source,target); -} - -////////// -// 2. Invalidation Indexers -////////// -// 2.1 Invalidated by WF Queries -////////// -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation, - var_SourceSubsystem) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft); -} - -////////// -// 3. Unfinishedness Indexers -////////// -// 3.1 Unfinishedness Measured by Multiplicity -////////// -pattern unfinishedLowerMultiplicity_groundStationNetwork_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) { - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,object); - numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,object,_); - check(numberOfExistingReferences < 1); - missingMultiplicity == eval(1-numberOfExistingReferences); -} -pattern unfinishedLowerMultiplicity_spacecraft_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) { - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,object); - numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,object,_); - check(numberOfExistingReferences < 2); - missingMultiplicity == eval(2-numberOfExistingReferences); -} -pattern unfinishedLowerMultiplicity_commSubsystem_reference_CommunicatingElement(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) { - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement"); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,object); - numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,object,_); - check(numberOfExistingReferences < 1); - missingMultiplicity == eval(1-numberOfExistingReferences); -} - -////////// -// 3.2 Unfinishedness Measured by WF Queries -////////// -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation, - var_SourceSubsystem) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft); -} - -////////// -// 4. Refinement Indexers -////////// -// 4.1 Object constructors -////////// -private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfConstellationMission_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryPayload_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfPayload_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat6U_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfXCommSubsystem_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat3U_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSmallSat_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -} -pattern createObject_InterferometryPayload_class_by_payload_reference_Spacecraft( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"payload reference Spacecraft"); - find mustInstanceOfSpacecraft_class(problem,interpretation,container); - find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject); - find mayInRelationpayload_reference_Spacecraft(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_InterferometryPayload_class( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class"); - find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,container); - find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_CubeSat6U_class( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class"); - find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,container); - find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject); - find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_GroundStationNetwork_class_UndefinedPart( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart"); - find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_UHFCommSubsystem_class_by_commSubsystem_reference_CommunicatingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement"); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,container); - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_UHFCommSubsystem_class( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class"); - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,container); - find mayInstanceOfSmallSat_class(problem,interpretation,newObject); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_SmallSat_class( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class"); - find mayInstanceOfSmallSat_class(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_KaCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement"); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,container); - find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_KaCommSubsystem_class_UndefinedPart( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart"); - find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_CubeSat3U_class_by_spacecraft_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,container); - find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_CubeSat3U_class( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class"); - find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_XCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement"); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,container); - find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_XCommSubsystem_class_UndefinedPart( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart"); - find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_InterferometryMission_class_UndefinedPart( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart"); - find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} - -////////// -// 4.2 Type refinement -////////// -pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfInterferometryPayload_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); -} -pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); -} -pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); -} -pattern refineTypeTo_UHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); -} -pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); -} -pattern refineTypeTo_KaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); -} -pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); -} -pattern refineTypeTo_XCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); -} -pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); -} - -////////// -// 4.3 Relation refinement -////////// -pattern refineRelation_target_reference_CommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - relationIterpretation:PartialRelationInterpretation, - from: DefinedElement, to: DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem"); - find mustExist(problem, interpretation, from); - find mustExist(problem, interpretation, to); - find mustInstanceOfCommSubsystem_class(problem,interpretation,from); - find mustInstanceOfCommSubsystem_class(problem,interpretation,to); - find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to); - neg find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to); -} - diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run4/init.partialmodel b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run4/init.partialmodel deleted file mode 100644 index 01b90968..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run4/init.partialmodel +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run5/generated3valued.vql_deactivated b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run5/generated3valued.vql_deactivated deleted file mode 100644 index c96a951c..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run5/generated3valued.vql_deactivated +++ /dev/null @@ -1,3000 +0,0 @@ -import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" -import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem" -import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" - -////////// -// 0. Util -////////// -private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) { - PartialInterpretation.problem(interpretation,problem); -} - -///////////////////////// -// 0.1 Existence -///////////////////////// -private pattern mustExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - find interpretation(problem,interpretation); - LogicProblem.elements(problem,element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); -} - -private pattern mayExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - find mustExist(problem,interpretation,element); -} or { - find interpretation(problem,interpretation); - neg find elementCloseWorld(element); - PartialInterpretation.openWorldElements(interpretation,element); -} - -private pattern elementCloseWorld(element:DefinedElement) { - PartialInterpretation.openWorldElements(i,element); - PartialInterpretation.maxNewElements(i,0); -} or { - Scope.targetTypeInterpretation(scope,interpretation); - PartialTypeInterpratation.elements(interpretation,element); - Scope.maxNewElements(scope,0); -} - -//////////////////////// -// 0.2 Equivalence -//////////////////////// -pattern mayEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) { - find mayExist(problem,interpretation,a); - find mayExist(problem,interpretation,b); - a == b; -} -pattern mustEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) { - find mustExist(problem,interpretation,a); - find mustExist(problem,interpretation,b); - a == b; -} - -//////////////////////// -// 0.3 Required Patterns by TypeIndexer -//////////////////////// -private pattern typeInterpretation(problem:LogicProblem, interpretation:PartialInterpretation, type:TypeDeclaration, typeInterpretation:PartialComplexTypeInterpretation) { - find interpretation(problem,interpretation); - LogicProblem.types(problem,type); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); -} - -private pattern directInstanceOf(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, type:Type) { - find interpretation(problem,interpretation); - LogicProblem.types(problem,type); - TypeDefinition.elements(type,element); -} or { - find interpretation(problem,interpretation); - find typeInterpretation(problem,interpretation,type,typeInterpretation); - PartialComplexTypeInterpretation.elements(typeInterpretation,element); -} - -private pattern isPrimitive(element: PrimitiveElement) { - PrimitiveElement(element); -} - -////////// -// 1. Problem-Specific Base Indexers -////////// -// 1.1 Type Indexers -////////// -// 1.1.1 primitive Type Indexers -////////// - -////////// -// 1.1.2 domain-specific Type Indexers -////////// -/** - * An element must be an instance of type "ConstellationMission class". - */ -private pattern mustInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"ConstellationMission class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"ConstellationMission class"); -} - -/** - * An element may be an instance of type "ConstellationMission class". - */ -private pattern mayInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewConstellationMission_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewConstellationMission_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfConstellationMission_class(problem,interpretation,element); } -/** - * An element must be an instance of type "InterferometryMission class". - */ -private pattern mustInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"InterferometryMission class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"InterferometryMission class"); -} - -/** - * An element may be an instance of type "InterferometryMission class". - */ -private pattern mayInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfInterferometryMission_class(problem,interpretation,element); } -/** - * An element must be an instance of type "CommunicatingElement class". - */ -private pattern mustInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CommunicatingElement class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CommunicatingElement class"); -} - -/** - * An element may be an instance of type "CommunicatingElement class". - */ -private pattern mayInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); - neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); - neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); } -/** - * An element must be an instance of type "GroundStationNetwork class". - */ -private pattern mustInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"GroundStationNetwork class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"GroundStationNetwork class"); -} - -/** - * An element may be an instance of type "GroundStationNetwork class". - */ -private pattern mayInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); - neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); - neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); } -/** - * An element must be an instance of type "Spacecraft class". - */ -private pattern mustInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"Spacecraft class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"Spacecraft class"); -} - -/** - * An element may be an instance of type "Spacecraft class". - */ -private pattern mayInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewSpacecraft_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewSpacecraft_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfSpacecraft_class(problem,interpretation,element); } -/** - * An element must be an instance of type "CommSubsystem class". - */ -private pattern mustInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CommSubsystem class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CommSubsystem class"); -} - -/** - * An element may be an instance of type "CommSubsystem class". - */ -private pattern mayInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCommSubsystem_class(problem,interpretation,element); } -/** - * An element must be an instance of type "Payload class". - */ -private pattern mustInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"Payload class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"Payload class"); -} - -/** - * An element may be an instance of type "Payload class". - */ -private pattern mayInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewPayload_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewPayload_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfPayload_class(problem,interpretation,element); } -/** - * An element must be an instance of type "InterferometryPayload class". - */ -private pattern mustInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"InterferometryPayload class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"InterferometryPayload class"); -} - -/** - * An element may be an instance of type "InterferometryPayload class". - */ -private pattern mayInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); } -/** - * An element must be an instance of type "CubeSat3U class". - */ -private pattern mustInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CubeSat3U class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CubeSat3U class"); -} - -/** - * An element may be an instance of type "CubeSat3U class". - */ -private pattern mayInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCubeSat3U_class(problem,interpretation,element); } -/** - * An element must be an instance of type "CubeSat6U class". - */ -private pattern mustInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CubeSat6U class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CubeSat6U class"); -} - -/** - * An element may be an instance of type "CubeSat6U class". - */ -private pattern mayInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCubeSat6U_class(problem,interpretation,element); } -/** - * An element must be an instance of type "SmallSat class". - */ -private pattern mustInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"SmallSat class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"SmallSat class"); -} - -/** - * An element may be an instance of type "SmallSat class". - */ -private pattern mayInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewSmallSat_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewSmallSat_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfSmallSat_class(problem,interpretation,element); } -/** - * An element must be an instance of type "CubeSat class". - */ -private pattern mustInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CubeSat class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CubeSat class"); -} - -/** - * An element may be an instance of type "CubeSat class". - */ -private pattern mayInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCubeSat_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCubeSat_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCubeSat_class(problem,interpretation,element); } -/** - * An element must be an instance of type "UHFCommSubsystem class". - */ -private pattern mustInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"UHFCommSubsystem class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"UHFCommSubsystem class"); -} - -/** - * An element may be an instance of type "UHFCommSubsystem class". - */ -private pattern mayInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); } -/** - * An element must be an instance of type "XCommSubsystem class". - */ -private pattern mustInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"XCommSubsystem class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"XCommSubsystem class"); -} - -/** - * An element may be an instance of type "XCommSubsystem class". - */ -private pattern mayInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); } -/** - * An element must be an instance of type "KaCommSubsystem class". - */ -private pattern mustInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"KaCommSubsystem class"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"KaCommSubsystem class"); -} - -/** - * An element may be an instance of type "KaCommSubsystem class". - */ -private pattern mayInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); } -/** - * An element must be an instance of type "ConstellationMission class DefinedPart". - */ -private pattern mustInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"ConstellationMission class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"ConstellationMission class DefinedPart"); -} - -/** - * An element may be an instance of type "ConstellationMission class DefinedPart". - */ -private pattern mayInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "ConstellationMission class UndefinedPart". - */ -private pattern mustInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"ConstellationMission class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"ConstellationMission class UndefinedPart"); -} - -/** - * An element may be an instance of type "ConstellationMission class UndefinedPart". - */ -private pattern mayInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "InterferometryMission class DefinedPart". - */ -private pattern mustInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"InterferometryMission class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"InterferometryMission class DefinedPart"); -} - -/** - * An element may be an instance of type "InterferometryMission class DefinedPart". - */ -private pattern mayInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "InterferometryMission class UndefinedPart". - */ -private pattern mustInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"InterferometryMission class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"InterferometryMission class UndefinedPart"); -} - -/** - * An element may be an instance of type "InterferometryMission class UndefinedPart". - */ -private pattern mayInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "CommunicatingElement class DefinedPart". - */ -private pattern mustInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CommunicatingElement class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CommunicatingElement class DefinedPart"); -} - -/** - * An element may be an instance of type "CommunicatingElement class DefinedPart". - */ -private pattern mayInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "CommunicatingElement class UndefinedPart". - */ -private pattern mustInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CommunicatingElement class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CommunicatingElement class UndefinedPart"); -} - -/** - * An element may be an instance of type "CommunicatingElement class UndefinedPart". - */ -private pattern mayInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "GroundStationNetwork class DefinedPart". - */ -private pattern mustInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"GroundStationNetwork class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"GroundStationNetwork class DefinedPart"); -} - -/** - * An element may be an instance of type "GroundStationNetwork class DefinedPart". - */ -private pattern mayInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "GroundStationNetwork class UndefinedPart". - */ -private pattern mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"GroundStationNetwork class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"GroundStationNetwork class UndefinedPart"); -} - -/** - * An element may be an instance of type "GroundStationNetwork class UndefinedPart". - */ -private pattern mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "CommSubsystem class DefinedPart". - */ -private pattern mustInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CommSubsystem class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CommSubsystem class DefinedPart"); -} - -/** - * An element may be an instance of type "CommSubsystem class DefinedPart". - */ -private pattern mayInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "CommSubsystem class UndefinedPart". - */ -private pattern mustInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"CommSubsystem class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"CommSubsystem class UndefinedPart"); -} - -/** - * An element may be an instance of type "CommSubsystem class UndefinedPart". - */ -private pattern mayInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "XCommSubsystem class DefinedPart". - */ -private pattern mustInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"XCommSubsystem class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"XCommSubsystem class DefinedPart"); -} - -/** - * An element may be an instance of type "XCommSubsystem class DefinedPart". - */ -private pattern mayInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "XCommSubsystem class UndefinedPart". - */ -private pattern mustInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"XCommSubsystem class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"XCommSubsystem class UndefinedPart"); -} - -/** - * An element may be an instance of type "XCommSubsystem class UndefinedPart". - */ -private pattern mayInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "KaCommSubsystem class DefinedPart". - */ -private pattern mustInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"KaCommSubsystem class DefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"KaCommSubsystem class DefinedPart"); -} - -/** - * An element may be an instance of type "KaCommSubsystem class DefinedPart". - */ -private pattern mayInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,element); } -/** - * An element must be an instance of type "KaCommSubsystem class UndefinedPart". - */ -private pattern mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"KaCommSubsystem class UndefinedPart"); - find directInstanceOf(problem,interpretation,element,type); -} -private pattern scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { - find interpretation(problem,interpretation); - PartialInterpretation.scopes(interpretation,scope); - Scope.targetTypeInterpretation(scope,typeInterpretation); - Scope.maxNewElements(scope,0); - PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"KaCommSubsystem class UndefinedPart"); -} - -/** - * An element may be an instance of type "KaCommSubsystem class UndefinedPart". - */ -private pattern mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or { - find interpretation(problem,interpretation); - PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); - neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation); - neg find isPrimitive(element); -} or -{ find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); } - -////////// -// 1.2 Relation Declaration Indexers -////////// -/** - * Matcher for detecting tuples t where []groundStationNetwork reference ConstellationMission(source,target) - */ -private pattern mustInRelationgroundStationNetwork_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission"); - PartialRelationInterpretation.relationlinks(relationIterpretation,link); - BinaryElementRelationLink.param1(link,source); - BinaryElementRelationLink.param2(link,target); -} -/** - * Matcher for detecting tuples t where <>groundStationNetwork reference ConstellationMission(source,target) - */ -private pattern mayInRelationgroundStationNetwork_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - // The two endpoint of the link have to exist - find mayExist(problem, interpretation, source); - find mayExist(problem, interpretation, target); - // Type consistency - find mayInstanceOfConstellationMission_class(problem,interpretation,source); - find mayInstanceOfGroundStationNetwork_class(problem,interpretation,target); - // There are "numberOfExistingReferences" currently existing instances of the reference from the source, - // the upper bound of the multiplicity should be considered. - numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,_); - check(numberOfExistingReferences < 1); - // The reference is containment, then a new reference cannot be create if: - // 1. Multiple parents - neg find mustContains4(problem,interpretation,_,target); - // 2. Circle in the containment hierarchy - neg find mustTransitiveContains(source,target); -} or { - find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target); -} -/** - * Matcher for detecting tuples t where []spacecraft reference ConstellationMission(source,target) - */ -private pattern mustInRelationspacecraft_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission"); - PartialRelationInterpretation.relationlinks(relationIterpretation,link); - BinaryElementRelationLink.param1(link,source); - BinaryElementRelationLink.param2(link,target); -} -/** - * Matcher for detecting tuples t where <>spacecraft reference ConstellationMission(source,target) - */ -private pattern mayInRelationspacecraft_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - // The two endpoint of the link have to exist - find mayExist(problem, interpretation, source); - find mayExist(problem, interpretation, target); - // Type consistency - find mayInstanceOfConstellationMission_class(problem,interpretation,source); - find mayInstanceOfSpacecraft_class(problem,interpretation,target); - // There are "numberOfExistingReferences" currently existing instances of the reference from the source, - // the upper bound of the multiplicity should be considered. - numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,_); - check(numberOfExistingReferences < 50); - // The reference is containment, then a new reference cannot be create if: - // 1. Multiple parents - neg find mustContains4(problem,interpretation,_,target); - // 2. Circle in the containment hierarchy - neg find mustTransitiveContains(source,target); -} or { - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target); -} -/** - * Matcher for detecting tuples t where []commSubsystem reference CommunicatingElement(source,target) - */ -private pattern mustInRelationcommSubsystem_reference_CommunicatingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement"); - PartialRelationInterpretation.relationlinks(relationIterpretation,link); - BinaryElementRelationLink.param1(link,source); - BinaryElementRelationLink.param2(link,target); -} -/** - * Matcher for detecting tuples t where <>commSubsystem reference CommunicatingElement(source,target) - */ -private pattern mayInRelationcommSubsystem_reference_CommunicatingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - // The two endpoint of the link have to exist - find mayExist(problem, interpretation, source); - find mayExist(problem, interpretation, target); - // Type consistency - find mayInstanceOfCommunicatingElement_class(problem,interpretation,source); - find mayInstanceOfCommSubsystem_class(problem,interpretation,target); - // There are "numberOfExistingReferences" currently existing instances of the reference from the source, - // the upper bound of the multiplicity should be considered. - numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,_); - check(numberOfExistingReferences < 2); - // The reference is containment, then a new reference cannot be create if: - // 1. Multiple parents - neg find mustContains4(problem,interpretation,_,target); - // 2. Circle in the containment hierarchy - neg find mustTransitiveContains(source,target); -} or { - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); -} -/** - * Matcher for detecting tuples t where []payload reference Spacecraft(source,target) - */ -private pattern mustInRelationpayload_reference_Spacecraft( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"payload reference Spacecraft"); - PartialRelationInterpretation.relationlinks(relationIterpretation,link); - BinaryElementRelationLink.param1(link,source); - BinaryElementRelationLink.param2(link,target); -} -/** - * Matcher for detecting tuples t where <>payload reference Spacecraft(source,target) - */ -private pattern mayInRelationpayload_reference_Spacecraft( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - // The two endpoint of the link have to exist - find mayExist(problem, interpretation, source); - find mayExist(problem, interpretation, target); - // Type consistency - find mayInstanceOfSpacecraft_class(problem,interpretation,source); - find mayInstanceOfPayload_class(problem,interpretation,target); - // There are "numberOfExistingReferences" currently existing instances of the reference from the source, - // the upper bound of the multiplicity should be considered. - numberOfExistingReferences == count find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,_); - check(numberOfExistingReferences < 1); - // The reference is containment, then a new reference cannot be create if: - // 1. Multiple parents - neg find mustContains4(problem,interpretation,_,target); - // 2. Circle in the containment hierarchy - neg find mustTransitiveContains(source,target); -} or { - find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); -} -/** - * Matcher for detecting tuples t where []target reference CommSubsystem(source,target) - */ -private pattern mustInRelationtarget_reference_CommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem"); - PartialRelationInterpretation.relationlinks(relationIterpretation,link); - BinaryElementRelationLink.param1(link,source); - BinaryElementRelationLink.param2(link,target); -} -/** - * Matcher for detecting tuples t where <>target reference CommSubsystem(source,target) - */ -private pattern mayInRelationtarget_reference_CommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - // The two endpoint of the link have to exist - find mayExist(problem, interpretation, source); - find mayExist(problem, interpretation, target); - // Type consistency - find mayInstanceOfCommSubsystem_class(problem,interpretation,source); - find mayInstanceOfCommSubsystem_class(problem,interpretation,target); - // There are "numberOfExistingReferences" currently existing instances of the reference from the source, - // the upper bound of the multiplicity should be considered. - numberOfExistingReferences == count find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,_); - check(numberOfExistingReferences < 1); -} or { - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,target); -} - -////////// -// 1.3 Relation Definition Indexers -////////// -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - // Element is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1); - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2); - neg find mayEquivalent(problem, interpretation, var_Comm1, var_Comm2); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - // Element is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1); - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2); - neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - // Element is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1); - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2); - neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries transmittingCommSubsystem -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element, var_Comm) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // Element is exported - // Comm is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_Comm); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, _var__0); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element, var_Comm) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // Element is exported - // Comm is exported - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_Comm); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, _var__0); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element, var_Comm) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // Element is exported - // Comm is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_Comm); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, _var__0); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - // Mission is exported - find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find interpretation(problem,interpretation); - find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - // Mission is exported - find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - // Mission is exported - find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - // Mission is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1); - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2); - neg find mayEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find interpretation(problem,interpretation); - find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - // Mission is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1); - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2); - neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission); - // Mission is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1); - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2); - neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission, var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Mission is exported - // Spacecraft is exported - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1); - find mustInstanceOfPayload_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_Payload); - find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission, var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Mission is exported - // Spacecraft is exported - find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_Spacecraft); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - find mayInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1); - find mayInstanceOfPayload_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_Payload); - find mayInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission, var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Mission is exported - // Spacecraft is exported - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1); - find mustInstanceOfPayload_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_Payload); - find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation); - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation); - find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation); - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation); - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation); - find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation); - find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission); - find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From); -}or{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From); -}or{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From); - find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_To); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To); -} -private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) { - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To); -} -private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) { - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To); -} -private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) { - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys); - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_From); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_FromSys); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_ToSys); - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys); - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingCommSubsystem -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From); - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To); -}or{ - find interpretation(problem,interpretation); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_From); - find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_To); -}or{ - find interpretation(problem,interpretation); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_From); - find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_To); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); - // From is exported - // To is exported - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From); - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); - // Sat is exported - find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat6U -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); - // Sat is exported - find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - // Element is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - // Element is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); - // Element is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Source, var_Target) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - // Source is exported - // Target is exported - find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Source, var_Target) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - // Source is exported - // Target is exported - find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Source, var_Target) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - // Source is exported - // Target is exported - find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Source, var_Target) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - // Source is exported - // Target is exported - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Source, var_Target) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - // Source is exported - // Target is exported - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mayEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Source, var_Target) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - // Source is exported - // Target is exported - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem); -} -private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) { - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target); -} -private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) { - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target); -} -private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) { - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand( - problem:LogicProblem, interpretation:PartialInterpretation, - var_SourceSubsystem) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - // SourceSubsystem is exported - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand( - problem:LogicProblem, interpretation:PartialInterpretation, - var_SourceSubsystem) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - // SourceSubsystem is exported - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand( - problem:LogicProblem, interpretation:PartialInterpretation, - var_SourceSubsystem) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - // SourceSubsystem is exported - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); - // Sat is exported - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_SourceComm); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm); - find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_TargetComm); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mayEquivalent(problem, interpretation, var_virtual2, var_TargetComm); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm); - find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find interpretation(problem,interpretation); - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); - // Comm is exported - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find interpretation(problem,interpretation); - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); - // Comm is exported - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find interpretation(problem,interpretation); - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); - // Comm is exported - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Network) -{ - find interpretation(problem,interpretation); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network); - // Network is exported - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Network) -{ - find interpretation(problem,interpretation); - find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network); - // Network is exported - find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Network) -{ - find interpretation(problem,interpretation); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network); - // Network is exported - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_Comm); - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_Comm); - find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // Spacecraft is exported - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_Comm); - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries smallSat -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat); - // Sat is exported - find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat); - // Sat is exported - find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat); -} - -////////// -// 1.4 Containment Indexer -////////// -private pattern mustContains2(source: DefinedElement, target: DefinedElement) { - find mustContains4(_,_,source,target); -} - -private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target: DefinedElement) - { find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target); }or - - { find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target); }or - - { find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); }or - - { find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); } - -private pattern mustTransitiveContains(source,target) { - find mustContains2+(source,target); -} - -////////// -// 2. Invalidation Indexers -////////// -// 2.1 Invalidated by WF Queries -////////// -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation, - var_SourceSubsystem) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft); -} - -////////// -// 3. Unfinishedness Indexers -////////// -// 3.1 Unfinishedness Measured by Multiplicity -////////// -pattern unfinishedLowerMultiplicity_groundStationNetwork_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) { - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,object); - numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,object,_); - check(numberOfExistingReferences < 1); - missingMultiplicity == eval(1-numberOfExistingReferences); -} -pattern unfinishedLowerMultiplicity_spacecraft_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) { - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,object); - numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,object,_); - check(numberOfExistingReferences < 2); - missingMultiplicity == eval(2-numberOfExistingReferences); -} -pattern unfinishedLowerMultiplicity_commSubsystem_reference_CommunicatingElement(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) { - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement"); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,object); - numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,object,_); - check(numberOfExistingReferences < 1); - missingMultiplicity == eval(1-numberOfExistingReferences); -} - -////////// -// 3.2 Unfinishedness Measured by WF Queries -////////// -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation, - var_Mission) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation, - var_Element) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation, - var_SourceSubsystem) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft); -} - -////////// -// 4. Refinement Indexers -////////// -// 4.1 Object constructors -////////// -private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfConstellationMission_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryPayload_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfPayload_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat6U_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfXCommSubsystem_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat3U_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfKaCommSubsystem_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSmallSat_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCubeSat_class(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,root); - find mustExist(problem, interpretation, root); -} -pattern createObject_InterferometryPayload_class_by_payload_reference_Spacecraft( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"payload reference Spacecraft"); - find mustInstanceOfSpacecraft_class(problem,interpretation,container); - find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject); - find mayInRelationpayload_reference_Spacecraft(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_InterferometryPayload_class( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class"); - find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,container); - find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_CubeSat6U_class( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class"); - find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,container); - find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject); - find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_GroundStationNetwork_class_UndefinedPart( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart"); - find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_UHFCommSubsystem_class_by_commSubsystem_reference_CommunicatingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement"); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,container); - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_UHFCommSubsystem_class( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class"); - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,container); - find mayInstanceOfSmallSat_class(problem,interpretation,newObject); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_SmallSat_class( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class"); - find mayInstanceOfSmallSat_class(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_KaCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement"); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,container); - find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_KaCommSubsystem_class_UndefinedPart( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart"); - find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_CubeSat3U_class_by_spacecraft_reference_ConstellationMission( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,container); - find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_CubeSat3U_class( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class"); - find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_XCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement( - problem:LogicProblem, interpretation:PartialInterpretation, - relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, - container:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart"); - PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement"); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,container); - find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject); - find mustExist(problem, interpretation, container); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_XCommSubsystem_class_UndefinedPart( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart"); - find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} -pattern createObject_InterferometryMission_class_UndefinedPart( - problem:LogicProblem, interpretation:PartialInterpretation, - typeInterpretation:PartialComplexTypeInterpretation) -{ - find interpretation(problem,interpretation); - neg find hasElementInContainment(problem,interpretation); - PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart"); - find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject); - find mayExist(problem, interpretation, newObject); - neg find mustExist(problem, interpretation, newObject); -} - -////////// -// 4.2 Type refinement -////////// -pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfInterferometryPayload_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); -} -pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); -} -pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); -} -pattern refineTypeTo_UHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); -} -pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); -} -pattern refineTypeTo_KaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); -} -pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); -} -pattern refineTypeTo_XCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); -} -pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { - find interpretation(problem,interpretation); - PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); -} - -////////// -// 4.3 Relation refinement -////////// -pattern refineRelation_target_reference_CommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - relationIterpretation:PartialRelationInterpretation, - from: DefinedElement, to: DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem"); - find mustExist(problem, interpretation, from); - find mustExist(problem, interpretation, to); - find mustInstanceOfCommSubsystem_class(problem,interpretation,from); - find mustInstanceOfCommSubsystem_class(problem,interpretation,to); - find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to); - neg find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to); -} - diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run5/init.partialmodel b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run5/init.partialmodel deleted file mode 100644 index 01b90968..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run5/init.partialmodel +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 deleted file mode 100644 index 1d3c9f62..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/log.txt +++ /dev/null @@ -1 +0,0 @@ -Model generation started diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run1/1_1.gml b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run1/1_1.gml deleted file mode 100644 index 68fc38e5..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run1/1_1.gml +++ /dev/null @@ -1,2452 +0,0 @@ -graph -[ - node - [ - id 0 - graphics - [ - w 315.70000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "o 1" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - ConstellationMission class DefinedPart - InterferometryMission class DefinedPart - ConstellationMission class - InterferometryMission class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 1 - graphics - [ - w 308.0 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "o 2" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class DefinedPart - GroundStationNetwork class DefinedPart - CommunicatingElement class - GroundStationNetwork class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 2 - graphics - [ - w 261.8 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "o 3" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class DefinedPart - XCommSubsystem class DefinedPart - CommSubsystem class - XCommSubsystem class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 3 - graphics - [ - w 269.5 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "o 4" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class DefinedPart - KaCommSubsystem class DefinedPart - CommSubsystem class - KaCommSubsystem class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 4 - graphics - [ - w 41.800000000000004 - h 26 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "true" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 5 - graphics - [ - w 50.6 - h 26 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "false" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 6 - graphics - [ - w 323.40000000000003 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - SmallSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 7 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 8 - graphics - [ - w 269.5 - h 68 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - UHFCommSubsystem class - CommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 9 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 10 - graphics - [ - w 323.40000000000003 - h 96 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - CubeSat3U class - CubeSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 11 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 12 - graphics - [ - w 269.5 - h 68 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - UHFCommSubsystem class - CommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 13 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 14 - graphics - [ - w 323.40000000000003 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - SmallSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 15 - graphics - [ - w 269.5 - h 68 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - UHFCommSubsystem class - CommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 16 - graphics - [ - w 284.90000000000003 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - KaCommSubsystem class - CommSubsystem class UndefinedPart - KaCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 17 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 18 - graphics - [ - w 323.40000000000003 - h 96 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - CubeSat6U class - CubeSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 19 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 20 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 21 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 22 - graphics - [ - w 323.40000000000003 - h 96 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - CubeSat3U class - CubeSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 23 - graphics - [ - w 269.5 - h 68 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - UHFCommSubsystem class - CommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 24 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 25 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 26 - graphics - [ - w 323.40000000000003 - h 96 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - CubeSat3U class - CubeSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 27 - graphics - [ - w 269.5 - h 68 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - UHFCommSubsystem class - CommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 28 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 29 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 30 - graphics - [ - w 323.40000000000003 - h 96 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - CubeSat3U class - CubeSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 31 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 32 - graphics - [ - w 269.5 - h 68 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - UHFCommSubsystem class - CommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 33 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 34 - graphics - [ - w 323.40000000000003 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - SmallSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 35 - graphics - [ - w 284.90000000000003 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - KaCommSubsystem class - CommSubsystem class UndefinedPart - KaCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 36 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 37 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 38 - graphics - [ - w 112.2 - h 26 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "New Integers" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 39 - graphics - [ - w 85.80000000000001 - h 26 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "New Reals" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 40 - graphics - [ - w 103.4 - h 26 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "New Strings" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 41 - graphics - [ - w 103.4 - h 26 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "New Objects" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - edge - [ - source 0 - target 1 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "groundStationNetwork reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 6 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 10 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 14 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 18 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 22 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 26 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 30 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 34 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 1 - target 2 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 1 - target 3 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 6 - target 8 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 6 - target 9 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 10 - target 11 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 10 - target 12 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 14 - target 15 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 14 - target 16 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 18 - target 19 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 18 - target 20 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 22 - target 23 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 22 - target 24 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 26 - target 27 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 26 - target 28 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 30 - target 32 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 30 - target 33 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 34 - target 35 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 34 - target 37 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 6 - target 7 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 10 - target 13 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 14 - target 17 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 18 - target 21 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 22 - target 25 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 26 - target 29 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 30 - target 31 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 34 - target 36 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 9 - target 2 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 12 - target 8 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 16 - target 3 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 19 - target 9 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 23 - target 12 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 27 - target 15 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 32 - target 15 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 35 - target 16 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] -] - diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run1/1_1.png b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run1/1_1.png deleted file mode 100644 index 7484e249..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run1/1_1.png and /dev/null differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run1/1_1.xmi b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run1/1_1.xmi deleted file mode 100644 index ba3eec9b..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run1/1_1.xmi +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run2/2_1.gml b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run2/2_1.gml deleted file mode 100644 index 00045cb3..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run2/2_1.gml +++ /dev/null @@ -1,2451 +0,0 @@ -graph -[ - node - [ - id 0 - graphics - [ - w 315.70000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "o 1" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - ConstellationMission class DefinedPart - InterferometryMission class DefinedPart - ConstellationMission class - InterferometryMission class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 1 - graphics - [ - w 308.0 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "o 2" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class DefinedPart - GroundStationNetwork class DefinedPart - CommunicatingElement class - GroundStationNetwork class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 2 - graphics - [ - w 261.8 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "o 3" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class DefinedPart - XCommSubsystem class DefinedPart - CommSubsystem class - XCommSubsystem class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 3 - graphics - [ - w 269.5 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "o 4" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class DefinedPart - KaCommSubsystem class DefinedPart - CommSubsystem class - KaCommSubsystem class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 4 - graphics - [ - w 41.800000000000004 - h 26 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "true" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 5 - graphics - [ - w 50.6 - h 26 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "false" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 6 - graphics - [ - w 323.40000000000003 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - SmallSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 7 - graphics - [ - w 269.5 - h 68 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - UHFCommSubsystem class - CommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 8 - graphics - [ - w 269.5 - h 68 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - UHFCommSubsystem class - CommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 9 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 10 - graphics - [ - w 323.40000000000003 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - SmallSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 11 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 12 - graphics - [ - w 284.90000000000003 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - KaCommSubsystem class - CommSubsystem class UndefinedPart - KaCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 13 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 14 - graphics - [ - w 323.40000000000003 - h 96 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - CubeSat6U class - CubeSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 15 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 16 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 17 - graphics - [ - w 269.5 - h 68 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - UHFCommSubsystem class - CommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 18 - graphics - [ - w 323.40000000000003 - h 96 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - CubeSat3U class - CubeSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 19 - graphics - [ - w 269.5 - h 68 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - UHFCommSubsystem class - CommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 20 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 21 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 22 - graphics - [ - w 323.40000000000003 - h 96 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - CubeSat3U class - CubeSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 23 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 24 - graphics - [ - w 269.5 - h 68 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - UHFCommSubsystem class - CommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 25 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 26 - graphics - [ - w 323.40000000000003 - h 96 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - CubeSat6U class - CubeSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 27 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 28 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 29 - graphics - [ - w 269.5 - h 68 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - UHFCommSubsystem class - CommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 30 - graphics - [ - w 323.40000000000003 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - SmallSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 31 - graphics - [ - w 284.90000000000003 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - KaCommSubsystem class - CommSubsystem class UndefinedPart - KaCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 32 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 33 - graphics - [ - w 284.90000000000003 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - KaCommSubsystem class - CommSubsystem class UndefinedPart - KaCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 34 - graphics - [ - w 323.40000000000003 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - SmallSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 35 - graphics - [ - w 284.90000000000003 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - KaCommSubsystem class - CommSubsystem class UndefinedPart - KaCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 36 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 37 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 38 - graphics - [ - w 112.2 - h 26 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "New Integers" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 39 - graphics - [ - w 85.80000000000001 - h 26 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "New Reals" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 40 - graphics - [ - w 103.4 - h 26 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "New Strings" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 41 - graphics - [ - w 103.4 - h 26 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "New Objects" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - edge - [ - source 0 - target 1 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "groundStationNetwork reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 6 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 10 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 14 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 18 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 22 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 26 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 30 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 34 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 1 - target 2 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 1 - target 3 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 6 - target 7 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 6 - target 8 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 10 - target 11 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 10 - target 12 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 14 - target 15 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 14 - target 17 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 18 - target 19 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 18 - target 21 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 22 - target 24 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 22 - target 25 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 26 - target 28 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 26 - target 29 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 30 - target 31 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 30 - target 33 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 34 - target 35 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 34 - target 37 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 6 - target 9 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 10 - target 13 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 14 - target 16 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 18 - target 20 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 22 - target 23 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 26 - target 27 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 30 - target 32 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 34 - target 36 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 11 - target 2 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 15 - target 2 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 8 - target 17 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 19 - target 8 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 24 - target 8 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 28 - target 2 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 31 - target 12 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 35 - target 3 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] -] - diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run2/2_1.png b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run2/2_1.png deleted file mode 100644 index 5a090707..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run2/2_1.png and /dev/null differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run2/2_1.xmi b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run2/2_1.xmi deleted file mode 100644 index fe90db85..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run2/2_1.xmi +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run3/3_1.gml b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run3/3_1.gml deleted file mode 100644 index 8e761fef..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run3/3_1.gml +++ /dev/null @@ -1,2451 +0,0 @@ -graph -[ - node - [ - id 0 - graphics - [ - w 315.70000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "o 1" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - ConstellationMission class DefinedPart - InterferometryMission class DefinedPart - ConstellationMission class - InterferometryMission class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 1 - graphics - [ - w 308.0 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "o 2" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class DefinedPart - GroundStationNetwork class DefinedPart - CommunicatingElement class - GroundStationNetwork class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 2 - graphics - [ - w 261.8 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "o 3" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class DefinedPart - XCommSubsystem class DefinedPart - CommSubsystem class - XCommSubsystem class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 3 - graphics - [ - w 269.5 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "o 4" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class DefinedPart - KaCommSubsystem class DefinedPart - CommSubsystem class - KaCommSubsystem class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 4 - graphics - [ - w 41.800000000000004 - h 26 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "true" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 5 - graphics - [ - w 50.6 - h 26 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "false" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 6 - graphics - [ - w 323.40000000000003 - h 96 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - CubeSat3U class - CubeSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 7 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 8 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 9 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 10 - graphics - [ - w 323.40000000000003 - h 96 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - CubeSat6U class - CubeSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 11 - graphics - [ - w 269.5 - h 68 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - UHFCommSubsystem class - CommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 12 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 13 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 14 - graphics - [ - w 323.40000000000003 - h 96 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - CubeSat3U class - CubeSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 15 - graphics - [ - w 269.5 - h 68 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - UHFCommSubsystem class - CommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 16 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 17 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 18 - graphics - [ - w 323.40000000000003 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - SmallSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 19 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 20 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 21 - graphics - [ - w 269.5 - h 68 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - UHFCommSubsystem class - CommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 22 - graphics - [ - w 323.40000000000003 - h 96 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - CubeSat3U class - CubeSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 23 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 24 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 25 - graphics - [ - w 269.5 - h 68 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - UHFCommSubsystem class - CommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 26 - graphics - [ - w 323.40000000000003 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - SmallSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 27 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 28 - graphics - [ - w 269.5 - h 68 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - UHFCommSubsystem class - CommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 29 - graphics - [ - w 269.5 - h 68 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - UHFCommSubsystem class - CommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 30 - graphics - [ - w 323.40000000000003 - h 96 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - CubeSat6U class - CubeSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 31 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 32 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 33 - graphics - [ - w 269.5 - h 68 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - UHFCommSubsystem class - CommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 34 - graphics - [ - w 323.40000000000003 - h 96 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - CubeSat6U class - CubeSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 35 - graphics - [ - w 269.5 - h 68 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - UHFCommSubsystem class - CommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 36 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 37 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 38 - graphics - [ - w 112.2 - h 26 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "New Integers" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 39 - graphics - [ - w 85.80000000000001 - h 26 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "New Reals" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 40 - graphics - [ - w 103.4 - h 26 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "New Strings" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 41 - graphics - [ - w 103.4 - h 26 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "New Objects" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - edge - [ - source 0 - target 1 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "groundStationNetwork reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 6 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 10 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 14 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 18 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 22 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 26 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 30 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 34 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 1 - target 2 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 1 - target 3 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 6 - target 7 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 6 - target 8 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 10 - target 11 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 10 - target 13 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 14 - target 15 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 14 - target 16 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 18 - target 19 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 18 - target 21 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 22 - target 24 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 22 - target 25 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 26 - target 28 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 26 - target 29 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 30 - target 31 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 30 - target 33 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 34 - target 35 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 34 - target 36 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 6 - target 9 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 10 - target 12 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 14 - target 17 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 18 - target 20 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 22 - target 23 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 26 - target 27 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 30 - target 32 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 34 - target 37 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 7 - target 2 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 13 - target 2 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 15 - target 11 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 21 - target 11 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 24 - target 2 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 29 - target 15 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 31 - target 2 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 35 - target 28 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] -] - diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run3/3_1.png b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run3/3_1.png deleted file mode 100644 index 783b9fb9..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run3/3_1.png and /dev/null differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run3/3_1.xmi b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run3/3_1.xmi deleted file mode 100644 index cccb6a10..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run3/3_1.xmi +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run4/4_1.gml b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run4/4_1.gml deleted file mode 100644 index 1329cc70..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run4/4_1.gml +++ /dev/null @@ -1,2452 +0,0 @@ -graph -[ - node - [ - id 0 - graphics - [ - w 315.70000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "o 1" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - ConstellationMission class DefinedPart - InterferometryMission class DefinedPart - ConstellationMission class - InterferometryMission class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 1 - graphics - [ - w 308.0 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "o 2" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class DefinedPart - GroundStationNetwork class DefinedPart - CommunicatingElement class - GroundStationNetwork class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 2 - graphics - [ - w 261.8 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "o 3" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class DefinedPart - XCommSubsystem class DefinedPart - CommSubsystem class - XCommSubsystem class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 3 - graphics - [ - w 269.5 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "o 4" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class DefinedPart - KaCommSubsystem class DefinedPart - CommSubsystem class - KaCommSubsystem class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 4 - graphics - [ - w 41.800000000000004 - h 26 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "true" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 5 - graphics - [ - w 50.6 - h 26 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "false" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 6 - graphics - [ - w 323.40000000000003 - h 96 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - CubeSat6U class - CubeSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 7 - graphics - [ - w 269.5 - h 68 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - UHFCommSubsystem class - CommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 8 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 9 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 10 - graphics - [ - w 323.40000000000003 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - SmallSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 11 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 12 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 13 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 14 - graphics - [ - w 323.40000000000003 - h 96 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - CubeSat3U class - CubeSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 15 - graphics - [ - w 269.5 - h 68 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - UHFCommSubsystem class - CommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 16 - graphics - [ - w 269.5 - h 68 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - UHFCommSubsystem class - CommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 17 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 18 - graphics - [ - w 323.40000000000003 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - SmallSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 19 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 20 - graphics - [ - w 284.90000000000003 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - KaCommSubsystem class - CommSubsystem class UndefinedPart - KaCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 21 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 22 - graphics - [ - w 323.40000000000003 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - SmallSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 23 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 24 - graphics - [ - w 269.5 - h 68 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - UHFCommSubsystem class - CommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 25 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 26 - graphics - [ - w 323.40000000000003 - h 96 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - CubeSat3U class - CubeSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 27 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 28 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 29 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 30 - graphics - [ - w 323.40000000000003 - h 96 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - CubeSat6U class - CubeSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 31 - graphics - [ - w 269.5 - h 68 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - UHFCommSubsystem class - CommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 32 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 33 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 34 - graphics - [ - w 323.40000000000003 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommunicatingElement class - Spacecraft class - SmallSat class - CommunicatingElement class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 35 - graphics - [ - w 277.20000000000005 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - XCommSubsystem class - CommSubsystem class UndefinedPart - XCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 36 - graphics - [ - w 223.3 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - Payload class - InterferometryPayload class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 37 - graphics - [ - w 284.90000000000003 - h 82 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - KaCommSubsystem class - CommSubsystem class UndefinedPart - KaCommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 38 - graphics - [ - w 112.2 - h 26 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "New Integers" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 39 - graphics - [ - w 85.80000000000001 - h 26 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "New Reals" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 40 - graphics - [ - w 103.4 - h 26 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "New Strings" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 41 - graphics - [ - w 103.4 - h 26 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "New Objects" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - edge - [ - source 0 - target 1 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "groundStationNetwork reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 6 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 10 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 14 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 18 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 22 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 26 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 30 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 0 - target 34 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "spacecraft reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 1 - target 2 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 1 - target 3 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 6 - target 7 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 6 - target 9 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 10 - target 11 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 10 - target 12 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 14 - target 15 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 14 - target 16 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 18 - target 19 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 18 - target 20 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 22 - target 23 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 22 - target 24 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 26 - target 27 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 26 - target 28 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 30 - target 31 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 30 - target 32 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 34 - target 35 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 34 - target 37 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "commSubsystem reference CommunicatingElement" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 6 - target 8 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 10 - target 13 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 14 - target 17 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 18 - target 21 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 22 - target 25 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 26 - target 29 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 30 - target 33 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 34 - target 36 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "payload reference Spacecraft" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 9 - target 2 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 12 - target 9 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 15 - target 7 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 19 - target 12 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 23 - target 9 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 27 - target 2 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 32 - target 9 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 35 - target 9 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] -] - diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run4/4_1.png b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run4/4_1.png deleted file mode 100644 index f39da70e..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run4/4_1.png and /dev/null differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run4/4_1.xmi b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run4/4_1.xmi deleted file mode 100644 index 5f0af641..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run4/4_1.xmi +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 8c9f4be1..a07867dc 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml @@ -7,6 +7,7 @@ + diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.CommunicationLinkOfElement.java._trace b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.CommunicationLinkOfElement.java._trace deleted file mode 100644 index 8fb61263..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.CommunicationLinkOfElement.java._trace and /dev/null differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.MultipleCommunicationLinks.java._trace b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.MultipleCommunicationLinks.java._trace deleted file mode 100644 index 64b692d3..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.MultipleCommunicationLinks.java._trace and /dev/null differ 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 deleted file mode 100644 index f6cfd36a..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.gitignore +++ /dev/null @@ -1,43 +0,0 @@ -/.SatelliteQueries.java._trace -/.NoLinkToGroundStation.java._trace -/.CommunicationLoop.java._trace -/.SingleInterferometryPayload.java._trace -/.NoInterferometryPayload.java._trace -/.NotENoughInterferometryPayloads.java._trace -/.NotEnoughInterferometryPayloads.java._trace -/.UhfAntennaGainNotLow.java._trace -/.XAntennaGainNotMedium.java._trace -/.KaAntennaGainLow.java._trace -/.IncompatibleSourceAndTarget.java._trace -/.IncompatibleSourceAndTargetBand.java._trace -/.IncompatibleSourceAndTargetGain.java._trace -/.CubeSatWithKaAntenna.java._trace -/.ThreeUCubeSatWithNonUhfCrossLink.java._trace -/.CommunicationLinkDoesNotStartAtContainingElement.java._trace -/.SpacecraftWithInterferometryPayload.java._trace -/.SatelliteMetrics.java._trace -/.CoverageMetric.java._trace -/.TimeMetric.java._trace -/.CostMetric.java._trace -/.SpacecraftCost.java._trace -/.SpacecraftOfKind.java._trace -/.NoPotentialLinkToGroundStation.java._trace -/.SmallSat.java._trace -/CommunicationLinkDoesNotStartAtContainingElement.java -/CommunicationLoop.java -/CostMetric.java -/CoverageMetric.java -/CubeSatWithKaAntenna.java -/IncompatibleSourceAndTargetBand.java -/IncompatibleSourceAndTargetGain.java -/KaAntennaGainLow.java -/NoLinkToGroundStation.java -/NoPotentialLinkToGroundStation.java -/NotEnoughInterferometryPayloads.java -/SatelliteQueries.java -/SmallSat.java -/SpacecraftOfKind.java -/ThreeUCubeSatWithNonUhfCrossLink.java -/TimeMetric.java -/UhfAntennaGainNotLow.java -/XAntennaGainNotMedium.java diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLinkDoesNotStartAtContainingElement.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLinkDoesNotStartAtContainingElement.java deleted file mode 100644 index a23cb415..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLinkDoesNotStartAtContainingElement.java +++ /dev/null @@ -1,562 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.TransmittingCommSubsystem; -import java.util.Arrays; -import java.util.Collection; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; -import java.util.function.Consumer; -import java.util.stream.Collectors; -import java.util.stream.Stream; -import org.apache.log4j.Logger; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.viatra.query.runtime.api.IPatternMatch; -import org.eclipse.viatra.query.runtime.api.IQuerySpecification; -import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification; -import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; -import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; -import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Inequality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; -import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; -import satellite.CommunicatingElement; - -/** - * A pattern-specific query specification that can instantiate Matcher in a type-safe way. - * - *

Original source: - *

- *         {@literal @}Constraint(severity = "error", key = {Element},
- *         	message = "A communicating element may not have two transmitting communication subsystems..")
- *         pattern communicationLinkDoesNotStartAtContainingElement(Element : CommunicatingElement) {
- *         	find transmittingCommSubsystem(Element, Comm1);
- *         	find transmittingCommSubsystem(Element, Comm2);
- *         	Comm1 != Comm2;
- *         }
- * 
- * - * @see Matcher - * @see Match - * - */ -@SuppressWarnings("all") -public final class CommunicationLinkDoesNotStartAtContainingElement extends BaseGeneratedEMFQuerySpecification { - /** - * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement pattern, - * to be used in conjunction with {@link Matcher}. - * - *

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

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

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

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

Original source: - *

-   * {@literal @}Constraint(severity = "error", key = {Element},
-   * 	message = "A communicating element may not have two transmitting communication subsystems..")
-   * pattern communicationLinkDoesNotStartAtContainingElement(Element : CommunicatingElement) {
-   * 	find transmittingCommSubsystem(Element, Comm1);
-   * 	find transmittingCommSubsystem(Element, Comm2);
-   * 	Comm1 != Comm2;
-   * }
-   * 
- * - * @see Match - * @see CommunicationLinkDoesNotStartAtContainingElement - * - */ - public static class Matcher extends BaseMatcher { - /** - * Initializes the pattern matcher within an existing VIATRA Query engine. - * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. - * - * @param engine the existing VIATRA Query engine in which this matcher will be created. - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * - */ - public static CommunicationLinkDoesNotStartAtContainingElement.Matcher on(final ViatraQueryEngine engine) { - // check if matcher already exists - Matcher matcher = engine.getExistingMatcher(querySpecification()); - if (matcher == null) { - matcher = (Matcher)engine.getMatcher(querySpecification()); - } - return matcher; - } - - /** - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * @return an initialized matcher - * @noreference This method is for internal matcher initialization by the framework, do not call it manually. - * - */ - public static CommunicationLinkDoesNotStartAtContainingElement.Matcher create() { - return new Matcher(); - } - - private static final int POSITION_ELEMENT = 0; - - private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(CommunicationLinkDoesNotStartAtContainingElement.Matcher.class); - - /** - * Initializes the pattern matcher within an existing VIATRA Query engine. - * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. - * - * @param engine the existing VIATRA Query engine in which this matcher will be created. - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * - */ - private Matcher() { - super(querySpecification()); - } - - /** - * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. - * @param pElement the fixed value of pattern parameter Element, or null if not bound. - * @return matches represented as a Match object. - * - */ - public Collection getAllMatches(final CommunicatingElement pElement) { - return rawStreamAllMatches(new Object[]{pElement}).collect(Collectors.toSet()); - } - - /** - * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters. - *

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

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

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

The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final CommunicationLinkDoesNotStartAtContainingElement.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Element = new PParameter("Element", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Element); - - private GeneratedPQuery() { - super(PVisibility.PUBLIC); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Element"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Element = body.getOrCreateVariableByName("Element"); - PVariable var_Comm1 = body.getOrCreateVariableByName("Comm1"); - PVariable var_Comm2 = body.getOrCreateVariableByName("Comm2"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Element), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Element, parameter_Element) - )); - // find transmittingCommSubsystem(Element, Comm1) - new PositivePatternCall(body, Tuples.flatTupleOf(var_Element, var_Comm1), TransmittingCommSubsystem.instance().getInternalQueryRepresentation()); - // find transmittingCommSubsystem(Element, Comm2) - new PositivePatternCall(body, Tuples.flatTupleOf(var_Element, var_Comm2), TransmittingCommSubsystem.instance().getInternalQueryRepresentation()); - // Comm1 != Comm2 - new Inequality(body, var_Comm1, var_Comm2); - bodies.add(body); - } - { - PAnnotation annotation = new PAnnotation("Constraint"); - annotation.addAttribute("severity", "error"); - annotation.addAttribute("key", Arrays.asList(new Object[] { - new ParameterReference("Element") - })); - annotation.addAttribute("message", "A communicating element may not have two transmitting communication subsystems.."); - addAnnotation(annotation); - } - return bodies; - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLoop.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLoop.java deleted file mode 100644 index ede57df8..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLoop.java +++ /dev/null @@ -1,557 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectCommunicationLink; -import java.util.Arrays; -import java.util.Collection; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; -import java.util.function.Consumer; -import java.util.stream.Collectors; -import java.util.stream.Stream; -import org.apache.log4j.Logger; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.viatra.query.runtime.api.IPatternMatch; -import org.eclipse.viatra.query.runtime.api.IQuerySpecification; -import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification; -import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; -import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; -import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; -import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; -import satellite.CommunicatingElement; - -/** - * A pattern-specific query specification that can instantiate Matcher in a type-safe way. - * - *

Original source: - *

- *         // No communication loops may exist
- *         // No spacecraft may directly communicate with itself
- *         
- *         {@literal @}Constraint(severity = "error", key = {Element},
- *         	message = "Communication loop.")
- *         pattern communicationLoop(Element : CommunicatingElement) {
- *         	find indirectCommunicationLink(Element, Element);
- *         }
- * 
- * - * @see Matcher - * @see Match - * - */ -@SuppressWarnings("all") -public final class CommunicationLoop extends BaseGeneratedEMFQuerySpecification { - /** - * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLoop pattern, - * to be used in conjunction with {@link Matcher}. - * - *

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

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

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

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

Original source: - *

-   * // No communication loops may exist
-   * // No spacecraft may directly communicate with itself
-   * 
-   * {@literal @}Constraint(severity = "error", key = {Element},
-   * 	message = "Communication loop.")
-   * pattern communicationLoop(Element : CommunicatingElement) {
-   * 	find indirectCommunicationLink(Element, Element);
-   * }
-   * 
- * - * @see Match - * @see CommunicationLoop - * - */ - public static class Matcher extends BaseMatcher { - /** - * Initializes the pattern matcher within an existing VIATRA Query engine. - * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. - * - * @param engine the existing VIATRA Query engine in which this matcher will be created. - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * - */ - public static CommunicationLoop.Matcher on(final ViatraQueryEngine engine) { - // check if matcher already exists - Matcher matcher = engine.getExistingMatcher(querySpecification()); - if (matcher == null) { - matcher = (Matcher)engine.getMatcher(querySpecification()); - } - return matcher; - } - - /** - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * @return an initialized matcher - * @noreference This method is for internal matcher initialization by the framework, do not call it manually. - * - */ - public static CommunicationLoop.Matcher create() { - return new Matcher(); - } - - private static final int POSITION_ELEMENT = 0; - - private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(CommunicationLoop.Matcher.class); - - /** - * Initializes the pattern matcher within an existing VIATRA Query engine. - * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. - * - * @param engine the existing VIATRA Query engine in which this matcher will be created. - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * - */ - private Matcher() { - super(querySpecification()); - } - - /** - * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. - * @param pElement the fixed value of pattern parameter Element, or null if not bound. - * @return matches represented as a Match object. - * - */ - public Collection getAllMatches(final CommunicatingElement pElement) { - return rawStreamAllMatches(new Object[]{pElement}).collect(Collectors.toSet()); - } - - /** - * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters. - *

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

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

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

The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final CommunicationLoop.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Element = new PParameter("Element", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Element); - - private GeneratedPQuery() { - super(PVisibility.PUBLIC); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLoop"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Element"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Element = body.getOrCreateVariableByName("Element"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Element), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Element, parameter_Element) - )); - // find indirectCommunicationLink(Element, Element) - new PositivePatternCall(body, Tuples.flatTupleOf(var_Element, var_Element), IndirectCommunicationLink.instance().getInternalQueryRepresentation()); - bodies.add(body); - } - { - PAnnotation annotation = new PAnnotation("Constraint"); - annotation.addAttribute("severity", "error"); - annotation.addAttribute("key", Arrays.asList(new Object[] { - new ParameterReference("Element") - })); - annotation.addAttribute("message", "Communication loop."); - addAnnotation(annotation); - } - return bodies; - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CubeSatWithKaAntenna.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CubeSatWithKaAntenna.java deleted file mode 100644 index f372da70..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CubeSatWithKaAntenna.java +++ /dev/null @@ -1,570 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SmallSat; -import java.util.Arrays; -import java.util.Collection; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; -import java.util.function.Consumer; -import java.util.stream.Collectors; -import java.util.stream.Stream; -import org.apache.log4j.Logger; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.viatra.query.runtime.api.IPatternMatch; -import org.eclipse.viatra.query.runtime.api.IQuerySpecification; -import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification; -import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; -import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; -import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; -import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; -import satellite.Spacecraft; - -/** - * A pattern-specific query specification that can instantiate Matcher in a type-safe way. - * - *

Original source: - *

- *         // Only a Small Satellite can be configured with a Ka-band communication system
- *         
- *         {@literal @}Constraint(severity = "error", key = {Spacecraft},
- *         	message = "Only a Small Satellite can be configured with a Ka-band communication system.")
- *         pattern cubeSatWithKaAntenna(Spacecraft : Spacecraft) {
- *         	CommunicatingElement.commSubsystem(Spacecraft, Comm);
- *         	KaCommSubsystem(Comm);
- *         	neg find smallSat(Spacecraft);
- *         }
- * 
- * - * @see Matcher - * @see Match - * - */ -@SuppressWarnings("all") -public final class CubeSatWithKaAntenna extends BaseGeneratedEMFQuerySpecification { - /** - * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSatWithKaAntenna pattern, - * to be used in conjunction with {@link Matcher}. - * - *

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

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

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

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

Original source: - *

-   * // Only a Small Satellite can be configured with a Ka-band communication system
-   * 
-   * {@literal @}Constraint(severity = "error", key = {Spacecraft},
-   * 	message = "Only a Small Satellite can be configured with a Ka-band communication system.")
-   * pattern cubeSatWithKaAntenna(Spacecraft : Spacecraft) {
-   * 	CommunicatingElement.commSubsystem(Spacecraft, Comm);
-   * 	KaCommSubsystem(Comm);
-   * 	neg find smallSat(Spacecraft);
-   * }
-   * 
- * - * @see Match - * @see CubeSatWithKaAntenna - * - */ - public static class Matcher extends BaseMatcher { - /** - * Initializes the pattern matcher within an existing VIATRA Query engine. - * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. - * - * @param engine the existing VIATRA Query engine in which this matcher will be created. - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * - */ - public static CubeSatWithKaAntenna.Matcher on(final ViatraQueryEngine engine) { - // check if matcher already exists - Matcher matcher = engine.getExistingMatcher(querySpecification()); - if (matcher == null) { - matcher = (Matcher)engine.getMatcher(querySpecification()); - } - return matcher; - } - - /** - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * @return an initialized matcher - * @noreference This method is for internal matcher initialization by the framework, do not call it manually. - * - */ - public static CubeSatWithKaAntenna.Matcher create() { - return new Matcher(); - } - - private static final int POSITION_SPACECRAFT = 0; - - private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(CubeSatWithKaAntenna.Matcher.class); - - /** - * Initializes the pattern matcher within an existing VIATRA Query engine. - * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. - * - * @param engine the existing VIATRA Query engine in which this matcher will be created. - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * - */ - private Matcher() { - super(querySpecification()); - } - - /** - * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. - * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. - * @return matches represented as a Match object. - * - */ - public Collection getAllMatches(final Spacecraft pSpacecraft) { - return rawStreamAllMatches(new Object[]{pSpacecraft}).collect(Collectors.toSet()); - } - - /** - * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters. - *

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

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

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

The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final CubeSatWithKaAntenna.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Spacecraft); - - private GeneratedPQuery() { - super(PVisibility.PUBLIC); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSatWithKaAntenna"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Spacecraft"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft"); - PVariable var_Comm = body.getOrCreateVariableByName("Comm"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft) - )); - // CommunicatingElement.commSubsystem(Spacecraft, Comm) - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - new Equality(body, var__virtual_0_, var_Comm); - // KaCommSubsystem(Comm) - new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "KaCommSubsystem"))); - // neg find smallSat(Spacecraft) - new NegativePatternCall(body, Tuples.flatTupleOf(var_Spacecraft), SmallSat.instance().getInternalQueryRepresentation()); - bodies.add(body); - } - { - PAnnotation annotation = new PAnnotation("Constraint"); - annotation.addAttribute("severity", "error"); - annotation.addAttribute("key", Arrays.asList(new Object[] { - new ParameterReference("Spacecraft") - })); - annotation.addAttribute("message", "Only a Small Satellite can be configured with a Ka-band communication system."); - addAnnotation(annotation); - } - return bodies; - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetBand.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetBand.java deleted file mode 100644 index af53fc9f..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetBand.java +++ /dev/null @@ -1,566 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingCommSubsystem; -import java.util.Arrays; -import java.util.Collection; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; -import java.util.function.Consumer; -import java.util.stream.Collectors; -import java.util.stream.Stream; -import org.apache.log4j.Logger; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.viatra.query.runtime.api.IPatternMatch; -import org.eclipse.viatra.query.runtime.api.IQuerySpecification; -import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification; -import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; -import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; -import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; -import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; -import satellite.CommSubsystem; - -/** - * A pattern-specific query specification that can instantiate Matcher in a type-safe way. - * - *

Original source: - *

- *         // Source and target communication systems must be compatible.
- *         
- *         {@literal @}Constraint(severity = "error", key = {SourceSubsystem},
- *         	message = "Two ends of a communication link must use the same band.")
- *         pattern incompatibleSourceAndTargetBand(SourceSubsystem : CommSubsystem) {
- *         	CommSubsystem.target(SourceSubsystem, TargetSubsystem);
- *         	neg find matchingCommSubsystem(SourceSubsystem, TargetSubsystem);
- *         }
- * 
- * - * @see Matcher - * @see Match - * - */ -@SuppressWarnings("all") -public final class IncompatibleSourceAndTargetBand extends BaseGeneratedEMFQuerySpecification { - /** - * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetBand pattern, - * to be used in conjunction with {@link Matcher}. - * - *

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

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

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

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

Original source: - *

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

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

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

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

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

Original source: - *

- *         // All spacecraft must have some communication path to the ground station
- *         
- *         {@literal @}Constraint(severity = "error", key = {Spacecraft},
- *         	message = "Spacecraft has no communication path to the ground station.")
- *         pattern noLinkToGroundStation(Spacecraft : Spacecraft) {
- *         	ConstellationMission.groundStationNetwork(Mission, GroundStation);
- *         	ConstellationMission.spacecraft(Mission, Spacecraft);
- *         	neg find indirectCommunicationLink(Spacecraft, GroundStation);
- *         }
- * 
- * - * @see Matcher - * @see Match - * - */ -@SuppressWarnings("all") -public final class NoLinkToGroundStation extends BaseGeneratedEMFQuerySpecification { - /** - * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noLinkToGroundStation pattern, - * to be used in conjunction with {@link Matcher}. - * - *

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

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

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

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

Original source: - *

-   * // All spacecraft must have some communication path to the ground station
-   * 
-   * {@literal @}Constraint(severity = "error", key = {Spacecraft},
-   * 	message = "Spacecraft has no communication path to the ground station.")
-   * pattern noLinkToGroundStation(Spacecraft : Spacecraft) {
-   * 	ConstellationMission.groundStationNetwork(Mission, GroundStation);
-   * 	ConstellationMission.spacecraft(Mission, Spacecraft);
-   * 	neg find indirectCommunicationLink(Spacecraft, GroundStation);
-   * }
-   * 
- * - * @see Match - * @see NoLinkToGroundStation - * - */ - public static class Matcher extends BaseMatcher { - /** - * Initializes the pattern matcher within an existing VIATRA Query engine. - * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. - * - * @param engine the existing VIATRA Query engine in which this matcher will be created. - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * - */ - public static NoLinkToGroundStation.Matcher on(final ViatraQueryEngine engine) { - // check if matcher already exists - Matcher matcher = engine.getExistingMatcher(querySpecification()); - if (matcher == null) { - matcher = (Matcher)engine.getMatcher(querySpecification()); - } - return matcher; - } - - /** - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * @return an initialized matcher - * @noreference This method is for internal matcher initialization by the framework, do not call it manually. - * - */ - public static NoLinkToGroundStation.Matcher create() { - return new Matcher(); - } - - private static final int POSITION_SPACECRAFT = 0; - - private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(NoLinkToGroundStation.Matcher.class); - - /** - * Initializes the pattern matcher within an existing VIATRA Query engine. - * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. - * - * @param engine the existing VIATRA Query engine in which this matcher will be created. - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * - */ - private Matcher() { - super(querySpecification()); - } - - /** - * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. - * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. - * @return matches represented as a Match object. - * - */ - public Collection getAllMatches(final Spacecraft pSpacecraft) { - return rawStreamAllMatches(new Object[]{pSpacecraft}).collect(Collectors.toSet()); - } - - /** - * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters. - *

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

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

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

The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final NoLinkToGroundStation.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Spacecraft); - - private GeneratedPQuery() { - super(PVisibility.PUBLIC); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noLinkToGroundStation"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Spacecraft"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft"); - PVariable var_Mission = body.getOrCreateVariableByName("Mission"); - PVariable var_GroundStation = body.getOrCreateVariableByName("GroundStation"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft) - )); - // ConstellationMission.groundStationNetwork(Mission, GroundStation) - new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "ConstellationMission"))); - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Mission, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "ConstellationMission", "groundStationNetwork"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "GroundStationNetwork"))); - new Equality(body, var__virtual_0_, var_GroundStation); - // ConstellationMission.spacecraft(Mission, Spacecraft) - new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "ConstellationMission"))); - PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Mission, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "ConstellationMission", "spacecraft"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - new Equality(body, var__virtual_1_, var_Spacecraft); - // neg find indirectCommunicationLink(Spacecraft, GroundStation) - new NegativePatternCall(body, Tuples.flatTupleOf(var_Spacecraft, var_GroundStation), IndirectCommunicationLink.instance().getInternalQueryRepresentation()); - bodies.add(body); - } - { - PAnnotation annotation = new PAnnotation("Constraint"); - annotation.addAttribute("severity", "error"); - annotation.addAttribute("key", Arrays.asList(new Object[] { - new ParameterReference("Spacecraft") - })); - annotation.addAttribute("message", "Spacecraft has no communication path to the ground station."); - addAnnotation(annotation); - } - return bodies; - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoPotentialLinkToGroundStation.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoPotentialLinkToGroundStation.java deleted file mode 100644 index 3366de46..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NoPotentialLinkToGroundStation.java +++ /dev/null @@ -1,571 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectLinkAllowed; -import java.util.Arrays; -import java.util.Collection; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; -import java.util.function.Consumer; -import java.util.stream.Collectors; -import java.util.stream.Stream; -import org.apache.log4j.Logger; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.viatra.query.runtime.api.IPatternMatch; -import org.eclipse.viatra.query.runtime.api.IQuerySpecification; -import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification; -import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; -import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; -import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; -import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; -import satellite.Spacecraft; - -/** - * A pattern-specific query specification that can instantiate Matcher in a type-safe way. - * - *

Original source: - *

- *         {@literal @}Constraint(severity = "error", key = {Spacecraft},
- *         	message = "Spacecraft has no potential communication path to the ground station.")
- *         pattern noPotentialLinkToGroundStation(Spacecraft : Spacecraft) {
- *         	ConstellationMission.groundStationNetwork(Mission, GroundStation);
- *         	ConstellationMission.spacecraft(Mission, Spacecraft);
- *         	neg find indirectLinkAllowed(Spacecraft, GroundStation);
- *         }
- * 
- * - * @see Matcher - * @see Match - * - */ -@SuppressWarnings("all") -public final class NoPotentialLinkToGroundStation extends BaseGeneratedEMFQuerySpecification { - /** - * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noPotentialLinkToGroundStation pattern, - * to be used in conjunction with {@link Matcher}. - * - *

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

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

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

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

Original source: - *

-   * {@literal @}Constraint(severity = "error", key = {Spacecraft},
-   * 	message = "Spacecraft has no potential communication path to the ground station.")
-   * pattern noPotentialLinkToGroundStation(Spacecraft : Spacecraft) {
-   * 	ConstellationMission.groundStationNetwork(Mission, GroundStation);
-   * 	ConstellationMission.spacecraft(Mission, Spacecraft);
-   * 	neg find indirectLinkAllowed(Spacecraft, GroundStation);
-   * }
-   * 
- * - * @see Match - * @see NoPotentialLinkToGroundStation - * - */ - public static class Matcher extends BaseMatcher { - /** - * Initializes the pattern matcher within an existing VIATRA Query engine. - * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. - * - * @param engine the existing VIATRA Query engine in which this matcher will be created. - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * - */ - public static NoPotentialLinkToGroundStation.Matcher on(final ViatraQueryEngine engine) { - // check if matcher already exists - Matcher matcher = engine.getExistingMatcher(querySpecification()); - if (matcher == null) { - matcher = (Matcher)engine.getMatcher(querySpecification()); - } - return matcher; - } - - /** - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * @return an initialized matcher - * @noreference This method is for internal matcher initialization by the framework, do not call it manually. - * - */ - public static NoPotentialLinkToGroundStation.Matcher create() { - return new Matcher(); - } - - private static final int POSITION_SPACECRAFT = 0; - - private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(NoPotentialLinkToGroundStation.Matcher.class); - - /** - * Initializes the pattern matcher within an existing VIATRA Query engine. - * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. - * - * @param engine the existing VIATRA Query engine in which this matcher will be created. - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * - */ - private Matcher() { - super(querySpecification()); - } - - /** - * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. - * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. - * @return matches represented as a Match object. - * - */ - public Collection getAllMatches(final Spacecraft pSpacecraft) { - return rawStreamAllMatches(new Object[]{pSpacecraft}).collect(Collectors.toSet()); - } - - /** - * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters. - *

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

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

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

The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final NoPotentialLinkToGroundStation.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Spacecraft); - - private GeneratedPQuery() { - super(PVisibility.PUBLIC); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noPotentialLinkToGroundStation"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Spacecraft"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft"); - PVariable var_Mission = body.getOrCreateVariableByName("Mission"); - PVariable var_GroundStation = body.getOrCreateVariableByName("GroundStation"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft) - )); - // ConstellationMission.groundStationNetwork(Mission, GroundStation) - new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "ConstellationMission"))); - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Mission, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "ConstellationMission", "groundStationNetwork"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "GroundStationNetwork"))); - new Equality(body, var__virtual_0_, var_GroundStation); - // ConstellationMission.spacecraft(Mission, Spacecraft) - new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "ConstellationMission"))); - PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Mission, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "ConstellationMission", "spacecraft"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - new Equality(body, var__virtual_1_, var_Spacecraft); - // neg find indirectLinkAllowed(Spacecraft, GroundStation) - new NegativePatternCall(body, Tuples.flatTupleOf(var_Spacecraft, var_GroundStation), IndirectLinkAllowed.instance().getInternalQueryRepresentation()); - bodies.add(body); - } - { - PAnnotation annotation = new PAnnotation("Constraint"); - annotation.addAttribute("severity", "error"); - annotation.addAttribute("key", Arrays.asList(new Object[] { - new ParameterReference("Spacecraft") - })); - annotation.addAttribute("message", "Spacecraft has no potential communication path to the ground station."); - addAnnotation(annotation); - } - return bodies; - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NotEnoughInterferometryPayloads.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NotEnoughInterferometryPayloads.java deleted file mode 100644 index bdd97100..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/NotEnoughInterferometryPayloads.java +++ /dev/null @@ -1,559 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.AtLeastTwoInterferometryPayloads; -import java.util.Arrays; -import java.util.Collection; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; -import java.util.function.Consumer; -import java.util.stream.Collectors; -import java.util.stream.Stream; -import org.apache.log4j.Logger; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.viatra.query.runtime.api.IPatternMatch; -import org.eclipse.viatra.query.runtime.api.IQuerySpecification; -import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification; -import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; -import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; -import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; -import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; -import satellite.InterferometryMission; - -/** - * A pattern-specific query specification that can instantiate Matcher in a type-safe way. - * - *

Original source: - *

- *         // At least two spacecraft must have the interferometry payload configured
- *         
- *         {@literal @}Constraint(severity = "error", key = {Mission},
- *         	message = "Interferometry mission needs at least two spacecraft configured with the interferometry payload.")
- *         pattern notEnoughInterferometryPayloads(Mission : InterferometryMission) {
- *         	InterferometryMission(Mission);
- *         	neg find atLeastTwoInterferometryPayloads(Mission);
- *         }
- * 
- * - * @see Matcher - * @see Match - * - */ -@SuppressWarnings("all") -public final class NotEnoughInterferometryPayloads extends BaseGeneratedEMFQuerySpecification { - /** - * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.notEnoughInterferometryPayloads pattern, - * to be used in conjunction with {@link Matcher}. - * - *

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

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

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

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

Original source: - *

-   * // At least two spacecraft must have the interferometry payload configured
-   * 
-   * {@literal @}Constraint(severity = "error", key = {Mission},
-   * 	message = "Interferometry mission needs at least two spacecraft configured with the interferometry payload.")
-   * pattern notEnoughInterferometryPayloads(Mission : InterferometryMission) {
-   * 	InterferometryMission(Mission);
-   * 	neg find atLeastTwoInterferometryPayloads(Mission);
-   * }
-   * 
- * - * @see Match - * @see NotEnoughInterferometryPayloads - * - */ - public static class Matcher extends BaseMatcher { - /** - * Initializes the pattern matcher within an existing VIATRA Query engine. - * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. - * - * @param engine the existing VIATRA Query engine in which this matcher will be created. - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * - */ - public static NotEnoughInterferometryPayloads.Matcher on(final ViatraQueryEngine engine) { - // check if matcher already exists - Matcher matcher = engine.getExistingMatcher(querySpecification()); - if (matcher == null) { - matcher = (Matcher)engine.getMatcher(querySpecification()); - } - return matcher; - } - - /** - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * @return an initialized matcher - * @noreference This method is for internal matcher initialization by the framework, do not call it manually. - * - */ - public static NotEnoughInterferometryPayloads.Matcher create() { - return new Matcher(); - } - - private static final int POSITION_MISSION = 0; - - private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(NotEnoughInterferometryPayloads.Matcher.class); - - /** - * Initializes the pattern matcher within an existing VIATRA Query engine. - * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. - * - * @param engine the existing VIATRA Query engine in which this matcher will be created. - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * - */ - private Matcher() { - super(querySpecification()); - } - - /** - * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. - * @param pMission the fixed value of pattern parameter Mission, or null if not bound. - * @return matches represented as a Match object. - * - */ - public Collection getAllMatches(final InterferometryMission pMission) { - return rawStreamAllMatches(new Object[]{pMission}).collect(Collectors.toSet()); - } - - /** - * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters. - *

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

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

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

The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final NotEnoughInterferometryPayloads.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Mission = new PParameter("Mission", "satellite.InterferometryMission", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "InterferometryMission")), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Mission); - - private GeneratedPQuery() { - super(PVisibility.PUBLIC); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.notEnoughInterferometryPayloads"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Mission"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Mission = body.getOrCreateVariableByName("Mission"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "InterferometryMission"))); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Mission, parameter_Mission) - )); - // InterferometryMission(Mission) - new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "InterferometryMission"))); - // neg find atLeastTwoInterferometryPayloads(Mission) - new NegativePatternCall(body, Tuples.flatTupleOf(var_Mission), AtLeastTwoInterferometryPayloads.instance().getInternalQueryRepresentation()); - bodies.add(body); - } - { - PAnnotation annotation = new PAnnotation("Constraint"); - annotation.addAttribute("severity", "error"); - annotation.addAttribute("key", Arrays.asList(new Object[] { - new ParameterReference("Mission") - })); - annotation.addAttribute("message", "Interferometry mission needs at least two spacecraft configured with the interferometry payload."); - addAnnotation(annotation); - } - return bodies; - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.java deleted file mode 100644 index 9025d93a..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.java +++ /dev/null @@ -1,141 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkDoesNotStartAtContainingElement; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLoop; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CubeSatWithKaAntenna; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetBand; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoLinkToGroundStation; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoPotentialLinkToGroundStation; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NotEnoughInterferometryPayloads; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SmallSat; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.ThreeUCubeSatWithNonUhfCrossLink; -import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup; - -/** - * A pattern group formed of all public patterns defined in SatelliteQueries.vql. - * - *

Use the static instance as any {@link interface org.eclipse.viatra.query.runtime.api.IQueryGroup}, to conveniently prepare - * a VIATRA Query engine for matching all patterns originally defined in file SatelliteQueries.vql, - * in order to achieve better performance than one-by-one on-demand matcher initialization. - * - *

From package hu.bme.mit.inf.dslreasoner.domains.satellite.queries, the group contains the definition of the following patterns:

    - *
  • communicationLinkDoesNotStartAtContainingElement
  • - *
  • notEnoughInterferometryPayloads
  • - *
  • noLinkToGroundStation
  • - *
  • noPotentialLinkToGroundStation
  • - *
  • communicationLoop
  • - *
  • incompatibleSourceAndTargetBand
  • - *
  • threeUCubeSatWithNonUhfCrossLink
  • - *
  • cubeSatWithKaAntenna
  • - *
  • smallSat
  • - *
- * - * @see IQueryGroup - * - */ -@SuppressWarnings("all") -public final class SatelliteQueries extends BaseGeneratedPatternGroup { - /** - * Access the pattern group. - * - * @return the singleton instance of the group - * @throws ViatraQueryRuntimeException if there was an error loading the generated code of pattern specifications - * - */ - public static SatelliteQueries instance() { - if (INSTANCE == null) { - INSTANCE = new SatelliteQueries(); - } - return INSTANCE; - } - - private static SatelliteQueries INSTANCE; - - private SatelliteQueries() { - querySpecifications.add(CommunicationLinkDoesNotStartAtContainingElement.instance()); - querySpecifications.add(NotEnoughInterferometryPayloads.instance()); - querySpecifications.add(NoLinkToGroundStation.instance()); - querySpecifications.add(NoPotentialLinkToGroundStation.instance()); - querySpecifications.add(CommunicationLoop.instance()); - querySpecifications.add(IncompatibleSourceAndTargetBand.instance()); - querySpecifications.add(ThreeUCubeSatWithNonUhfCrossLink.instance()); - querySpecifications.add(CubeSatWithKaAntenna.instance()); - querySpecifications.add(SmallSat.instance()); - } - - public CommunicationLinkDoesNotStartAtContainingElement getCommunicationLinkDoesNotStartAtContainingElement() { - return CommunicationLinkDoesNotStartAtContainingElement.instance(); - } - - public CommunicationLinkDoesNotStartAtContainingElement.Matcher getCommunicationLinkDoesNotStartAtContainingElement(final ViatraQueryEngine engine) { - return CommunicationLinkDoesNotStartAtContainingElement.Matcher.on(engine); - } - - public NotEnoughInterferometryPayloads getNotEnoughInterferometryPayloads() { - return NotEnoughInterferometryPayloads.instance(); - } - - public NotEnoughInterferometryPayloads.Matcher getNotEnoughInterferometryPayloads(final ViatraQueryEngine engine) { - return NotEnoughInterferometryPayloads.Matcher.on(engine); - } - - public NoLinkToGroundStation getNoLinkToGroundStation() { - return NoLinkToGroundStation.instance(); - } - - public NoLinkToGroundStation.Matcher getNoLinkToGroundStation(final ViatraQueryEngine engine) { - return NoLinkToGroundStation.Matcher.on(engine); - } - - public NoPotentialLinkToGroundStation getNoPotentialLinkToGroundStation() { - return NoPotentialLinkToGroundStation.instance(); - } - - public NoPotentialLinkToGroundStation.Matcher getNoPotentialLinkToGroundStation(final ViatraQueryEngine engine) { - return NoPotentialLinkToGroundStation.Matcher.on(engine); - } - - public CommunicationLoop getCommunicationLoop() { - return CommunicationLoop.instance(); - } - - public CommunicationLoop.Matcher getCommunicationLoop(final ViatraQueryEngine engine) { - return CommunicationLoop.Matcher.on(engine); - } - - public IncompatibleSourceAndTargetBand getIncompatibleSourceAndTargetBand() { - return IncompatibleSourceAndTargetBand.instance(); - } - - public IncompatibleSourceAndTargetBand.Matcher getIncompatibleSourceAndTargetBand(final ViatraQueryEngine engine) { - return IncompatibleSourceAndTargetBand.Matcher.on(engine); - } - - public ThreeUCubeSatWithNonUhfCrossLink getThreeUCubeSatWithNonUhfCrossLink() { - return ThreeUCubeSatWithNonUhfCrossLink.instance(); - } - - public ThreeUCubeSatWithNonUhfCrossLink.Matcher getThreeUCubeSatWithNonUhfCrossLink(final ViatraQueryEngine engine) { - return ThreeUCubeSatWithNonUhfCrossLink.Matcher.on(engine); - } - - public CubeSatWithKaAntenna getCubeSatWithKaAntenna() { - return CubeSatWithKaAntenna.instance(); - } - - public CubeSatWithKaAntenna.Matcher getCubeSatWithKaAntenna(final ViatraQueryEngine engine) { - return CubeSatWithKaAntenna.Matcher.on(engine); - } - - public SmallSat getSmallSat() { - return SmallSat.instance(); - } - - public SmallSat.Matcher getSmallSat(final ViatraQueryEngine engine) { - return SmallSat.Matcher.on(engine); - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SmallSat.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SmallSat.java deleted file mode 100644 index 4791740e..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SmallSat.java +++ /dev/null @@ -1,533 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; - -import java.util.Arrays; -import java.util.Collection; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; -import java.util.function.Consumer; -import java.util.stream.Collectors; -import java.util.stream.Stream; -import org.apache.log4j.Logger; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.viatra.query.runtime.api.IPatternMatch; -import org.eclipse.viatra.query.runtime.api.IQuerySpecification; -import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification; -import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; -import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; -import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; - -/** - * A pattern-specific query specification that can instantiate Matcher in a type-safe way. - * - *

Original source: - *

- *         pattern smallSat(Sat : SmallSat) {
- *         	SmallSat(Sat);
- *         }
- * 
- * - * @see Matcher - * @see Match - * - */ -@SuppressWarnings("all") -public final class SmallSat extends BaseGeneratedEMFQuerySpecification { - /** - * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.smallSat pattern, - * to be used in conjunction with {@link Matcher}. - * - *

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

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

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

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

Original source: - *

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

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

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

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

The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final SmallSat.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Sat = new PParameter("Sat", "satellite.SmallSat", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "SmallSat")), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Sat); - - private GeneratedPQuery() { - super(PVisibility.PUBLIC); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.smallSat"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Sat"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Sat = body.getOrCreateVariableByName("Sat"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Sat), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "SmallSat"))); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Sat, parameter_Sat) - )); - // SmallSat(Sat) - new TypeConstraint(body, Tuples.flatTupleOf(var_Sat), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "SmallSat"))); - bodies.add(body); - } - return bodies; - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/ThreeUCubeSatWithNonUhfCrossLink.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/ThreeUCubeSatWithNonUhfCrossLink.java deleted file mode 100644 index 0fe520c2..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/ThreeUCubeSatWithNonUhfCrossLink.java +++ /dev/null @@ -1,591 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBandUhf; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.GroundStationNetwork; -import java.util.Arrays; -import java.util.Collection; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; -import java.util.function.Consumer; -import java.util.stream.Collectors; -import java.util.stream.Stream; -import org.apache.log4j.Logger; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.viatra.query.runtime.api.IPatternMatch; -import org.eclipse.viatra.query.runtime.api.IQuerySpecification; -import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification; -import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; -import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; -import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; -import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; -import satellite.CubeSat3U; - -/** - * A pattern-specific query specification that can instantiate Matcher in a type-safe way. - * - *

Original source: - *

- *         // 3U CubeSats are assumed to only be able to downlink to Earth using an X-band trasmitter,
- *         // but cross-link using UHF
- *         
- *         {@literal @}Constraint(severity = "error", key = {Sat},
- *         	message = "3U CubeSats can only cross-link using UHF.")
- *         pattern threeUCubeSatWithNonUhfCrossLink(Sat : CubeSat3U) {
- *         	CommunicatingElement.commSubsystem(Sat, SourceComm);
- *         	neg find commSubsystemBandUhf(SourceComm);
- *         	CommSubsystem.target(SourceComm, TargetComm);
- *         	CommunicatingElement.commSubsystem(Target, TargetComm);
- *         	neg find groundStationNetwork(Target);
- *         }
- * 
- * - * @see Matcher - * @see Match - * - */ -@SuppressWarnings("all") -public final class ThreeUCubeSatWithNonUhfCrossLink extends BaseGeneratedEMFQuerySpecification { - /** - * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.threeUCubeSatWithNonUhfCrossLink pattern, - * to be used in conjunction with {@link Matcher}. - * - *

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

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

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

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

Original source: - *

-   * // 3U CubeSats are assumed to only be able to downlink to Earth using an X-band trasmitter,
-   * // but cross-link using UHF
-   * 
-   * {@literal @}Constraint(severity = "error", key = {Sat},
-   * 	message = "3U CubeSats can only cross-link using UHF.")
-   * pattern threeUCubeSatWithNonUhfCrossLink(Sat : CubeSat3U) {
-   * 	CommunicatingElement.commSubsystem(Sat, SourceComm);
-   * 	neg find commSubsystemBandUhf(SourceComm);
-   * 	CommSubsystem.target(SourceComm, TargetComm);
-   * 	CommunicatingElement.commSubsystem(Target, TargetComm);
-   * 	neg find groundStationNetwork(Target);
-   * }
-   * 
- * - * @see Match - * @see ThreeUCubeSatWithNonUhfCrossLink - * - */ - public static class Matcher extends BaseMatcher { - /** - * Initializes the pattern matcher within an existing VIATRA Query engine. - * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. - * - * @param engine the existing VIATRA Query engine in which this matcher will be created. - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * - */ - public static ThreeUCubeSatWithNonUhfCrossLink.Matcher on(final ViatraQueryEngine engine) { - // check if matcher already exists - Matcher matcher = engine.getExistingMatcher(querySpecification()); - if (matcher == null) { - matcher = (Matcher)engine.getMatcher(querySpecification()); - } - return matcher; - } - - /** - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * @return an initialized matcher - * @noreference This method is for internal matcher initialization by the framework, do not call it manually. - * - */ - public static ThreeUCubeSatWithNonUhfCrossLink.Matcher create() { - return new Matcher(); - } - - private static final int POSITION_SAT = 0; - - private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(ThreeUCubeSatWithNonUhfCrossLink.Matcher.class); - - /** - * Initializes the pattern matcher within an existing VIATRA Query engine. - * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. - * - * @param engine the existing VIATRA Query engine in which this matcher will be created. - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * - */ - private Matcher() { - super(querySpecification()); - } - - /** - * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. - * @param pSat the fixed value of pattern parameter Sat, or null if not bound. - * @return matches represented as a Match object. - * - */ - public Collection getAllMatches(final CubeSat3U pSat) { - return rawStreamAllMatches(new Object[]{pSat}).collect(Collectors.toSet()); - } - - /** - * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters. - *

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

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

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

The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final ThreeUCubeSatWithNonUhfCrossLink.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Sat = new PParameter("Sat", "satellite.CubeSat3U", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CubeSat3U")), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Sat); - - private GeneratedPQuery() { - super(PVisibility.PUBLIC); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.threeUCubeSatWithNonUhfCrossLink"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Sat"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Sat = body.getOrCreateVariableByName("Sat"); - PVariable var_SourceComm = body.getOrCreateVariableByName("SourceComm"); - PVariable var_TargetComm = body.getOrCreateVariableByName("TargetComm"); - PVariable var_Target = body.getOrCreateVariableByName("Target"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Sat), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CubeSat3U"))); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Sat, parameter_Sat) - )); - // CommunicatingElement.commSubsystem(Sat, SourceComm) - new TypeConstraint(body, Tuples.flatTupleOf(var_Sat), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Sat, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - new Equality(body, var__virtual_0_, var_SourceComm); - // neg find commSubsystemBandUhf(SourceComm) - new NegativePatternCall(body, Tuples.flatTupleOf(var_SourceComm), CommSubsystemBandUhf.instance().getInternalQueryRepresentation()); - // CommSubsystem.target(SourceComm, TargetComm) - new TypeConstraint(body, Tuples.flatTupleOf(var_SourceComm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_SourceComm, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "target"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - new Equality(body, var__virtual_1_, var_TargetComm); - // CommunicatingElement.commSubsystem(Target, TargetComm) - new TypeConstraint(body, Tuples.flatTupleOf(var_Target), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); - PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Target, var__virtual_2_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_2_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - new Equality(body, var__virtual_2_, var_TargetComm); - // neg find groundStationNetwork(Target) - new NegativePatternCall(body, Tuples.flatTupleOf(var_Target), GroundStationNetwork.instance().getInternalQueryRepresentation()); - bodies.add(body); - } - { - PAnnotation annotation = new PAnnotation("Constraint"); - annotation.addAttribute("severity", "error"); - annotation.addAttribute("key", Arrays.asList(new Object[] { - new ParameterReference("Sat") - })); - annotation.addAttribute("message", "3U CubeSats can only cross-link using UHF."); - addAnnotation(annotation); - } - return bodies; - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.CubeSat6U.java._trace b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.CubeSat6U.java._trace deleted file mode 100644 index 09c00a25..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.CubeSat6U.java._trace and /dev/null 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 deleted file mode 100644 index 8b57b000..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.MatchingCommSubsystem.java._trace and /dev/null 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 deleted file mode 100644 index 2f9ae41d..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.gitignore +++ /dev/null @@ -1,70 +0,0 @@ -/.CommunicationLink.java._trace -/.SatelliteQueriesAll.java._trace -/.IndirectCommunicationLink.java._trace -/.DirectCommunicationLink.java._trace -/.SpacecraftWithInterferometryPayload.java._trace -/.SingleInterferometryPayload.java._trace -/.AtLeastTwoInterferometryPayloads.java._trace -/.DirectCommunicationLink2.java._trace -/.CommSubsystemBand.java._trace -/.CommSubsystemGain.java._trace -/.GroundStationNetwork.java._trace -/.SmallSat.java._trace -/.CommSubsystemGainLow.java._trace -/.CommSubsystemGainMedium.java._trace -/.CommSubsystemBandUhf.java._trace -/.MissionCoverage.java._trace -/.SatelliteMetricsAll.java._trace -/.MissionTime.java._trace -/.TimeMetric.java._trace -/.TransmitTime.java._trace -/.TransmitRate.java._trace -/.SpacecraftUplink.java._trace -/.MissionScienceData.java._trace -/.IndirectScienceData.java._trace -/.ScienceData.java._trace -/.IncomingData.java._trace -/.MissionCost.java._trace -/.BasePrice.java._trace -/.SpacecraftOfKind.java._trace -/.InterferometryPayloadCost.java._trace -/.AdditionalCommSubsystemCost.java._trace -/.SpacecraftWithTwoCommSubsystems.java._trace -/.SpacecraftCost.java._trace -/.CrossLinkAllowed.java._trace -/.MatchingAntenna.java._trace -/.CubeSat3U.java._trace -/.LinkAllowed.java._trace -/.IndirectLinkAllowed.java._trace -/AdditionalCommSubsystemCost.java -/AtLeastTwoInterferometryPayloads.java -/BasePrice.java -/CommSubsystemBand.java -/CommSubsystemBandUhf.java -/CommSubsystemGain.java -/CommSubsystemGainLow.java -/CommSubsystemGainMedium.java -/CubeSat3U.java -/DirectCommunicationLink.java -/GroundStationNetwork.java -/IncomingData.java -/IndirectCommunicationLink.java -/IndirectLinkAllowed.java -/InterferometryPayloadCost.java -/LinkAllowed.java -/MatchingAntenna.java -/MissionCost.java -/MissionCoverage.java -/MissionTime.java -/SatelliteQueriesAll.java -/ScienceData.java -/SpacecraftCost.java -/SpacecraftUplink.java -/SpacecraftWithInterferometryPayload.java -/SpacecraftWithTwoCommSubsystems.java -/TransmitRate.java -/TransmitTime.java -/.CubeSat6U.java._trace -/.MatchingCommSubsystem.java._trace -/.TransmittingCommSubsystem.java._trace -/.SpacecraftOfKindCount.java._trace diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/AtLeastTwoInterferometryPayloads.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/AtLeastTwoInterferometryPayloads.java deleted file mode 100644 index 58e7e183..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/AtLeastTwoInterferometryPayloads.java +++ /dev/null @@ -1,138 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftWithInterferometryPayload; -import java.util.Arrays; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Inequality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; - -/** - * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. - * - *

Original source: - *

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

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

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

Original source: - *

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

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

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

Original source: - *

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

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

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

Original source: - *

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

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

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

Original source: - *

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

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

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

Original source: - *

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

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

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

Original source: - *

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

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

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

Original source: - *

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

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

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

Original source: - *

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

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

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

Original source: - *

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

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

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

Original source: - *

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

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

The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final MatchingCommSubsystem.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_From = new PParameter("From", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); - - private final PParameter parameter_To = new PParameter("To", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_From, parameter_To); - - private GeneratedPQuery() { - super(PVisibility.PRIVATE); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.matchingCommSubsystem"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("From","To"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_From = body.getOrCreateVariableByName("From"); - PVariable var_To = body.getOrCreateVariableByName("To"); - new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_From, parameter_From), - new ExportedParameter(body, var_To, parameter_To) - )); - // UHFCommSubsystem(From) - new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "UHFCommSubsystem"))); - // UHFCommSubsystem(To) - new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "UHFCommSubsystem"))); - bodies.add(body); - } - { - PBody body = new PBody(this); - PVariable var_From = body.getOrCreateVariableByName("From"); - PVariable var_To = body.getOrCreateVariableByName("To"); - new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_From, parameter_From), - new ExportedParameter(body, var_To, parameter_To) - )); - // XCommSubsystem(From) - new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "XCommSubsystem"))); - // XCommSubsystem(To) - new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "XCommSubsystem"))); - bodies.add(body); - } - { - PBody body = new PBody(this); - PVariable var_From = body.getOrCreateVariableByName("From"); - PVariable var_To = body.getOrCreateVariableByName("To"); - new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_From, parameter_From), - new ExportedParameter(body, var_To, parameter_To) - )); - // KaCommSubsystem(From) - new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "KaCommSubsystem"))); - // KaCommSubsystem(To) - new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "KaCommSubsystem"))); - bodies.add(body); - } - return bodies; - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SatelliteQueriesAll.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SatelliteQueriesAll.java deleted file mode 100644 index 4093e2b2..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SatelliteQueriesAll.java +++ /dev/null @@ -1,105 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkDoesNotStartAtContainingElement; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLoop; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CubeSatWithKaAntenna; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetBand; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoLinkToGroundStation; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoPotentialLinkToGroundStation; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NotEnoughInterferometryPayloads; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SmallSat; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.ThreeUCubeSatWithNonUhfCrossLink; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.AtLeastTwoInterferometryPayloads; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBandUhf; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CubeSat3U; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CubeSat6U; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.DirectCommunicationLink; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.GroundStationNetwork; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectCommunicationLink; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectLinkAllowed; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.LinkAllowed; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingAntenna; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingCommSubsystem; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftWithInterferometryPayload; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.TransmittingCommSubsystem; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup; - -/** - * A pattern group formed of all patterns defined in SatelliteQueries.vql. - * - *

A private group that includes private patterns as well. Only intended use case is for pattern testing. - * - *

From package hu.bme.mit.inf.dslreasoner.domains.satellite.queries, the group contains the definition of the following patterns:

    - *
  • communicationLinkDoesNotStartAtContainingElement
  • - *
  • transmittingCommSubsystem
  • - *
  • notEnoughInterferometryPayloads
  • - *
  • atLeastTwoInterferometryPayloads
  • - *
  • spacecraftWithInterferometryPayload
  • - *
  • noLinkToGroundStation
  • - *
  • noPotentialLinkToGroundStation
  • - *
  • indirectLinkAllowed
  • - *
  • linkAllowed
  • - *
  • matchingAntenna
  • - *
  • matchingCommSubsystem
  • - *
  • cubeSat3U
  • - *
  • cubeSat6U
  • - *
  • communicationLoop
  • - *
  • indirectCommunicationLink
  • - *
  • directCommunicationLink
  • - *
  • incompatibleSourceAndTargetBand
  • - *
  • threeUCubeSatWithNonUhfCrossLink
  • - *
  • commSubsystemBandUhf
  • - *
  • groundStationNetwork
  • - *
  • cubeSatWithKaAntenna
  • - *
  • smallSat
  • - *
- * - * @see IQueryGroup - * - */ -@SuppressWarnings("all") -public final class SatelliteQueriesAll extends BaseGeneratedPatternGroup { - /** - * Access the pattern group. - * - * @return the singleton instance of the group - * @throws ViatraQueryRuntimeException if there was an error loading the generated code of pattern specifications - * - */ - public static SatelliteQueriesAll instance() { - if (INSTANCE == null) { - INSTANCE = new SatelliteQueriesAll(); - } - return INSTANCE; - } - - private static SatelliteQueriesAll INSTANCE; - - private SatelliteQueriesAll() { - querySpecifications.add(CommunicationLinkDoesNotStartAtContainingElement.instance()); - querySpecifications.add(TransmittingCommSubsystem.instance()); - querySpecifications.add(NotEnoughInterferometryPayloads.instance()); - querySpecifications.add(AtLeastTwoInterferometryPayloads.instance()); - querySpecifications.add(SpacecraftWithInterferometryPayload.instance()); - querySpecifications.add(NoLinkToGroundStation.instance()); - querySpecifications.add(NoPotentialLinkToGroundStation.instance()); - querySpecifications.add(IndirectLinkAllowed.instance()); - querySpecifications.add(LinkAllowed.instance()); - querySpecifications.add(MatchingAntenna.instance()); - querySpecifications.add(MatchingCommSubsystem.instance()); - querySpecifications.add(CubeSat3U.instance()); - querySpecifications.add(CubeSat6U.instance()); - querySpecifications.add(CommunicationLoop.instance()); - querySpecifications.add(IndirectCommunicationLink.instance()); - querySpecifications.add(DirectCommunicationLink.instance()); - querySpecifications.add(IncompatibleSourceAndTargetBand.instance()); - querySpecifications.add(ThreeUCubeSatWithNonUhfCrossLink.instance()); - querySpecifications.add(CommSubsystemBandUhf.instance()); - querySpecifications.add(GroundStationNetwork.instance()); - querySpecifications.add(CubeSatWithKaAntenna.instance()); - querySpecifications.add(SmallSat.instance()); - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftWithInterferometryPayload.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftWithInterferometryPayload.java deleted file mode 100644 index 9566c4c5..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftWithInterferometryPayload.java +++ /dev/null @@ -1,149 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; - -import java.util.Arrays; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; - -/** - * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. - * - *

Original source: - *

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

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

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

Original source: - *

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

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

The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final TransmittingCommSubsystem.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Element = new PParameter("Element", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); - - private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Element, parameter_Comm); - - private GeneratedPQuery() { - super(PVisibility.PRIVATE); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.transmittingCommSubsystem"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Element","Comm"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Element = body.getOrCreateVariableByName("Element"); - PVariable var_Comm = body.getOrCreateVariableByName("Comm"); - PVariable var___0_ = body.getOrCreateVariableByName("_<0>"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Element), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); - new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Element, parameter_Element), - new ExportedParameter(body, var_Comm, parameter_Comm) - )); - // CommunicatingElement.commSubsystem(Element, Comm) - new TypeConstraint(body, Tuples.flatTupleOf(var_Element), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Element, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - new Equality(body, var__virtual_0_, var_Comm); - // CommSubsystem.target(Comm, _) - new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Comm, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "target"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - new Equality(body, var__virtual_1_, var___0_); - bodies.add(body); - } - return bodies; - } - } -} 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 c7135562..c1d3f7d3 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 @@ -3,7 +3,7 @@ package hu.bme.mit.inf.dslreasoner.domains.satellite.queries import "http://www.example.org/satellite" @Constraint(severity = "error", key = {Element}, - message = "A communicating element may not have two transmitting communication subsystems..") + message = "A communicating element may not have two transmitting communication subsystems.") pattern communicationLinkDoesNotStartAtContainingElement(Element : CommunicatingElement) { find transmittingCommSubsystem(Element, Comm1); find transmittingCommSubsystem(Element, Comm2); @@ -15,6 +15,12 @@ private pattern transmittingCommSubsystem(Element : CommunicatingElement, Comm : CommSubsystem.target(Comm, _); } +@Constraint(severity = "error", key = {Station}, + message = "The ground station network may not have outgoing communication links.") +pattern transmittingGroundStationNetwork(Station : GroundStationNetwork) { + find transmittingCommSubsystem(Station, _); +} + // At least two spacecraft must have the interferometry payload configured @Constraint(severity = "error", key = {Mission}, 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 3d2cbbc7..5e4e4ef0 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 @@ -1,6 +1,8 @@ package hu.bme.mit.inf.dslreasoner.domains.satellite.runner import hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor +import org.eclipse.viatra.query.runtime.api.ViatraQueryEngineOptions +import org.eclipse.viatra.query.runtime.rete.matcher.ReteBackendFactory final class SatelliteGeneratorMain { private new() { @@ -8,6 +10,8 @@ final class SatelliteGeneratorMain { } public static def void main(String[] args) { + ViatraQueryEngineOptions.setSystemDefaultBackends(ReteBackendFactory.INSTANCE, ReteBackendFactory.INSTANCE, + ReteBackendFactory.INSTANCE) println(StandaloneScriptExecutor.executeScript("configs/generation.vsconfig")) } } diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.gitignore deleted file mode 100644 index 478b3143..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/.ExcludedMoeaOptimisation.java._trace -/.ExcludedOptimisationInterpreter.java._trace -/.ExcludedRun.java._trace diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.CostObjective.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.CostObjective.xtendbin deleted file mode 100644 index f8273db1..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.CostObjective.xtendbin and /dev/null differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.LocalSearchEngineManager.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.LocalSearchEngineManager.xtendbin deleted file mode 100644 index b92afd88..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.LocalSearchEngineManager.xtendbin and /dev/null differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.MetricBasedGuidanceFunction.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.MetricBasedGuidanceFunction.xtendbin deleted file mode 100644 index 456c7785..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.MetricBasedGuidanceFunction.xtendbin and /dev/null differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.PatternMatchConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.PatternMatchConstraint.xtendbin deleted file mode 100644 index 3b6e5310..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.PatternMatchConstraint.xtendbin and /dev/null differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.SatelliteMdeOptimiserMain.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.SatelliteMdeOptimiserMain.xtendbin deleted file mode 100644 index 11cbad32..00000000 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.SatelliteMdeOptimiserMain.xtendbin and /dev/null differ 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 deleted file mode 100644 index ed54e06a..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -/.SatellineMdeOptimiserMain.java._trace -/.SatelliteMdeOptimiserMain.java._trace -/.ExcludedMoeaOptimisation.java._trace -/.ExcludedOptimisationInterpreter.java._trace -/.ExcludedRun.java._trace -/.LocalSearchEngineManager.java._trace -/.PatternMatchConstraint.java._trace -/.PatternCostConstraint.java._trace -/.MetricBasedGuidanceFunction.java._trace -/.CostObjective.java._trace diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/LocalSearchEngineManager.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/LocalSearchEngineManager.java deleted file mode 100644 index 18708a37..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/LocalSearchEngineManager.java +++ /dev/null @@ -1,39 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries; -import java.util.WeakHashMap; -import java.util.function.Function; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.viatra.query.runtime.api.AdvancedViatraQueryEngine; -import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; -import org.eclipse.viatra.query.runtime.api.ViatraQueryEngineOptions; -import org.eclipse.viatra.query.runtime.emf.EMFScope; -import org.eclipse.viatra.query.runtime.localsearch.matcher.integration.LocalSearchHints; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; - -@SuppressWarnings("all") -public class LocalSearchEngineManager { - public static final LocalSearchEngineManager INSTANCE = new LocalSearchEngineManager(); - - private final WeakHashMap engineMap = new WeakHashMap(); - - private LocalSearchEngineManager() { - } - - public ViatraQueryEngine getEngine(final EObject eObject) { - final Function _function = (EObject it) -> { - ViatraQueryEngine _xblockexpression = null; - { - final EMFScope scope = new EMFScope(it); - final QueryEvaluationHint localSearchHints = LocalSearchHints.getDefault().build(); - final ViatraQueryEngineOptions options = ViatraQueryEngineOptions.defineOptions().withDefaultHint(localSearchHints).withDefaultBackend( - localSearchHints.getQueryBackendFactory()).build(); - final ViatraQueryEngine engine = AdvancedViatraQueryEngine.on(scope, options); - SatelliteQueries.instance().prepare(engine); - _xblockexpression = engine; - } - return _xblockexpression; - }; - return this.engineMap.computeIfAbsent(eObject, _function); - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/MetricBasedGuidanceFunction.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/MetricBasedGuidanceFunction.java deleted file mode 100644 index f3dae715..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/MetricBasedGuidanceFunction.java +++ /dev/null @@ -1,72 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo.LocalSearchEngineManager; -import java.util.Iterator; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.viatra.query.runtime.api.IPatternMatch; -import org.eclipse.viatra.query.runtime.api.IQuerySpecification; -import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; -import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution; - -@SuppressWarnings("all") -public abstract class MetricBasedGuidanceFunction implements IGuidanceFunction { - private final IQuerySpecification> querySpecification; - - protected MetricBasedGuidanceFunction(final IQuerySpecification> querySpecification) { - this.querySpecification = querySpecification; - int _size = querySpecification.getParameters().size(); - boolean _notEquals = (_size != 1); - if (_notEquals) { - throw new IllegalArgumentException("Metric must have a single parameter"); - } - } - - @Override - public double computeFitness(final Solution model) { - double _xblockexpression = (double) 0; - { - final double value = this.getMetricValue(model); - _xblockexpression = this.computeFitness(value); - } - return _xblockexpression; - } - - protected double computeFitness(final double metricValue) { - return metricValue; - } - - private double getMetricValue(final Solution solution) { - double _xblockexpression = (double) 0; - { - final EObject model = solution.getModel(); - final ViatraQueryEngine queryEngine = LocalSearchEngineManager.INSTANCE.getEngine(model); - final ViatraQueryMatcher matcher = this.querySpecification.getMatcher(queryEngine); - final Iterator iterator = matcher.getAllMatches().iterator(); - boolean _hasNext = iterator.hasNext(); - boolean _not = (!_hasNext); - if (_not) { - throw new IllegalStateException("Too few matches"); - } - final Object objectValue = iterator.next().get(0); - double _xifexpression = (double) 0; - if ((objectValue instanceof Number)) { - double _xblockexpression_1 = (double) 0; - { - final double doubleValue = ((Number)objectValue).doubleValue(); - boolean _hasNext_1 = iterator.hasNext(); - if (_hasNext_1) { - throw new IllegalStateException("Too many matches"); - } - _xblockexpression_1 = doubleValue; - } - _xifexpression = _xblockexpression_1; - } else { - throw new IllegalStateException("Metric value must be a number"); - } - _xblockexpression = _xifexpression; - } - return _xblockexpression; - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/PatternMatchConstraint.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/PatternMatchConstraint.java deleted file mode 100644 index f089d469..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/PatternMatchConstraint.java +++ /dev/null @@ -1,54 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo; - -import com.google.common.base.Objects; -import com.google.common.collect.ImmutableList; -import hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo.LocalSearchEngineManager; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.viatra.query.runtime.api.IPatternMatch; -import org.eclipse.viatra.query.runtime.api.IQuerySpecification; -import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; -import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher; -import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; -import org.eclipse.xtext.xbase.lib.Functions.Function1; -import org.eclipse.xtext.xbase.lib.IterableExtensions; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction; -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution; - -@SuppressWarnings("all") -public class PatternMatchConstraint implements IGuidanceFunction { - private static final String CONSTRAINT_ANNOTATION_NAME = "Constraint"; - - private final ImmutableList> queries = ImmutableList.>copyOf(IterableExtensions.>filter(SatelliteQueries.instance().getSpecifications(), ((Function1, Boolean>) (IQuerySpecification it) -> { - final Function1 _function = (PAnnotation it_1) -> { - String _name = it_1.getName(); - return Boolean.valueOf(Objects.equal(_name, PatternMatchConstraint.CONSTRAINT_ANNOTATION_NAME)); - }; - return Boolean.valueOf(IterableExtensions.exists(it.getAllAnnotations(), _function)); - }))); - - @Override - public String getName() { - return "PatternMatch"; - } - - @Override - public double computeFitness(final Solution solution) { - int _xblockexpression = (int) 0; - { - final EObject model = solution.getModel(); - final ViatraQueryEngine queryEngine = LocalSearchEngineManager.INSTANCE.getEngine(model); - int matchCount = 0; - for (final IQuerySpecification query : this.queries) { - { - final ViatraQueryMatcher matcher = query.getMatcher(queryEngine); - int _matchCount = matchCount; - int _countMatches = matcher.countMatches(); - matchCount = (_matchCount + _countMatches); - } - } - _xblockexpression = matchCount; - } - return _xblockexpression; - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/SatelliteMdeOptimiserMain.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/SatelliteMdeOptimiserMain.java deleted file mode 100644 index 6cbb08fc..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/SatelliteMdeOptimiserMain.java +++ /dev/null @@ -1,69 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.FileReader; -import java.io.FileWriter; -import java.util.Collections; -import java.util.Map; -import java.util.Set; -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; -import org.eclipse.xtext.xbase.lib.CollectionLiterals; -import org.eclipse.xtext.xbase.lib.Exceptions; -import org.eclipse.xtext.xbase.lib.Pair; -import satellite.SatellitePackage; -import uk.ac.kcl.inf.mdeoptimiser.interfaces.cli.Run; - -@SuppressWarnings("all") -public class SatelliteMdeOptimiserMain { - private static final String PROJECT_PATH = "."; - - private static final String MOPT_PATH = "src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/satellite.mopt"; - - private SatelliteMdeOptimiserMain() { - new IllegalStateException("This is a static utility class and should not be instantiated directly."); - } - - public static void main(final String[] args) { - Map _extensionToFactoryMap = Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap(); - XMIResourceFactoryImpl _xMIResourceFactoryImpl = new XMIResourceFactoryImpl(); - _extensionToFactoryMap.put(Resource.Factory.Registry.DEFAULT_EXTENSION, _xMIResourceFactoryImpl); - EPackage.Registry.INSTANCE.put(SatellitePackage.eNS_URI, SatellitePackage.eINSTANCE); - Pair _mappedTo = Pair.of("satellite.ecore", SatellitePackage.eNS_URI); - SatelliteMdeOptimiserMain.fixupHenshinModel("model/satellite.henshin", "model/satellite_fixup.henshin", - Collections.unmodifiableMap(CollectionLiterals.newHashMap(_mappedTo))); - Run.main(new String[] { "-p", SatelliteMdeOptimiserMain.PROJECT_PATH, "-m", SatelliteMdeOptimiserMain.MOPT_PATH }); - } - - private static void fixupHenshinModel(final String originalPath, final String outputPath, final Map remapMap) { - try { - FileReader _fileReader = new FileReader(originalPath); - final BufferedReader reader = new BufferedReader(_fileReader); - try { - FileWriter _fileWriter = new FileWriter(outputPath); - final BufferedWriter writer = new BufferedWriter(_fileWriter); - try { - String line = null; - while (((line = reader.readLine()) != null)) { - { - Set> _entrySet = remapMap.entrySet(); - for (final Map.Entry entry : _entrySet) { - line = line.replace(entry.getKey(), entry.getValue()); - } - writer.write(line); - writer.write("\n"); - } - } - } finally { - writer.close(); - } - } finally { - reader.close(); - } - } catch (Throwable _e) { - throw Exceptions.sneakyThrow(_e); - } - } -} 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 deleted file mode 100644 index ff6b1dfc..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/runner/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/.SatelliteGeneratorMain.java._trace -/.SatelliteGeneratorMain.xtendbin -/SatelliteGeneratorMain.java -- cgit v1.2.3-54-g00ecf