aboutsummaryrefslogtreecommitdiffstats
path: root/Domains
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kris7topher@gmail.com>2019-06-09 14:45:02 -0400
committerLibravatar Kristóf Marussy <kris7topher@gmail.com>2019-06-09 14:45:02 -0400
commit555987a459702674da350fa1fd5f76ffe14cd7c0 (patch)
treec64f2af9d655eb94b1a13d8c22f67bbf34435e0f /Domains
parentTrying to simplify Satellite case study (diff)
downloadVIATRA-Generator-555987a459702674da350fa1fd5f76ffe14cd7c0.tar.gz
VIATRA-Generator-555987a459702674da350fa1fd5f76ffe14cd7c0.tar.zst
VIATRA-Generator-555987a459702674da350fa1fd5f76ffe14cd7c0.zip
Simplify satellite metamodel further
Diffstat (limited to 'Domains')
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/META-INF/MANIFEST.MF4
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CbcCpsMain.xtendbinbin7229 -> 7229 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CpsToLpTranslator.xtendbinbin11104 -> 11104 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.CpsStateCoder.xtendbinbin7626 -> 7626 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsMain.xtendbinbin5193 -> 5193 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsSolver.xtendbinbin7336 -> 7336 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.CpsGenerator.xtendbinbin9849 -> 9849 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.CpsMdeOptimiserMain.xtendbinbin6286 -> 6286 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ExcludedOptimisationInterpreter.xtendbinbin7559 -> 7559 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NonRedundantAllocationsConstraint.xtendbinbin3332 -> 3332 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotAllocatedAppInstancesConstraint.xtendbinbin3440 -> 3440 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotSatisfiedRequirementsConstraint.xtendbinbin3412 -> 3412 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ResourceUtilizationUtil.xtendbinbin3546 -> 3546 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageHddConstraint.xtendbinbin3790 -> 3790 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageMemoryConstraint.xtendbinbin3797 -> 3797 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TotalCostFitnessFunction.xtendbinbin2975 -> 2975 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableHddConstraint.xtendbinbin3131 -> 3131 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableMemoryConstraint.xtendbinbin3130 -> 3130 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/META-INF/MANIFEST.MF4
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/configs/generation.vsconfig4
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommSubsystem.java28
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommunicatingElement.java23
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/DirectedCommunicationLink.java69
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatelliteFactory.java9
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatellitePackage.java225
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommSubsystemImpl.java121
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommunicatingElementImpl.java85
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/DirectedCommunicationLinkImpl.java227
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SatelliteFactoryImpl.java13
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SatellitePackageImpl.java63
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteAdapterFactory.java19
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteSwitch.java22
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.ecore10
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.genmodel7
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generated3valued.vql_deactivated1006
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generation.logicproblem729
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/init.partialmodel64
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run1/generated3valued.vql_deactivated3000
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run1/init.partialmodel147
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run2/generated3valued.vql_deactivated3000
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run2/init.partialmodel147
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run3/generated3valued.vql_deactivated3000
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run3/init.partialmodel147
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run4/generated3valued.vql_deactivated3000
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run4/init.partialmodel147
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run5/generated3valued.vql_deactivated3000
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run5/init.partialmodel147
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/1.gml1457
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/1.pngbin248114 -> 527932 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/1.xmi38
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/2.gml2453
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/2.pngbin0 -> 541309 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/2.xmi47
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/3.gml2452
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/3.pngbin0 -> 527179 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/3.xmi47
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/4.gml2452
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/4.pngbin0 -> 546802 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/4.xmi47
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/5.gml2452
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/5.pngbin0 -> 536645 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/5.xmi47
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run1/1_1.gml2450
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run1/1_1.pngbin0 -> 677187 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run1/1_1.xmi47
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run2/2_1.gml2450
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run2/2_1.pngbin0 -> 548270 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run2/2_1.xmi47
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run3/3_1.gml2450
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run3/3_1.pngbin0 -> 652469 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run3/3_1.xmi47
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run4/4_1.gml2453
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run4/4_1.pngbin0 -> 606191 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run4/4_1.xmi47
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run5/5_1.gml2452
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run5/5_1.pngbin0 -> 592755 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run5/5_1.xmi47
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/statistics.csv6
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml11
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CommunicationLinkDoesNotStartAtContainingElement.java199
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetBand.java165
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/ThreeUCubeSatWithNonUhfCrossLink.java27
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.CubeSat6U.java._tracebin718 -> 718 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.MatchingCommSubsystem.java._tracebin755 -> 755 bytes
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.gitignore3
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/DirectCommunicationLink.java34
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SatelliteQueriesAll.java3
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/TransmittingCommSubsystem.java146
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/CostObjective.xtend22
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql31
90 files changed, 40961 insertions, 2135 deletions
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/META-INF/MANIFEST.MF b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/META-INF/MANIFEST.MF
index b94a3518..e13a18cf 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/META-INF/MANIFEST.MF
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/META-INF/MANIFEST.MF
@@ -20,8 +20,8 @@ Require-Bundle: org.eclipse.viatra.addon.querybasedfeatures.runtime,
20 org.eclipse.xtend.lib;bundle-version="2.16.0", 20 org.eclipse.xtend.lib;bundle-version="2.16.0",
21 org.eclipse.xtend.lib.macro;bundle-version="2.16.0", 21 org.eclipse.xtend.lib.macro;bundle-version="2.16.0",
22 hu.bme.mit.inf.dslreasoner.application;bundle-version="1.0.0", 22 hu.bme.mit.inf.dslreasoner.application;bundle-version="1.0.0",
23 org.eclipse.viatra.dse;bundle-version="0.22.0", 23 org.eclipse.viatra.dse,
24 org.eclipse.viatra.dse.genetic;bundle-version="0.22.0", 24 org.eclipse.viatra.dse.genetic,
25 hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner;bundle-version="1.0.0", 25 hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner;bundle-version="1.0.0",
26 org.eclipse.emf.ecore.xmi;bundle-version="2.15.0", 26 org.eclipse.emf.ecore.xmi;bundle-version="2.15.0",
27 uk.ac.kcl.inf.mdeoptimiser.libraries.core;bundle-version="1.0.0", 27 uk.ac.kcl.inf.mdeoptimiser.libraries.core;bundle-version="1.0.0",
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CbcCpsMain.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CbcCpsMain.xtendbin
index 0dcd0b1d..14b2c080 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CbcCpsMain.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CbcCpsMain.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CpsToLpTranslator.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CpsToLpTranslator.xtendbin
index c3d3202c..fd8995c0 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CpsToLpTranslator.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/cplex/.CpsToLpTranslator.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.CpsStateCoder.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.CpsStateCoder.xtendbin
index 4d56573f..afdf61a1 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.CpsStateCoder.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.CpsStateCoder.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsMain.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsMain.xtendbin
index 91af090d..e58e8b6f 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsMain.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsMain.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsSolver.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsSolver.xtendbin
index 67d12b2f..e29f2d71 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsSolver.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/dse/.RuleBasedCpsSolver.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.CpsGenerator.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.CpsGenerator.xtendbin
index 05dfa951..42bebd02 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.CpsGenerator.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/generator/.CpsGenerator.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.CpsMdeOptimiserMain.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.CpsMdeOptimiserMain.xtendbin
index 2b90f81c..e8035410 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.CpsMdeOptimiserMain.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.CpsMdeOptimiserMain.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ExcludedOptimisationInterpreter.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ExcludedOptimisationInterpreter.xtendbin
index b299659d..315d1748 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ExcludedOptimisationInterpreter.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ExcludedOptimisationInterpreter.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NonRedundantAllocationsConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NonRedundantAllocationsConstraint.xtendbin
index a0b4f289..86913d04 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NonRedundantAllocationsConstraint.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NonRedundantAllocationsConstraint.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotAllocatedAppInstancesConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotAllocatedAppInstancesConstraint.xtendbin
index a2180cf1..fd33b1a1 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotAllocatedAppInstancesConstraint.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotAllocatedAppInstancesConstraint.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotSatisfiedRequirementsConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotSatisfiedRequirementsConstraint.xtendbin
index 9685c9d3..cc5c52dd 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotSatisfiedRequirementsConstraint.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.NotSatisfiedRequirementsConstraint.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ResourceUtilizationUtil.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ResourceUtilizationUtil.xtendbin
index 0ceac5a2..a80b5bc3 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ResourceUtilizationUtil.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.ResourceUtilizationUtil.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageHddConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageHddConstraint.xtendbin
index b36fc701..24309a53 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageHddConstraint.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageHddConstraint.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageMemoryConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageMemoryConstraint.xtendbin
index 3c576360..86af43db 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageMemoryConstraint.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TooLowAverageMemoryConstraint.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TotalCostFitnessFunction.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TotalCostFitnessFunction.xtendbin
index bcca2c43..f37b1a5c 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TotalCostFitnessFunction.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.TotalCostFitnessFunction.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableHddConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableHddConstraint.xtendbin
index 3e869977..eeef5142 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableHddConstraint.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableHddConstraint.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableMemoryConstraint.xtendbin b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableMemoryConstraint.xtendbin
index 33c482e3..dd11fbd5 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableMemoryConstraint.xtendbin
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.UnavailableMemoryConstraint.xtendbin
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/META-INF/MANIFEST.MF b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/META-INF/MANIFEST.MF
index b0d41022..3ee950cb 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
@@ -18,8 +18,8 @@ Require-Bundle: org.eclipse.viatra.addon.querybasedfeatures.runtime,
18 org.eclipse.emf.ecore;visibility:=reexport, 18 org.eclipse.emf.ecore;visibility:=reexport,
19 org.eclipse.core.runtime, 19 org.eclipse.core.runtime,
20 hu.bme.mit.inf.dslreasoner.application, 20 hu.bme.mit.inf.dslreasoner.application,
21 org.eclipse.viatra.dse;bundle-version="0.22.0", 21 org.eclipse.viatra.dse,
22 org.eclipse.viatra.dse.genetic;bundle-version="0.22.0", 22 org.eclipse.viatra.dse.genetic,
23 hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner;bundle-version="1.0.0", 23 hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner;bundle-version="1.0.0",
24 org.eclipse.emf.ecore.xmi;bundle-version="2.15.0", 24 org.eclipse.emf.ecore.xmi;bundle-version="2.15.0",
25 uk.ac.kcl.inf.mdeoptimiser.libraries.core;bundle-version="1.0.0", 25 uk.ac.kcl.inf.mdeoptimiser.libraries.core;bundle-version="1.0.0",
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/configs/generation.vsconfig b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/configs/generation.vsconfig
index e0889475..4296e632 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/configs/generation.vsconfig
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/configs/generation.vsconfig
@@ -7,7 +7,7 @@ generate {
7 partial-model = { "inputs/SatelliteInstance.xmi"} 7 partial-model = { "inputs/SatelliteInstance.xmi"}
8 solver = ViatraSolver 8 solver = ViatraSolver
9 scope = { 9 scope = {
10 #node += 0..10 10 #node += 32..64
11 } 11 }
12 12
13 config = { 13 config = {
@@ -16,7 +16,7 @@ generate {
16 } 16 }
17 17
18 number = 1 18 number = 1
19 runs = 1 19 runs = 5
20 20
21 debug = "outputs/debug" 21 debug = "outputs/debug"
22 log = "outputs/log.txt" 22 log = "outputs/log.txt"
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 2c9a5e2c..3b9d7ecf 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommSubsystem.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommSubsystem.java
@@ -9,6 +9,12 @@ import org.eclipse.emf.ecore.EObject;
9 * A representation of the model object '<em><b>Comm Subsystem</b></em>'. 9 * A representation of the model object '<em><b>Comm Subsystem</b></em>'.
10 * <!-- end-user-doc --> 10 * <!-- end-user-doc -->
11 * 11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link satellite.CommSubsystem#getTarget <em>Target</em>}</li>
17 * </ul>
12 * 18 *
13 * @see satellite.SatellitePackage#getCommSubsystem() 19 * @see satellite.SatellitePackage#getCommSubsystem()
14 * @model abstract="true" 20 * @model abstract="true"
@@ -16,4 +22,26 @@ import org.eclipse.emf.ecore.EObject;
16 */ 22 */
17public interface CommSubsystem extends EObject { 23public interface CommSubsystem extends EObject {
18 24
25 /**
26 * Returns the value of the '<em><b>Target</b></em>' reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Target</em>' reference.
30 * @see #setTarget(CommSubsystem)
31 * @see satellite.SatellitePackage#getCommSubsystem_Target()
32 * @model
33 * @generated
34 */
35 CommSubsystem getTarget();
36
37 /**
38 * Sets the value of the '{@link satellite.CommSubsystem#getTarget <em>Target</em>}' reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Target</em>' reference.
42 * @see #getTarget()
43 * @generated
44 */
45 void setTarget(CommSubsystem value);
46
19} // CommSubsystem 47} // CommSubsystem
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommunicatingElement.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommunicatingElement.java
index d2f1e984..e8c3bc41 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommunicatingElement.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommunicatingElement.java
@@ -16,7 +16,6 @@ import org.eclipse.emf.ecore.EObject;
16 * </p> 16 * </p>
17 * <ul> 17 * <ul>
18 * <li>{@link satellite.CommunicatingElement#getCommSubsystem <em>Comm Subsystem</em>}</li> 18 * <li>{@link satellite.CommunicatingElement#getCommSubsystem <em>Comm Subsystem</em>}</li>
19 * <li>{@link satellite.CommunicatingElement#getCommunicationLink <em>Communication Link</em>}</li>
20 * </ul> 19 * </ul>
21 * 20 *
22 * @see satellite.SatellitePackage#getCommunicatingElement() 21 * @see satellite.SatellitePackage#getCommunicatingElement()
@@ -36,26 +35,4 @@ public interface CommunicatingElement extends EObject {
36 */ 35 */
37 EList<CommSubsystem> getCommSubsystem(); 36 EList<CommSubsystem> getCommSubsystem();
38 37
39 /**
40 * Returns the value of the '<em><b>Communication Link</b></em>' containment reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @return the value of the '<em>Communication Link</em>' containment reference.
44 * @see #setCommunicationLink(DirectedCommunicationLink)
45 * @see satellite.SatellitePackage#getCommunicatingElement_CommunicationLink()
46 * @model containment="true"
47 * @generated
48 */
49 DirectedCommunicationLink getCommunicationLink();
50
51 /**
52 * Sets the value of the '{@link satellite.CommunicatingElement#getCommunicationLink <em>Communication Link</em>}' containment reference.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @param value the new value of the '<em>Communication Link</em>' containment reference.
56 * @see #getCommunicationLink()
57 * @generated
58 */
59 void setCommunicationLink(DirectedCommunicationLink value);
60
61} // CommunicatingElement 38} // CommunicatingElement
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/DirectedCommunicationLink.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/DirectedCommunicationLink.java
deleted file mode 100644
index dc76d466..00000000
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/DirectedCommunicationLink.java
+++ /dev/null
@@ -1,69 +0,0 @@
1/**
2 */
3package satellite;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Directed Communication Link</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link satellite.DirectedCommunicationLink#getSource <em>Source</em>}</li>
17 * <li>{@link satellite.DirectedCommunicationLink#getTarget <em>Target</em>}</li>
18 * </ul>
19 *
20 * @see satellite.SatellitePackage#getDirectedCommunicationLink()
21 * @model
22 * @generated
23 */
24public interface DirectedCommunicationLink extends EObject {
25 /**
26 * Returns the value of the '<em><b>Source</b></em>' reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Source</em>' reference.
30 * @see #setSource(CommSubsystem)
31 * @see satellite.SatellitePackage#getDirectedCommunicationLink_Source()
32 * @model required="true"
33 * @generated
34 */
35 CommSubsystem getSource();
36
37 /**
38 * Sets the value of the '{@link satellite.DirectedCommunicationLink#getSource <em>Source</em>}' reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Source</em>' reference.
42 * @see #getSource()
43 * @generated
44 */
45 void setSource(CommSubsystem value);
46
47 /**
48 * Returns the value of the '<em><b>Target</b></em>' reference.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @return the value of the '<em>Target</em>' reference.
52 * @see #setTarget(CommSubsystem)
53 * @see satellite.SatellitePackage#getDirectedCommunicationLink_Target()
54 * @model required="true"
55 * @generated
56 */
57 CommSubsystem getTarget();
58
59 /**
60 * Sets the value of the '{@link satellite.DirectedCommunicationLink#getTarget <em>Target</em>}' reference.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @param value the new value of the '<em>Target</em>' reference.
64 * @see #getTarget()
65 * @generated
66 */
67 void setTarget(CommSubsystem value);
68
69} // DirectedCommunicationLink
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatelliteFactory.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatelliteFactory.java
index 26182881..c906bde6 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatelliteFactory.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatelliteFactory.java
@@ -40,15 +40,6 @@ public interface SatelliteFactory extends EFactory {
40 GroundStationNetwork createGroundStationNetwork(); 40 GroundStationNetwork createGroundStationNetwork();
41 41
42 /** 42 /**
43 * Returns a new object of class '<em>Directed Communication Link</em>'.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @return a new object of class '<em>Directed Communication Link</em>'.
47 * @generated
48 */
49 DirectedCommunicationLink createDirectedCommunicationLink();
50
51 /**
52 * Returns a new object of class '<em>Interferometry Payload</em>'. 43 * Returns a new object of class '<em>Interferometry Payload</em>'.
53 * <!-- begin-user-doc --> 44 * <!-- begin-user-doc -->
54 * <!-- end-user-doc --> 45 * <!-- end-user-doc -->
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatellitePackage.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatellitePackage.java
index 8a9328f6..64a60d6a 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
@@ -177,22 +177,13 @@ public interface SatellitePackage extends EPackage {
177 int COMMUNICATING_ELEMENT__COMM_SUBSYSTEM = 0; 177 int COMMUNICATING_ELEMENT__COMM_SUBSYSTEM = 0;
178 178
179 /** 179 /**
180 * The feature id for the '<em><b>Communication Link</b></em>' containment reference.
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 * @ordered
185 */
186 int COMMUNICATING_ELEMENT__COMMUNICATION_LINK = 1;
187
188 /**
189 * The number of structural features of the '<em>Communicating Element</em>' class. 180 * The number of structural features of the '<em>Communicating Element</em>' class.
190 * <!-- begin-user-doc --> 181 * <!-- begin-user-doc -->
191 * <!-- end-user-doc --> 182 * <!-- end-user-doc -->
192 * @generated 183 * @generated
193 * @ordered 184 * @ordered
194 */ 185 */
195 int COMMUNICATING_ELEMENT_FEATURE_COUNT = 2; 186 int COMMUNICATING_ELEMENT_FEATURE_COUNT = 1;
196 187
197 /** 188 /**
198 * The number of operations of the '<em>Communicating Element</em>' class. 189 * The number of operations of the '<em>Communicating Element</em>' class.
@@ -223,15 +214,6 @@ public interface SatellitePackage extends EPackage {
223 int GROUND_STATION_NETWORK__COMM_SUBSYSTEM = COMMUNICATING_ELEMENT__COMM_SUBSYSTEM; 214 int GROUND_STATION_NETWORK__COMM_SUBSYSTEM = COMMUNICATING_ELEMENT__COMM_SUBSYSTEM;
224 215
225 /** 216 /**
226 * The feature id for the '<em><b>Communication Link</b></em>' containment reference.
227 * <!-- begin-user-doc -->
228 * <!-- end-user-doc -->
229 * @generated
230 * @ordered
231 */
232 int GROUND_STATION_NETWORK__COMMUNICATION_LINK = COMMUNICATING_ELEMENT__COMMUNICATION_LINK;
233
234 /**
235 * The number of structural features of the '<em>Ground Station Network</em>' class. 217 * The number of structural features of the '<em>Ground Station Network</em>' class.
236 * <!-- begin-user-doc --> 218 * <!-- begin-user-doc -->
237 * <!-- end-user-doc --> 219 * <!-- end-user-doc -->
@@ -269,15 +251,6 @@ public interface SatellitePackage extends EPackage {
269 int SPACECRAFT__COMM_SUBSYSTEM = COMMUNICATING_ELEMENT__COMM_SUBSYSTEM; 251 int SPACECRAFT__COMM_SUBSYSTEM = COMMUNICATING_ELEMENT__COMM_SUBSYSTEM;
270 252
271 /** 253 /**
272 * The feature id for the '<em><b>Communication Link</b></em>' containment reference.
273 * <!-- begin-user-doc -->
274 * <!-- end-user-doc -->
275 * @generated
276 * @ordered
277 */
278 int SPACECRAFT__COMMUNICATION_LINK = COMMUNICATING_ELEMENT__COMMUNICATION_LINK;
279
280 /**
281 * The feature id for the '<em><b>Payload</b></em>' containment reference. 254 * The feature id for the '<em><b>Payload</b></em>' containment reference.
282 * <!-- begin-user-doc --> 255 * <!-- begin-user-doc -->
283 * <!-- end-user-doc --> 256 * <!-- end-user-doc -->
@@ -315,68 +288,31 @@ public interface SatellitePackage extends EPackage {
315 int COMM_SUBSYSTEM = 5; 288 int COMM_SUBSYSTEM = 5;
316 289
317 /** 290 /**
318 * The number of structural features of the '<em>Comm Subsystem</em>' class.
319 * <!-- begin-user-doc -->
320 * <!-- end-user-doc -->
321 * @generated
322 * @ordered
323 */
324 int COMM_SUBSYSTEM_FEATURE_COUNT = 0;
325
326 /**
327 * The number of operations of the '<em>Comm Subsystem</em>' class.
328 * <!-- begin-user-doc -->
329 * <!-- end-user-doc -->
330 * @generated
331 * @ordered
332 */
333 int COMM_SUBSYSTEM_OPERATION_COUNT = 0;
334
335 /**
336 * The meta object id for the '{@link satellite.impl.DirectedCommunicationLinkImpl <em>Directed Communication Link</em>}' class.
337 * <!-- begin-user-doc -->
338 * <!-- end-user-doc -->
339 * @see satellite.impl.DirectedCommunicationLinkImpl
340 * @see satellite.impl.SatellitePackageImpl#getDirectedCommunicationLink()
341 * @generated
342 */
343 int DIRECTED_COMMUNICATION_LINK = 6;
344
345 /**
346 * The feature id for the '<em><b>Source</b></em>' reference.
347 * <!-- begin-user-doc -->
348 * <!-- end-user-doc -->
349 * @generated
350 * @ordered
351 */
352 int DIRECTED_COMMUNICATION_LINK__SOURCE = 0;
353
354 /**
355 * The feature id for the '<em><b>Target</b></em>' reference. 291 * The feature id for the '<em><b>Target</b></em>' reference.
356 * <!-- begin-user-doc --> 292 * <!-- begin-user-doc -->
357 * <!-- end-user-doc --> 293 * <!-- end-user-doc -->
358 * @generated 294 * @generated
359 * @ordered 295 * @ordered
360 */ 296 */
361 int DIRECTED_COMMUNICATION_LINK__TARGET = 1; 297 int COMM_SUBSYSTEM__TARGET = 0;
362 298
363 /** 299 /**
364 * The number of structural features of the '<em>Directed Communication Link</em>' class. 300 * The number of structural features of the '<em>Comm Subsystem</em>' class.
365 * <!-- begin-user-doc --> 301 * <!-- begin-user-doc -->
366 * <!-- end-user-doc --> 302 * <!-- end-user-doc -->
367 * @generated 303 * @generated
368 * @ordered 304 * @ordered
369 */ 305 */
370 int DIRECTED_COMMUNICATION_LINK_FEATURE_COUNT = 2; 306 int COMM_SUBSYSTEM_FEATURE_COUNT = 1;
371 307
372 /** 308 /**
373 * The number of operations of the '<em>Directed Communication Link</em>' class. 309 * The number of operations of the '<em>Comm Subsystem</em>' class.
374 * <!-- begin-user-doc --> 310 * <!-- begin-user-doc -->
375 * <!-- end-user-doc --> 311 * <!-- end-user-doc -->
376 * @generated 312 * @generated
377 * @ordered 313 * @ordered
378 */ 314 */
379 int DIRECTED_COMMUNICATION_LINK_OPERATION_COUNT = 0; 315 int COMM_SUBSYSTEM_OPERATION_COUNT = 0;
380 316
381 /** 317 /**
382 * The meta object id for the '{@link satellite.impl.PayloadImpl <em>Payload</em>}' class. 318 * The meta object id for the '{@link satellite.impl.PayloadImpl <em>Payload</em>}' class.
@@ -386,7 +322,7 @@ public interface SatellitePackage extends EPackage {
386 * @see satellite.impl.SatellitePackageImpl#getPayload() 322 * @see satellite.impl.SatellitePackageImpl#getPayload()
387 * @generated 323 * @generated
388 */ 324 */
389 int PAYLOAD = 7; 325 int PAYLOAD = 6;
390 326
391 /** 327 /**
392 * The number of structural features of the '<em>Payload</em>' class. 328 * The number of structural features of the '<em>Payload</em>' class.
@@ -414,7 +350,7 @@ public interface SatellitePackage extends EPackage {
414 * @see satellite.impl.SatellitePackageImpl#getInterferometryPayload() 350 * @see satellite.impl.SatellitePackageImpl#getInterferometryPayload()
415 * @generated 351 * @generated
416 */ 352 */
417 int INTERFEROMETRY_PAYLOAD = 8; 353 int INTERFEROMETRY_PAYLOAD = 7;
418 354
419 /** 355 /**
420 * The number of structural features of the '<em>Interferometry Payload</em>' class. 356 * The number of structural features of the '<em>Interferometry Payload</em>' class.
@@ -442,7 +378,7 @@ public interface SatellitePackage extends EPackage {
442 * @see satellite.impl.SatellitePackageImpl#getCubeSat() 378 * @see satellite.impl.SatellitePackageImpl#getCubeSat()
443 * @generated 379 * @generated
444 */ 380 */
445 int CUBE_SAT = 12; 381 int CUBE_SAT = 11;
446 382
447 /** 383 /**
448 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list. 384 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list.
@@ -454,15 +390,6 @@ public interface SatellitePackage extends EPackage {
454 int CUBE_SAT__COMM_SUBSYSTEM = SPACECRAFT__COMM_SUBSYSTEM; 390 int CUBE_SAT__COMM_SUBSYSTEM = SPACECRAFT__COMM_SUBSYSTEM;
455 391
456 /** 392 /**
457 * The feature id for the '<em><b>Communication Link</b></em>' containment reference.
458 * <!-- begin-user-doc -->
459 * <!-- end-user-doc -->
460 * @generated
461 * @ordered
462 */
463 int CUBE_SAT__COMMUNICATION_LINK = SPACECRAFT__COMMUNICATION_LINK;
464
465 /**
466 * The feature id for the '<em><b>Payload</b></em>' containment reference. 393 * The feature id for the '<em><b>Payload</b></em>' containment reference.
467 * <!-- begin-user-doc --> 394 * <!-- begin-user-doc -->
468 * <!-- end-user-doc --> 395 * <!-- end-user-doc -->
@@ -497,7 +424,7 @@ public interface SatellitePackage extends EPackage {
497 * @see satellite.impl.SatellitePackageImpl#getCubeSat3U() 424 * @see satellite.impl.SatellitePackageImpl#getCubeSat3U()
498 * @generated 425 * @generated
499 */ 426 */
500 int CUBE_SAT3_U = 9; 427 int CUBE_SAT3_U = 8;
501 428
502 /** 429 /**
503 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list. 430 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list.
@@ -509,15 +436,6 @@ public interface SatellitePackage extends EPackage {
509 int CUBE_SAT3_U__COMM_SUBSYSTEM = CUBE_SAT__COMM_SUBSYSTEM; 436 int CUBE_SAT3_U__COMM_SUBSYSTEM = CUBE_SAT__COMM_SUBSYSTEM;
510 437
511 /** 438 /**
512 * The feature id for the '<em><b>Communication Link</b></em>' containment reference.
513 * <!-- begin-user-doc -->
514 * <!-- end-user-doc -->
515 * @generated
516 * @ordered
517 */
518 int CUBE_SAT3_U__COMMUNICATION_LINK = CUBE_SAT__COMMUNICATION_LINK;
519
520 /**
521 * The feature id for the '<em><b>Payload</b></em>' containment reference. 439 * The feature id for the '<em><b>Payload</b></em>' containment reference.
522 * <!-- begin-user-doc --> 440 * <!-- begin-user-doc -->
523 * <!-- end-user-doc --> 441 * <!-- end-user-doc -->
@@ -552,7 +470,7 @@ public interface SatellitePackage extends EPackage {
552 * @see satellite.impl.SatellitePackageImpl#getCubeSat6U() 470 * @see satellite.impl.SatellitePackageImpl#getCubeSat6U()
553 * @generated 471 * @generated
554 */ 472 */
555 int CUBE_SAT6_U = 10; 473 int CUBE_SAT6_U = 9;
556 474
557 /** 475 /**
558 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list. 476 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list.
@@ -564,15 +482,6 @@ public interface SatellitePackage extends EPackage {
564 int CUBE_SAT6_U__COMM_SUBSYSTEM = CUBE_SAT__COMM_SUBSYSTEM; 482 int CUBE_SAT6_U__COMM_SUBSYSTEM = CUBE_SAT__COMM_SUBSYSTEM;
565 483
566 /** 484 /**
567 * The feature id for the '<em><b>Communication Link</b></em>' containment reference.
568 * <!-- begin-user-doc -->
569 * <!-- end-user-doc -->
570 * @generated
571 * @ordered
572 */
573 int CUBE_SAT6_U__COMMUNICATION_LINK = CUBE_SAT__COMMUNICATION_LINK;
574
575 /**
576 * The feature id for the '<em><b>Payload</b></em>' containment reference. 485 * The feature id for the '<em><b>Payload</b></em>' containment reference.
577 * <!-- begin-user-doc --> 486 * <!-- begin-user-doc -->
578 * <!-- end-user-doc --> 487 * <!-- end-user-doc -->
@@ -607,7 +516,7 @@ public interface SatellitePackage extends EPackage {
607 * @see satellite.impl.SatellitePackageImpl#getSmallSat() 516 * @see satellite.impl.SatellitePackageImpl#getSmallSat()
608 * @generated 517 * @generated
609 */ 518 */
610 int SMALL_SAT = 11; 519 int SMALL_SAT = 10;
611 520
612 /** 521 /**
613 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list. 522 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list.
@@ -619,15 +528,6 @@ public interface SatellitePackage extends EPackage {
619 int SMALL_SAT__COMM_SUBSYSTEM = SPACECRAFT__COMM_SUBSYSTEM; 528 int SMALL_SAT__COMM_SUBSYSTEM = SPACECRAFT__COMM_SUBSYSTEM;
620 529
621 /** 530 /**
622 * The feature id for the '<em><b>Communication Link</b></em>' containment reference.
623 * <!-- begin-user-doc -->
624 * <!-- end-user-doc -->
625 * @generated
626 * @ordered
627 */
628 int SMALL_SAT__COMMUNICATION_LINK = SPACECRAFT__COMMUNICATION_LINK;
629
630 /**
631 * The feature id for the '<em><b>Payload</b></em>' containment reference. 531 * The feature id for the '<em><b>Payload</b></em>' containment reference.
632 * <!-- begin-user-doc --> 532 * <!-- begin-user-doc -->
633 * <!-- end-user-doc --> 533 * <!-- end-user-doc -->
@@ -662,7 +562,16 @@ public interface SatellitePackage extends EPackage {
662 * @see satellite.impl.SatellitePackageImpl#getUHFCommSubsystem() 562 * @see satellite.impl.SatellitePackageImpl#getUHFCommSubsystem()
663 * @generated 563 * @generated
664 */ 564 */
665 int UHF_COMM_SUBSYSTEM = 13; 565 int UHF_COMM_SUBSYSTEM = 12;
566
567 /**
568 * The feature id for the '<em><b>Target</b></em>' reference.
569 * <!-- begin-user-doc -->
570 * <!-- end-user-doc -->
571 * @generated
572 * @ordered
573 */
574 int UHF_COMM_SUBSYSTEM__TARGET = COMM_SUBSYSTEM__TARGET;
666 575
667 /** 576 /**
668 * The number of structural features of the '<em>UHF Comm Subsystem</em>' class. 577 * The number of structural features of the '<em>UHF Comm Subsystem</em>' class.
@@ -690,7 +599,16 @@ public interface SatellitePackage extends EPackage {
690 * @see satellite.impl.SatellitePackageImpl#getXCommSubsystem() 599 * @see satellite.impl.SatellitePackageImpl#getXCommSubsystem()
691 * @generated 600 * @generated
692 */ 601 */
693 int XCOMM_SUBSYSTEM = 14; 602 int XCOMM_SUBSYSTEM = 13;
603
604 /**
605 * The feature id for the '<em><b>Target</b></em>' reference.
606 * <!-- begin-user-doc -->
607 * <!-- end-user-doc -->
608 * @generated
609 * @ordered
610 */
611 int XCOMM_SUBSYSTEM__TARGET = COMM_SUBSYSTEM__TARGET;
694 612
695 /** 613 /**
696 * The number of structural features of the '<em>XComm Subsystem</em>' class. 614 * The number of structural features of the '<em>XComm Subsystem</em>' class.
@@ -718,7 +636,16 @@ public interface SatellitePackage extends EPackage {
718 * @see satellite.impl.SatellitePackageImpl#getKaCommSubsystem() 636 * @see satellite.impl.SatellitePackageImpl#getKaCommSubsystem()
719 * @generated 637 * @generated
720 */ 638 */
721 int KA_COMM_SUBSYSTEM = 15; 639 int KA_COMM_SUBSYSTEM = 14;
640
641 /**
642 * The feature id for the '<em><b>Target</b></em>' reference.
643 * <!-- begin-user-doc -->
644 * <!-- end-user-doc -->
645 * @generated
646 * @ordered
647 */
648 int KA_COMM_SUBSYSTEM__TARGET = COMM_SUBSYSTEM__TARGET;
722 649
723 /** 650 /**
724 * The number of structural features of the '<em>Ka Comm Subsystem</em>' class. 651 * The number of structural features of the '<em>Ka Comm Subsystem</em>' class.
@@ -813,17 +740,6 @@ public interface SatellitePackage extends EPackage {
813 EReference getCommunicatingElement_CommSubsystem(); 740 EReference getCommunicatingElement_CommSubsystem();
814 741
815 /** 742 /**
816 * Returns the meta object for the containment reference '{@link satellite.CommunicatingElement#getCommunicationLink <em>Communication Link</em>}'.
817 * <!-- begin-user-doc -->
818 * <!-- end-user-doc -->
819 * @return the meta object for the containment reference '<em>Communication Link</em>'.
820 * @see satellite.CommunicatingElement#getCommunicationLink()
821 * @see #getCommunicatingElement()
822 * @generated
823 */
824 EReference getCommunicatingElement_CommunicationLink();
825
826 /**
827 * Returns the meta object for class '{@link satellite.GroundStationNetwork <em>Ground Station Network</em>}'. 743 * Returns the meta object for class '{@link satellite.GroundStationNetwork <em>Ground Station Network</em>}'.
828 * <!-- begin-user-doc --> 744 * <!-- begin-user-doc -->
829 * <!-- end-user-doc --> 745 * <!-- end-user-doc -->
@@ -865,36 +781,15 @@ public interface SatellitePackage extends EPackage {
865 EClass getCommSubsystem(); 781 EClass getCommSubsystem();
866 782
867 /** 783 /**
868 * Returns the meta object for class '{@link satellite.DirectedCommunicationLink <em>Directed Communication Link</em>}'. 784 * Returns the meta object for the reference '{@link satellite.CommSubsystem#getTarget <em>Target</em>}'.
869 * <!-- begin-user-doc -->
870 * <!-- end-user-doc -->
871 * @return the meta object for class '<em>Directed Communication Link</em>'.
872 * @see satellite.DirectedCommunicationLink
873 * @generated
874 */
875 EClass getDirectedCommunicationLink();
876
877 /**
878 * Returns the meta object for the reference '{@link satellite.DirectedCommunicationLink#getSource <em>Source</em>}'.
879 * <!-- begin-user-doc -->
880 * <!-- end-user-doc -->
881 * @return the meta object for the reference '<em>Source</em>'.
882 * @see satellite.DirectedCommunicationLink#getSource()
883 * @see #getDirectedCommunicationLink()
884 * @generated
885 */
886 EReference getDirectedCommunicationLink_Source();
887
888 /**
889 * Returns the meta object for the reference '{@link satellite.DirectedCommunicationLink#getTarget <em>Target</em>}'.
890 * <!-- begin-user-doc --> 785 * <!-- begin-user-doc -->
891 * <!-- end-user-doc --> 786 * <!-- end-user-doc -->
892 * @return the meta object for the reference '<em>Target</em>'. 787 * @return the meta object for the reference '<em>Target</em>'.
893 * @see satellite.DirectedCommunicationLink#getTarget() 788 * @see satellite.CommSubsystem#getTarget()
894 * @see #getDirectedCommunicationLink() 789 * @see #getCommSubsystem()
895 * @generated 790 * @generated
896 */ 791 */
897 EReference getDirectedCommunicationLink_Target(); 792 EReference getCommSubsystem_Target();
898 793
899 /** 794 /**
900 * Returns the meta object for class '{@link satellite.Payload <em>Payload</em>}'. 795 * Returns the meta object for class '{@link satellite.Payload <em>Payload</em>}'.
@@ -1073,14 +968,6 @@ public interface SatellitePackage extends EPackage {
1073 EReference COMMUNICATING_ELEMENT__COMM_SUBSYSTEM = eINSTANCE.getCommunicatingElement_CommSubsystem(); 968 EReference COMMUNICATING_ELEMENT__COMM_SUBSYSTEM = eINSTANCE.getCommunicatingElement_CommSubsystem();
1074 969
1075 /** 970 /**
1076 * The meta object literal for the '<em><b>Communication Link</b></em>' containment reference feature.
1077 * <!-- begin-user-doc -->
1078 * <!-- end-user-doc -->
1079 * @generated
1080 */
1081 EReference COMMUNICATING_ELEMENT__COMMUNICATION_LINK = eINSTANCE.getCommunicatingElement_CommunicationLink();
1082
1083 /**
1084 * The meta object literal for the '{@link satellite.impl.GroundStationNetworkImpl <em>Ground Station Network</em>}' class. 971 * The meta object literal for the '{@link satellite.impl.GroundStationNetworkImpl <em>Ground Station Network</em>}' class.
1085 * <!-- begin-user-doc --> 972 * <!-- begin-user-doc -->
1086 * <!-- end-user-doc --> 973 * <!-- end-user-doc -->
@@ -1119,30 +1006,12 @@ public interface SatellitePackage extends EPackage {
1119 EClass COMM_SUBSYSTEM = eINSTANCE.getCommSubsystem(); 1006 EClass COMM_SUBSYSTEM = eINSTANCE.getCommSubsystem();
1120 1007
1121 /** 1008 /**
1122 * The meta object literal for the '{@link satellite.impl.DirectedCommunicationLinkImpl <em>Directed Communication Link</em>}' class.
1123 * <!-- begin-user-doc -->
1124 * <!-- end-user-doc -->
1125 * @see satellite.impl.DirectedCommunicationLinkImpl
1126 * @see satellite.impl.SatellitePackageImpl#getDirectedCommunicationLink()
1127 * @generated
1128 */
1129 EClass DIRECTED_COMMUNICATION_LINK = eINSTANCE.getDirectedCommunicationLink();
1130
1131 /**
1132 * The meta object literal for the '<em><b>Source</b></em>' reference feature.
1133 * <!-- begin-user-doc -->
1134 * <!-- end-user-doc -->
1135 * @generated
1136 */
1137 EReference DIRECTED_COMMUNICATION_LINK__SOURCE = eINSTANCE.getDirectedCommunicationLink_Source();
1138
1139 /**
1140 * The meta object literal for the '<em><b>Target</b></em>' reference feature. 1009 * The meta object literal for the '<em><b>Target</b></em>' reference feature.
1141 * <!-- begin-user-doc --> 1010 * <!-- begin-user-doc -->
1142 * <!-- end-user-doc --> 1011 * <!-- end-user-doc -->
1143 * @generated 1012 * @generated
1144 */ 1013 */
1145 EReference DIRECTED_COMMUNICATION_LINK__TARGET = eINSTANCE.getDirectedCommunicationLink_Target(); 1014 EReference COMM_SUBSYSTEM__TARGET = eINSTANCE.getCommSubsystem_Target();
1146 1015
1147 /** 1016 /**
1148 * The meta object literal for the '{@link satellite.impl.PayloadImpl <em>Payload</em>}' class. 1017 * The meta object literal for the '{@link satellite.impl.PayloadImpl <em>Payload</em>}' 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 cae35a0c..cdfbd6de 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,7 +2,10 @@
2 */ 2 */
3package satellite.impl; 3package satellite.impl;
4 4
5import org.eclipse.emf.common.notify.Notification;
5import org.eclipse.emf.ecore.EClass; 6import org.eclipse.emf.ecore.EClass;
7import org.eclipse.emf.ecore.InternalEObject;
8import org.eclipse.emf.ecore.impl.ENotificationImpl;
6import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; 9import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
7import satellite.CommSubsystem; 10import satellite.CommSubsystem;
8import satellite.SatellitePackage; 11import satellite.SatellitePackage;
@@ -11,11 +14,27 @@ import satellite.SatellitePackage;
11 * <!-- begin-user-doc --> 14 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Comm Subsystem</b></em>'. 15 * An implementation of the model object '<em><b>Comm Subsystem</b></em>'.
13 * <!-- end-user-doc --> 16 * <!-- end-user-doc -->
17 * <p>
18 * The following features are implemented:
19 * </p>
20 * <ul>
21 * <li>{@link satellite.impl.CommSubsystemImpl#getTarget <em>Target</em>}</li>
22 * </ul>
14 * 23 *
15 * @generated 24 * @generated
16 */ 25 */
17public abstract class CommSubsystemImpl extends MinimalEObjectImpl.Container implements CommSubsystem { 26public abstract class CommSubsystemImpl extends MinimalEObjectImpl.Container implements CommSubsystem {
18 /** 27 /**
28 * The cached value of the '{@link #getTarget() <em>Target</em>}' reference.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @see #getTarget()
32 * @generated
33 * @ordered
34 */
35 protected CommSubsystem target;
36
37 /**
19 * <!-- begin-user-doc --> 38 * <!-- begin-user-doc -->
20 * <!-- end-user-doc --> 39 * <!-- end-user-doc -->
21 * @generated 40 * @generated
@@ -34,4 +53,106 @@ public abstract class CommSubsystemImpl extends MinimalEObjectImpl.Container imp
34 return SatellitePackage.Literals.COMM_SUBSYSTEM; 53 return SatellitePackage.Literals.COMM_SUBSYSTEM;
35 } 54 }
36 55
56 /**
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @generated
60 */
61 @Override
62 public CommSubsystem getTarget() {
63 if (target != null && target.eIsProxy()) {
64 InternalEObject oldTarget = (InternalEObject) target;
65 target = (CommSubsystem) eResolveProxy(oldTarget);
66 if (target != oldTarget) {
67 if (eNotificationRequired())
68 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SatellitePackage.COMM_SUBSYSTEM__TARGET,
69 oldTarget, target));
70 }
71 }
72 return target;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 public CommSubsystem basicGetTarget() {
81 return target;
82 }
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 @Override
90 public void setTarget(CommSubsystem newTarget) {
91 CommSubsystem oldTarget = target;
92 target = newTarget;
93 if (eNotificationRequired())
94 eNotify(new ENotificationImpl(this, Notification.SET, SatellitePackage.COMM_SUBSYSTEM__TARGET, oldTarget,
95 target));
96 }
97
98 /**
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 */
103 @Override
104 public Object eGet(int featureID, boolean resolve, boolean coreType) {
105 switch (featureID) {
106 case SatellitePackage.COMM_SUBSYSTEM__TARGET:
107 if (resolve)
108 return getTarget();
109 return basicGetTarget();
110 }
111 return super.eGet(featureID, resolve, coreType);
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 @Override
120 public void eSet(int featureID, Object newValue) {
121 switch (featureID) {
122 case SatellitePackage.COMM_SUBSYSTEM__TARGET:
123 setTarget((CommSubsystem) newValue);
124 return;
125 }
126 super.eSet(featureID, newValue);
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public void eUnset(int featureID) {
136 switch (featureID) {
137 case SatellitePackage.COMM_SUBSYSTEM__TARGET:
138 setTarget((CommSubsystem) null);
139 return;
140 }
141 super.eUnset(featureID);
142 }
143
144 /**
145 * <!-- begin-user-doc -->
146 * <!-- end-user-doc -->
147 * @generated
148 */
149 @Override
150 public boolean eIsSet(int featureID) {
151 switch (featureID) {
152 case SatellitePackage.COMM_SUBSYSTEM__TARGET:
153 return target != null;
154 }
155 return super.eIsSet(featureID);
156 }
157
37} //CommSubsystemImpl 158} //CommSubsystemImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommunicatingElementImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommunicatingElementImpl.java
index 1f79da3b..d44547d3 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommunicatingElementImpl.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommunicatingElementImpl.java
@@ -3,16 +3,12 @@
3package satellite.impl; 3package satellite.impl;
4 4
5import java.util.Collection; 5import java.util.Collection;
6
7import org.eclipse.emf.common.notify.Notification;
8import org.eclipse.emf.common.notify.NotificationChain; 6import org.eclipse.emf.common.notify.NotificationChain;
9 7
10import org.eclipse.emf.common.util.EList; 8import org.eclipse.emf.common.util.EList;
11 9
12import org.eclipse.emf.ecore.EClass; 10import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject; 11import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; 12import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
17 13
18import org.eclipse.emf.ecore.util.EObjectContainmentEList; 14import org.eclipse.emf.ecore.util.EObjectContainmentEList;
@@ -20,7 +16,6 @@ import org.eclipse.emf.ecore.util.InternalEList;
20 16
21import satellite.CommSubsystem; 17import satellite.CommSubsystem;
22import satellite.CommunicatingElement; 18import satellite.CommunicatingElement;
23import satellite.DirectedCommunicationLink;
24import satellite.SatellitePackage; 19import satellite.SatellitePackage;
25 20
26/** 21/**
@@ -32,7 +27,6 @@ import satellite.SatellitePackage;
32 * </p> 27 * </p>
33 * <ul> 28 * <ul>
34 * <li>{@link satellite.impl.CommunicatingElementImpl#getCommSubsystem <em>Comm Subsystem</em>}</li> 29 * <li>{@link satellite.impl.CommunicatingElementImpl#getCommSubsystem <em>Comm Subsystem</em>}</li>
35 * <li>{@link satellite.impl.CommunicatingElementImpl#getCommunicationLink <em>Communication Link</em>}</li>
36 * </ul> 30 * </ul>
37 * 31 *
38 * @generated 32 * @generated
@@ -49,16 +43,6 @@ public abstract class CommunicatingElementImpl extends MinimalEObjectImpl.Contai
49 protected EList<CommSubsystem> commSubsystem; 43 protected EList<CommSubsystem> commSubsystem;
50 44
51 /** 45 /**
52 * The cached value of the '{@link #getCommunicationLink() <em>Communication Link</em>}' containment reference.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #getCommunicationLink()
56 * @generated
57 * @ordered
58 */
59 protected DirectedCommunicationLink communicationLink;
60
61 /**
62 * <!-- begin-user-doc --> 46 * <!-- begin-user-doc -->
63 * <!-- end-user-doc --> 47 * <!-- end-user-doc -->
64 * @generated 48 * @generated
@@ -97,69 +81,10 @@ public abstract class CommunicatingElementImpl extends MinimalEObjectImpl.Contai
97 * @generated 81 * @generated
98 */ 82 */
99 @Override 83 @Override
100 public DirectedCommunicationLink getCommunicationLink() {
101 return communicationLink;
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 public NotificationChain basicSetCommunicationLink(DirectedCommunicationLink newCommunicationLink,
110 NotificationChain msgs) {
111 DirectedCommunicationLink oldCommunicationLink = communicationLink;
112 communicationLink = newCommunicationLink;
113 if (eNotificationRequired()) {
114 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
115 SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK, oldCommunicationLink,
116 newCommunicationLink);
117 if (msgs == null)
118 msgs = notification;
119 else
120 msgs.add(notification);
121 }
122 return msgs;
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public void setCommunicationLink(DirectedCommunicationLink newCommunicationLink) {
132 if (newCommunicationLink != communicationLink) {
133 NotificationChain msgs = null;
134 if (communicationLink != null)
135 msgs = ((InternalEObject) communicationLink).eInverseRemove(this,
136 EOPPOSITE_FEATURE_BASE - SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK, null,
137 msgs);
138 if (newCommunicationLink != null)
139 msgs = ((InternalEObject) newCommunicationLink).eInverseAdd(this,
140 EOPPOSITE_FEATURE_BASE - SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK, null,
141 msgs);
142 msgs = basicSetCommunicationLink(newCommunicationLink, msgs);
143 if (msgs != null)
144 msgs.dispatch();
145 } else if (eNotificationRequired())
146 eNotify(new ENotificationImpl(this, Notification.SET,
147 SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK, newCommunicationLink,
148 newCommunicationLink));
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { 84 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
158 switch (featureID) { 85 switch (featureID) {
159 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM: 86 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM:
160 return ((InternalEList<?>) getCommSubsystem()).basicRemove(otherEnd, msgs); 87 return ((InternalEList<?>) getCommSubsystem()).basicRemove(otherEnd, msgs);
161 case SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK:
162 return basicSetCommunicationLink(null, msgs);
163 } 88 }
164 return super.eInverseRemove(otherEnd, featureID, msgs); 89 return super.eInverseRemove(otherEnd, featureID, msgs);
165 } 90 }
@@ -174,8 +99,6 @@ public abstract class CommunicatingElementImpl extends MinimalEObjectImpl.Contai
174 switch (featureID) { 99 switch (featureID) {
175 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM: 100 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM:
176 return getCommSubsystem(); 101 return getCommSubsystem();
177 case SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK:
178 return getCommunicationLink();
179 } 102 }
180 return super.eGet(featureID, resolve, coreType); 103 return super.eGet(featureID, resolve, coreType);
181 } 104 }
@@ -193,9 +116,6 @@ public abstract class CommunicatingElementImpl extends MinimalEObjectImpl.Contai
193 getCommSubsystem().clear(); 116 getCommSubsystem().clear();
194 getCommSubsystem().addAll((Collection<? extends CommSubsystem>) newValue); 117 getCommSubsystem().addAll((Collection<? extends CommSubsystem>) newValue);
195 return; 118 return;
196 case SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK:
197 setCommunicationLink((DirectedCommunicationLink) newValue);
198 return;
199 } 119 }
200 super.eSet(featureID, newValue); 120 super.eSet(featureID, newValue);
201 } 121 }
@@ -211,9 +131,6 @@ public abstract class CommunicatingElementImpl extends MinimalEObjectImpl.Contai
211 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM: 131 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM:
212 getCommSubsystem().clear(); 132 getCommSubsystem().clear();
213 return; 133 return;
214 case SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK:
215 setCommunicationLink((DirectedCommunicationLink) null);
216 return;
217 } 134 }
218 super.eUnset(featureID); 135 super.eUnset(featureID);
219 } 136 }
@@ -228,8 +145,6 @@ public abstract class CommunicatingElementImpl extends MinimalEObjectImpl.Contai
228 switch (featureID) { 145 switch (featureID) {
229 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM: 146 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM:
230 return commSubsystem != null && !commSubsystem.isEmpty(); 147 return commSubsystem != null && !commSubsystem.isEmpty();
231 case SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK:
232 return communicationLink != null;
233 } 148 }
234 return super.eIsSet(featureID); 149 return super.eIsSet(featureID);
235 } 150 }
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/DirectedCommunicationLinkImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/DirectedCommunicationLinkImpl.java
deleted file mode 100644
index 2df1328f..00000000
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/DirectedCommunicationLinkImpl.java
+++ /dev/null
@@ -1,227 +0,0 @@
1/**
2 */
3package satellite.impl;
4
5import org.eclipse.emf.common.notify.Notification;
6
7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.InternalEObject;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
12
13import satellite.CommSubsystem;
14import satellite.DirectedCommunicationLink;
15import satellite.SatellitePackage;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Directed Communication Link</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link satellite.impl.DirectedCommunicationLinkImpl#getSource <em>Source</em>}</li>
26 * <li>{@link satellite.impl.DirectedCommunicationLinkImpl#getTarget <em>Target</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class DirectedCommunicationLinkImpl extends MinimalEObjectImpl.Container implements DirectedCommunicationLink {
32 /**
33 * The cached value of the '{@link #getSource() <em>Source</em>}' reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getSource()
37 * @generated
38 * @ordered
39 */
40 protected CommSubsystem source;
41
42 /**
43 * The cached value of the '{@link #getTarget() <em>Target</em>}' reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getTarget()
47 * @generated
48 * @ordered
49 */
50 protected CommSubsystem target;
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 protected DirectedCommunicationLinkImpl() {
58 super();
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 @Override
67 protected EClass eStaticClass() {
68 return SatellitePackage.Literals.DIRECTED_COMMUNICATION_LINK;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 @Override
77 public CommSubsystem getSource() {
78 if (source != null && source.eIsProxy()) {
79 InternalEObject oldSource = (InternalEObject) source;
80 source = (CommSubsystem) eResolveProxy(oldSource);
81 if (source != oldSource) {
82 if (eNotificationRequired())
83 eNotify(new ENotificationImpl(this, Notification.RESOLVE,
84 SatellitePackage.DIRECTED_COMMUNICATION_LINK__SOURCE, oldSource, source));
85 }
86 }
87 return source;
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 public CommSubsystem basicGetSource() {
96 return source;
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 public void setSource(CommSubsystem newSource) {
106 CommSubsystem oldSource = source;
107 source = newSource;
108 if (eNotificationRequired())
109 eNotify(new ENotificationImpl(this, Notification.SET, SatellitePackage.DIRECTED_COMMUNICATION_LINK__SOURCE,
110 oldSource, source));
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 @Override
119 public CommSubsystem getTarget() {
120 if (target != null && target.eIsProxy()) {
121 InternalEObject oldTarget = (InternalEObject) target;
122 target = (CommSubsystem) eResolveProxy(oldTarget);
123 if (target != oldTarget) {
124 if (eNotificationRequired())
125 eNotify(new ENotificationImpl(this, Notification.RESOLVE,
126 SatellitePackage.DIRECTED_COMMUNICATION_LINK__TARGET, oldTarget, target));
127 }
128 }
129 return target;
130 }
131
132 /**
133 * <!-- begin-user-doc -->
134 * <!-- end-user-doc -->
135 * @generated
136 */
137 public CommSubsystem basicGetTarget() {
138 return target;
139 }
140
141 /**
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @generated
145 */
146 @Override
147 public void setTarget(CommSubsystem newTarget) {
148 CommSubsystem oldTarget = target;
149 target = newTarget;
150 if (eNotificationRequired())
151 eNotify(new ENotificationImpl(this, Notification.SET, SatellitePackage.DIRECTED_COMMUNICATION_LINK__TARGET,
152 oldTarget, target));
153 }
154
155 /**
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @generated
159 */
160 @Override
161 public Object eGet(int featureID, boolean resolve, boolean coreType) {
162 switch (featureID) {
163 case SatellitePackage.DIRECTED_COMMUNICATION_LINK__SOURCE:
164 if (resolve)
165 return getSource();
166 return basicGetSource();
167 case SatellitePackage.DIRECTED_COMMUNICATION_LINK__TARGET:
168 if (resolve)
169 return getTarget();
170 return basicGetTarget();
171 }
172 return super.eGet(featureID, resolve, coreType);
173 }
174
175 /**
176 * <!-- begin-user-doc -->
177 * <!-- end-user-doc -->
178 * @generated
179 */
180 @Override
181 public void eSet(int featureID, Object newValue) {
182 switch (featureID) {
183 case SatellitePackage.DIRECTED_COMMUNICATION_LINK__SOURCE:
184 setSource((CommSubsystem) newValue);
185 return;
186 case SatellitePackage.DIRECTED_COMMUNICATION_LINK__TARGET:
187 setTarget((CommSubsystem) newValue);
188 return;
189 }
190 super.eSet(featureID, newValue);
191 }
192
193 /**
194 * <!-- begin-user-doc -->
195 * <!-- end-user-doc -->
196 * @generated
197 */
198 @Override
199 public void eUnset(int featureID) {
200 switch (featureID) {
201 case SatellitePackage.DIRECTED_COMMUNICATION_LINK__SOURCE:
202 setSource((CommSubsystem) null);
203 return;
204 case SatellitePackage.DIRECTED_COMMUNICATION_LINK__TARGET:
205 setTarget((CommSubsystem) null);
206 return;
207 }
208 super.eUnset(featureID);
209 }
210
211 /**
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @generated
215 */
216 @Override
217 public boolean eIsSet(int featureID) {
218 switch (featureID) {
219 case SatellitePackage.DIRECTED_COMMUNICATION_LINK__SOURCE:
220 return source != null;
221 case SatellitePackage.DIRECTED_COMMUNICATION_LINK__TARGET:
222 return target != null;
223 }
224 return super.eIsSet(featureID);
225 }
226
227} //DirectedCommunicationLinkImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SatelliteFactoryImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SatelliteFactoryImpl.java
index 135527c6..71e16abf 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SatelliteFactoryImpl.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SatelliteFactoryImpl.java
@@ -60,8 +60,6 @@ public class SatelliteFactoryImpl extends EFactoryImpl implements SatelliteFacto
60 return createInterferometryMission(); 60 return createInterferometryMission();
61 case SatellitePackage.GROUND_STATION_NETWORK: 61 case SatellitePackage.GROUND_STATION_NETWORK:
62 return createGroundStationNetwork(); 62 return createGroundStationNetwork();
63 case SatellitePackage.DIRECTED_COMMUNICATION_LINK:
64 return createDirectedCommunicationLink();
65 case SatellitePackage.INTERFEROMETRY_PAYLOAD: 63 case SatellitePackage.INTERFEROMETRY_PAYLOAD:
66 return createInterferometryPayload(); 64 return createInterferometryPayload();
67 case SatellitePackage.CUBE_SAT3_U: 65 case SatellitePackage.CUBE_SAT3_U:
@@ -109,17 +107,6 @@ public class SatelliteFactoryImpl extends EFactoryImpl implements SatelliteFacto
109 * @generated 107 * @generated
110 */ 108 */
111 @Override 109 @Override
112 public DirectedCommunicationLink createDirectedCommunicationLink() {
113 DirectedCommunicationLinkImpl directedCommunicationLink = new DirectedCommunicationLinkImpl();
114 return directedCommunicationLink;
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public InterferometryPayload createInterferometryPayload() { 110 public InterferometryPayload createInterferometryPayload() {
124 InterferometryPayloadImpl interferometryPayload = new InterferometryPayloadImpl(); 111 InterferometryPayloadImpl interferometryPayload = new InterferometryPayloadImpl();
125 return interferometryPayload; 112 return interferometryPayload;
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 daec68a9..e3e20e0c 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
@@ -14,7 +14,6 @@ import satellite.ConstellationMission;
14import satellite.CubeSat; 14import satellite.CubeSat;
15import satellite.CubeSat3U; 15import satellite.CubeSat3U;
16import satellite.CubeSat6U; 16import satellite.CubeSat6U;
17import satellite.DirectedCommunicationLink;
18import satellite.GroundStationNetwork; 17import satellite.GroundStationNetwork;
19import satellite.InterferometryMission; 18import satellite.InterferometryMission;
20import satellite.InterferometryPayload; 19import satellite.InterferometryPayload;
@@ -81,13 +80,6 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
81 * <!-- end-user-doc --> 80 * <!-- end-user-doc -->
82 * @generated 81 * @generated
83 */ 82 */
84 private EClass directedCommunicationLinkEClass = null;
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 private EClass payloadEClass = null; 83 private EClass payloadEClass = null;
92 84
93 /** 85 /**
@@ -286,16 +278,6 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
286 * @generated 278 * @generated
287 */ 279 */
288 @Override 280 @Override
289 public EReference getCommunicatingElement_CommunicationLink() {
290 return (EReference) communicatingElementEClass.getEStructuralFeatures().get(1);
291 }
292
293 /**
294 * <!-- begin-user-doc -->
295 * <!-- end-user-doc -->
296 * @generated
297 */
298 @Override
299 public EClass getGroundStationNetwork() { 281 public EClass getGroundStationNetwork() {
300 return groundStationNetworkEClass; 282 return groundStationNetworkEClass;
301 } 283 }
@@ -336,28 +318,8 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
336 * @generated 318 * @generated
337 */ 319 */
338 @Override 320 @Override
339 public EClass getDirectedCommunicationLink() { 321 public EReference getCommSubsystem_Target() {
340 return directedCommunicationLinkEClass; 322 return (EReference) commSubsystemEClass.getEStructuralFeatures().get(0);
341 }
342
343 /**
344 * <!-- begin-user-doc -->
345 * <!-- end-user-doc -->
346 * @generated
347 */
348 @Override
349 public EReference getDirectedCommunicationLink_Source() {
350 return (EReference) directedCommunicationLinkEClass.getEStructuralFeatures().get(0);
351 }
352
353 /**
354 * <!-- begin-user-doc -->
355 * <!-- end-user-doc -->
356 * @generated
357 */
358 @Override
359 public EReference getDirectedCommunicationLink_Target() {
360 return (EReference) directedCommunicationLinkEClass.getEStructuralFeatures().get(1);
361 } 323 }
362 324
363 /** 325 /**
@@ -489,7 +451,6 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
489 451
490 communicatingElementEClass = createEClass(COMMUNICATING_ELEMENT); 452 communicatingElementEClass = createEClass(COMMUNICATING_ELEMENT);
491 createEReference(communicatingElementEClass, COMMUNICATING_ELEMENT__COMM_SUBSYSTEM); 453 createEReference(communicatingElementEClass, COMMUNICATING_ELEMENT__COMM_SUBSYSTEM);
492 createEReference(communicatingElementEClass, COMMUNICATING_ELEMENT__COMMUNICATION_LINK);
493 454
494 groundStationNetworkEClass = createEClass(GROUND_STATION_NETWORK); 455 groundStationNetworkEClass = createEClass(GROUND_STATION_NETWORK);
495 456
@@ -497,10 +458,7 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
497 createEReference(spacecraftEClass, SPACECRAFT__PAYLOAD); 458 createEReference(spacecraftEClass, SPACECRAFT__PAYLOAD);
498 459
499 commSubsystemEClass = createEClass(COMM_SUBSYSTEM); 460 commSubsystemEClass = createEClass(COMM_SUBSYSTEM);
500 461 createEReference(commSubsystemEClass, COMM_SUBSYSTEM__TARGET);
501 directedCommunicationLinkEClass = createEClass(DIRECTED_COMMUNICATION_LINK);
502 createEReference(directedCommunicationLinkEClass, DIRECTED_COMMUNICATION_LINK__SOURCE);
503 createEReference(directedCommunicationLinkEClass, DIRECTED_COMMUNICATION_LINK__TARGET);
504 462
505 payloadEClass = createEClass(PAYLOAD); 463 payloadEClass = createEClass(PAYLOAD);
506 464
@@ -583,9 +541,6 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
583 initEReference(getCommunicatingElement_CommSubsystem(), this.getCommSubsystem(), null, "commSubsystem", null, 1, 541 initEReference(getCommunicatingElement_CommSubsystem(), this.getCommSubsystem(), null, "commSubsystem", null, 1,
584 2, CommunicatingElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, 542 2, CommunicatingElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
585 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 543 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
586 initEReference(getCommunicatingElement_CommunicationLink(), this.getDirectedCommunicationLink(), null,
587 "communicationLink", null, 0, 1, CommunicatingElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
588 IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
589 544
590 initEClass(groundStationNetworkEClass, GroundStationNetwork.class, "GroundStationNetwork", !IS_ABSTRACT, 545 initEClass(groundStationNetworkEClass, GroundStationNetwork.class, "GroundStationNetwork", !IS_ABSTRACT,
591 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 546 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -598,15 +553,9 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
598 553
599 initEClass(commSubsystemEClass, CommSubsystem.class, "CommSubsystem", IS_ABSTRACT, !IS_INTERFACE, 554 initEClass(commSubsystemEClass, CommSubsystem.class, "CommSubsystem", IS_ABSTRACT, !IS_INTERFACE,
600 IS_GENERATED_INSTANCE_CLASS); 555 IS_GENERATED_INSTANCE_CLASS);
601 556 initEReference(getCommSubsystem_Target(), this.getCommSubsystem(), null, "target", null, 0, 1,
602 initEClass(directedCommunicationLinkEClass, DirectedCommunicationLink.class, "DirectedCommunicationLink", 557 CommSubsystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
603 !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 558 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
604 initEReference(getDirectedCommunicationLink_Source(), this.getCommSubsystem(), null, "source", null, 1, 1,
605 DirectedCommunicationLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
606 IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
607 initEReference(getDirectedCommunicationLink_Target(), this.getCommSubsystem(), null, "target", null, 1, 1,
608 DirectedCommunicationLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
609 IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
610 559
611 initEClass(payloadEClass, Payload.class, "Payload", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 560 initEClass(payloadEClass, Payload.class, "Payload", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
612 561
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteAdapterFactory.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteAdapterFactory.java
index 84ddf263..175f474f 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteAdapterFactory.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteAdapterFactory.java
@@ -97,11 +97,6 @@ public class SatelliteAdapterFactory extends AdapterFactoryImpl {
97 } 97 }
98 98
99 @Override 99 @Override
100 public Adapter caseDirectedCommunicationLink(DirectedCommunicationLink object) {
101 return createDirectedCommunicationLinkAdapter();
102 }
103
104 @Override
105 public Adapter casePayload(Payload object) { 100 public Adapter casePayload(Payload object) {
106 return createPayloadAdapter(); 101 return createPayloadAdapter();
107 } 102 }
@@ -250,20 +245,6 @@ public class SatelliteAdapterFactory extends AdapterFactoryImpl {
250 } 245 }
251 246
252 /** 247 /**
253 * Creates a new adapter for an object of class '{@link satellite.DirectedCommunicationLink <em>Directed Communication Link</em>}'.
254 * <!-- begin-user-doc -->
255 * This default implementation returns null so that we can easily ignore cases;
256 * it's useful to ignore a case when inheritance will catch all the cases anyway.
257 * <!-- end-user-doc -->
258 * @return the new adapter.
259 * @see satellite.DirectedCommunicationLink
260 * @generated
261 */
262 public Adapter createDirectedCommunicationLinkAdapter() {
263 return null;
264 }
265
266 /**
267 * Creates a new adapter for an object of class '{@link satellite.Payload <em>Payload</em>}'. 248 * Creates a new adapter for an object of class '{@link satellite.Payload <em>Payload</em>}'.
268 * <!-- begin-user-doc --> 249 * <!-- begin-user-doc -->
269 * This default implementation returns null so that we can easily ignore cases; 250 * This default implementation returns null so that we can easily ignore cases;
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteSwitch.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteSwitch.java
index 6975d851..541d8494 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteSwitch.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteSwitch.java
@@ -114,13 +114,6 @@ public class SatelliteSwitch<T> extends Switch<T> {
114 result = defaultCase(theEObject); 114 result = defaultCase(theEObject);
115 return result; 115 return result;
116 } 116 }
117 case SatellitePackage.DIRECTED_COMMUNICATION_LINK: {
118 DirectedCommunicationLink directedCommunicationLink = (DirectedCommunicationLink) theEObject;
119 T result = caseDirectedCommunicationLink(directedCommunicationLink);
120 if (result == null)
121 result = defaultCase(theEObject);
122 return result;
123 }
124 case SatellitePackage.PAYLOAD: { 117 case SatellitePackage.PAYLOAD: {
125 Payload payload = (Payload) theEObject; 118 Payload payload = (Payload) theEObject;
126 T result = casePayload(payload); 119 T result = casePayload(payload);
@@ -308,21 +301,6 @@ public class SatelliteSwitch<T> extends Switch<T> {
308 } 301 }
309 302
310 /** 303 /**
311 * Returns the result of interpreting the object as an instance of '<em>Directed Communication Link</em>'.
312 * <!-- begin-user-doc -->
313 * This implementation returns null;
314 * returning a non-null result will terminate the switch.
315 * <!-- end-user-doc -->
316 * @param object the target of the switch.
317 * @return the result of interpreting the object as an instance of '<em>Directed Communication Link</em>'.
318 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
319 * @generated
320 */
321 public T caseDirectedCommunicationLink(DirectedCommunicationLink object) {
322 return null;
323 }
324
325 /**
326 * Returns the result of interpreting the object as an instance of '<em>Payload</em>'. 304 * Returns the result of interpreting the object as an instance of '<em>Payload</em>'.
327 * <!-- begin-user-doc --> 305 * <!-- begin-user-doc -->
328 * This implementation returns null; 306 * This implementation returns null;
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 3e5cdafb..74f09388 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
@@ -14,20 +14,14 @@
14 <eClassifiers xsi:type="ecore:EClass" name="CommunicatingElement" abstract="true"> 14 <eClassifiers xsi:type="ecore:EClass" name="CommunicatingElement" abstract="true">
15 <eStructuralFeatures xsi:type="ecore:EReference" name="commSubsystem" lowerBound="1" 15 <eStructuralFeatures xsi:type="ecore:EReference" name="commSubsystem" lowerBound="1"
16 upperBound="2" eType="#//CommSubsystem" containment="true"/> 16 upperBound="2" eType="#//CommSubsystem" containment="true"/>
17 <eStructuralFeatures xsi:type="ecore:EReference" name="communicationLink" eType="#//DirectedCommunicationLink"
18 containment="true"/>
19 </eClassifiers> 17 </eClassifiers>
20 <eClassifiers xsi:type="ecore:EClass" name="GroundStationNetwork" eSuperTypes="#//CommunicatingElement"/> 18 <eClassifiers xsi:type="ecore:EClass" name="GroundStationNetwork" eSuperTypes="#//CommunicatingElement"/>
21 <eClassifiers xsi:type="ecore:EClass" name="Spacecraft" abstract="true" eSuperTypes="#//CommunicatingElement"> 19 <eClassifiers xsi:type="ecore:EClass" name="Spacecraft" abstract="true" eSuperTypes="#//CommunicatingElement">
22 <eStructuralFeatures xsi:type="ecore:EReference" name="payload" eType="#//Payload" 20 <eStructuralFeatures xsi:type="ecore:EReference" name="payload" eType="#//Payload"
23 containment="true"/> 21 containment="true"/>
24 </eClassifiers> 22 </eClassifiers>
25 <eClassifiers xsi:type="ecore:EClass" name="CommSubsystem" abstract="true"/> 23 <eClassifiers xsi:type="ecore:EClass" name="CommSubsystem" abstract="true">
26 <eClassifiers xsi:type="ecore:EClass" name="DirectedCommunicationLink"> 24 <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//CommSubsystem"/>
27 <eStructuralFeatures xsi:type="ecore:EReference" name="source" lowerBound="1"
28 eType="#//CommSubsystem"/>
29 <eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1"
30 eType="#//CommSubsystem"/>
31 </eClassifiers> 25 </eClassifiers>
32 <eClassifiers xsi:type="ecore:EClass" name="Payload" abstract="true"/> 26 <eClassifiers xsi:type="ecore:EClass" name="Payload" abstract="true"/>
33 <eClassifiers xsi:type="ecore:EClass" name="InterferometryPayload" eSuperTypes="#//Payload"/> 27 <eClassifiers xsi:type="ecore:EClass" name="InterferometryPayload" eSuperTypes="#//Payload"/>
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 2d538c06..e315e0ec 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
@@ -20,16 +20,13 @@
20 </genClasses> 20 </genClasses>
21 <genClasses image="false" ecoreClass="satellite.ecore#//CommunicatingElement"> 21 <genClasses image="false" ecoreClass="satellite.ecore#//CommunicatingElement">
22 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference satellite.ecore#//CommunicatingElement/commSubsystem"/> 22 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference satellite.ecore#//CommunicatingElement/commSubsystem"/>
23 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference satellite.ecore#//CommunicatingElement/communicationLink"/>
24 </genClasses> 23 </genClasses>
25 <genClasses ecoreClass="satellite.ecore#//GroundStationNetwork"/> 24 <genClasses ecoreClass="satellite.ecore#//GroundStationNetwork"/>
26 <genClasses image="false" ecoreClass="satellite.ecore#//Spacecraft"> 25 <genClasses image="false" ecoreClass="satellite.ecore#//Spacecraft">
27 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference satellite.ecore#//Spacecraft/payload"/> 26 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference satellite.ecore#//Spacecraft/payload"/>
28 </genClasses> 27 </genClasses>
29 <genClasses ecoreClass="satellite.ecore#//CommSubsystem"/> 28 <genClasses ecoreClass="satellite.ecore#//CommSubsystem">
30 <genClasses ecoreClass="satellite.ecore#//DirectedCommunicationLink"> 29 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference satellite.ecore#//CommSubsystem/target"/>
31 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference satellite.ecore#//DirectedCommunicationLink/source"/>
32 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference satellite.ecore#//DirectedCommunicationLink/target"/>
33 </genClasses> 30 </genClasses>
34 <genClasses image="false" ecoreClass="satellite.ecore#//Payload"/> 31 <genClasses image="false" ecoreClass="satellite.ecore#//Payload"/>
35 <genClasses ecoreClass="satellite.ecore#//InterferometryPayload"/> 32 <genClasses ecoreClass="satellite.ecore#//InterferometryPayload"/>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generated3valued.vql_deactivated b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generated3valued.vql_deactivated
index b42023a4..9bc66dee 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generated3valued.vql_deactivated
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generated3valued.vql_deactivated
@@ -109,23 +109,21 @@ private pattern mayInstanceOfConstellationMission_class(problem:LogicProblem, in
109{ 109{
110 find interpretation(problem,interpretation); 110 find interpretation(problem,interpretation);
111 PartialInterpretation.newElements(interpretation,element); 111 PartialInterpretation.newElements(interpretation,element);
112 neg find mustInstanceOfPayload_class(problem,interpretation,element);
112 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); 113 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
113 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); 114 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
114 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
115 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
116 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 115 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
117 neg find mustInstanceOfPayload_class(problem,interpretation,element); 116 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
118 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation); 117 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
119 neg find isPrimitive(element); 118 neg find isPrimitive(element);
120} or { 119} or {
121 find interpretation(problem,interpretation); 120 find interpretation(problem,interpretation);
122 PartialInterpretation.openWorldElements(interpretation,element); 121 PartialInterpretation.openWorldElements(interpretation,element);
122 neg find mustInstanceOfPayload_class(problem,interpretation,element);
123 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); 123 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
124 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); 124 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
125 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
126 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
127 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 125 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
128 neg find mustInstanceOfPayload_class(problem,interpretation,element); 126 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
129 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation); 127 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
130 neg find isPrimitive(element); 128 neg find isPrimitive(element);
131} or 129} or
@@ -154,20 +152,18 @@ private pattern mayInstanceOfInterferometryMission_class(problem:LogicProblem, i
154 find interpretation(problem,interpretation); 152 find interpretation(problem,interpretation);
155 PartialInterpretation.newElements(interpretation,element); 153 PartialInterpretation.newElements(interpretation,element);
156 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); 154 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
157 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
158 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
159 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
160 neg find mustInstanceOfPayload_class(problem,interpretation,element); 155 neg find mustInstanceOfPayload_class(problem,interpretation,element);
156 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
157 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
161 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation); 158 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
162 neg find isPrimitive(element); 159 neg find isPrimitive(element);
163} or { 160} or {
164 find interpretation(problem,interpretation); 161 find interpretation(problem,interpretation);
165 PartialInterpretation.openWorldElements(interpretation,element); 162 PartialInterpretation.openWorldElements(interpretation,element);
166 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); 163 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
167 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
168 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
169 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
170 neg find mustInstanceOfPayload_class(problem,interpretation,element); 164 neg find mustInstanceOfPayload_class(problem,interpretation,element);
165 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
166 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
171 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation); 167 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
172 neg find isPrimitive(element); 168 neg find isPrimitive(element);
173} or 169} or
@@ -195,23 +191,21 @@ private pattern mayInstanceOfCommunicatingElement_class(problem:LogicProblem, in
195{ 191{
196 find interpretation(problem,interpretation); 192 find interpretation(problem,interpretation);
197 PartialInterpretation.newElements(interpretation,element); 193 PartialInterpretation.newElements(interpretation,element);
198 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 194 neg find mustInstanceOfPayload_class(problem,interpretation,element);
199 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); 195 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
200 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
201 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
202 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 196 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
203 neg find mustInstanceOfPayload_class(problem,interpretation,element); 197 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
198 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
204 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation); 199 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
205 neg find isPrimitive(element); 200 neg find isPrimitive(element);
206} or { 201} or {
207 find interpretation(problem,interpretation); 202 find interpretation(problem,interpretation);
208 PartialInterpretation.openWorldElements(interpretation,element); 203 PartialInterpretation.openWorldElements(interpretation,element);
209 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 204 neg find mustInstanceOfPayload_class(problem,interpretation,element);
210 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); 205 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
211 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
212 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
213 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 206 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
214 neg find mustInstanceOfPayload_class(problem,interpretation,element); 207 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
208 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
215 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation); 209 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
216 neg find isPrimitive(element); 210 neg find isPrimitive(element);
217} or 211} or
@@ -239,21 +233,19 @@ private pattern mayInstanceOfGroundStationNetwork_class(problem:LogicProblem, in
239{ 233{
240 find interpretation(problem,interpretation); 234 find interpretation(problem,interpretation);
241 PartialInterpretation.newElements(interpretation,element); 235 PartialInterpretation.newElements(interpretation,element);
242 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 236 neg find mustInstanceOfPayload_class(problem,interpretation,element);
243 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); 237 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
244 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
245 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 238 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
246 neg find mustInstanceOfPayload_class(problem,interpretation,element); 239 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
247 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation); 240 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
248 neg find isPrimitive(element); 241 neg find isPrimitive(element);
249} or { 242} or {
250 find interpretation(problem,interpretation); 243 find interpretation(problem,interpretation);
251 PartialInterpretation.openWorldElements(interpretation,element); 244 PartialInterpretation.openWorldElements(interpretation,element);
252 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 245 neg find mustInstanceOfPayload_class(problem,interpretation,element);
253 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); 246 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
254 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
255 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 247 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
256 neg find mustInstanceOfPayload_class(problem,interpretation,element); 248 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
257 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation); 249 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
258 neg find isPrimitive(element); 250 neg find isPrimitive(element);
259} or 251} or
@@ -281,25 +273,23 @@ private pattern mayInstanceOfSpacecraft_class(problem:LogicProblem, interpretati
281{ 273{
282 find interpretation(problem,interpretation); 274 find interpretation(problem,interpretation);
283 PartialInterpretation.newElements(interpretation,element); 275 PartialInterpretation.newElements(interpretation,element);
284 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 276 neg find mustInstanceOfPayload_class(problem,interpretation,element);
285 neg find mustInstanceOfCubeSat_class(problem,interpretation,element); 277 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
286 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 278 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
287 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
288 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
289 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 279 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
290 neg find mustInstanceOfPayload_class(problem,interpretation,element); 280 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
281 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
291 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation); 282 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
292 neg find isPrimitive(element); 283 neg find isPrimitive(element);
293} or { 284} or {
294 find interpretation(problem,interpretation); 285 find interpretation(problem,interpretation);
295 PartialInterpretation.openWorldElements(interpretation,element); 286 PartialInterpretation.openWorldElements(interpretation,element);
296 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 287 neg find mustInstanceOfPayload_class(problem,interpretation,element);
297 neg find mustInstanceOfCubeSat_class(problem,interpretation,element); 288 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
298 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 289 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
299 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
300 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
301 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 290 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
302 neg find mustInstanceOfPayload_class(problem,interpretation,element); 291 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
292 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
303 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation); 293 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
304 neg find isPrimitive(element); 294 neg find isPrimitive(element);
305} or 295} or
@@ -327,70 +317,28 @@ private pattern mayInstanceOfCommSubsystem_class(problem:LogicProblem, interpret
327{ 317{
328 find interpretation(problem,interpretation); 318 find interpretation(problem,interpretation);
329 PartialInterpretation.newElements(interpretation,element); 319 PartialInterpretation.newElements(interpretation,element);
330 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 320 neg find mustInstanceOfPayload_class(problem,interpretation,element);
331 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); 321 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
332 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
333 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
334 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); 322 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
323 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
335 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); 324 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
336 neg find mustInstanceOfPayload_class(problem,interpretation,element); 325 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
337 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation); 326 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
338 neg find isPrimitive(element); 327 neg find isPrimitive(element);
339} or { 328} or {
340 find interpretation(problem,interpretation); 329 find interpretation(problem,interpretation);
341 PartialInterpretation.openWorldElements(interpretation,element); 330 PartialInterpretation.openWorldElements(interpretation,element);
342 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 331 neg find mustInstanceOfPayload_class(problem,interpretation,element);
343 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); 332 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
344 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
345 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
346 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); 333 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
334 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
347 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); 335 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
348 neg find mustInstanceOfPayload_class(problem,interpretation,element); 336 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
349 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation); 337 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
350 neg find isPrimitive(element); 338 neg find isPrimitive(element);
351} or 339} or
352{ find mustInstanceOfCommSubsystem_class(problem,interpretation,element); } 340{ find mustInstanceOfCommSubsystem_class(problem,interpretation,element); }
353/** 341/**
354 * An element must be an instance of type "DirectedCommunicationLink class".
355 */
356private pattern mustInstanceOfDirectedCommunicationLink_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
357 Type.name(type,"DirectedCommunicationLink class");
358 find directInstanceOf(problem,interpretation,element,type);
359}
360private pattern scopeDisallowsNewDirectedCommunicationLink_class(problem:LogicProblem, interpretation:PartialInterpretation) {
361 find interpretation(problem,interpretation);
362 PartialInterpretation.scopes(interpretation,scope);
363 Scope.targetTypeInterpretation(scope,typeInterpretation);
364 Scope.maxNewElements(scope,0);
365 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
366 Type.name(type,"DirectedCommunicationLink class");
367}
368
369/**
370 * An element may be an instance of type "DirectedCommunicationLink class".
371 */
372private pattern mayInstanceOfDirectedCommunicationLink_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
373{
374 find interpretation(problem,interpretation);
375 PartialInterpretation.newElements(interpretation,element);
376 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
377 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
378 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
379 neg find mustInstanceOfPayload_class(problem,interpretation,element);
380 neg find scopeDisallowsNewDirectedCommunicationLink_class(problem, interpretation);
381 neg find isPrimitive(element);
382} or {
383 find interpretation(problem,interpretation);
384 PartialInterpretation.openWorldElements(interpretation,element);
385 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
386 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
387 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
388 neg find mustInstanceOfPayload_class(problem,interpretation,element);
389 neg find scopeDisallowsNewDirectedCommunicationLink_class(problem, interpretation);
390 neg find isPrimitive(element);
391} or
392{ find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); }
393/**
394 * An element must be an instance of type "Payload class". 342 * An element must be an instance of type "Payload class".
395 */ 343 */
396private pattern mustInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { 344private pattern mustInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
@@ -413,21 +361,19 @@ private pattern mayInstanceOfPayload_class(problem:LogicProblem, interpretation:
413{ 361{
414 find interpretation(problem,interpretation); 362 find interpretation(problem,interpretation);
415 PartialInterpretation.newElements(interpretation,element); 363 PartialInterpretation.newElements(interpretation,element);
364 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
416 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 365 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
417 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
418 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 366 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
419 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 367 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
420 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
421 neg find scopeDisallowsNewPayload_class(problem, interpretation); 368 neg find scopeDisallowsNewPayload_class(problem, interpretation);
422 neg find isPrimitive(element); 369 neg find isPrimitive(element);
423} or { 370} or {
424 find interpretation(problem,interpretation); 371 find interpretation(problem,interpretation);
425 PartialInterpretation.openWorldElements(interpretation,element); 372 PartialInterpretation.openWorldElements(interpretation,element);
373 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
426 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 374 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
427 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
428 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 375 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
429 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 376 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
430 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
431 neg find scopeDisallowsNewPayload_class(problem, interpretation); 377 neg find scopeDisallowsNewPayload_class(problem, interpretation);
432 neg find isPrimitive(element); 378 neg find isPrimitive(element);
433} or 379} or
@@ -455,18 +401,16 @@ private pattern mayInstanceOfInterferometryPayload_class(problem:LogicProblem, i
455{ 401{
456 find interpretation(problem,interpretation); 402 find interpretation(problem,interpretation);
457 PartialInterpretation.newElements(interpretation,element); 403 PartialInterpretation.newElements(interpretation,element);
458 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
459 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 404 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
460 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 405 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
461 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 406 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
462 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation); 407 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
463 neg find isPrimitive(element); 408 neg find isPrimitive(element);
464} or { 409} or {
465 find interpretation(problem,interpretation); 410 find interpretation(problem,interpretation);
466 PartialInterpretation.openWorldElements(interpretation,element); 411 PartialInterpretation.openWorldElements(interpretation,element);
467 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
468 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 412 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
469 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 413 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
470 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 414 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
471 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation); 415 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
472 neg find isPrimitive(element); 416 neg find isPrimitive(element);
@@ -495,25 +439,23 @@ private pattern mayInstanceOfCubeSat3U_class(problem:LogicProblem, interpretatio
495{ 439{
496 find interpretation(problem,interpretation); 440 find interpretation(problem,interpretation);
497 PartialInterpretation.newElements(interpretation,element); 441 PartialInterpretation.newElements(interpretation,element);
498 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 442 neg find mustInstanceOfPayload_class(problem,interpretation,element);
499 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 443 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
500 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
501 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
502 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
503 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); 444 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
504 neg find mustInstanceOfPayload_class(problem,interpretation,element); 445 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
446 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
447 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
505 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation); 448 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
506 neg find isPrimitive(element); 449 neg find isPrimitive(element);
507} or { 450} or {
508 find interpretation(problem,interpretation); 451 find interpretation(problem,interpretation);
509 PartialInterpretation.openWorldElements(interpretation,element); 452 PartialInterpretation.openWorldElements(interpretation,element);
510 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 453 neg find mustInstanceOfPayload_class(problem,interpretation,element);
511 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 454 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
512 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
513 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
514 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
515 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); 455 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
516 neg find mustInstanceOfPayload_class(problem,interpretation,element); 456 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
457 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
458 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
517 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation); 459 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
518 neg find isPrimitive(element); 460 neg find isPrimitive(element);
519} or 461} or
@@ -541,25 +483,23 @@ private pattern mayInstanceOfCubeSat6U_class(problem:LogicProblem, interpretatio
541{ 483{
542 find interpretation(problem,interpretation); 484 find interpretation(problem,interpretation);
543 PartialInterpretation.newElements(interpretation,element); 485 PartialInterpretation.newElements(interpretation,element);
544 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 486 neg find mustInstanceOfPayload_class(problem,interpretation,element);
545 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 487 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
546 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
547 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
548 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 488 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
489 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
549 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); 490 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
550 neg find mustInstanceOfPayload_class(problem,interpretation,element); 491 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
551 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation); 492 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
552 neg find isPrimitive(element); 493 neg find isPrimitive(element);
553} or { 494} or {
554 find interpretation(problem,interpretation); 495 find interpretation(problem,interpretation);
555 PartialInterpretation.openWorldElements(interpretation,element); 496 PartialInterpretation.openWorldElements(interpretation,element);
556 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 497 neg find mustInstanceOfPayload_class(problem,interpretation,element);
557 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 498 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
558 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
559 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
560 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 499 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
500 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
561 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); 501 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
562 neg find mustInstanceOfPayload_class(problem,interpretation,element); 502 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
563 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation); 503 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
564 neg find isPrimitive(element); 504 neg find isPrimitive(element);
565} or 505} or
@@ -587,23 +527,21 @@ private pattern mayInstanceOfSmallSat_class(problem:LogicProblem, interpretation
587{ 527{
588 find interpretation(problem,interpretation); 528 find interpretation(problem,interpretation);
589 PartialInterpretation.newElements(interpretation,element); 529 PartialInterpretation.newElements(interpretation,element);
590 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 530 neg find mustInstanceOfPayload_class(problem,interpretation,element);
591 neg find mustInstanceOfCubeSat_class(problem,interpretation,element); 531 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
592 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
593 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
594 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 532 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
595 neg find mustInstanceOfPayload_class(problem,interpretation,element); 533 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
534 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
596 neg find scopeDisallowsNewSmallSat_class(problem, interpretation); 535 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
597 neg find isPrimitive(element); 536 neg find isPrimitive(element);
598} or { 537} or {
599 find interpretation(problem,interpretation); 538 find interpretation(problem,interpretation);
600 PartialInterpretation.openWorldElements(interpretation,element); 539 PartialInterpretation.openWorldElements(interpretation,element);
601 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 540 neg find mustInstanceOfPayload_class(problem,interpretation,element);
602 neg find mustInstanceOfCubeSat_class(problem,interpretation,element); 541 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
603 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
604 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
605 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 542 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
606 neg find mustInstanceOfPayload_class(problem,interpretation,element); 543 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
544 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
607 neg find scopeDisallowsNewSmallSat_class(problem, interpretation); 545 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
608 neg find isPrimitive(element); 546 neg find isPrimitive(element);
609} or 547} or
@@ -631,27 +569,25 @@ private pattern mayInstanceOfCubeSat_class(problem:LogicProblem, interpretation:
631{ 569{
632 find interpretation(problem,interpretation); 570 find interpretation(problem,interpretation);
633 PartialInterpretation.newElements(interpretation,element); 571 PartialInterpretation.newElements(interpretation,element);
634 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 572 neg find mustInstanceOfPayload_class(problem,interpretation,element);
635 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 573 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
636 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
637 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
638 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 574 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
639 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); 575 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
576 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
577 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
640 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); 578 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
641 neg find mustInstanceOfPayload_class(problem,interpretation,element);
642 neg find scopeDisallowsNewCubeSat_class(problem, interpretation); 579 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
643 neg find isPrimitive(element); 580 neg find isPrimitive(element);
644} or { 581} or {
645 find interpretation(problem,interpretation); 582 find interpretation(problem,interpretation);
646 PartialInterpretation.openWorldElements(interpretation,element); 583 PartialInterpretation.openWorldElements(interpretation,element);
647 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 584 neg find mustInstanceOfPayload_class(problem,interpretation,element);
648 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 585 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
649 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
650 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
651 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 586 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
652 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); 587 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
588 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
589 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
653 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); 590 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
654 neg find mustInstanceOfPayload_class(problem,interpretation,element);
655 neg find scopeDisallowsNewCubeSat_class(problem, interpretation); 591 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
656 neg find isPrimitive(element); 592 neg find isPrimitive(element);
657} or 593} or
@@ -679,23 +615,21 @@ private pattern mayInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interp
679{ 615{
680 find interpretation(problem,interpretation); 616 find interpretation(problem,interpretation);
681 PartialInterpretation.newElements(interpretation,element); 617 PartialInterpretation.newElements(interpretation,element);
682 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 618 neg find mustInstanceOfPayload_class(problem,interpretation,element);
683 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
684 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
685 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); 619 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
620 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
686 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); 621 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
687 neg find mustInstanceOfPayload_class(problem,interpretation,element); 622 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
688 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation); 623 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
689 neg find isPrimitive(element); 624 neg find isPrimitive(element);
690} or { 625} or {
691 find interpretation(problem,interpretation); 626 find interpretation(problem,interpretation);
692 PartialInterpretation.openWorldElements(interpretation,element); 627 PartialInterpretation.openWorldElements(interpretation,element);
693 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 628 neg find mustInstanceOfPayload_class(problem,interpretation,element);
694 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
695 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
696 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); 629 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
630 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
697 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); 631 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
698 neg find mustInstanceOfPayload_class(problem,interpretation,element); 632 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
699 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation); 633 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
700 neg find isPrimitive(element); 634 neg find isPrimitive(element);
701} or 635} or
@@ -723,23 +657,21 @@ private pattern mayInstanceOfXCommSubsystem_class(problem:LogicProblem, interpre
723{ 657{
724 find interpretation(problem,interpretation); 658 find interpretation(problem,interpretation);
725 PartialInterpretation.newElements(interpretation,element); 659 PartialInterpretation.newElements(interpretation,element);
726 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 660 neg find mustInstanceOfPayload_class(problem,interpretation,element);
727 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); 661 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
728 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
729 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
730 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); 662 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
731 neg find mustInstanceOfPayload_class(problem,interpretation,element); 663 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
664 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
732 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation); 665 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
733 neg find isPrimitive(element); 666 neg find isPrimitive(element);
734} or { 667} or {
735 find interpretation(problem,interpretation); 668 find interpretation(problem,interpretation);
736 PartialInterpretation.openWorldElements(interpretation,element); 669 PartialInterpretation.openWorldElements(interpretation,element);
737 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 670 neg find mustInstanceOfPayload_class(problem,interpretation,element);
738 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); 671 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
739 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
740 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
741 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); 672 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
742 neg find mustInstanceOfPayload_class(problem,interpretation,element); 673 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
674 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
743 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation); 675 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
744 neg find isPrimitive(element); 676 neg find isPrimitive(element);
745} or 677} or
@@ -767,23 +699,21 @@ private pattern mayInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpr
767{ 699{
768 find interpretation(problem,interpretation); 700 find interpretation(problem,interpretation);
769 PartialInterpretation.newElements(interpretation,element); 701 PartialInterpretation.newElements(interpretation,element);
770 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 702 neg find mustInstanceOfPayload_class(problem,interpretation,element);
771 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); 703 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
772 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
773 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
774 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); 704 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
775 neg find mustInstanceOfPayload_class(problem,interpretation,element); 705 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
706 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
776 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation); 707 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
777 neg find isPrimitive(element); 708 neg find isPrimitive(element);
778} or { 709} or {
779 find interpretation(problem,interpretation); 710 find interpretation(problem,interpretation);
780 PartialInterpretation.openWorldElements(interpretation,element); 711 PartialInterpretation.openWorldElements(interpretation,element);
781 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 712 neg find mustInstanceOfPayload_class(problem,interpretation,element);
782 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); 713 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
783 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
784 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
785 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); 714 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
786 neg find mustInstanceOfPayload_class(problem,interpretation,element); 715 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
716 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
787 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation); 717 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
788 neg find isPrimitive(element); 718 neg find isPrimitive(element);
789} or 719} or
@@ -832,21 +762,19 @@ private pattern mayInstanceOfConstellationMission_class_UndefinedPart(problem:Lo
832{ 762{
833 find interpretation(problem,interpretation); 763 find interpretation(problem,interpretation);
834 PartialInterpretation.newElements(interpretation,element); 764 PartialInterpretation.newElements(interpretation,element);
765 neg find mustInstanceOfPayload_class(problem,interpretation,element);
835 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); 766 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
836 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
837 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
838 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 767 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
839 neg find mustInstanceOfPayload_class(problem,interpretation,element); 768 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
840 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation); 769 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
841 neg find isPrimitive(element); 770 neg find isPrimitive(element);
842} or { 771} or {
843 find interpretation(problem,interpretation); 772 find interpretation(problem,interpretation);
844 PartialInterpretation.openWorldElements(interpretation,element); 773 PartialInterpretation.openWorldElements(interpretation,element);
774 neg find mustInstanceOfPayload_class(problem,interpretation,element);
845 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); 775 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
846 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
847 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
848 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 776 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
849 neg find mustInstanceOfPayload_class(problem,interpretation,element); 777 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
850 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation); 778 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
851 neg find isPrimitive(element); 779 neg find isPrimitive(element);
852} or 780} or
@@ -895,19 +823,17 @@ private pattern mayInstanceOfInterferometryMission_class_UndefinedPart(problem:L
895{ 823{
896 find interpretation(problem,interpretation); 824 find interpretation(problem,interpretation);
897 PartialInterpretation.newElements(interpretation,element); 825 PartialInterpretation.newElements(interpretation,element);
898 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
899 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
900 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
901 neg find mustInstanceOfPayload_class(problem,interpretation,element); 826 neg find mustInstanceOfPayload_class(problem,interpretation,element);
827 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
828 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
902 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation); 829 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
903 neg find isPrimitive(element); 830 neg find isPrimitive(element);
904} or { 831} or {
905 find interpretation(problem,interpretation); 832 find interpretation(problem,interpretation);
906 PartialInterpretation.openWorldElements(interpretation,element); 833 PartialInterpretation.openWorldElements(interpretation,element);
907 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
908 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
909 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
910 neg find mustInstanceOfPayload_class(problem,interpretation,element); 834 neg find mustInstanceOfPayload_class(problem,interpretation,element);
835 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
836 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
911 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation); 837 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
912 neg find isPrimitive(element); 838 neg find isPrimitive(element);
913} or 839} or
@@ -956,23 +882,21 @@ private pattern mayInstanceOfCommunicatingElement_class_UndefinedPart(problem:Lo
956{ 882{
957 find interpretation(problem,interpretation); 883 find interpretation(problem,interpretation);
958 PartialInterpretation.newElements(interpretation,element); 884 PartialInterpretation.newElements(interpretation,element);
959 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
960 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
961 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
962 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
963 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
964 neg find mustInstanceOfPayload_class(problem,interpretation,element); 885 neg find mustInstanceOfPayload_class(problem,interpretation,element);
886 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
887 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
888 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
889 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
965 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation); 890 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
966 neg find isPrimitive(element); 891 neg find isPrimitive(element);
967} or { 892} or {
968 find interpretation(problem,interpretation); 893 find interpretation(problem,interpretation);
969 PartialInterpretation.openWorldElements(interpretation,element); 894 PartialInterpretation.openWorldElements(interpretation,element);
970 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
971 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
972 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
973 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
974 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
975 neg find mustInstanceOfPayload_class(problem,interpretation,element); 895 neg find mustInstanceOfPayload_class(problem,interpretation,element);
896 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
897 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
898 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
899 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
976 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation); 900 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
977 neg find isPrimitive(element); 901 neg find isPrimitive(element);
978} or 902} or
@@ -1021,21 +945,19 @@ private pattern mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem:Lo
1021{ 945{
1022 find interpretation(problem,interpretation); 946 find interpretation(problem,interpretation);
1023 PartialInterpretation.newElements(interpretation,element); 947 PartialInterpretation.newElements(interpretation,element);
1024 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1025 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
1026 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
1027 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
1028 neg find mustInstanceOfPayload_class(problem,interpretation,element); 948 neg find mustInstanceOfPayload_class(problem,interpretation,element);
949 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
950 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
951 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1029 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation); 952 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
1030 neg find isPrimitive(element); 953 neg find isPrimitive(element);
1031} or { 954} or {
1032 find interpretation(problem,interpretation); 955 find interpretation(problem,interpretation);
1033 PartialInterpretation.openWorldElements(interpretation,element); 956 PartialInterpretation.openWorldElements(interpretation,element);
1034 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1035 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
1036 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
1037 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
1038 neg find mustInstanceOfPayload_class(problem,interpretation,element); 957 neg find mustInstanceOfPayload_class(problem,interpretation,element);
958 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
959 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
960 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1039 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation); 961 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
1040 neg find isPrimitive(element); 962 neg find isPrimitive(element);
1041} or 963} or
@@ -1084,25 +1006,23 @@ private pattern mayInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProb
1084{ 1006{
1085 find interpretation(problem,interpretation); 1007 find interpretation(problem,interpretation);
1086 PartialInterpretation.newElements(interpretation,element); 1008 PartialInterpretation.newElements(interpretation,element);
1087 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 1009 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1088 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
1089 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1090 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); 1010 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1091 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); 1011 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1092 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); 1012 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1093 neg find mustInstanceOfPayload_class(problem,interpretation,element); 1013 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1014 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1094 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation); 1015 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1095 neg find isPrimitive(element); 1016 neg find isPrimitive(element);
1096} or { 1017} or {
1097 find interpretation(problem,interpretation); 1018 find interpretation(problem,interpretation);
1098 PartialInterpretation.openWorldElements(interpretation,element); 1019 PartialInterpretation.openWorldElements(interpretation,element);
1099 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 1020 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1100 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
1101 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1102 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); 1021 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1103 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); 1022 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1104 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); 1023 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1105 neg find mustInstanceOfPayload_class(problem,interpretation,element); 1024 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1025 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1106 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation); 1026 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1107 neg find isPrimitive(element); 1027 neg find isPrimitive(element);
1108} or 1028} or
@@ -1151,23 +1071,21 @@ private pattern mayInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicPro
1151{ 1071{
1152 find interpretation(problem,interpretation); 1072 find interpretation(problem,interpretation);
1153 PartialInterpretation.newElements(interpretation,element); 1073 PartialInterpretation.newElements(interpretation,element);
1154 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 1074 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1155 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1156 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
1157 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); 1075 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1158 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); 1076 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1159 neg find mustInstanceOfPayload_class(problem,interpretation,element); 1077 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1078 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1160 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation); 1079 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1161 neg find isPrimitive(element); 1080 neg find isPrimitive(element);
1162} or { 1081} or {
1163 find interpretation(problem,interpretation); 1082 find interpretation(problem,interpretation);
1164 PartialInterpretation.openWorldElements(interpretation,element); 1083 PartialInterpretation.openWorldElements(interpretation,element);
1165 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 1084 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1166 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1167 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
1168 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); 1085 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1169 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); 1086 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1170 neg find mustInstanceOfPayload_class(problem,interpretation,element); 1087 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1088 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1171 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation); 1089 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1172 neg find isPrimitive(element); 1090 neg find isPrimitive(element);
1173} or 1091} or
@@ -1216,23 +1134,21 @@ private pattern mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicPr
1216{ 1134{
1217 find interpretation(problem,interpretation); 1135 find interpretation(problem,interpretation);
1218 PartialInterpretation.newElements(interpretation,element); 1136 PartialInterpretation.newElements(interpretation,element);
1219 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 1137 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1220 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
1221 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1222 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); 1138 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1223 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); 1139 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1224 neg find mustInstanceOfPayload_class(problem,interpretation,element); 1140 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1141 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1225 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation); 1142 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1226 neg find isPrimitive(element); 1143 neg find isPrimitive(element);
1227} or { 1144} or {
1228 find interpretation(problem,interpretation); 1145 find interpretation(problem,interpretation);
1229 PartialInterpretation.openWorldElements(interpretation,element); 1146 PartialInterpretation.openWorldElements(interpretation,element);
1230 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 1147 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1231 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
1232 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1233 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); 1148 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1234 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); 1149 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1235 neg find mustInstanceOfPayload_class(problem,interpretation,element); 1150 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1151 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1236 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation); 1152 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1237 neg find isPrimitive(element); 1153 neg find isPrimitive(element);
1238} or 1154} or
@@ -1362,46 +1278,6 @@ private pattern mayInRelationcommSubsystem_reference_CommunicatingElement(
1362 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); 1278 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target);
1363} 1279}
1364/** 1280/**
1365 * Matcher for detecting tuples t where []communicationLink reference CommunicatingElement(source,target)
1366 */
1367private pattern mustInRelationcommunicationLink_reference_CommunicatingElement(
1368 problem:LogicProblem, interpretation:PartialInterpretation,
1369 source: DefinedElement, target:DefinedElement)
1370{
1371 find interpretation(problem,interpretation);
1372 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1373 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"communicationLink reference CommunicatingElement");
1374 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1375 BinaryElementRelationLink.param1(link,source);
1376 BinaryElementRelationLink.param2(link,target);
1377}
1378/**
1379 * Matcher for detecting tuples t where <>communicationLink reference CommunicatingElement(source,target)
1380 */
1381private pattern mayInRelationcommunicationLink_reference_CommunicatingElement(
1382 problem:LogicProblem, interpretation:PartialInterpretation,
1383 source: DefinedElement, target:DefinedElement)
1384{
1385 find interpretation(problem,interpretation);
1386 // The two endpoint of the link have to exist
1387 find mayExist(problem, interpretation, source);
1388 find mayExist(problem, interpretation, target);
1389 // Type consistency
1390 find mayInstanceOfCommunicatingElement_class(problem,interpretation,source);
1391 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,target);
1392 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1393 // the upper bound of the multiplicity should be considered.
1394 numberOfExistingReferences == count find mustInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,source,_);
1395 check(numberOfExistingReferences < 1);
1396 // The reference is containment, then a new reference cannot be create if:
1397 // 1. Multiple parents
1398 neg find mustContains4(problem,interpretation,_,target);
1399 // 2. Circle in the containment hierarchy
1400 neg find mustTransitiveContains(source,target);
1401} or {
1402 find mustInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,source,target);
1403}
1404/**
1405 * Matcher for detecting tuples t where []payload reference Spacecraft(source,target) 1281 * Matcher for detecting tuples t where []payload reference Spacecraft(source,target)
1406 */ 1282 */
1407private pattern mustInRelationpayload_reference_Spacecraft( 1283private pattern mustInRelationpayload_reference_Spacecraft(
@@ -1442,23 +1318,23 @@ private pattern mayInRelationpayload_reference_Spacecraft(
1442 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); 1318 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target);
1443} 1319}
1444/** 1320/**
1445 * Matcher for detecting tuples t where []source reference DirectedCommunicationLink(source,target) 1321 * Matcher for detecting tuples t where []target reference CommSubsystem(source,target)
1446 */ 1322 */
1447private pattern mustInRelationsource_reference_DirectedCommunicationLink( 1323private pattern mustInRelationtarget_reference_CommSubsystem(
1448 problem:LogicProblem, interpretation:PartialInterpretation, 1324 problem:LogicProblem, interpretation:PartialInterpretation,
1449 source: DefinedElement, target:DefinedElement) 1325 source: DefinedElement, target:DefinedElement)
1450{ 1326{
1451 find interpretation(problem,interpretation); 1327 find interpretation(problem,interpretation);
1452 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 1328 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1453 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"source reference DirectedCommunicationLink"); 1329 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
1454 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 1330 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1455 BinaryElementRelationLink.param1(link,source); 1331 BinaryElementRelationLink.param1(link,source);
1456 BinaryElementRelationLink.param2(link,target); 1332 BinaryElementRelationLink.param2(link,target);
1457} 1333}
1458/** 1334/**
1459 * Matcher for detecting tuples t where <>source reference DirectedCommunicationLink(source,target) 1335 * Matcher for detecting tuples t where <>target reference CommSubsystem(source,target)
1460 */ 1336 */
1461private pattern mayInRelationsource_reference_DirectedCommunicationLink( 1337private pattern mayInRelationtarget_reference_CommSubsystem(
1462 problem:LogicProblem, interpretation:PartialInterpretation, 1338 problem:LogicProblem, interpretation:PartialInterpretation,
1463 source: DefinedElement, target:DefinedElement) 1339 source: DefinedElement, target:DefinedElement)
1464{ 1340{
@@ -1467,117 +1343,107 @@ private pattern mayInRelationsource_reference_DirectedCommunicationLink(
1467 find mayExist(problem, interpretation, source); 1343 find mayExist(problem, interpretation, source);
1468 find mayExist(problem, interpretation, target); 1344 find mayExist(problem, interpretation, target);
1469 // Type consistency 1345 // Type consistency
1470 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,source); 1346 find mayInstanceOfCommSubsystem_class(problem,interpretation,source);
1471 find mayInstanceOfCommSubsystem_class(problem,interpretation,target); 1347 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1472 // There are "numberOfExistingReferences" currently existing instances of the reference from the source, 1348 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1473 // the upper bound of the multiplicity should be considered. 1349 // the upper bound of the multiplicity should be considered.
1474 numberOfExistingReferences == count find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,source,_); 1350 numberOfExistingReferences == count find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,_);
1475 check(numberOfExistingReferences < 1); 1351 check(numberOfExistingReferences < 1);
1476} or { 1352} or {
1477 find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,source,target); 1353 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,target);
1478} 1354}
1479/** 1355
1480 * Matcher for detecting tuples t where []target reference DirectedCommunicationLink(source,target) 1356//////////
1481 */ 1357// 1.3 Relation Definition Indexers
1482private pattern mustInRelationtarget_reference_DirectedCommunicationLink( 1358//////////
1359// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement
1360private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1483 problem:LogicProblem, interpretation:PartialInterpretation, 1361 problem:LogicProblem, interpretation:PartialInterpretation,
1484 source: DefinedElement, target:DefinedElement) 1362 var_Element)
1485{ 1363{
1486 find interpretation(problem,interpretation); 1364 find interpretation(problem,interpretation);
1487 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 1365 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1488 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference DirectedCommunicationLink"); 1366 // Element is exported
1489 PartialRelationInterpretation.relationlinks(relationIterpretation,link); 1367 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1490 BinaryElementRelationLink.param1(link,source); 1368 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1491 BinaryElementRelationLink.param2(link,target); 1369 neg find mayEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1492} 1370}
1493/** 1371private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1494 * Matcher for detecting tuples t where <>target reference DirectedCommunicationLink(source,target)
1495 */
1496private pattern mayInRelationtarget_reference_DirectedCommunicationLink(
1497 problem:LogicProblem, interpretation:PartialInterpretation, 1372 problem:LogicProblem, interpretation:PartialInterpretation,
1498 source: DefinedElement, target:DefinedElement) 1373 var_Element)
1499{ 1374{
1500 find interpretation(problem,interpretation); 1375 find interpretation(problem,interpretation);
1501 // The two endpoint of the link have to exist 1376 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1502 find mayExist(problem, interpretation, source); 1377 // Element is exported
1503 find mayExist(problem, interpretation, target); 1378 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1504 // Type consistency 1379 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1505 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,source); 1380 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1506 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1507 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1508 // the upper bound of the multiplicity should be considered.
1509 numberOfExistingReferences == count find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,source,_);
1510 check(numberOfExistingReferences < 1);
1511} or {
1512 find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,source,target);
1513} 1381}
1514 1382private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1515////////// 1383 problem:LogicProblem, interpretation:PartialInterpretation,
1516// 1.3 Relation Definition Indexers 1384 var_Element)
1517////////// 1385{
1518// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement 1386 find interpretation(problem,interpretation);
1519private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement( 1387 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1388 // Element is exported
1389 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1390 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1391 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1392}
1393// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries transmittingCommSubsystem
1394private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1520 problem:LogicProblem, interpretation:PartialInterpretation, 1395 problem:LogicProblem, interpretation:PartialInterpretation,
1521 var_Link) 1396 var_Element, var_Comm)
1522{ 1397{
1523 find interpretation(problem,interpretation); 1398 find interpretation(problem,interpretation);
1524 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
1525 // Link is exported
1526 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); 1399 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1527 find mustInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0); 1400 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1528 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_virtual0); 1401 // Element is exported
1529 find mustEquivalent(problem, interpretation, var_virtual0, var_Link); 1402 // Comm is exported
1530 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 1403 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1531 find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1); 1404 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1405 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1406 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1407 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1408 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1532 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); 1409 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1533 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceComm); 1410 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1534 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_SourceElement);
1535 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_SourceElement,var_virtual2);
1536 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
1537 find mustEquivalent(problem, interpretation, var_virtual2, var_SourceComm);
1538 neg find mayEquivalent(problem, interpretation, var_Element, var_SourceElement);
1539} 1411}
1540private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement( 1412private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1541 problem:LogicProblem, interpretation:PartialInterpretation, 1413 problem:LogicProblem, interpretation:PartialInterpretation,
1542 var_Link) 1414 var_Element, var_Comm)
1543{ 1415{
1544 find interpretation(problem,interpretation); 1416 find interpretation(problem,interpretation);
1545 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
1546 // Link is exported
1547 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); 1417 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1548 find mayInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0); 1418 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1549 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_virtual0); 1419 // Element is exported
1550 find mayEquivalent(problem, interpretation, var_virtual0, var_Link); 1420 // Comm is exported
1551 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 1421 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1552 find mayInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1); 1422 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1423 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1424 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
1425 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1426 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1553 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); 1427 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1554 find mayEquivalent(problem, interpretation, var_virtual1, var_SourceComm); 1428 find mayEquivalent(problem, interpretation, var_virtual1, _var__0);
1555 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_SourceElement);
1556 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_SourceElement,var_virtual2);
1557 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
1558 find mayEquivalent(problem, interpretation, var_virtual2, var_SourceComm);
1559 neg find mustEquivalent(problem, interpretation, var_Element, var_SourceElement);
1560} 1429}
1561private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement( 1430private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1562 problem:LogicProblem, interpretation:PartialInterpretation, 1431 problem:LogicProblem, interpretation:PartialInterpretation,
1563 var_Link) 1432 var_Element, var_Comm)
1564{ 1433{
1565 find interpretation(problem,interpretation); 1434 find interpretation(problem,interpretation);
1566 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
1567 // Link is exported
1568 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element); 1435 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1569 find mustInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0); 1436 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1570 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_virtual0); 1437 // Element is exported
1571 find mustEquivalent(problem, interpretation, var_virtual0, var_Link); 1438 // Comm is exported
1572 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 1439 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1573 find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1); 1440 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1441 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1442 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1443 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1444 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1574 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); 1445 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1575 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceComm); 1446 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1576 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_SourceElement);
1577 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_SourceElement,var_virtual2);
1578 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
1579 find mustEquivalent(problem, interpretation, var_virtual2, var_SourceComm);
1580 neg find mustEquivalent(problem, interpretation, var_Element, var_SourceElement);
1581} 1447}
1582// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads 1448// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads
1583private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads( 1449private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
@@ -2208,22 +2074,18 @@ private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satell
2208 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); 2074 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2209 // Source is exported 2075 // Source is exported
2210 // Target is exported 2076 // Target is exported
2211 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 2077 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2212 find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual0); 2078 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2213 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); 2079 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2214 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceSubsystem); 2080 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2215 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
2216 find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1);
2217 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2218 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetSubsystem);
2219 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); 2081 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2220 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual2); 2082 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2221 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); 2083 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2222 find mustEquivalent(problem, interpretation, var_virtual2, var_SourceSubsystem); 2084 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2223 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); 2085 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2224 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual3); 2086 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2225 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual3); 2087 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2226 find mustEquivalent(problem, interpretation, var_virtual3, var_TargetSubsystem); 2088 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2227} 2089}
2228private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink( 2090private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2229 problem:LogicProblem, interpretation:PartialInterpretation, 2091 problem:LogicProblem, interpretation:PartialInterpretation,
@@ -2234,22 +2096,18 @@ private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satelli
2234 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); 2096 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2235 // Source is exported 2097 // Source is exported
2236 // Target is exported 2098 // Target is exported
2237 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 2099 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2238 find mayInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual0); 2100 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2239 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); 2101 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2240 find mayEquivalent(problem, interpretation, var_virtual0, var_SourceSubsystem); 2102 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2241 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
2242 find mayInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1);
2243 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2244 find mayEquivalent(problem, interpretation, var_virtual1, var_TargetSubsystem);
2245 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); 2103 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2246 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual2); 2104 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2247 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); 2105 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2248 find mayEquivalent(problem, interpretation, var_virtual2, var_SourceSubsystem); 2106 find mayEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2249 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); 2107 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2250 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual3); 2108 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2251 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual3); 2109 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2252 find mayEquivalent(problem, interpretation, var_virtual3, var_TargetSubsystem); 2110 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2253} 2111}
2254private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink( 2112private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2255 problem:LogicProblem, interpretation:PartialInterpretation, 2113 problem:LogicProblem, interpretation:PartialInterpretation,
@@ -2260,22 +2118,18 @@ private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_sat
2260 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); 2118 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2261 // Source is exported 2119 // Source is exported
2262 // Target is exported 2120 // Target is exported
2263 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 2121 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2264 find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual0); 2122 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2265 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); 2123 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2266 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceSubsystem); 2124 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2267 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
2268 find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1);
2269 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2270 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetSubsystem);
2271 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source); 2125 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2272 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual2); 2126 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2273 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); 2127 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2274 find mustEquivalent(problem, interpretation, var_virtual2, var_SourceSubsystem); 2128 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2275 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target); 2129 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2276 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual3); 2130 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2277 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual3); 2131 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2278 find mustEquivalent(problem, interpretation, var_virtual3, var_TargetSubsystem); 2132 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2279} 2133}
2280private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) { 2134private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2281 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target); 2135 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
@@ -2289,53 +2143,41 @@ private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_do
2289// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand 2143// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand
2290private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand( 2144private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2291 problem:LogicProblem, interpretation:PartialInterpretation, 2145 problem:LogicProblem, interpretation:PartialInterpretation,
2292 var_Link) 2146 var_SourceSubsystem)
2293{ 2147{
2294 find interpretation(problem,interpretation); 2148 find interpretation(problem,interpretation);
2295 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 2149 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2296 // Link is exported 2150 // SourceSubsystem is exported
2297 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 2151 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2298 find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual0); 2152 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2299 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); 2153 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2300 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceSubsystem); 2154 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2301 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
2302 find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1);
2303 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2304 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetSubsystem);
2305 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem); 2155 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2306} 2156}
2307private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand( 2157private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2308 problem:LogicProblem, interpretation:PartialInterpretation, 2158 problem:LogicProblem, interpretation:PartialInterpretation,
2309 var_Link) 2159 var_SourceSubsystem)
2310{ 2160{
2311 find interpretation(problem,interpretation); 2161 find interpretation(problem,interpretation);
2312 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 2162 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2313 // Link is exported 2163 // SourceSubsystem is exported
2314 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 2164 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2315 find mayInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual0); 2165 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2316 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); 2166 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2317 find mayEquivalent(problem, interpretation, var_virtual0, var_SourceSubsystem); 2167 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2318 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
2319 find mayInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1);
2320 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2321 find mayEquivalent(problem, interpretation, var_virtual1, var_TargetSubsystem);
2322 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem); 2168 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2323} 2169}
2324private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand( 2170private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2325 problem:LogicProblem, interpretation:PartialInterpretation, 2171 problem:LogicProblem, interpretation:PartialInterpretation,
2326 var_Link) 2172 var_SourceSubsystem)
2327{ 2173{
2328 find interpretation(problem,interpretation); 2174 find interpretation(problem,interpretation);
2329 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 2175 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2330 // Link is exported 2176 // SourceSubsystem is exported
2331 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 2177 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2332 find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual0); 2178 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2333 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); 2179 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2334 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceSubsystem); 2180 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2335 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link);
2336 find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1);
2337 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2338 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetSubsystem);
2339 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem); 2181 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2340} 2182}
2341// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink 2183// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink
@@ -2351,18 +2193,14 @@ private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satell
2351 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); 2193 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2352 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm); 2194 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2353 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm); 2195 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2354 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 2196 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2355 find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1); 2197 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2356 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); 2198 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2357 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceComm); 2199 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2358 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 2200 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2359 find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual2); 2201 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2360 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); 2202 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2361 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm); 2203 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2362 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2363 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual3);
2364 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual3);
2365 find mustEquivalent(problem, interpretation, var_virtual3, var_TargetComm);
2366 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target); 2204 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2367} 2205}
2368private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink( 2206private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
@@ -2377,18 +2215,14 @@ private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satelli
2377 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); 2215 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2378 find mayEquivalent(problem, interpretation, var_virtual0, var_SourceComm); 2216 find mayEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2379 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm); 2217 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2380 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 2218 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2381 find mayInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1); 2219 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2382 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); 2220 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2383 find mayEquivalent(problem, interpretation, var_virtual1, var_SourceComm); 2221 find mayEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2384 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 2222 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2385 find mayInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual2); 2223 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2386 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); 2224 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2387 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetComm); 2225 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2388 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2389 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual3);
2390 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual3);
2391 find mayEquivalent(problem, interpretation, var_virtual3, var_TargetComm);
2392 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target); 2226 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2393} 2227}
2394private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink( 2228private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
@@ -2403,18 +2237,14 @@ private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_sat
2403 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); 2237 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2404 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm); 2238 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2405 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm); 2239 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2406 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 2240 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2407 find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1); 2241 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2408 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); 2242 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2409 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceComm); 2243 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2410 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); 2244 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2411 find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual2); 2245 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2412 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); 2246 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2413 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm); 2247 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2414 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2415 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual3);
2416 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual3);
2417 find mustEquivalent(problem, interpretation, var_virtual3, var_TargetComm);
2418 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target); 2248 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2419} 2249}
2420// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf 2250// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf
@@ -2560,8 +2390,6 @@ private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterp
2560 2390
2561 { find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); }or 2391 { find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); }or
2562 2392
2563 { find mustInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,source,target); }or
2564
2565 { find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); } 2393 { find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); }
2566 2394
2567private pattern mustTransitiveContains(source,target) { 2395private pattern mustTransitiveContains(source,target) {
@@ -2574,9 +2402,9 @@ private pattern mustTransitiveContains(source,target) {
2574// 2.1 Invalidated by WF Queries 2402// 2.1 Invalidated by WF Queries
2575////////// 2403//////////
2576pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation, 2404pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2577 var_Link) 2405 var_Element)
2578{ 2406{
2579 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Link); 2407 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2580} 2408}
2581pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation, 2409pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2582 var_Mission) 2410 var_Mission)
@@ -2599,9 +2427,9 @@ pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queri
2599 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element); 2427 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2600} 2428}
2601pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation, 2429pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2602 var_Link) 2430 var_SourceSubsystem)
2603{ 2431{
2604 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_Link); 2432 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2605} 2433}
2606pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation, 2434pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2607 var_Sat) 2435 var_Sat)
@@ -2646,32 +2474,14 @@ pattern unfinishedLowerMultiplicity_commSubsystem_reference_CommunicatingElement
2646 check(numberOfExistingReferences < 1); 2474 check(numberOfExistingReferences < 1);
2647 missingMultiplicity == eval(1-numberOfExistingReferences); 2475 missingMultiplicity == eval(1-numberOfExistingReferences);
2648} 2476}
2649pattern unfinishedLowerMultiplicity_source_reference_DirectedCommunicationLink(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2650 find interpretation(problem,interpretation);
2651 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2652 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"source reference DirectedCommunicationLink");
2653 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,object);
2654 numberOfExistingReferences == count find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,object,_);
2655 check(numberOfExistingReferences < 1);
2656 missingMultiplicity == eval(1-numberOfExistingReferences);
2657}
2658pattern unfinishedLowerMultiplicity_target_reference_DirectedCommunicationLink(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2659 find interpretation(problem,interpretation);
2660 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2661 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference DirectedCommunicationLink");
2662 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,object);
2663 numberOfExistingReferences == count find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,object,_);
2664 check(numberOfExistingReferences < 1);
2665 missingMultiplicity == eval(1-numberOfExistingReferences);
2666}
2667 2477
2668////////// 2478//////////
2669// 3.2 Unfinishedness Measured by WF Queries 2479// 3.2 Unfinishedness Measured by WF Queries
2670////////// 2480//////////
2671pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation, 2481pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2672 var_Link) 2482 var_Element)
2673{ 2483{
2674 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Link); 2484 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2675} 2485}
2676pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation, 2486pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2677 var_Mission) 2487 var_Mission)
@@ -2694,9 +2504,9 @@ pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_querie
2694 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element); 2504 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2695} 2505}
2696pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation, 2506pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2697 var_Link) 2507 var_SourceSubsystem)
2698{ 2508{
2699 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_Link); 2509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2700} 2510}
2701pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation, 2511pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2702 var_Sat) 2512 var_Sat)
@@ -2717,67 +2527,63 @@ pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_querie
2717private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation) 2527private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
2718{ 2528{
2719 find interpretation(problem,interpretation); 2529 find interpretation(problem,interpretation);
2720 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root);
2721 find mustExist(problem, interpretation, root);
2722}or{
2723 find interpretation(problem,interpretation);
2724 find mustInstanceOfInterferometryMission_class(problem,interpretation,root); 2530 find mustInstanceOfInterferometryMission_class(problem,interpretation,root);
2725 find mustExist(problem, interpretation, root); 2531 find mustExist(problem, interpretation, root);
2726}or{ 2532}or{
2727 find interpretation(problem,interpretation); 2533 find interpretation(problem,interpretation);
2728 find mustInstanceOfCubeSat6U_class(problem,interpretation,root); 2534 find mustInstanceOfPayload_class(problem,interpretation,root);
2729 find mustExist(problem, interpretation, root); 2535 find mustExist(problem, interpretation, root);
2730}or{ 2536}or{
2731 find interpretation(problem,interpretation); 2537 find interpretation(problem,interpretation);
2732 find mustInstanceOfCommSubsystem_class(problem,interpretation,root); 2538 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,root);
2733 find mustExist(problem, interpretation, root); 2539 find mustExist(problem, interpretation, root);
2734}or{ 2540}or{
2735 find interpretation(problem,interpretation); 2541 find interpretation(problem,interpretation);
2736 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,root); 2542 find mustInstanceOfSpacecraft_class(problem,interpretation,root);
2737 find mustExist(problem, interpretation, root); 2543 find mustExist(problem, interpretation, root);
2738}or{ 2544}or{
2739 find interpretation(problem,interpretation); 2545 find interpretation(problem,interpretation);
2740 find mustInstanceOfCubeSat3U_class(problem,interpretation,root); 2546 find mustInstanceOfCommSubsystem_class(problem,interpretation,root);
2741 find mustExist(problem, interpretation, root); 2547 find mustExist(problem, interpretation, root);
2742}or{ 2548}or{
2743 find interpretation(problem,interpretation); 2549 find interpretation(problem,interpretation);
2744 find mustInstanceOfConstellationMission_class(problem,interpretation,root); 2550 find mustInstanceOfInterferometryPayload_class(problem,interpretation,root);
2745 find mustExist(problem, interpretation, root); 2551 find mustExist(problem, interpretation, root);
2746}or{ 2552}or{
2747 find interpretation(problem,interpretation); 2553 find interpretation(problem,interpretation);
2748 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,root); 2554 find mustInstanceOfCubeSat6U_class(problem,interpretation,root);
2749 find mustExist(problem, interpretation, root); 2555 find mustExist(problem, interpretation, root);
2750}or{ 2556}or{
2751 find interpretation(problem,interpretation); 2557 find interpretation(problem,interpretation);
2752 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,root); 2558 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,root);
2753 find mustExist(problem, interpretation, root); 2559 find mustExist(problem, interpretation, root);
2754}or{ 2560}or{
2755 find interpretation(problem,interpretation); 2561 find interpretation(problem,interpretation);
2756 find mustInstanceOfPayload_class(problem,interpretation,root); 2562 find mustInstanceOfXCommSubsystem_class(problem,interpretation,root);
2757 find mustExist(problem, interpretation, root); 2563 find mustExist(problem, interpretation, root);
2758}or{ 2564}or{
2759 find interpretation(problem,interpretation); 2565 find interpretation(problem,interpretation);
2760 find mustInstanceOfCubeSat_class(problem,interpretation,root); 2566 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root);
2761 find mustExist(problem, interpretation, root); 2567 find mustExist(problem, interpretation, root);
2762}or{ 2568}or{
2763 find interpretation(problem,interpretation); 2569 find interpretation(problem,interpretation);
2764 find mustInstanceOfCommunicatingElement_class(problem,interpretation,root); 2570 find mustInstanceOfConstellationMission_class(problem,interpretation,root);
2765 find mustExist(problem, interpretation, root); 2571 find mustExist(problem, interpretation, root);
2766}or{ 2572}or{
2767 find interpretation(problem,interpretation); 2573 find interpretation(problem,interpretation);
2768 find mustInstanceOfSmallSat_class(problem,interpretation,root); 2574 find mustInstanceOfCubeSat3U_class(problem,interpretation,root);
2769 find mustExist(problem, interpretation, root); 2575 find mustExist(problem, interpretation, root);
2770}or{ 2576}or{
2771 find interpretation(problem,interpretation); 2577 find interpretation(problem,interpretation);
2772 find mustInstanceOfInterferometryPayload_class(problem,interpretation,root); 2578 find mustInstanceOfCommunicatingElement_class(problem,interpretation,root);
2773 find mustExist(problem, interpretation, root); 2579 find mustExist(problem, interpretation, root);
2774}or{ 2580}or{
2775 find interpretation(problem,interpretation); 2581 find interpretation(problem,interpretation);
2776 find mustInstanceOfSpacecraft_class(problem,interpretation,root); 2582 find mustInstanceOfCubeSat_class(problem,interpretation,root);
2777 find mustExist(problem, interpretation, root); 2583 find mustExist(problem, interpretation, root);
2778}or{ 2584}or{
2779 find interpretation(problem,interpretation); 2585 find interpretation(problem,interpretation);
2780 find mustInstanceOfXCommSubsystem_class(problem,interpretation,root); 2586 find mustInstanceOfSmallSat_class(problem,interpretation,root);
2781 find mustExist(problem, interpretation, root); 2587 find mustExist(problem, interpretation, root);
2782}or{ 2588}or{
2783 find interpretation(problem,interpretation); 2589 find interpretation(problem,interpretation);
@@ -2864,87 +2670,87 @@ pattern createObject_KaCommSubsystem_class_UndefinedPart(
2864 find mayExist(problem, interpretation, newObject); 2670 find mayExist(problem, interpretation, newObject);
2865 neg find mustExist(problem, interpretation, newObject); 2671 neg find mustExist(problem, interpretation, newObject);
2866} 2672}
2867pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission( 2673pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission(
2868 problem:LogicProblem, interpretation:PartialInterpretation, 2674 problem:LogicProblem, interpretation:PartialInterpretation,
2869 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 2675 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2870 container:DefinedElement) 2676 container:DefinedElement)
2871{ 2677{
2872 find interpretation(problem,interpretation); 2678 find interpretation(problem,interpretation);
2873 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2679 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2874 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class"); 2680 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2875 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 2681 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2876 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission"); 2682 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission");
2877 find mustInstanceOfConstellationMission_class(problem,interpretation,container); 2683 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2878 find mayInstanceOfSmallSat_class(problem,interpretation,newObject); 2684 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2879 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject); 2685 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject);
2880 find mustExist(problem, interpretation, container); 2686 find mustExist(problem, interpretation, container);
2881 neg find mustExist(problem, interpretation, newObject); 2687 neg find mustExist(problem, interpretation, newObject);
2882} 2688}
2883pattern createObject_SmallSat_class( 2689pattern createObject_GroundStationNetwork_class_UndefinedPart(
2884 problem:LogicProblem, interpretation:PartialInterpretation, 2690 problem:LogicProblem, interpretation:PartialInterpretation,
2885 typeInterpretation:PartialComplexTypeInterpretation) 2691 typeInterpretation:PartialComplexTypeInterpretation)
2886{ 2692{
2887 find interpretation(problem,interpretation); 2693 find interpretation(problem,interpretation);
2888 neg find hasElementInContainment(problem,interpretation); 2694 neg find hasElementInContainment(problem,interpretation);
2889 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2695 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2890 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class"); 2696 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2891 find mayInstanceOfSmallSat_class(problem,interpretation,newObject); 2697 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2892 find mayExist(problem, interpretation, newObject); 2698 find mayExist(problem, interpretation, newObject);
2893 neg find mustExist(problem, interpretation, newObject); 2699 neg find mustExist(problem, interpretation, newObject);
2894} 2700}
2895pattern createObject_InterferometryPayload_class_by_payload_reference_Spacecraft( 2701pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission(
2896 problem:LogicProblem, interpretation:PartialInterpretation, 2702 problem:LogicProblem, interpretation:PartialInterpretation,
2897 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 2703 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2898 container:DefinedElement) 2704 container:DefinedElement)
2899{ 2705{
2900 find interpretation(problem,interpretation); 2706 find interpretation(problem,interpretation);
2901 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2707 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2902 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class"); 2708 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2903 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 2709 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2904 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"payload reference Spacecraft"); 2710 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2905 find mustInstanceOfSpacecraft_class(problem,interpretation,container); 2711 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2906 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject); 2712 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2907 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,container,newObject); 2713 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2908 find mustExist(problem, interpretation, container); 2714 find mustExist(problem, interpretation, container);
2909 neg find mustExist(problem, interpretation, newObject); 2715 neg find mustExist(problem, interpretation, newObject);
2910} 2716}
2911pattern createObject_InterferometryPayload_class( 2717pattern createObject_SmallSat_class(
2912 problem:LogicProblem, interpretation:PartialInterpretation, 2718 problem:LogicProblem, interpretation:PartialInterpretation,
2913 typeInterpretation:PartialComplexTypeInterpretation) 2719 typeInterpretation:PartialComplexTypeInterpretation)
2914{ 2720{
2915 find interpretation(problem,interpretation); 2721 find interpretation(problem,interpretation);
2916 neg find hasElementInContainment(problem,interpretation); 2722 neg find hasElementInContainment(problem,interpretation);
2917 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2723 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2918 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class"); 2724 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2919 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject); 2725 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2920 find mayExist(problem, interpretation, newObject); 2726 find mayExist(problem, interpretation, newObject);
2921 neg find mustExist(problem, interpretation, newObject); 2727 neg find mustExist(problem, interpretation, newObject);
2922} 2728}
2923pattern createObject_DirectedCommunicationLink_class_by_communicationLink_reference_CommunicatingElement( 2729pattern createObject_XCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2924 problem:LogicProblem, interpretation:PartialInterpretation, 2730 problem:LogicProblem, interpretation:PartialInterpretation,
2925 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 2731 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2926 container:DefinedElement) 2732 container:DefinedElement)
2927{ 2733{
2928 find interpretation(problem,interpretation); 2734 find interpretation(problem,interpretation);
2929 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2735 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2930 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"DirectedCommunicationLink class"); 2736 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2931 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 2737 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2932 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"communicationLink reference CommunicatingElement"); 2738 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2933 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container); 2739 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2934 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,newObject); 2740 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2935 find mayInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,container,newObject); 2741 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2936 find mustExist(problem, interpretation, container); 2742 find mustExist(problem, interpretation, container);
2937 neg find mustExist(problem, interpretation, newObject); 2743 neg find mustExist(problem, interpretation, newObject);
2938} 2744}
2939pattern createObject_DirectedCommunicationLink_class( 2745pattern createObject_XCommSubsystem_class_UndefinedPart(
2940 problem:LogicProblem, interpretation:PartialInterpretation, 2746 problem:LogicProblem, interpretation:PartialInterpretation,
2941 typeInterpretation:PartialComplexTypeInterpretation) 2747 typeInterpretation:PartialComplexTypeInterpretation)
2942{ 2748{
2943 find interpretation(problem,interpretation); 2749 find interpretation(problem,interpretation);
2944 neg find hasElementInContainment(problem,interpretation); 2750 neg find hasElementInContainment(problem,interpretation);
2945 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2751 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2946 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"DirectedCommunicationLink class"); 2752 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2947 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,newObject); 2753 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2948 find mayExist(problem, interpretation, newObject); 2754 find mayExist(problem, interpretation, newObject);
2949 neg find mustExist(problem, interpretation, newObject); 2755 neg find mustExist(problem, interpretation, newObject);
2950} 2756}
@@ -2976,34 +2782,6 @@ pattern createObject_UHFCommSubsystem_class(
2976 find mayExist(problem, interpretation, newObject); 2782 find mayExist(problem, interpretation, newObject);
2977 neg find mustExist(problem, interpretation, newObject); 2783 neg find mustExist(problem, interpretation, newObject);
2978} 2784}
2979pattern createObject_XCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2980 problem:LogicProblem, interpretation:PartialInterpretation,
2981 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2982 container:DefinedElement)
2983{
2984 find interpretation(problem,interpretation);
2985 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2986 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2987 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2988 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2989 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2990 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2991 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2992 find mustExist(problem, interpretation, container);
2993 neg find mustExist(problem, interpretation, newObject);
2994}
2995pattern createObject_XCommSubsystem_class_UndefinedPart(
2996 problem:LogicProblem, interpretation:PartialInterpretation,
2997 typeInterpretation:PartialComplexTypeInterpretation)
2998{
2999 find interpretation(problem,interpretation);
3000 neg find hasElementInContainment(problem,interpretation);
3001 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3002 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
3003 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
3004 find mayExist(problem, interpretation, newObject);
3005 neg find mustExist(problem, interpretation, newObject);
3006}
3007pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission( 2785pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission(
3008 problem:LogicProblem, interpretation:PartialInterpretation, 2786 problem:LogicProblem, interpretation:PartialInterpretation,
3009 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 2787 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
@@ -3032,71 +2810,71 @@ pattern createObject_CubeSat6U_class(
3032 find mayExist(problem, interpretation, newObject); 2810 find mayExist(problem, interpretation, newObject);
3033 neg find mustExist(problem, interpretation, newObject); 2811 neg find mustExist(problem, interpretation, newObject);
3034} 2812}
3035pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission( 2813pattern createObject_CubeSat3U_class_by_spacecraft_reference_ConstellationMission(
3036 problem:LogicProblem, interpretation:PartialInterpretation, 2814 problem:LogicProblem, interpretation:PartialInterpretation,
3037 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 2815 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
3038 container:DefinedElement) 2816 container:DefinedElement)
3039{ 2817{
3040 find interpretation(problem,interpretation); 2818 find interpretation(problem,interpretation);
3041 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2819 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3042 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart"); 2820 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
3043 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 2821 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
3044 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission"); 2822 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
3045 find mustInstanceOfConstellationMission_class(problem,interpretation,container); 2823 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
3046 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject); 2824 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
3047 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject); 2825 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
3048 find mustExist(problem, interpretation, container); 2826 find mustExist(problem, interpretation, container);
3049 neg find mustExist(problem, interpretation, newObject); 2827 neg find mustExist(problem, interpretation, newObject);
3050} 2828}
3051pattern createObject_GroundStationNetwork_class_UndefinedPart( 2829pattern createObject_CubeSat3U_class(
3052 problem:LogicProblem, interpretation:PartialInterpretation, 2830 problem:LogicProblem, interpretation:PartialInterpretation,
3053 typeInterpretation:PartialComplexTypeInterpretation) 2831 typeInterpretation:PartialComplexTypeInterpretation)
3054{ 2832{
3055 find interpretation(problem,interpretation); 2833 find interpretation(problem,interpretation);
3056 neg find hasElementInContainment(problem,interpretation); 2834 neg find hasElementInContainment(problem,interpretation);
3057 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2835 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3058 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart"); 2836 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
3059 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject); 2837 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
3060 find mayExist(problem, interpretation, newObject); 2838 find mayExist(problem, interpretation, newObject);
3061 neg find mustExist(problem, interpretation, newObject); 2839 neg find mustExist(problem, interpretation, newObject);
3062} 2840}
3063pattern createObject_CubeSat3U_class_by_spacecraft_reference_ConstellationMission( 2841pattern createObject_InterferometryMission_class_UndefinedPart(
3064 problem:LogicProblem, interpretation:PartialInterpretation, 2842 problem:LogicProblem, interpretation:PartialInterpretation,
3065 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, 2843 typeInterpretation:PartialComplexTypeInterpretation)
3066 container:DefinedElement)
3067{ 2844{
3068 find interpretation(problem,interpretation); 2845 find interpretation(problem,interpretation);
2846 neg find hasElementInContainment(problem,interpretation);
3069 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2847 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3070 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class"); 2848 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart");
3071 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); 2849 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject);
3072 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission"); 2850 find mayExist(problem, interpretation, newObject);
3073 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
3074 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
3075 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
3076 find mustExist(problem, interpretation, container);
3077 neg find mustExist(problem, interpretation, newObject); 2851 neg find mustExist(problem, interpretation, newObject);
3078} 2852}
3079pattern createObject_CubeSat3U_class( 2853pattern createObject_InterferometryPayload_class_by_payload_reference_Spacecraft(
3080 problem:LogicProblem, interpretation:PartialInterpretation, 2854 problem:LogicProblem, interpretation:PartialInterpretation,
3081 typeInterpretation:PartialComplexTypeInterpretation) 2855 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2856 container:DefinedElement)
3082{ 2857{
3083 find interpretation(problem,interpretation); 2858 find interpretation(problem,interpretation);
3084 neg find hasElementInContainment(problem,interpretation);
3085 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2859 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3086 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class"); 2860 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
3087 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject); 2861 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
3088 find mayExist(problem, interpretation, newObject); 2862 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"payload reference Spacecraft");
2863 find mustInstanceOfSpacecraft_class(problem,interpretation,container);
2864 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2865 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,container,newObject);
2866 find mustExist(problem, interpretation, container);
3089 neg find mustExist(problem, interpretation, newObject); 2867 neg find mustExist(problem, interpretation, newObject);
3090} 2868}
3091pattern createObject_InterferometryMission_class_UndefinedPart( 2869pattern createObject_InterferometryPayload_class(
3092 problem:LogicProblem, interpretation:PartialInterpretation, 2870 problem:LogicProblem, interpretation:PartialInterpretation,
3093 typeInterpretation:PartialComplexTypeInterpretation) 2871 typeInterpretation:PartialComplexTypeInterpretation)
3094{ 2872{
3095 find interpretation(problem,interpretation); 2873 find interpretation(problem,interpretation);
3096 neg find hasElementInContainment(problem,interpretation); 2874 neg find hasElementInContainment(problem,interpretation);
3097 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); 2875 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
3098 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart"); 2876 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
3099 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject); 2877 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
3100 find mayExist(problem, interpretation, newObject); 2878 find mayExist(problem, interpretation, newObject);
3101 neg find mustExist(problem, interpretation, newObject); 2879 neg find mustExist(problem, interpretation, newObject);
3102} 2880}
@@ -3108,149 +2886,115 @@ pattern refineTypeTo_KaCommSubsystem_class_UndefinedPart(problem:LogicProblem, i
3108 find interpretation(problem,interpretation); 2886 find interpretation(problem,interpretation);
3109 PartialInterpretation.newElements(interpretation,element); 2887 PartialInterpretation.newElements(interpretation,element);
3110 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); 2888 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
3111 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3112 neg find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); 2889 neg find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
3113 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 2890 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3114 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3115 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); 2891 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
3116 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); 2892 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2893 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2894 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2895}
2896pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2897 find interpretation(problem,interpretation);
2898 PartialInterpretation.newElements(interpretation,element);
2899 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
3117 neg find mustInstanceOfPayload_class(problem,interpretation,element); 2900 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2901 neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2902 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2903 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
2904 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3118} 2905}
3119pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 2906pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3120 find interpretation(problem,interpretation); 2907 find interpretation(problem,interpretation);
3121 PartialInterpretation.newElements(interpretation,element); 2908 PartialInterpretation.newElements(interpretation,element);
3122 find mayInstanceOfSmallSat_class(problem,interpretation,element); 2909 find mayInstanceOfSmallSat_class(problem,interpretation,element);
3123 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 2910 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3124 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
3125 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 2911 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
3126 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 2912 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
3127 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3128 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 2913 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
3129 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3130}
3131pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3132 find interpretation(problem,interpretation);
3133 PartialInterpretation.newElements(interpretation,element);
3134 find mayInstanceOfInterferometryPayload_class(problem,interpretation,element);
3135 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3136 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
3137 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 2914 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3138 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 2915 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3139 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3140} 2916}
3141pattern refineTypeTo_DirectedCommunicationLink_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 2917pattern refineTypeTo_XCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3142 find interpretation(problem,interpretation); 2918 find interpretation(problem,interpretation);
3143 PartialInterpretation.newElements(interpretation,element); 2919 PartialInterpretation.newElements(interpretation,element);
3144 find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 2920 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2921 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2922 neg find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2923 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2924 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
3145 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 2925 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3146 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3147 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 2926 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3148 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3149 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3150} 2927}
3151pattern refineTypeTo_UHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 2928pattern refineTypeTo_UHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3152 find interpretation(problem,interpretation); 2929 find interpretation(problem,interpretation);
3153 PartialInterpretation.newElements(interpretation,element); 2930 PartialInterpretation.newElements(interpretation,element);
3154 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,element); 2931 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
3155 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 2932 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3156 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3157 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3158 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); 2933 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
3159 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); 2934 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
3160 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
3161 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3162}
3163pattern refineTypeTo_XCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3164 find interpretation(problem,interpretation);
3165 PartialInterpretation.newElements(interpretation,element);
3166 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
3167 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 2935 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2936 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
3168 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 2937 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3169 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3170 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
3171 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
3172 neg find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
3173 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3174} 2938}
3175pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 2939pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3176 find interpretation(problem,interpretation); 2940 find interpretation(problem,interpretation);
3177 PartialInterpretation.newElements(interpretation,element); 2941 PartialInterpretation.newElements(interpretation,element);
3178 find mayInstanceOfCubeSat6U_class(problem,interpretation,element); 2942 find mayInstanceOfCubeSat6U_class(problem,interpretation,element);
3179 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 2943 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3180 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 2944 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
3181 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3182 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3183 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); 2945 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
3184 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
3185 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); 2946 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
3186 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3187}
3188pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3189 find interpretation(problem,interpretation);
3190 PartialInterpretation.newElements(interpretation,element);
3191 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
3192 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3193 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
3194 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 2947 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3195 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 2948 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
3196 neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); 2949 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3197 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3198} 2950}
3199pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 2951pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3200 find interpretation(problem,interpretation); 2952 find interpretation(problem,interpretation);
3201 PartialInterpretation.newElements(interpretation,element); 2953 PartialInterpretation.newElements(interpretation,element);
3202 find mayInstanceOfCubeSat3U_class(problem,interpretation,element); 2954 find mayInstanceOfCubeSat3U_class(problem,interpretation,element);
3203 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); 2955 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3204 neg find mustInstanceOfSmallSat_class(problem,interpretation,element); 2956 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
3205 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3206 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element);
3207 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
3208 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); 2957 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2958 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2959 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2960 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
3209 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); 2961 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
3210 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3211} 2962}
3212pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { 2963pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
3213 find interpretation(problem,interpretation); 2964 find interpretation(problem,interpretation);
3214 PartialInterpretation.newElements(interpretation,element); 2965 PartialInterpretation.newElements(interpretation,element);
3215 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); 2966 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
3216 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); 2967 neg find mustInstanceOfPayload_class(problem,interpretation,element);
3217 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); 2968 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
3218 neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); 2969 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
3219 neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); 2970 neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
3220 neg find mustInstanceOfPayload_class(problem,interpretation,element); 2971}
2972pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2973 find interpretation(problem,interpretation);
2974 PartialInterpretation.newElements(interpretation,element);
2975 find mayInstanceOfInterferometryPayload_class(problem,interpretation,element);
2976 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2977 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2978 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2979 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
3221} 2980}
3222 2981
3223////////// 2982//////////
3224// 4.3 Relation refinement 2983// 4.3 Relation refinement
3225////////// 2984//////////
3226pattern refineRelation_source_reference_DirectedCommunicationLink( 2985pattern refineRelation_target_reference_CommSubsystem(
3227 problem:LogicProblem, interpretation:PartialInterpretation,
3228 relationIterpretation:PartialRelationInterpretation,
3229 from: DefinedElement, to: DefinedElement)
3230{
3231 find interpretation(problem,interpretation);
3232 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
3233 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"source reference DirectedCommunicationLink");
3234 find mustExist(problem, interpretation, from);
3235 find mustExist(problem, interpretation, to);
3236 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,from);
3237 find mustInstanceOfCommSubsystem_class(problem,interpretation,to);
3238 find mayInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,from,to);
3239 neg find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,from,to);
3240}
3241pattern refineRelation_target_reference_DirectedCommunicationLink(
3242 problem:LogicProblem, interpretation:PartialInterpretation, 2986 problem:LogicProblem, interpretation:PartialInterpretation,
3243 relationIterpretation:PartialRelationInterpretation, 2987 relationIterpretation:PartialRelationInterpretation,
3244 from: DefinedElement, to: DefinedElement) 2988 from: DefinedElement, to: DefinedElement)
3245{ 2989{
3246 find interpretation(problem,interpretation); 2990 find interpretation(problem,interpretation);
3247 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); 2991 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
3248 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference DirectedCommunicationLink"); 2992 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
3249 find mustExist(problem, interpretation, from); 2993 find mustExist(problem, interpretation, from);
3250 find mustExist(problem, interpretation, to); 2994 find mustExist(problem, interpretation, to);
3251 find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,from); 2995 find mustInstanceOfCommSubsystem_class(problem,interpretation,from);
3252 find mustInstanceOfCommSubsystem_class(problem,interpretation,to); 2996 find mustInstanceOfCommSubsystem_class(problem,interpretation,to);
3253 find mayInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,from,to); 2997 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
3254 neg find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,from,to); 2998 neg find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
3255} 2999}
3256 3000
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generation.logicproblem b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generation.logicproblem
index 605a5a23..ab54ab85 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generation.logicproblem
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generation.logicproblem
@@ -1,35 +1,34 @@
1<?xml version="1.0" encoding="ASCII"?> 1<?xml version="1.0" encoding="ASCII"?>
2<language:LogicProblem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore2logicannotations="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/ecore2logicannotation" xmlns:language="http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem" xmlns:language_1="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" xmlns:partial2logicannotations="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/partial2logicannotation" xmlns:viatra2logicannotations="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/viatra2logicannotation"> 2<language:LogicProblem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore2logicannotations="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/ecore2logicannotation" xmlns:language="http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem" xmlns:language_1="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" xmlns:partial2logicannotations="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/partial2logicannotation" xmlns:viatra2logicannotations="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/viatra2logicannotation">
3 <types xsi:type="language_1:TypeDeclaration" name="ConstellationMission class" subtypes="//@types.1 //@types.16 //@types.17" isAbstract="true"/> 3 <types xsi:type="language_1:TypeDeclaration" name="ConstellationMission class" subtypes="//@types.1 //@types.15 //@types.16" isAbstract="true"/>
4 <types xsi:type="language_1:TypeDeclaration" name="InterferometryMission class" subtypes="//@types.18 //@types.19" supertypes="//@types.0" isAbstract="true"/> 4 <types xsi:type="language_1:TypeDeclaration" name="InterferometryMission class" subtypes="//@types.17 //@types.18" supertypes="//@types.0" isAbstract="true"/>
5 <types xsi:type="language_1:TypeDeclaration" name="CommunicatingElement class" subtypes="//@types.3 //@types.4 //@types.20 //@types.21" isAbstract="true"/> 5 <types xsi:type="language_1:TypeDeclaration" name="CommunicatingElement class" subtypes="//@types.3 //@types.4 //@types.19 //@types.20" isAbstract="true"/>
6 <types xsi:type="language_1:TypeDeclaration" name="GroundStationNetwork class" subtypes="//@types.22 //@types.23" supertypes="//@types.2" isAbstract="true"/> 6 <types xsi:type="language_1:TypeDeclaration" name="GroundStationNetwork class" subtypes="//@types.21 //@types.22" supertypes="//@types.2" isAbstract="true"/>
7 <types xsi:type="language_1:TypeDeclaration" name="Spacecraft class" subtypes="//@types.11 //@types.12" supertypes="//@types.2 //@types.21" isAbstract="true"/> 7 <types xsi:type="language_1:TypeDeclaration" name="Spacecraft class" subtypes="//@types.10 //@types.11" supertypes="//@types.2 //@types.20" isAbstract="true"/>
8 <types xsi:type="language_1:TypeDeclaration" name="CommSubsystem class" subtypes="//@types.13 //@types.14 //@types.15 //@types.24 //@types.25" isAbstract="true"/> 8 <types xsi:type="language_1:TypeDeclaration" name="CommSubsystem class" subtypes="//@types.12 //@types.13 //@types.14 //@types.23 //@types.24" isAbstract="true"/>
9 <types xsi:type="language_1:TypeDeclaration" name="DirectedCommunicationLink class"/> 9 <types xsi:type="language_1:TypeDeclaration" name="Payload class" subtypes="//@types.7" isAbstract="true"/>
10 <types xsi:type="language_1:TypeDeclaration" name="Payload class" subtypes="//@types.8" isAbstract="true"/> 10 <types xsi:type="language_1:TypeDeclaration" name="InterferometryPayload class" supertypes="//@types.6"/>
11 <types xsi:type="language_1:TypeDeclaration" name="InterferometryPayload class" supertypes="//@types.7"/> 11 <types xsi:type="language_1:TypeDeclaration" name="CubeSat3U class" supertypes="//@types.11"/>
12 <types xsi:type="language_1:TypeDeclaration" name="CubeSat3U class" supertypes="//@types.12"/> 12 <types xsi:type="language_1:TypeDeclaration" name="CubeSat6U class" supertypes="//@types.11"/>
13 <types xsi:type="language_1:TypeDeclaration" name="CubeSat6U class" supertypes="//@types.12"/>
14 <types xsi:type="language_1:TypeDeclaration" name="SmallSat class" supertypes="//@types.4"/> 13 <types xsi:type="language_1:TypeDeclaration" name="SmallSat class" supertypes="//@types.4"/>
15 <types xsi:type="language_1:TypeDeclaration" name="CubeSat class" subtypes="//@types.9 //@types.10" supertypes="//@types.4" isAbstract="true"/> 14 <types xsi:type="language_1:TypeDeclaration" name="CubeSat class" subtypes="//@types.8 //@types.9" supertypes="//@types.4" isAbstract="true"/>
16 <types xsi:type="language_1:TypeDeclaration" name="UHFCommSubsystem class" supertypes="//@types.5 //@types.25"/> 15 <types xsi:type="language_1:TypeDeclaration" name="UHFCommSubsystem class" supertypes="//@types.5 //@types.24"/>
17 <types xsi:type="language_1:TypeDeclaration" name="XCommSubsystem class" subtypes="//@types.26 //@types.27" supertypes="//@types.5" isAbstract="true"/> 16 <types xsi:type="language_1:TypeDeclaration" name="XCommSubsystem class" subtypes="//@types.25 //@types.26" supertypes="//@types.5" isAbstract="true"/>
18 <types xsi:type="language_1:TypeDeclaration" name="KaCommSubsystem class" subtypes="//@types.28 //@types.29" supertypes="//@types.5" isAbstract="true"/> 17 <types xsi:type="language_1:TypeDeclaration" name="KaCommSubsystem class" subtypes="//@types.27 //@types.28" supertypes="//@types.5" isAbstract="true"/>
19 <types xsi:type="language_1:TypeDefinition" name="ConstellationMission class DefinedPart" subtypes="//@types.18" supertypes="//@types.0" isAbstract="true" elements="//@elements.0"/> 18 <types xsi:type="language_1:TypeDefinition" name="ConstellationMission class DefinedPart" subtypes="//@types.17" supertypes="//@types.0" isAbstract="true" elements="//@elements.0"/>
20 <types xsi:type="language_1:TypeDeclaration" name="ConstellationMission class UndefinedPart" subtypes="//@types.19" supertypes="//@types.0" isAbstract="true"/> 19 <types xsi:type="language_1:TypeDeclaration" name="ConstellationMission class UndefinedPart" subtypes="//@types.18" supertypes="//@types.0" isAbstract="true"/>
21 <types xsi:type="language_1:TypeDefinition" name="InterferometryMission class DefinedPart" supertypes="//@types.1 //@types.16" elements="//@elements.0"/> 20 <types xsi:type="language_1:TypeDefinition" name="InterferometryMission class DefinedPart" supertypes="//@types.1 //@types.15" elements="//@elements.0"/>
22 <types xsi:type="language_1:TypeDeclaration" name="InterferometryMission class UndefinedPart" supertypes="//@types.1 //@types.17"/> 21 <types xsi:type="language_1:TypeDeclaration" name="InterferometryMission class UndefinedPart" supertypes="//@types.1 //@types.16"/>
23 <types xsi:type="language_1:TypeDefinition" name="CommunicatingElement class DefinedPart" subtypes="//@types.22" supertypes="//@types.2" isAbstract="true" elements="//@elements.1"/> 22 <types xsi:type="language_1:TypeDefinition" name="CommunicatingElement class DefinedPart" subtypes="//@types.21" supertypes="//@types.2" isAbstract="true" elements="//@elements.1"/>
24 <types xsi:type="language_1:TypeDeclaration" name="CommunicatingElement class UndefinedPart" subtypes="//@types.23 //@types.4" supertypes="//@types.2" isAbstract="true"/> 23 <types xsi:type="language_1:TypeDeclaration" name="CommunicatingElement class UndefinedPart" subtypes="//@types.22 //@types.4" supertypes="//@types.2" isAbstract="true"/>
25 <types xsi:type="language_1:TypeDefinition" name="GroundStationNetwork class DefinedPart" supertypes="//@types.3 //@types.20" elements="//@elements.1"/> 24 <types xsi:type="language_1:TypeDefinition" name="GroundStationNetwork class DefinedPart" supertypes="//@types.3 //@types.19" elements="//@elements.1"/>
26 <types xsi:type="language_1:TypeDeclaration" name="GroundStationNetwork class UndefinedPart" supertypes="//@types.3 //@types.21"/> 25 <types xsi:type="language_1:TypeDeclaration" name="GroundStationNetwork class UndefinedPart" supertypes="//@types.3 //@types.20"/>
27 <types xsi:type="language_1:TypeDefinition" name="CommSubsystem class DefinedPart" subtypes="//@types.26 //@types.28" supertypes="//@types.5" isAbstract="true" elements="//@elements.2 //@elements.3"/> 26 <types xsi:type="language_1:TypeDefinition" name="CommSubsystem class DefinedPart" subtypes="//@types.25 //@types.27" supertypes="//@types.5" isAbstract="true" elements="//@elements.2 //@elements.3"/>
28 <types xsi:type="language_1:TypeDeclaration" name="CommSubsystem class UndefinedPart" subtypes="//@types.13 //@types.27 //@types.29" supertypes="//@types.5" isAbstract="true"/> 27 <types xsi:type="language_1:TypeDeclaration" name="CommSubsystem class UndefinedPart" subtypes="//@types.12 //@types.26 //@types.28" supertypes="//@types.5" isAbstract="true"/>
29 <types xsi:type="language_1:TypeDefinition" name="XCommSubsystem class DefinedPart" supertypes="//@types.14 //@types.24" elements="//@elements.2"/> 28 <types xsi:type="language_1:TypeDefinition" name="XCommSubsystem class DefinedPart" supertypes="//@types.13 //@types.23" elements="//@elements.2"/>
30 <types xsi:type="language_1:TypeDeclaration" name="XCommSubsystem class UndefinedPart" supertypes="//@types.14 //@types.25"/> 29 <types xsi:type="language_1:TypeDeclaration" name="XCommSubsystem class UndefinedPart" supertypes="//@types.13 //@types.24"/>
31 <types xsi:type="language_1:TypeDefinition" name="KaCommSubsystem class DefinedPart" supertypes="//@types.15 //@types.24" elements="//@elements.3"/> 30 <types xsi:type="language_1:TypeDefinition" name="KaCommSubsystem class DefinedPart" supertypes="//@types.14 //@types.23" elements="//@elements.3"/>
32 <types xsi:type="language_1:TypeDeclaration" name="KaCommSubsystem class UndefinedPart" supertypes="//@types.15 //@types.25"/> 31 <types xsi:type="language_1:TypeDeclaration" name="KaCommSubsystem class UndefinedPart" supertypes="//@types.14 //@types.24"/>
33 <assertions name="lowerMultiplicity groundStationNetwork ConstellationMission" annotations="//@annotations.0"> 32 <assertions name="lowerMultiplicity groundStationNetwork ConstellationMission" annotations="//@annotations.0">
34 <value xsi:type="language_1:Forall"> 33 <value xsi:type="language_1:Forall">
35 <quantifiedVariables name="src"> 34 <quantifiedVariables name="src">
@@ -590,10 +589,10 @@
590 </expression> 589 </expression>
591 </value> 590 </value>
592 </assertions> 591 </assertions>
593 <assertions name="upperMultiplicity communicationLink CommunicatingElement" annotations="//@annotations.6"> 592 <assertions name="upperMultiplicity payload Spacecraft" annotations="//@annotations.6">
594 <value xsi:type="language_1:Forall"> 593 <value xsi:type="language_1:Forall">
595 <quantifiedVariables name="src"> 594 <quantifiedVariables name="src">
596 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 595 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
597 </quantifiedVariables> 596 </quantifiedVariables>
598 <quantifiedVariables name="trg 1"> 597 <quantifiedVariables name="trg 1">
599 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 598 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
@@ -621,16 +620,16 @@
621 </expression> 620 </expression>
622 </value> 621 </value>
623 </assertions> 622 </assertions>
624 <assertions name="upperMultiplicity payload Spacecraft" annotations="//@annotations.7"> 623 <assertions name="upperMultiplicity target CommSubsystem" annotations="//@annotations.7">
625 <value xsi:type="language_1:Forall"> 624 <value xsi:type="language_1:Forall">
626 <quantifiedVariables name="src"> 625 <quantifiedVariables name="src">
627 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 626 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
628 </quantifiedVariables> 627 </quantifiedVariables>
629 <quantifiedVariables name="trg 1"> 628 <quantifiedVariables name="trg 1">
630 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.7"/> 629 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
631 </quantifiedVariables> 630 </quantifiedVariables>
632 <quantifiedVariables name="trg 2"> 631 <quantifiedVariables name="trg 2">
633 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.7"/> 632 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
634 </quantifiedVariables> 633 </quantifiedVariables>
635 <expression xsi:type="language_1:Impl"> 634 <expression xsi:type="language_1:Impl">
636 <leftOperand xsi:type="language_1:And"> 635 <leftOperand xsi:type="language_1:And">
@@ -652,111 +651,13 @@
652 </expression> 651 </expression>
653 </value> 652 </value>
654 </assertions> 653 </assertions>
655 <assertions name="lowerMultiplicity source DirectedCommunicationLink" annotations="//@annotations.8"> 654 <assertions name="PartialInterpretation groundStationNetwork reference ConstellationMission" annotations="//@annotations.8">
656 <value xsi:type="language_1:Forall">
657 <quantifiedVariables name="src">
658 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
659 </quantifiedVariables>
660 <expression xsi:type="language_1:Exists">
661 <quantifiedVariables name="trg 1">
662 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
663 </quantifiedVariables>
664 <expression xsi:type="language_1:And">
665 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
666 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.8/@value/@quantifiedVariables.0"/>
667 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.8/@value/@expression/@quantifiedVariables.0"/>
668 </operands>
669 </expression>
670 </expression>
671 </value>
672 </assertions>
673 <assertions name="upperMultiplicity source DirectedCommunicationLink" annotations="//@annotations.9">
674 <value xsi:type="language_1:Forall">
675 <quantifiedVariables name="src">
676 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
677 </quantifiedVariables>
678 <quantifiedVariables name="trg 1">
679 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
680 </quantifiedVariables>
681 <quantifiedVariables name="trg 2">
682 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
683 </quantifiedVariables>
684 <expression xsi:type="language_1:Impl">
685 <leftOperand xsi:type="language_1:And">
686 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
687 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@quantifiedVariables.0"/>
688 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@quantifiedVariables.1"/>
689 </operands>
690 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
691 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@quantifiedVariables.0"/>
692 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@quantifiedVariables.2"/>
693 </operands>
694 </leftOperand>
695 <rightOperand xsi:type="language_1:Not">
696 <operand xsi:type="language_1:Distinct">
697 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@quantifiedVariables.1"/>
698 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.9/@value/@quantifiedVariables.2"/>
699 </operand>
700 </rightOperand>
701 </expression>
702 </value>
703 </assertions>
704 <assertions name="lowerMultiplicity target DirectedCommunicationLink" annotations="//@annotations.10">
705 <value xsi:type="language_1:Forall">
706 <quantifiedVariables name="src">
707 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
708 </quantifiedVariables>
709 <expression xsi:type="language_1:Exists">
710 <quantifiedVariables name="trg 1">
711 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
712 </quantifiedVariables>
713 <expression xsi:type="language_1:And">
714 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
715 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@quantifiedVariables.0"/>
716 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@expression/@quantifiedVariables.0"/>
717 </operands>
718 </expression>
719 </expression>
720 </value>
721 </assertions>
722 <assertions name="upperMultiplicity target DirectedCommunicationLink" annotations="//@annotations.11">
723 <value xsi:type="language_1:Forall">
724 <quantifiedVariables name="src">
725 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
726 </quantifiedVariables>
727 <quantifiedVariables name="trg 1">
728 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
729 </quantifiedVariables>
730 <quantifiedVariables name="trg 2">
731 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
732 </quantifiedVariables>
733 <expression xsi:type="language_1:Impl">
734 <leftOperand xsi:type="language_1:And">
735 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
736 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.0"/>
737 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.1"/>
738 </operands>
739 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
740 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.0"/>
741 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.2"/>
742 </operands>
743 </leftOperand>
744 <rightOperand xsi:type="language_1:Not">
745 <operand xsi:type="language_1:Distinct">
746 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.1"/>
747 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.2"/>
748 </operand>
749 </rightOperand>
750 </expression>
751 </value>
752 </assertions>
753 <assertions name="PartialInterpretation groundStationNetwork reference ConstellationMission" annotations="//@annotations.12">
754 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0"> 655 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0">
755 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.0"/> 656 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.0"/>
756 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.1"/> 657 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.1"/>
757 </value> 658 </value>
758 </assertions> 659 </assertions>
759 <assertions name="PartialInterpretation commSubsystem reference CommunicatingElement" annotations="//@annotations.13"> 660 <assertions name="PartialInterpretation commSubsystem reference CommunicatingElement" annotations="//@annotations.9">
760 <value xsi:type="language_1:And"> 661 <value xsi:type="language_1:And">
761 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 662 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
762 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.1"/> 663 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@elements.1"/>
@@ -768,98 +669,98 @@
768 </operands> 669 </operands>
769 </value> 670 </value>
770 </assertions> 671 </assertions>
771 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement" annotations="//@annotations.35"> 672 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement" annotations="//@annotations.32">
772 <value xsi:type="language_1:Forall"> 673 <value xsi:type="language_1:Forall">
773 <quantifiedVariables name="p0"> 674 <quantifiedVariables name="p0">
774 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 675 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
775 </quantifiedVariables> 676 </quantifiedVariables>
776 <expression xsi:type="language_1:Not"> 677 <expression xsi:type="language_1:Not">
777 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7"> 678 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5">
778 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.14/@value/@quantifiedVariables.0"/> 679 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.10/@value/@quantifiedVariables.0"/>
779 </operand> 680 </operand>
780 </expression> 681 </expression>
781 </value> 682 </value>
782 </assertions> 683 </assertions>
783 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads" annotations="//@annotations.36"> 684 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads" annotations="//@annotations.33">
784 <value xsi:type="language_1:Forall"> 685 <value xsi:type="language_1:Forall">
785 <quantifiedVariables name="p0"> 686 <quantifiedVariables name="p0">
786 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 687 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
787 </quantifiedVariables> 688 </quantifiedVariables>
788 <expression xsi:type="language_1:Not"> 689 <expression xsi:type="language_1:Not">
789 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8"> 690 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7">
790 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@quantifiedVariables.0"/> 691 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.11/@value/@quantifiedVariables.0"/>
791 </operand> 692 </operand>
792 </expression> 693 </expression>
793 </value> 694 </value>
794 </assertions> 695 </assertions>
795 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation" annotations="//@annotations.37"> 696 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation" annotations="//@annotations.34">
796 <value xsi:type="language_1:Forall"> 697 <value xsi:type="language_1:Forall">
797 <quantifiedVariables name="p0"> 698 <quantifiedVariables name="p0">
798 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 699 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
799 </quantifiedVariables> 700 </quantifiedVariables>
800 <expression xsi:type="language_1:Not"> 701 <expression xsi:type="language_1:Not">
801 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11"> 702 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10">
802 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.16/@value/@quantifiedVariables.0"/> 703 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.12/@value/@quantifiedVariables.0"/>
803 </operand> 704 </operand>
804 </expression> 705 </expression>
805 </value> 706 </value>
806 </assertions> 707 </assertions>
807 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation" annotations="//@annotations.38"> 708 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation" annotations="//@annotations.35">
808 <value xsi:type="language_1:Forall"> 709 <value xsi:type="language_1:Forall">
809 <quantifiedVariables name="p0"> 710 <quantifiedVariables name="p0">
810 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 711 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
811 </quantifiedVariables> 712 </quantifiedVariables>
812 <expression xsi:type="language_1:Not"> 713 <expression xsi:type="language_1:Not">
813 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12"> 714 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11">
814 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@quantifiedVariables.0"/> 715 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.13/@value/@quantifiedVariables.0"/>
815 </operand> 716 </operand>
816 </expression> 717 </expression>
817 </value> 718 </value>
818 </assertions> 719 </assertions>
819 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries communicationLoop" annotations="//@annotations.39"> 720 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries communicationLoop" annotations="//@annotations.36">
820 <value xsi:type="language_1:Forall"> 721 <value xsi:type="language_1:Forall">
821 <quantifiedVariables name="p0"> 722 <quantifiedVariables name="p0">
822 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 723 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
823 </quantifiedVariables> 724 </quantifiedVariables>
824 <expression xsi:type="language_1:Not"> 725 <expression xsi:type="language_1:Not">
825 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19"> 726 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18">
826 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.18/@value/@quantifiedVariables.0"/> 727 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.14/@value/@quantifiedVariables.0"/>
827 </operand> 728 </operand>
828 </expression> 729 </expression>
829 </value> 730 </value>
830 </assertions> 731 </assertions>
831 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand" annotations="//@annotations.40"> 732 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand" annotations="//@annotations.37">
832 <value xsi:type="language_1:Forall"> 733 <value xsi:type="language_1:Forall">
833 <quantifiedVariables name="p0"> 734 <quantifiedVariables name="p0">
834 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 735 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
835 </quantifiedVariables> 736 </quantifiedVariables>
836 <expression xsi:type="language_1:Not"> 737 <expression xsi:type="language_1:Not">
837 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22"> 738 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21">
838 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.19/@value/@quantifiedVariables.0"/> 739 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.15/@value/@quantifiedVariables.0"/>
839 </operand> 740 </operand>
840 </expression> 741 </expression>
841 </value> 742 </value>
842 </assertions> 743 </assertions>
843 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink" annotations="//@annotations.41"> 744 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink" annotations="//@annotations.38">
844 <value xsi:type="language_1:Forall"> 745 <value xsi:type="language_1:Forall">
845 <quantifiedVariables name="p0"> 746 <quantifiedVariables name="p0">
846 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 747 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/>
847 </quantifiedVariables> 748 </quantifiedVariables>
848 <expression xsi:type="language_1:Not"> 749 <expression xsi:type="language_1:Not">
849 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23"> 750 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22">
850 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.20/@value/@quantifiedVariables.0"/> 751 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.16/@value/@quantifiedVariables.0"/>
851 </operand> 752 </operand>
852 </expression> 753 </expression>
853 </value> 754 </value>
854 </assertions> 755 </assertions>
855 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna" annotations="//@annotations.42"> 756 <assertions name="errorpattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna" annotations="//@annotations.39">
856 <value xsi:type="language_1:Forall"> 757 <value xsi:type="language_1:Forall">
857 <quantifiedVariables name="p0"> 758 <quantifiedVariables name="p0">
858 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 759 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
859 </quantifiedVariables> 760 </quantifiedVariables>
860 <expression xsi:type="language_1:Not"> 761 <expression xsi:type="language_1:Not">
861 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26"> 762 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25">
862 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.21/@value/@quantifiedVariables.0"/> 763 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@assertions.17/@value/@quantifiedVariables.0"/>
863 </operand> 764 </operand>
864 </expression> 765 </expression>
865 </value> 766 </value>
@@ -876,64 +777,76 @@
876 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 777 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
877 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 778 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
878 </relations> 779 </relations>
879 <relations xsi:type="language_1:RelationDeclaration" name="communicationLink reference CommunicatingElement">
880 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
881 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
882 </relations>
883 <relations xsi:type="language_1:RelationDeclaration" name="payload reference Spacecraft"> 780 <relations xsi:type="language_1:RelationDeclaration" name="payload reference Spacecraft">
884 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 781 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
885 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.7"/>
886 </relations>
887 <relations xsi:type="language_1:RelationDeclaration" name="source reference DirectedCommunicationLink">
888 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 782 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
889 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
890 </relations> 783 </relations>
891 <relations xsi:type="language_1:RelationDeclaration" name="target reference DirectedCommunicationLink"> 784 <relations xsi:type="language_1:RelationDeclaration" name="target reference CommSubsystem">
892 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 785 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
893 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 786 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
894 </relations> 787 </relations>
895 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement" annotations="//@annotations.14"> 788 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement" annotations="//@annotations.10">
896 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 789 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
897 <variables name="parameter Link"> 790 <variables name="parameter Element">
898 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 791 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
899 </variables> 792 </variables>
900 <value xsi:type="language_1:Or"> 793 <value xsi:type="language_1:Or">
901 <operands xsi:type="language_1:Exists"> 794 <operands xsi:type="language_1:Exists">
902 <quantifiedVariables name="variable Element"> 795 <quantifiedVariables name="variable Comm1">
903 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
904 </quantifiedVariables>
905 <quantifiedVariables name="variable SourceComm">
906 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 796 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
907 </quantifiedVariables> 797 </quantifiedVariables>
908 <quantifiedVariables name="variable SourceElement"> 798 <quantifiedVariables name="variable Comm2">
909 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 799 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
910 </quantifiedVariables> 800 </quantifiedVariables>
911 <expression xsi:type="language_1:And"> 801 <expression xsi:type="language_1:And">
912 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.3"> 802 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
913 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@value/@operands.0/@quantifiedVariables.0"/> 803 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5/@variables.0"/>
914 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@variables.0"/> 804 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5/@value/@operands.0/@quantifiedVariables.0"/>
915 </operands> 805 </operands>
916 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5"> 806 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
917 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@variables.0"/> 807 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5/@variables.0"/>
918 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@value/@operands.0/@quantifiedVariables.1"/> 808 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5/@value/@operands.0/@quantifiedVariables.1"/>
919 </operands> 809 </operands>
810 <operands xsi:type="language_1:Distinct">
811 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5/@value/@operands.0/@quantifiedVariables.0"/>
812 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5/@value/@operands.0/@quantifiedVariables.1"/>
813 </operands>
814 </expression>
815 </operands>
816 </value>
817 </relations>
818 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries transmittingCommSubsystem" annotations="//@annotations.11">
819 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
820 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
821 <variables name="parameter Element">
822 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
823 </variables>
824 <variables name="parameter Comm">
825 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
826 </variables>
827 <value xsi:type="language_1:Or">
828 <operands xsi:type="language_1:Exists">
829 <quantifiedVariables name="variable 0">
830 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
831 </quantifiedVariables>
832 <expression xsi:type="language_1:And">
920 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 833 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
921 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@value/@operands.0/@quantifiedVariables.2"/> 834 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6/@variables.0"/>
922 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@value/@operands.0/@quantifiedVariables.1"/> 835 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6/@variables.1"/>
836 </operands>
837 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4">
838 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6/@variables.1"/>
839 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6/@value/@operands.0/@quantifiedVariables.0"/>
923 </operands> 840 </operands>
924 <operands xsi:type="language_1:InstanceOf"> 841 <operands xsi:type="language_1:InstanceOf">
925 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@value/@operands.0/@quantifiedVariables.1"/> 842 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6/@value/@operands.0/@quantifiedVariables.0"/>
926 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 843 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
927 </operands> 844 </operands>
928 <operands xsi:type="language_1:Distinct">
929 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@value/@operands.0/@quantifiedVariables.0"/>
930 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@value/@operands.0/@quantifiedVariables.2"/>
931 </operands>
932 </expression> 845 </expression>
933 </operands> 846 </operands>
934 </value> 847 </value>
935 </relations> 848 </relations>
936 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads" annotations="//@annotations.15"> 849 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads" annotations="//@annotations.12">
937 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 850 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
938 <variables name="parameter Mission"> 851 <variables name="parameter Mission">
939 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 852 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
@@ -941,18 +854,18 @@
941 <value xsi:type="language_1:Or"> 854 <value xsi:type="language_1:Or">
942 <operands xsi:type="language_1:And"> 855 <operands xsi:type="language_1:And">
943 <operands xsi:type="language_1:InstanceOf"> 856 <operands xsi:type="language_1:InstanceOf">
944 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@variables.0"/> 857 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@variables.0"/>
945 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 858 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
946 </operands> 859 </operands>
947 <operands xsi:type="language_1:Not"> 860 <operands xsi:type="language_1:Not">
948 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9"> 861 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8">
949 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@variables.0"/> 862 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.7/@variables.0"/>
950 </operand> 863 </operand>
951 </operands> 864 </operands>
952 </operands> 865 </operands>
953 </value> 866 </value>
954 </relations> 867 </relations>
955 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads" annotations="//@annotations.16"> 868 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads" annotations="//@annotations.13">
956 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 869 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
957 <variables name="parameter Mission"> 870 <variables name="parameter Mission">
958 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 871 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
@@ -967,26 +880,26 @@
967 </quantifiedVariables> 880 </quantifiedVariables>
968 <expression xsi:type="language_1:And"> 881 <expression xsi:type="language_1:And">
969 <operands xsi:type="language_1:InstanceOf"> 882 <operands xsi:type="language_1:InstanceOf">
970 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@variables.0"/> 883 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@variables.0"/>
971 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/> 884 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.1"/>
972 </operands> 885 </operands>
973 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10"> 886 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
974 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@variables.0"/> 887 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@variables.0"/>
975 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@value/@operands.0/@quantifiedVariables.0"/> 888 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@value/@operands.0/@quantifiedVariables.0"/>
976 </operands> 889 </operands>
977 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10"> 890 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9">
978 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@variables.0"/> 891 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@variables.0"/>
979 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@value/@operands.0/@quantifiedVariables.1"/> 892 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@value/@operands.0/@quantifiedVariables.1"/>
980 </operands> 893 </operands>
981 <operands xsi:type="language_1:Distinct"> 894 <operands xsi:type="language_1:Distinct">
982 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@value/@operands.0/@quantifiedVariables.0"/> 895 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@value/@operands.0/@quantifiedVariables.0"/>
983 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@value/@operands.0/@quantifiedVariables.1"/> 896 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.8/@value/@operands.0/@quantifiedVariables.1"/>
984 </operands> 897 </operands>
985 </expression> 898 </expression>
986 </operands> 899 </operands>
987 </value> 900 </value>
988 </relations> 901 </relations>
989 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload" annotations="//@annotations.17"> 902 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload" annotations="//@annotations.14">
990 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/> 903 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.0"/>
991 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 904 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
992 <variables name="parameter Mission"> 905 <variables name="parameter Mission">
@@ -998,26 +911,26 @@
998 <value xsi:type="language_1:Or"> 911 <value xsi:type="language_1:Or">
999 <operands xsi:type="language_1:Exists"> 912 <operands xsi:type="language_1:Exists">
1000 <quantifiedVariables name="variable Payload"> 913 <quantifiedVariables name="variable Payload">
1001 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/> 914 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.7"/>
1002 </quantifiedVariables> 915 </quantifiedVariables>
1003 <expression xsi:type="language_1:And"> 916 <expression xsi:type="language_1:And">
1004 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1"> 917 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
1005 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@variables.0"/> 918 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@variables.0"/>
1006 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@variables.1"/> 919 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@variables.1"/>
1007 </operands> 920 </operands>
1008 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4"> 921 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.3">
1009 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@variables.1"/> 922 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@variables.1"/>
1010 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.0"/> 923 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@value/@operands.0/@quantifiedVariables.0"/>
1011 </operands> 924 </operands>
1012 <operands xsi:type="language_1:InstanceOf"> 925 <operands xsi:type="language_1:InstanceOf">
1013 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.0"/> 926 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.9/@value/@operands.0/@quantifiedVariables.0"/>
1014 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/> 927 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.7"/>
1015 </operands> 928 </operands>
1016 </expression> 929 </expression>
1017 </operands> 930 </operands>
1018 </value> 931 </value>
1019 </relations> 932 </relations>
1020 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation" annotations="//@annotations.18"> 933 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation" annotations="//@annotations.15">
1021 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 934 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1022 <variables name="parameter Spacecraft"> 935 <variables name="parameter Spacecraft">
1023 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 936 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
@@ -1032,32 +945,32 @@
1032 </quantifiedVariables> 945 </quantifiedVariables>
1033 <expression xsi:type="language_1:And"> 946 <expression xsi:type="language_1:And">
1034 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0"> 947 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0">
1035 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.0"/> 948 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.0"/>
1036 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.1"/> 949 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.1"/>
1037 </operands> 950 </operands>
1038 <operands xsi:type="language_1:InstanceOf"> 951 <operands xsi:type="language_1:InstanceOf">
1039 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.1"/> 952 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.1"/>
1040 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> 953 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1041 </operands> 954 </operands>
1042 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1"> 955 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
1043 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.0"/> 956 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.0"/>
1044 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/> 957 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@variables.0"/>
1045 </operands> 958 </operands>
1046 <operands xsi:type="language_1:InstanceOf"> 959 <operands xsi:type="language_1:InstanceOf">
1047 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/> 960 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@variables.0"/>
1048 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 961 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1049 </operands> 962 </operands>
1050 <operands xsi:type="language_1:Not"> 963 <operands xsi:type="language_1:Not">
1051 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20"> 964 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19">
1052 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/> 965 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@variables.0"/>
1053 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.1"/> 966 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.10/@value/@operands.0/@quantifiedVariables.1"/>
1054 </operand> 967 </operand>
1055 </operands> 968 </operands>
1056 </expression> 969 </expression>
1057 </operands> 970 </operands>
1058 </value> 971 </value>
1059 </relations> 972 </relations>
1060 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation" annotations="//@annotations.19"> 973 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation" annotations="//@annotations.16">
1061 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 974 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1062 <variables name="parameter Spacecraft"> 975 <variables name="parameter Spacecraft">
1063 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 976 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
@@ -1072,32 +985,32 @@
1072 </quantifiedVariables> 985 </quantifiedVariables>
1073 <expression xsi:type="language_1:And"> 986 <expression xsi:type="language_1:And">
1074 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0"> 987 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.0">
1075 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@value/@operands.0/@quantifiedVariables.0"/> 988 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.0"/>
1076 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@value/@operands.0/@quantifiedVariables.1"/> 989 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.1"/>
1077 </operands> 990 </operands>
1078 <operands xsi:type="language_1:InstanceOf"> 991 <operands xsi:type="language_1:InstanceOf">
1079 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@value/@operands.0/@quantifiedVariables.1"/> 992 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.1"/>
1080 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> 993 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1081 </operands> 994 </operands>
1082 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1"> 995 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.1">
1083 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@value/@operands.0/@quantifiedVariables.0"/> 996 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.0"/>
1084 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@variables.0"/> 997 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/>
1085 </operands> 998 </operands>
1086 <operands xsi:type="language_1:InstanceOf"> 999 <operands xsi:type="language_1:InstanceOf">
1087 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@variables.0"/> 1000 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/>
1088 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1001 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1089 </operands> 1002 </operands>
1090 <operands xsi:type="language_1:Not"> 1003 <operands xsi:type="language_1:Not">
1091 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13"> 1004 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12">
1092 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@variables.0"/> 1005 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@variables.0"/>
1093 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.12/@value/@operands.0/@quantifiedVariables.1"/> 1006 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.11/@value/@operands.0/@quantifiedVariables.1"/>
1094 </operand> 1007 </operand>
1095 </operands> 1008 </operands>
1096 </expression> 1009 </expression>
1097 </operands> 1010 </operands>
1098 </value> 1011 </value>
1099 </relations> 1012 </relations>
1100 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed" annotations="//@annotations.20"> 1013 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed" annotations="//@annotations.17">
1101 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1014 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1102 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1015 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1103 <variables name="parameter From"> 1016 <variables name="parameter From">
@@ -1108,11 +1021,11 @@
1108 </variables> 1021 </variables>
1109 <value xsi:type="language_1:Or"> 1022 <value xsi:type="language_1:Or">
1110 <operands xsi:type="language_1:And"> 1023 <operands xsi:type="language_1:And">
1111 <operands xsi:type="language_1:TransitiveClosure" relation="//@relations.14"/> 1024 <operands xsi:type="language_1:TransitiveClosure" relation="//@relations.13"/>
1112 </operands> 1025 </operands>
1113 </value> 1026 </value>
1114 </relations> 1027 </relations>
1115 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed" annotations="//@annotations.21"> 1028 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed" annotations="//@annotations.18">
1116 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1029 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1117 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1030 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1118 <variables name="parameter From"> 1031 <variables name="parameter From">
@@ -1123,43 +1036,43 @@
1123 </variables> 1036 </variables>
1124 <value xsi:type="language_1:Or"> 1037 <value xsi:type="language_1:Or">
1125 <operands xsi:type="language_1:And"> 1038 <operands xsi:type="language_1:And">
1126 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15"> 1039 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14">
1127 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/> 1040 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.0"/>
1128 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.1"/> 1041 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.1"/>
1129 </operands> 1042 </operands>
1130 <operands xsi:type="language_1:Not"> 1043 <operands xsi:type="language_1:Not">
1131 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17"> 1044 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16">
1132 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/> 1045 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.0"/>
1133 </operand> 1046 </operand>
1134 </operands> 1047 </operands>
1135 </operands> 1048 </operands>
1136 <operands xsi:type="language_1:And"> 1049 <operands xsi:type="language_1:And">
1137 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15"> 1050 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14">
1138 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/> 1051 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.0"/>
1139 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.1"/> 1052 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.1"/>
1140 </operands> 1053 </operands>
1141 <operands xsi:type="language_1:InstanceOf"> 1054 <operands xsi:type="language_1:InstanceOf">
1142 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/> 1055 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.0"/>
1143 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1056 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/>
1144 </operands> 1057 </operands>
1145 </operands> 1058 </operands>
1146 <operands xsi:type="language_1:And"> 1059 <operands xsi:type="language_1:And">
1147 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15"> 1060 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14">
1148 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/> 1061 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.0"/>
1149 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.1"/> 1062 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.1"/>
1150 </operands> 1063 </operands>
1151 <operands xsi:type="language_1:InstanceOf"> 1064 <operands xsi:type="language_1:InstanceOf">
1152 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/> 1065 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.0"/>
1153 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1066 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/>
1154 </operands> 1067 </operands>
1155 <operands xsi:type="language_1:InstanceOf"> 1068 <operands xsi:type="language_1:InstanceOf">
1156 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.1"/> 1069 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.13/@variables.1"/>
1157 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> 1070 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1158 </operands> 1071 </operands>
1159 </operands> 1072 </operands>
1160 </value> 1073 </value>
1161 </relations> 1074 </relations>
1162 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna" annotations="//@annotations.22"> 1075 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna" annotations="//@annotations.19">
1163 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1076 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1164 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1077 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1165 <variables name="parameter From"> 1078 <variables name="parameter From">
@@ -1178,26 +1091,26 @@
1178 </quantifiedVariables> 1091 </quantifiedVariables>
1179 <expression xsi:type="language_1:And"> 1092 <expression xsi:type="language_1:And">
1180 <operands xsi:type="language_1:InstanceOf"> 1093 <operands xsi:type="language_1:InstanceOf">
1181 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.0"/> 1094 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/>
1182 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1095 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1183 </operands> 1096 </operands>
1184 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1097 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1185 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.0"/> 1098 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.0"/>
1186 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.0"/> 1099 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.0"/>
1187 </operands> 1100 </operands>
1188 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1101 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1189 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.1"/> 1102 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@variables.1"/>
1190 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.1"/> 1103 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.1"/>
1191 </operands> 1104 </operands>
1192 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16"> 1105 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15">
1193 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.0"/> 1106 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.0"/>
1194 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@value/@operands.0/@quantifiedVariables.1"/> 1107 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.14/@value/@operands.0/@quantifiedVariables.1"/>
1195 </operands> 1108 </operands>
1196 </expression> 1109 </expression>
1197 </operands> 1110 </operands>
1198 </value> 1111 </value>
1199 </relations> 1112 </relations>
1200 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries matchingCommSubsystem" annotations="//@annotations.23"> 1113 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries matchingCommSubsystem" annotations="//@annotations.20">
1201 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1114 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1202 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1115 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1203 <variables name="parameter From"> 1116 <variables name="parameter From">
@@ -1209,79 +1122,79 @@
1209 <value xsi:type="language_1:Or"> 1122 <value xsi:type="language_1:Or">
1210 <operands xsi:type="language_1:And"> 1123 <operands xsi:type="language_1:And">
1211 <operands xsi:type="language_1:InstanceOf"> 1124 <operands xsi:type="language_1:InstanceOf">
1212 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.0"/> 1125 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.0"/>
1213 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/> 1126 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.12"/>
1214 </operands> 1127 </operands>
1215 <operands xsi:type="language_1:InstanceOf"> 1128 <operands xsi:type="language_1:InstanceOf">
1216 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.1"/> 1129 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.1"/>
1217 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/> 1130 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.12"/>
1218 </operands> 1131 </operands>
1219 </operands> 1132 </operands>
1220 <operands xsi:type="language_1:And"> 1133 <operands xsi:type="language_1:And">
1221 <operands xsi:type="language_1:InstanceOf"> 1134 <operands xsi:type="language_1:InstanceOf">
1222 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.0"/> 1135 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.0"/>
1223 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/> 1136 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
1224 </operands> 1137 </operands>
1225 <operands xsi:type="language_1:InstanceOf"> 1138 <operands xsi:type="language_1:InstanceOf">
1226 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.1"/> 1139 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.1"/>
1227 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/> 1140 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/>
1228 </operands> 1141 </operands>
1229 </operands> 1142 </operands>
1230 <operands xsi:type="language_1:And"> 1143 <operands xsi:type="language_1:And">
1231 <operands xsi:type="language_1:InstanceOf"> 1144 <operands xsi:type="language_1:InstanceOf">
1232 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.0"/> 1145 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.0"/>
1233 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.15"/> 1146 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
1234 </operands> 1147 </operands>
1235 <operands xsi:type="language_1:InstanceOf"> 1148 <operands xsi:type="language_1:InstanceOf">
1236 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.1"/> 1149 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15/@variables.1"/>
1237 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.15"/> 1150 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
1238 </operands> 1151 </operands>
1239 </operands> 1152 </operands>
1240 </value> 1153 </value>
1241 </relations> 1154 </relations>
1242 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U" annotations="//@annotations.24"> 1155 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U" annotations="//@annotations.21">
1243 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1156 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/>
1244 <variables name="parameter Sat"> 1157 <variables name="parameter Sat">
1245 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1158 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/>
1246 </variables> 1159 </variables>
1247 <value xsi:type="language_1:Or"> 1160 <value xsi:type="language_1:Or">
1248 <operands xsi:type="language_1:And"> 1161 <operands xsi:type="language_1:And">
1249 <operands xsi:type="language_1:InstanceOf"> 1162 <operands xsi:type="language_1:InstanceOf">
1250 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/> 1163 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16/@variables.0"/>
1251 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1164 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/>
1252 </operands> 1165 </operands>
1253 </operands> 1166 </operands>
1254 </value> 1167 </value>
1255 </relations> 1168 </relations>
1256 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries cubeSat6U" annotations="//@annotations.25"> 1169 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries cubeSat6U" annotations="//@annotations.22">
1257 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/> 1170 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1258 <variables name="parameter Sat"> 1171 <variables name="parameter Sat">
1259 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/> 1172 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1260 </variables> 1173 </variables>
1261 <value xsi:type="language_1:Or"> 1174 <value xsi:type="language_1:Or">
1262 <operands xsi:type="language_1:And"> 1175 <operands xsi:type="language_1:And">
1263 <operands xsi:type="language_1:InstanceOf"> 1176 <operands xsi:type="language_1:InstanceOf">
1264 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.0"/> 1177 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.17/@variables.0"/>
1265 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/> 1178 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/>
1266 </operands> 1179 </operands>
1267 </operands> 1180 </operands>
1268 </value> 1181 </value>
1269 </relations> 1182 </relations>
1270 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop" annotations="//@annotations.26"> 1183 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop" annotations="//@annotations.23">
1271 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1184 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1272 <variables name="parameter Element"> 1185 <variables name="parameter Element">
1273 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1186 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1274 </variables> 1187 </variables>
1275 <value xsi:type="language_1:Or"> 1188 <value xsi:type="language_1:Or">
1276 <operands xsi:type="language_1:And"> 1189 <operands xsi:type="language_1:And">
1277 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20"> 1190 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19">
1278 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.0"/> 1191 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.0"/>
1279 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.19/@variables.0"/> 1192 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.18/@variables.0"/>
1280 </operands> 1193 </operands>
1281 </operands> 1194 </operands>
1282 </value> 1195 </value>
1283 </relations> 1196 </relations>
1284 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink" annotations="//@annotations.27"> 1197 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink" annotations="//@annotations.24">
1285 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1198 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1286 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1199 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1287 <variables name="parameter Source"> 1200 <variables name="parameter Source">
@@ -1292,11 +1205,11 @@
1292 </variables> 1205 </variables>
1293 <value xsi:type="language_1:Or"> 1206 <value xsi:type="language_1:Or">
1294 <operands xsi:type="language_1:And"> 1207 <operands xsi:type="language_1:And">
1295 <operands xsi:type="language_1:TransitiveClosure" relation="//@relations.21"/> 1208 <operands xsi:type="language_1:TransitiveClosure" relation="//@relations.20"/>
1296 </operands> 1209 </operands>
1297 </value> 1210 </value>
1298 </relations> 1211 </relations>
1299 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink" annotations="//@annotations.28"> 1212 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink" annotations="//@annotations.25">
1300 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1213 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1301 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/> 1214 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.2"/>
1302 <variables name="parameter Source"> 1215 <variables name="parameter Source">
@@ -1307,9 +1220,6 @@
1307 </variables> 1220 </variables>
1308 <value xsi:type="language_1:Or"> 1221 <value xsi:type="language_1:Or">
1309 <operands xsi:type="language_1:Exists"> 1222 <operands xsi:type="language_1:Exists">
1310 <quantifiedVariables name="variable Link">
1311 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1312 </quantifiedVariables>
1313 <quantifiedVariables name="variable SourceSubsystem"> 1223 <quantifiedVariables name="variable SourceSubsystem">
1314 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1224 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1315 </quantifiedVariables> 1225 </quantifiedVariables>
@@ -1317,87 +1227,65 @@
1317 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1227 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1318 </quantifiedVariables> 1228 </quantifiedVariables>
1319 <expression xsi:type="language_1:And"> 1229 <expression xsi:type="language_1:And">
1320 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5"> 1230 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4">
1321 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.0"/> 1231 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.0"/>
1322 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.1"/> 1232 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.1"/>
1323 </operands>
1324 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
1325 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.0"/>
1326 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.2"/>
1327 </operands> 1233 </operands>
1328 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1234 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1329 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.0"/> 1235 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.0"/>
1330 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.1"/> 1236 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.0"/>
1331 </operands>
1332 <operands xsi:type="language_1:InstanceOf">
1333 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.1"/>
1334 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1335 </operands> 1237 </operands>
1336 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1238 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1337 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.1"/> 1239 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@variables.1"/>
1338 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.2"/> 1240 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.1"/>
1339 </operands> 1241 </operands>
1340 <operands xsi:type="language_1:InstanceOf"> 1242 <operands xsi:type="language_1:InstanceOf">
1341 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.2"/> 1243 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.20/@value/@operands.0/@quantifiedVariables.1"/>
1342 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1244 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1343 </operands> 1245 </operands>
1344 </expression> 1246 </expression>
1345 </operands> 1247 </operands>
1346 </value> 1248 </value>
1347 </relations> 1249 </relations>
1348 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand" annotations="//@annotations.29"> 1250 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand" annotations="//@annotations.26">
1349 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 1251 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1350 <variables name="parameter Link"> 1252 <variables name="parameter SourceSubsystem">
1351 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/> 1253 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1352 </variables> 1254 </variables>
1353 <value xsi:type="language_1:Or"> 1255 <value xsi:type="language_1:Or">
1354 <operands xsi:type="language_1:Exists"> 1256 <operands xsi:type="language_1:Exists">
1355 <quantifiedVariables name="variable SourceSubsystem">
1356 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1357 </quantifiedVariables>
1358 <quantifiedVariables name="variable TargetSubsystem"> 1257 <quantifiedVariables name="variable TargetSubsystem">
1359 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1258 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1360 </quantifiedVariables> 1259 </quantifiedVariables>
1361 <expression xsi:type="language_1:And"> 1260 <expression xsi:type="language_1:And">
1362 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5"> 1261 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4">
1363 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.0"/> 1262 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.0"/>
1364 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.0"/> 1263 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.0"/>
1365 </operands>
1366 <operands xsi:type="language_1:InstanceOf">
1367 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.0"/>
1368 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1369 </operands>
1370 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
1371 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.0"/>
1372 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.1"/>
1373 </operands> 1264 </operands>
1374 <operands xsi:type="language_1:InstanceOf"> 1265 <operands xsi:type="language_1:InstanceOf">
1375 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.1"/> 1266 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.0"/>
1376 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1267 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1377 </operands> 1268 </operands>
1378 <operands xsi:type="language_1:Not"> 1269 <operands xsi:type="language_1:Not">
1379 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.16"> 1270 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.15">
1380 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.0"/> 1271 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@variables.0"/>
1381 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.1"/> 1272 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.21/@value/@operands.0/@quantifiedVariables.0"/>
1382 </operand> 1273 </operand>
1383 </operands> 1274 </operands>
1384 </expression> 1275 </expression>
1385 </operands> 1276 </operands>
1386 </value> 1277 </value>
1387 </relations> 1278 </relations>
1388 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink" annotations="//@annotations.30"> 1279 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink" annotations="//@annotations.27">
1389 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1280 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/>
1390 <variables name="parameter Sat"> 1281 <variables name="parameter Sat">
1391 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1282 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/>
1392 </variables> 1283 </variables>
1393 <value xsi:type="language_1:Or"> 1284 <value xsi:type="language_1:Or">
1394 <operands xsi:type="language_1:Exists"> 1285 <operands xsi:type="language_1:Exists">
1395 <quantifiedVariables name="variable SourceComm"> 1286 <quantifiedVariables name="variable SourceComm">
1396 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1287 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1397 </quantifiedVariables> 1288 </quantifiedVariables>
1398 <quantifiedVariables name="variable Link">
1399 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.6"/>
1400 </quantifiedVariables>
1401 <quantifiedVariables name="variable TargetComm"> 1289 <quantifiedVariables name="variable TargetComm">
1402 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1290 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1403 </quantifiedVariables> 1291 </quantifiedVariables>
@@ -1406,62 +1294,54 @@
1406 </quantifiedVariables> 1294 </quantifiedVariables>
1407 <expression xsi:type="language_1:And"> 1295 <expression xsi:type="language_1:And">
1408 <operands xsi:type="language_1:InstanceOf"> 1296 <operands xsi:type="language_1:InstanceOf">
1409 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@variables.0"/> 1297 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.0"/>
1410 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.9"/> 1298 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.8"/>
1411 </operands> 1299 </operands>
1412 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1300 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1413 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@variables.0"/> 1301 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@variables.0"/>
1414 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.0"/> 1302 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.0"/>
1415 </operands> 1303 </operands>
1416 <operands xsi:type="language_1:Not"> 1304 <operands xsi:type="language_1:Not">
1417 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24"> 1305 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23">
1418 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.0"/> 1306 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.0"/>
1419 </operand> 1307 </operand>
1420 </operands> 1308 </operands>
1421 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.5"> 1309 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.4">
1422 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.1"/> 1310 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.0"/>
1423 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.0"/> 1311 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.1"/>
1424 </operands>
1425 <operands xsi:type="language_1:InstanceOf">
1426 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.0"/>
1427 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1428 </operands>
1429 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.6">
1430 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.1"/>
1431 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.2"/>
1432 </operands> 1312 </operands>
1433 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1313 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1434 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.3"/> 1314 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.2"/>
1435 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.2"/> 1315 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.1"/>
1436 </operands> 1316 </operands>
1437 <operands xsi:type="language_1:InstanceOf"> 1317 <operands xsi:type="language_1:InstanceOf">
1438 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.2"/> 1318 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.1"/>
1439 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/> 1319 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.5"/>
1440 </operands> 1320 </operands>
1441 <operands xsi:type="language_1:Not"> 1321 <operands xsi:type="language_1:Not">
1442 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25"> 1322 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24">
1443 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@value/@operands.0/@quantifiedVariables.3"/> 1323 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.22/@value/@operands.0/@quantifiedVariables.2"/>
1444 </operand> 1324 </operand>
1445 </operands> 1325 </operands>
1446 </expression> 1326 </expression>
1447 </operands> 1327 </operands>
1448 </value> 1328 </value>
1449 </relations> 1329 </relations>
1450 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf" annotations="//@annotations.31"> 1330 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf" annotations="//@annotations.28">
1451 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/> 1331 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.12"/>
1452 <variables name="parameter Comm"> 1332 <variables name="parameter Comm">
1453 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/> 1333 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.12"/>
1454 </variables> 1334 </variables>
1455 <value xsi:type="language_1:Or"> 1335 <value xsi:type="language_1:Or">
1456 <operands xsi:type="language_1:And"> 1336 <operands xsi:type="language_1:And">
1457 <operands xsi:type="language_1:InstanceOf"> 1337 <operands xsi:type="language_1:InstanceOf">
1458 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@variables.0"/> 1338 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.23/@variables.0"/>
1459 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.13"/> 1339 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.12"/>
1460 </operands> 1340 </operands>
1461 </operands> 1341 </operands>
1462 </value> 1342 </value>
1463 </relations> 1343 </relations>
1464 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork" annotations="//@annotations.32"> 1344 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork" annotations="//@annotations.29">
1465 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> 1345 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1466 <variables name="parameter Network"> 1346 <variables name="parameter Network">
1467 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> 1347 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
@@ -1469,13 +1349,13 @@
1469 <value xsi:type="language_1:Or"> 1349 <value xsi:type="language_1:Or">
1470 <operands xsi:type="language_1:And"> 1350 <operands xsi:type="language_1:And">
1471 <operands xsi:type="language_1:InstanceOf"> 1351 <operands xsi:type="language_1:InstanceOf">
1472 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.0"/> 1352 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.24/@variables.0"/>
1473 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/> 1353 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.3"/>
1474 </operands> 1354 </operands>
1475 </operands> 1355 </operands>
1476 </value> 1356 </value>
1477 </relations> 1357 </relations>
1478 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna" annotations="//@annotations.33"> 1358 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna" annotations="//@annotations.30">
1479 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1359 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1480 <variables name="parameter Spacecraft"> 1360 <variables name="parameter Spacecraft">
1481 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1361 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
@@ -1483,49 +1363,49 @@
1483 <value xsi:type="language_1:Or"> 1363 <value xsi:type="language_1:Or">
1484 <operands xsi:type="language_1:Exists"> 1364 <operands xsi:type="language_1:Exists">
1485 <quantifiedVariables name="variable Comm"> 1365 <quantifiedVariables name="variable Comm">
1486 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.15"/> 1366 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
1487 </quantifiedVariables> 1367 </quantifiedVariables>
1488 <expression xsi:type="language_1:And"> 1368 <expression xsi:type="language_1:And">
1489 <operands xsi:type="language_1:InstanceOf"> 1369 <operands xsi:type="language_1:InstanceOf">
1490 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@variables.0"/> 1370 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.0"/>
1491 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/> 1371 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.4"/>
1492 </operands> 1372 </operands>
1493 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2"> 1373 <operands xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.2">
1494 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@variables.0"/> 1374 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.0"/>
1495 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@value/@operands.0/@quantifiedVariables.0"/> 1375 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.0"/>
1496 </operands> 1376 </operands>
1497 <operands xsi:type="language_1:InstanceOf"> 1377 <operands xsi:type="language_1:InstanceOf">
1498 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@value/@operands.0/@quantifiedVariables.0"/> 1378 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@value/@operands.0/@quantifiedVariables.0"/>
1499 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.15"/> 1379 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.14"/>
1500 </operands> 1380 </operands>
1501 <operands xsi:type="language_1:Not"> 1381 <operands xsi:type="language_1:Not">
1502 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27"> 1382 <operand xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26">
1503 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@variables.0"/> 1383 <parameterSubstitutions xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.25/@variables.0"/>
1504 </operand> 1384 </operand>
1505 </operands> 1385 </operands>
1506 </expression> 1386 </expression>
1507 </operands> 1387 </operands>
1508 </value> 1388 </value>
1509 </relations> 1389 </relations>
1510 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries smallSat" annotations="//@annotations.34"> 1390 <relations xsi:type="language_1:RelationDefinition" name="pattern hu bme mit inf dslreasoner domains satellite queries smallSat" annotations="//@annotations.31">
1511 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/> 1391 <parameters xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/>
1512 <variables name="parameter Sat"> 1392 <variables name="parameter Sat">
1513 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/> 1393 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/>
1514 </variables> 1394 </variables>
1515 <value xsi:type="language_1:Or"> 1395 <value xsi:type="language_1:Or">
1516 <operands xsi:type="language_1:And"> 1396 <operands xsi:type="language_1:And">
1517 <operands xsi:type="language_1:InstanceOf"> 1397 <operands xsi:type="language_1:InstanceOf">
1518 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.27/@variables.0"/> 1398 <value xsi:type="language_1:SymbolicValue" symbolicReference="//@relations.26/@variables.0"/>
1519 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.11"/> 1399 <range xsi:type="language_1:ComplexTypeReference" referred="//@types.10"/>
1520 </operands> 1400 </operands>
1521 </operands> 1401 </operands>
1522 </value> 1402 </value>
1523 </relations> 1403 </relations>
1524 <elements name="o 1" definedInType="//@types.16 //@types.18"/> 1404 <elements name="o 1" definedInType="//@types.15 //@types.17"/>
1525 <elements name="o 2" definedInType="//@types.20 //@types.22"/> 1405 <elements name="o 2" definedInType="//@types.19 //@types.21"/>
1526 <elements name="o 3" definedInType="//@types.24 //@types.26"/> 1406 <elements name="o 3" definedInType="//@types.23 //@types.25"/>
1527 <elements name="o 4" definedInType="//@types.24 //@types.28"/> 1407 <elements name="o 4" definedInType="//@types.23 //@types.27"/>
1528 <containmentHierarchies typesOrderedInHierarchy="//@types.3 //@types.1 //@types.10 //@types.5 //@types.6 //@types.9 //@types.0 //@types.13 //@types.15 //@types.7 //@types.12 //@types.2 //@types.11 //@types.8 //@types.4 //@types.14 //@types.16 //@types.17 //@types.18 //@types.19 //@types.20 //@types.21 //@types.22 //@types.23 //@types.24 //@types.25 //@types.26 //@types.27 //@types.28 //@types.29" containmentRelations="//@relations.0 //@relations.1 //@relations.2 //@relations.3 //@relations.4"/> 1408 <containmentHierarchies typesOrderedInHierarchy="//@types.2 //@types.0 //@types.7 //@types.3 //@types.5 //@types.6 //@types.9 //@types.13 //@types.8 //@types.14 //@types.4 //@types.1 //@types.12 //@types.10 //@types.11 //@types.15 //@types.16 //@types.17 //@types.18 //@types.19 //@types.20 //@types.21 //@types.22 //@types.23 //@types.24 //@types.25 //@types.26 //@types.27 //@types.28" containmentRelations="//@relations.0 //@relations.1 //@relations.2 //@relations.3"/>
1529 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.0" relation="//@relations.0" lower="1"/> 1409 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.0" relation="//@relations.0" lower="1"/>
1530 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.1" relation="//@relations.0" upper="1"/> 1410 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.1" relation="//@relations.0" upper="1"/>
1531 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.2" relation="//@relations.1" lower="2"/> 1411 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.2" relation="//@relations.1" lower="2"/>
@@ -1534,39 +1414,36 @@
1534 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.5" relation="//@relations.2" upper="2"/> 1414 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.5" relation="//@relations.2" upper="2"/>
1535 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.6" relation="//@relations.3" upper="1"/> 1415 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.6" relation="//@relations.3" upper="1"/>
1536 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.7" relation="//@relations.4" upper="1"/> 1416 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.7" relation="//@relations.4" upper="1"/>
1537 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.8" relation="//@relations.5" lower="1"/> 1417 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.8" targetRelation="//@relations.0"/>
1538 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.9" relation="//@relations.5" upper="1"/> 1418 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.9" targetRelation="//@relations.2"/>
1539 <annotations xsi:type="ecore2logicannotations:LowerMultiplicityAssertion" target="//@assertions.10" relation="//@relations.6" lower="1"/> 1419 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.5" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement"/>
1540 <annotations xsi:type="ecore2logicannotations:UpperMultiplicityAssertion" target="//@assertions.11" relation="//@relations.6" upper="1"/> 1420 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.6" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.transmittingCommSubsystem"/>
1541 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.12" targetRelation="//@relations.0"/> 1421 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.7" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.notEnoughInterferometryPayloads"/>
1542 <annotations xsi:type="partial2logicannotations:PartialModelRelation2Assertion" target="//@assertions.13" targetRelation="//@relations.2"/> 1422 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.8" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.atLeastTwoInterferometryPayloads"/>
1543 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.7" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement"/> 1423 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.9" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftWithInterferometryPayload"/>
1544 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.8" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.notEnoughInterferometryPayloads"/> 1424 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.10" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noLinkToGroundStation"/>
1545 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.9" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.atLeastTwoInterferometryPayloads"/> 1425 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.11" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noPotentialLinkToGroundStation"/>
1546 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.10" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftWithInterferometryPayload"/> 1426 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.12" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.indirectLinkAllowed"/>
1547 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.11" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noLinkToGroundStation"/> 1427 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.13" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.linkAllowed"/>
1548 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.12" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noPotentialLinkToGroundStation"/> 1428 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.14" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.matchingAntenna"/>
1549 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.13" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.indirectLinkAllowed"/> 1429 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.15" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.matchingCommSubsystem"/>
1550 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.14" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.linkAllowed"/> 1430 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.16" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSat3U"/>
1551 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.15" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.matchingAntenna"/> 1431 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.17" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSat6U"/>
1552 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.16" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.matchingCommSubsystem"/> 1432 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.18" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLoop"/>
1553 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.17" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSat3U"/> 1433 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.19" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.indirectCommunicationLink"/>
1554 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.18" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSat6U"/> 1434 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.20" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.directCommunicationLink"/>
1555 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.19" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLoop"/> 1435 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.21" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetBand"/>
1556 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.20" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.indirectCommunicationLink"/> 1436 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.22" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.threeUCubeSatWithNonUhfCrossLink"/>
1557 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.21" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.directCommunicationLink"/> 1437 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.23" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemBandUhf"/>
1558 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.22" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetBand"/> 1438 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.24" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.groundStationNetwork"/>
1559 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.23" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.threeUCubeSatWithNonUhfCrossLink"/> 1439 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.25" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSatWithKaAntenna"/>
1560 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.24" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemBandUhf"/> 1440 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.26" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.smallSat"/>
1561 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.25" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.groundStationNetwork"/> 1441 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.10" query="//@annotations.10"/>
1562 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.26" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSatWithKaAntenna"/> 1442 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.11" query="//@annotations.12"/>
1563 <annotations xsi:type="viatra2logicannotations:TransfomedViatraQuery" target="//@relations.27" patternFullyQualifiedName="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.smallSat"/> 1443 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.12" query="//@annotations.15"/>
1564 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.14" query="//@annotations.14"/> 1444 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.13" query="//@annotations.16"/>
1565 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.15" query="//@annotations.15"/> 1445 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.14" query="//@annotations.23"/>
1566 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.16" query="//@annotations.18"/> 1446 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.15" query="//@annotations.26"/>
1567 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.17" query="//@annotations.19"/> 1447 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.16" query="//@annotations.27"/>
1568 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.18" query="//@annotations.26"/> 1448 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.17" query="//@annotations.30"/>
1569 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.19" query="//@annotations.29"/>
1570 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.20" query="//@annotations.30"/>
1571 <annotations xsi:type="viatra2logicannotations:TransformedViatraWellformednessConstraint" target="//@assertions.21" query="//@annotations.33"/>
1572</language:LogicProblem> 1449</language:LogicProblem>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/init.partialmodel b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/init.partialmodel
index 326d09ce..9f14379f 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/init.partialmodel
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/init.partialmodel
@@ -1,5 +1,5 @@
1<?xml version="1.0" encoding="ASCII"?> 1<?xml version="1.0" encoding="ASCII"?>
2<partialinterpretation:PartialInterpretation xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:language="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" xmlns:partialinterpretation="http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" maxNewElements="10"> 2<partialinterpretation:PartialInterpretation xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:language="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" xmlns:partialinterpretation="http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" minNewElements="32" maxNewElements="64">
3 <problem href="outputs/debug/generation.logicproblem#/"/> 3 <problem href="outputs/debug/generation.logicproblem#/"/>
4 <partialrelationinterpretation> 4 <partialrelationinterpretation>
5 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.0"/> 5 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.0"/>
@@ -38,16 +38,6 @@
38 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.4/@parameters.0"/> 38 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.4/@parameters.0"/>
39 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.4/@parameters.1"/> 39 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.4/@parameters.1"/>
40 </partialrelationinterpretation> 40 </partialrelationinterpretation>
41 <partialrelationinterpretation>
42 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.5"/>
43 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.5/@parameters.0"/>
44 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.5/@parameters.1"/>
45 </partialrelationinterpretation>
46 <partialrelationinterpretation>
47 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.6"/>
48 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.6/@parameters.0"/>
49 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.6/@parameters.1"/>
50 </partialrelationinterpretation>
51 <newElements xsi:type="partialinterpretation:BooleanElement" name="true" valueSet="true" value="true"/> 41 <newElements xsi:type="partialinterpretation:BooleanElement" name="true" valueSet="true" value="true"/>
52 <newElements xsi:type="partialinterpretation:BooleanElement" name="false" valueSet="true"/> 42 <newElements xsi:type="partialinterpretation:BooleanElement" name="false" valueSet="true"/>
53 <partialtypeinterpratation xsi:type="partialinterpretation:PartialBooleanInterpretation" elements="//@newElements.0 //@newElements.1"/> 43 <partialtypeinterpratation xsi:type="partialinterpretation:PartialBooleanInterpretation" elements="//@newElements.0 //@newElements.1"/>
@@ -70,7 +60,7 @@
70 <elements href="outputs/debug/generation.logicproblem#//@elements.1"/> 60 <elements href="outputs/debug/generation.logicproblem#//@elements.1"/>
71 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.3"/> 61 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.3"/>
72 </partialtypeinterpratation> 62 </partialtypeinterpratation>
73 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.4" supertypeInterpretation="//@partialtypeinterpratation.6 //@partialtypeinterpratation.22"> 63 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.4" supertypeInterpretation="//@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
74 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.4"/> 64 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.4"/>
75 </partialtypeinterpratation> 65 </partialtypeinterpratation>
76 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.5"> 66 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.5">
@@ -81,55 +71,52 @@
81 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.6"> 71 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.6">
82 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.6"/> 72 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.6"/>
83 </partialtypeinterpratation> 73 </partialtypeinterpratation>
84 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.7"> 74 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.7" supertypeInterpretation="//@partialtypeinterpratation.10">
85 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.7"/> 75 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.7"/>
86 </partialtypeinterpratation> 76 </partialtypeinterpratation>
87 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.8" supertypeInterpretation="//@partialtypeinterpratation.11"> 77 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.8" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
88 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.8"/> 78 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.8"/>
89 </partialtypeinterpratation> 79 </partialtypeinterpratation>
90 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.9" supertypeInterpretation="//@partialtypeinterpratation.16 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.22"> 80 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.9" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
91 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.9"/> 81 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.9"/>
92 </partialtypeinterpratation> 82 </partialtypeinterpratation>
93 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.10" supertypeInterpretation="//@partialtypeinterpratation.16 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.22"> 83 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.10" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
94 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.10"/> 84 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.10"/>
95 </partialtypeinterpratation> 85 </partialtypeinterpratation>
96 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.11" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.22"> 86 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.11" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
97 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.11"/> 87 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.11"/>
98 </partialtypeinterpratation> 88 </partialtypeinterpratation>
99 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.12" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.22"> 89 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.12" supertypeInterpretation="//@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
100 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.12"/> 90 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.12"/>
101 </partialtypeinterpratation> 91 </partialtypeinterpratation>
102 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.13" supertypeInterpretation="//@partialtypeinterpratation.9 //@partialtypeinterpratation.24"> 92 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.13" supertypeInterpretation="//@partialtypeinterpratation.9">
93 <elements href="outputs/debug/generation.logicproblem#//@elements.2"/>
103 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.13"/> 94 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.13"/>
104 </partialtypeinterpratation> 95 </partialtypeinterpratation>
105 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.14" supertypeInterpretation="//@partialtypeinterpratation.9"> 96 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.14" supertypeInterpretation="//@partialtypeinterpratation.9">
106 <elements href="outputs/debug/generation.logicproblem#//@elements.2"/>
107 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.14"/>
108 </partialtypeinterpratation>
109 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.15" supertypeInterpretation="//@partialtypeinterpratation.9">
110 <elements href="outputs/debug/generation.logicproblem#//@elements.3"/> 97 <elements href="outputs/debug/generation.logicproblem#//@elements.3"/>
111 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.15"/> 98 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.14"/>
112 </partialtypeinterpratation> 99 </partialtypeinterpratation>
113 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.16" supertypeInterpretation="//@partialtypeinterpratation.4"> 100 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.15" supertypeInterpretation="//@partialtypeinterpratation.4">
114 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.17"/> 101 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.16"/>
115 </partialtypeinterpratation> 102 </partialtypeinterpratation>
116 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.17" supertypeInterpretation="//@partialtypeinterpratation.5 //@partialtypeinterpratation.4 //@partialtypeinterpratation.20"> 103 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.16" supertypeInterpretation="//@partialtypeinterpratation.5 //@partialtypeinterpratation.4 //@partialtypeinterpratation.19">
117 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.19"/> 104 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.18"/>
118 </partialtypeinterpratation> 105 </partialtypeinterpratation>
119 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.18" supertypeInterpretation="//@partialtypeinterpratation.6"> 106 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.17" supertypeInterpretation="//@partialtypeinterpratation.6">
120 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.21"/> 107 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.20"/>
121 </partialtypeinterpratation> 108 </partialtypeinterpratation>
122 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.19" supertypeInterpretation="//@partialtypeinterpratation.7 //@partialtypeinterpratation.6 //@partialtypeinterpratation.22"> 109 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.18" supertypeInterpretation="//@partialtypeinterpratation.7 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
123 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.23"/> 110 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.22"/>
124 </partialtypeinterpratation> 111 </partialtypeinterpratation>
125 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.20" supertypeInterpretation="//@partialtypeinterpratation.9"> 112 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.19" supertypeInterpretation="//@partialtypeinterpratation.9">
126 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.25"/> 113 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.24"/>
127 </partialtypeinterpratation> 114 </partialtypeinterpratation>
128 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.21" supertypeInterpretation="//@partialtypeinterpratation.18 //@partialtypeinterpratation.9 //@partialtypeinterpratation.24"> 115 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.20" supertypeInterpretation="//@partialtypeinterpratation.17 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
129 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.27"/> 116 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.26"/>
130 </partialtypeinterpratation> 117 </partialtypeinterpratation>
131 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.22" supertypeInterpretation="//@partialtypeinterpratation.19 //@partialtypeinterpratation.9 //@partialtypeinterpratation.24"> 118 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.21" supertypeInterpretation="//@partialtypeinterpratation.18 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
132 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.29"/> 119 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.28"/>
133 </partialtypeinterpratation> 120 </partialtypeinterpratation>
134 <openWorldElements xsi:type="partialinterpretation:IntegerElement" name="New Integers"/> 121 <openWorldElements xsi:type="partialinterpretation:IntegerElement" name="New Integers"/>
135 <openWorldElements xsi:type="partialinterpretation:RealElement" name="New Reals"/> 122 <openWorldElements xsi:type="partialinterpretation:RealElement" name="New Reals"/>
@@ -157,5 +144,4 @@
157 <scopes targetTypeInterpretation="//@partialtypeinterpratation.23"/> 144 <scopes targetTypeInterpretation="//@partialtypeinterpratation.23"/>
158 <scopes targetTypeInterpretation="//@partialtypeinterpratation.24"/> 145 <scopes targetTypeInterpretation="//@partialtypeinterpratation.24"/>
159 <scopes targetTypeInterpretation="//@partialtypeinterpratation.25"/> 146 <scopes targetTypeInterpretation="//@partialtypeinterpratation.25"/>
160 <scopes targetTypeInterpretation="//@partialtypeinterpratation.26"/>
161</partialinterpretation:PartialInterpretation> 147</partialinterpretation:PartialInterpretation>
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
new file mode 100644
index 00000000..c96a951c
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run1/generated3valued.vql_deactivated
@@ -0,0 +1,3000 @@
1import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage"
2import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem"
3import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language"
4
5//////////
6// 0. Util
7//////////
8private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) {
9 PartialInterpretation.problem(interpretation,problem);
10}
11
12/////////////////////////
13// 0.1 Existence
14/////////////////////////
15private pattern mustExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
16 find interpretation(problem,interpretation);
17 LogicProblem.elements(problem,element);
18} or {
19 find interpretation(problem,interpretation);
20 PartialInterpretation.newElements(interpretation,element);
21}
22
23private pattern mayExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
24 find mustExist(problem,interpretation,element);
25} or {
26 find interpretation(problem,interpretation);
27 neg find elementCloseWorld(element);
28 PartialInterpretation.openWorldElements(interpretation,element);
29}
30
31private pattern elementCloseWorld(element:DefinedElement) {
32 PartialInterpretation.openWorldElements(i,element);
33 PartialInterpretation.maxNewElements(i,0);
34} or {
35 Scope.targetTypeInterpretation(scope,interpretation);
36 PartialTypeInterpratation.elements(interpretation,element);
37 Scope.maxNewElements(scope,0);
38}
39
40////////////////////////
41// 0.2 Equivalence
42////////////////////////
43pattern mayEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
44 find mayExist(problem,interpretation,a);
45 find mayExist(problem,interpretation,b);
46 a == b;
47}
48pattern mustEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
49 find mustExist(problem,interpretation,a);
50 find mustExist(problem,interpretation,b);
51 a == b;
52}
53
54////////////////////////
55// 0.3 Required Patterns by TypeIndexer
56////////////////////////
57private pattern typeInterpretation(problem:LogicProblem, interpretation:PartialInterpretation, type:TypeDeclaration, typeInterpretation:PartialComplexTypeInterpretation) {
58 find interpretation(problem,interpretation);
59 LogicProblem.types(problem,type);
60 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
61 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
62}
63
64private pattern directInstanceOf(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, type:Type) {
65 find interpretation(problem,interpretation);
66 LogicProblem.types(problem,type);
67 TypeDefinition.elements(type,element);
68} or {
69 find interpretation(problem,interpretation);
70 find typeInterpretation(problem,interpretation,type,typeInterpretation);
71 PartialComplexTypeInterpretation.elements(typeInterpretation,element);
72}
73
74private pattern isPrimitive(element: PrimitiveElement) {
75 PrimitiveElement(element);
76}
77
78//////////
79// 1. Problem-Specific Base Indexers
80//////////
81// 1.1 Type Indexers
82//////////
83// 1.1.1 primitive Type Indexers
84//////////
85
86//////////
87// 1.1.2 domain-specific Type Indexers
88//////////
89/**
90 * An element must be an instance of type "ConstellationMission class".
91 */
92private pattern mustInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
93 Type.name(type,"ConstellationMission class");
94 find directInstanceOf(problem,interpretation,element,type);
95}
96private pattern scopeDisallowsNewConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation) {
97 find interpretation(problem,interpretation);
98 PartialInterpretation.scopes(interpretation,scope);
99 Scope.targetTypeInterpretation(scope,typeInterpretation);
100 Scope.maxNewElements(scope,0);
101 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
102 Type.name(type,"ConstellationMission class");
103}
104
105/**
106 * An element may be an instance of type "ConstellationMission class".
107 */
108private pattern mayInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
109{
110 find interpretation(problem,interpretation);
111 PartialInterpretation.newElements(interpretation,element);
112 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
113 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
114 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
115 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
116 neg find mustInstanceOfPayload_class(problem,interpretation,element);
117 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
118 neg find isPrimitive(element);
119} or {
120 find interpretation(problem,interpretation);
121 PartialInterpretation.openWorldElements(interpretation,element);
122 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
123 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
124 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
125 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
126 neg find mustInstanceOfPayload_class(problem,interpretation,element);
127 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
128 neg find isPrimitive(element);
129} or
130{ find mustInstanceOfConstellationMission_class(problem,interpretation,element); }
131/**
132 * An element must be an instance of type "InterferometryMission class".
133 */
134private pattern mustInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
135 Type.name(type,"InterferometryMission class");
136 find directInstanceOf(problem,interpretation,element,type);
137}
138private pattern scopeDisallowsNewInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation) {
139 find interpretation(problem,interpretation);
140 PartialInterpretation.scopes(interpretation,scope);
141 Scope.targetTypeInterpretation(scope,typeInterpretation);
142 Scope.maxNewElements(scope,0);
143 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
144 Type.name(type,"InterferometryMission class");
145}
146
147/**
148 * An element may be an instance of type "InterferometryMission class".
149 */
150private pattern mayInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
151{
152 find interpretation(problem,interpretation);
153 PartialInterpretation.newElements(interpretation,element);
154 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
155 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
156 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
157 neg find mustInstanceOfPayload_class(problem,interpretation,element);
158 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
159 neg find isPrimitive(element);
160} or {
161 find interpretation(problem,interpretation);
162 PartialInterpretation.openWorldElements(interpretation,element);
163 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
164 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
165 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
166 neg find mustInstanceOfPayload_class(problem,interpretation,element);
167 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
168 neg find isPrimitive(element);
169} or
170{ find mustInstanceOfInterferometryMission_class(problem,interpretation,element); }
171/**
172 * An element must be an instance of type "CommunicatingElement class".
173 */
174private pattern mustInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
175 Type.name(type,"CommunicatingElement class");
176 find directInstanceOf(problem,interpretation,element,type);
177}
178private pattern scopeDisallowsNewCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation) {
179 find interpretation(problem,interpretation);
180 PartialInterpretation.scopes(interpretation,scope);
181 Scope.targetTypeInterpretation(scope,typeInterpretation);
182 Scope.maxNewElements(scope,0);
183 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
184 Type.name(type,"CommunicatingElement class");
185}
186
187/**
188 * An element may be an instance of type "CommunicatingElement class".
189 */
190private pattern mayInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
191{
192 find interpretation(problem,interpretation);
193 PartialInterpretation.newElements(interpretation,element);
194 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
195 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
196 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
197 neg find mustInstanceOfPayload_class(problem,interpretation,element);
198 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
199 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
200 neg find isPrimitive(element);
201} or {
202 find interpretation(problem,interpretation);
203 PartialInterpretation.openWorldElements(interpretation,element);
204 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
205 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
206 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
207 neg find mustInstanceOfPayload_class(problem,interpretation,element);
208 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
209 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
210 neg find isPrimitive(element);
211} or
212{ find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); }
213/**
214 * An element must be an instance of type "GroundStationNetwork class".
215 */
216private pattern mustInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
217 Type.name(type,"GroundStationNetwork class");
218 find directInstanceOf(problem,interpretation,element,type);
219}
220private pattern scopeDisallowsNewGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation) {
221 find interpretation(problem,interpretation);
222 PartialInterpretation.scopes(interpretation,scope);
223 Scope.targetTypeInterpretation(scope,typeInterpretation);
224 Scope.maxNewElements(scope,0);
225 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
226 Type.name(type,"GroundStationNetwork class");
227}
228
229/**
230 * An element may be an instance of type "GroundStationNetwork class".
231 */
232private pattern mayInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
233{
234 find interpretation(problem,interpretation);
235 PartialInterpretation.newElements(interpretation,element);
236 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
237 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
238 neg find mustInstanceOfPayload_class(problem,interpretation,element);
239 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
240 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
241 neg find isPrimitive(element);
242} or {
243 find interpretation(problem,interpretation);
244 PartialInterpretation.openWorldElements(interpretation,element);
245 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
246 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
247 neg find mustInstanceOfPayload_class(problem,interpretation,element);
248 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
249 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
250 neg find isPrimitive(element);
251} or
252{ find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); }
253/**
254 * An element must be an instance of type "Spacecraft class".
255 */
256private pattern mustInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
257 Type.name(type,"Spacecraft class");
258 find directInstanceOf(problem,interpretation,element,type);
259}
260private pattern scopeDisallowsNewSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation) {
261 find interpretation(problem,interpretation);
262 PartialInterpretation.scopes(interpretation,scope);
263 Scope.targetTypeInterpretation(scope,typeInterpretation);
264 Scope.maxNewElements(scope,0);
265 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
266 Type.name(type,"Spacecraft class");
267}
268
269/**
270 * An element may be an instance of type "Spacecraft class".
271 */
272private pattern mayInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
273{
274 find interpretation(problem,interpretation);
275 PartialInterpretation.newElements(interpretation,element);
276 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
277 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
278 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
279 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
280 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
281 neg find mustInstanceOfPayload_class(problem,interpretation,element);
282 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
283 neg find isPrimitive(element);
284} or {
285 find interpretation(problem,interpretation);
286 PartialInterpretation.openWorldElements(interpretation,element);
287 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
288 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
289 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
290 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
291 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
292 neg find mustInstanceOfPayload_class(problem,interpretation,element);
293 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
294 neg find isPrimitive(element);
295} or
296{ find mustInstanceOfSpacecraft_class(problem,interpretation,element); }
297/**
298 * An element must be an instance of type "CommSubsystem class".
299 */
300private pattern mustInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
301 Type.name(type,"CommSubsystem class");
302 find directInstanceOf(problem,interpretation,element,type);
303}
304private pattern scopeDisallowsNewCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
305 find interpretation(problem,interpretation);
306 PartialInterpretation.scopes(interpretation,scope);
307 Scope.targetTypeInterpretation(scope,typeInterpretation);
308 Scope.maxNewElements(scope,0);
309 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
310 Type.name(type,"CommSubsystem class");
311}
312
313/**
314 * An element may be an instance of type "CommSubsystem class".
315 */
316private pattern mayInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
317{
318 find interpretation(problem,interpretation);
319 PartialInterpretation.newElements(interpretation,element);
320 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
321 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
322 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
323 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
324 neg find mustInstanceOfPayload_class(problem,interpretation,element);
325 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
326 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
327 neg find isPrimitive(element);
328} or {
329 find interpretation(problem,interpretation);
330 PartialInterpretation.openWorldElements(interpretation,element);
331 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
332 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
333 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
334 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
335 neg find mustInstanceOfPayload_class(problem,interpretation,element);
336 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
337 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
338 neg find isPrimitive(element);
339} or
340{ find mustInstanceOfCommSubsystem_class(problem,interpretation,element); }
341/**
342 * An element must be an instance of type "Payload class".
343 */
344private pattern mustInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
345 Type.name(type,"Payload class");
346 find directInstanceOf(problem,interpretation,element,type);
347}
348private pattern scopeDisallowsNewPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) {
349 find interpretation(problem,interpretation);
350 PartialInterpretation.scopes(interpretation,scope);
351 Scope.targetTypeInterpretation(scope,typeInterpretation);
352 Scope.maxNewElements(scope,0);
353 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
354 Type.name(type,"Payload class");
355}
356
357/**
358 * An element may be an instance of type "Payload class".
359 */
360private pattern mayInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
361{
362 find interpretation(problem,interpretation);
363 PartialInterpretation.newElements(interpretation,element);
364 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
365 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
366 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
367 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
368 neg find scopeDisallowsNewPayload_class(problem, interpretation);
369 neg find isPrimitive(element);
370} or {
371 find interpretation(problem,interpretation);
372 PartialInterpretation.openWorldElements(interpretation,element);
373 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
374 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
375 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
376 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
377 neg find scopeDisallowsNewPayload_class(problem, interpretation);
378 neg find isPrimitive(element);
379} or
380{ find mustInstanceOfPayload_class(problem,interpretation,element); }
381/**
382 * An element must be an instance of type "InterferometryPayload class".
383 */
384private pattern mustInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
385 Type.name(type,"InterferometryPayload class");
386 find directInstanceOf(problem,interpretation,element,type);
387}
388private pattern scopeDisallowsNewInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) {
389 find interpretation(problem,interpretation);
390 PartialInterpretation.scopes(interpretation,scope);
391 Scope.targetTypeInterpretation(scope,typeInterpretation);
392 Scope.maxNewElements(scope,0);
393 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
394 Type.name(type,"InterferometryPayload class");
395}
396
397/**
398 * An element may be an instance of type "InterferometryPayload class".
399 */
400private pattern mayInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
401{
402 find interpretation(problem,interpretation);
403 PartialInterpretation.newElements(interpretation,element);
404 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
405 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
406 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
407 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
408 neg find isPrimitive(element);
409} or {
410 find interpretation(problem,interpretation);
411 PartialInterpretation.openWorldElements(interpretation,element);
412 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
413 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
414 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
415 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
416 neg find isPrimitive(element);
417} or
418{ find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); }
419/**
420 * An element must be an instance of type "CubeSat3U class".
421 */
422private pattern mustInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
423 Type.name(type,"CubeSat3U class");
424 find directInstanceOf(problem,interpretation,element,type);
425}
426private pattern scopeDisallowsNewCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation) {
427 find interpretation(problem,interpretation);
428 PartialInterpretation.scopes(interpretation,scope);
429 Scope.targetTypeInterpretation(scope,typeInterpretation);
430 Scope.maxNewElements(scope,0);
431 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
432 Type.name(type,"CubeSat3U class");
433}
434
435/**
436 * An element may be an instance of type "CubeSat3U class".
437 */
438private pattern mayInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
439{
440 find interpretation(problem,interpretation);
441 PartialInterpretation.newElements(interpretation,element);
442 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
443 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
444 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
445 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
446 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
447 neg find mustInstanceOfPayload_class(problem,interpretation,element);
448 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
449 neg find isPrimitive(element);
450} or {
451 find interpretation(problem,interpretation);
452 PartialInterpretation.openWorldElements(interpretation,element);
453 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
454 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
455 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
456 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
457 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
458 neg find mustInstanceOfPayload_class(problem,interpretation,element);
459 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
460 neg find isPrimitive(element);
461} or
462{ find mustInstanceOfCubeSat3U_class(problem,interpretation,element); }
463/**
464 * An element must be an instance of type "CubeSat6U class".
465 */
466private pattern mustInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
467 Type.name(type,"CubeSat6U class");
468 find directInstanceOf(problem,interpretation,element,type);
469}
470private pattern scopeDisallowsNewCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation) {
471 find interpretation(problem,interpretation);
472 PartialInterpretation.scopes(interpretation,scope);
473 Scope.targetTypeInterpretation(scope,typeInterpretation);
474 Scope.maxNewElements(scope,0);
475 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
476 Type.name(type,"CubeSat6U class");
477}
478
479/**
480 * An element may be an instance of type "CubeSat6U class".
481 */
482private pattern mayInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
483{
484 find interpretation(problem,interpretation);
485 PartialInterpretation.newElements(interpretation,element);
486 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
487 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
488 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
489 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
490 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
491 neg find mustInstanceOfPayload_class(problem,interpretation,element);
492 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
493 neg find isPrimitive(element);
494} or {
495 find interpretation(problem,interpretation);
496 PartialInterpretation.openWorldElements(interpretation,element);
497 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
498 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
499 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
500 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
501 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
502 neg find mustInstanceOfPayload_class(problem,interpretation,element);
503 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
504 neg find isPrimitive(element);
505} or
506{ find mustInstanceOfCubeSat6U_class(problem,interpretation,element); }
507/**
508 * An element must be an instance of type "SmallSat class".
509 */
510private pattern mustInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
511 Type.name(type,"SmallSat class");
512 find directInstanceOf(problem,interpretation,element,type);
513}
514private pattern scopeDisallowsNewSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation) {
515 find interpretation(problem,interpretation);
516 PartialInterpretation.scopes(interpretation,scope);
517 Scope.targetTypeInterpretation(scope,typeInterpretation);
518 Scope.maxNewElements(scope,0);
519 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
520 Type.name(type,"SmallSat class");
521}
522
523/**
524 * An element may be an instance of type "SmallSat class".
525 */
526private pattern mayInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
527{
528 find interpretation(problem,interpretation);
529 PartialInterpretation.newElements(interpretation,element);
530 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
531 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
532 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
533 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
534 neg find mustInstanceOfPayload_class(problem,interpretation,element);
535 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
536 neg find isPrimitive(element);
537} or {
538 find interpretation(problem,interpretation);
539 PartialInterpretation.openWorldElements(interpretation,element);
540 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
541 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
542 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
543 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
544 neg find mustInstanceOfPayload_class(problem,interpretation,element);
545 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
546 neg find isPrimitive(element);
547} or
548{ find mustInstanceOfSmallSat_class(problem,interpretation,element); }
549/**
550 * An element must be an instance of type "CubeSat class".
551 */
552private pattern mustInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
553 Type.name(type,"CubeSat class");
554 find directInstanceOf(problem,interpretation,element,type);
555}
556private pattern scopeDisallowsNewCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation) {
557 find interpretation(problem,interpretation);
558 PartialInterpretation.scopes(interpretation,scope);
559 Scope.targetTypeInterpretation(scope,typeInterpretation);
560 Scope.maxNewElements(scope,0);
561 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
562 Type.name(type,"CubeSat class");
563}
564
565/**
566 * An element may be an instance of type "CubeSat class".
567 */
568private pattern mayInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
569{
570 find interpretation(problem,interpretation);
571 PartialInterpretation.newElements(interpretation,element);
572 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
573 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
574 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
575 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
576 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
577 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
578 neg find mustInstanceOfPayload_class(problem,interpretation,element);
579 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
580 neg find isPrimitive(element);
581} or {
582 find interpretation(problem,interpretation);
583 PartialInterpretation.openWorldElements(interpretation,element);
584 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
585 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
586 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
587 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
588 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
589 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
590 neg find mustInstanceOfPayload_class(problem,interpretation,element);
591 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
592 neg find isPrimitive(element);
593} or
594{ find mustInstanceOfCubeSat_class(problem,interpretation,element); }
595/**
596 * An element must be an instance of type "UHFCommSubsystem class".
597 */
598private pattern mustInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
599 Type.name(type,"UHFCommSubsystem class");
600 find directInstanceOf(problem,interpretation,element,type);
601}
602private pattern scopeDisallowsNewUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
603 find interpretation(problem,interpretation);
604 PartialInterpretation.scopes(interpretation,scope);
605 Scope.targetTypeInterpretation(scope,typeInterpretation);
606 Scope.maxNewElements(scope,0);
607 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
608 Type.name(type,"UHFCommSubsystem class");
609}
610
611/**
612 * An element may be an instance of type "UHFCommSubsystem class".
613 */
614private pattern mayInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
615{
616 find interpretation(problem,interpretation);
617 PartialInterpretation.newElements(interpretation,element);
618 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
619 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
620 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
621 neg find mustInstanceOfPayload_class(problem,interpretation,element);
622 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
623 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
624 neg find isPrimitive(element);
625} or {
626 find interpretation(problem,interpretation);
627 PartialInterpretation.openWorldElements(interpretation,element);
628 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
629 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
630 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
631 neg find mustInstanceOfPayload_class(problem,interpretation,element);
632 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
633 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
634 neg find isPrimitive(element);
635} or
636{ find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); }
637/**
638 * An element must be an instance of type "XCommSubsystem class".
639 */
640private pattern mustInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
641 Type.name(type,"XCommSubsystem class");
642 find directInstanceOf(problem,interpretation,element,type);
643}
644private pattern scopeDisallowsNewXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
645 find interpretation(problem,interpretation);
646 PartialInterpretation.scopes(interpretation,scope);
647 Scope.targetTypeInterpretation(scope,typeInterpretation);
648 Scope.maxNewElements(scope,0);
649 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
650 Type.name(type,"XCommSubsystem class");
651}
652
653/**
654 * An element may be an instance of type "XCommSubsystem class".
655 */
656private pattern mayInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
657{
658 find interpretation(problem,interpretation);
659 PartialInterpretation.newElements(interpretation,element);
660 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
661 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
662 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
663 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
664 neg find mustInstanceOfPayload_class(problem,interpretation,element);
665 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
666 neg find isPrimitive(element);
667} or {
668 find interpretation(problem,interpretation);
669 PartialInterpretation.openWorldElements(interpretation,element);
670 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
671 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
672 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
673 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
674 neg find mustInstanceOfPayload_class(problem,interpretation,element);
675 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
676 neg find isPrimitive(element);
677} or
678{ find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); }
679/**
680 * An element must be an instance of type "KaCommSubsystem class".
681 */
682private pattern mustInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
683 Type.name(type,"KaCommSubsystem class");
684 find directInstanceOf(problem,interpretation,element,type);
685}
686private pattern scopeDisallowsNewKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
687 find interpretation(problem,interpretation);
688 PartialInterpretation.scopes(interpretation,scope);
689 Scope.targetTypeInterpretation(scope,typeInterpretation);
690 Scope.maxNewElements(scope,0);
691 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
692 Type.name(type,"KaCommSubsystem class");
693}
694
695/**
696 * An element may be an instance of type "KaCommSubsystem class".
697 */
698private pattern mayInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
699{
700 find interpretation(problem,interpretation);
701 PartialInterpretation.newElements(interpretation,element);
702 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
703 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
704 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
705 neg find mustInstanceOfPayload_class(problem,interpretation,element);
706 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
707 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
708 neg find isPrimitive(element);
709} or {
710 find interpretation(problem,interpretation);
711 PartialInterpretation.openWorldElements(interpretation,element);
712 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
713 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
714 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
715 neg find mustInstanceOfPayload_class(problem,interpretation,element);
716 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
717 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
718 neg find isPrimitive(element);
719} or
720{ find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); }
721/**
722 * An element must be an instance of type "ConstellationMission class DefinedPart".
723 */
724private pattern mustInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
725 Type.name(type,"ConstellationMission class DefinedPart");
726 find directInstanceOf(problem,interpretation,element,type);
727}
728private pattern scopeDisallowsNewConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
729 find interpretation(problem,interpretation);
730 PartialInterpretation.scopes(interpretation,scope);
731 Scope.targetTypeInterpretation(scope,typeInterpretation);
732 Scope.maxNewElements(scope,0);
733 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
734 Type.name(type,"ConstellationMission class DefinedPart");
735}
736
737/**
738 * An element may be an instance of type "ConstellationMission class DefinedPart".
739 */
740private pattern mayInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
741{ find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,element); }
742/**
743 * An element must be an instance of type "ConstellationMission class UndefinedPart".
744 */
745private pattern mustInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
746 Type.name(type,"ConstellationMission class UndefinedPart");
747 find directInstanceOf(problem,interpretation,element,type);
748}
749private pattern scopeDisallowsNewConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
750 find interpretation(problem,interpretation);
751 PartialInterpretation.scopes(interpretation,scope);
752 Scope.targetTypeInterpretation(scope,typeInterpretation);
753 Scope.maxNewElements(scope,0);
754 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
755 Type.name(type,"ConstellationMission class UndefinedPart");
756}
757
758/**
759 * An element may be an instance of type "ConstellationMission class UndefinedPart".
760 */
761private pattern mayInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
762{
763 find interpretation(problem,interpretation);
764 PartialInterpretation.newElements(interpretation,element);
765 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
766 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
767 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
768 neg find mustInstanceOfPayload_class(problem,interpretation,element);
769 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
770 neg find isPrimitive(element);
771} or {
772 find interpretation(problem,interpretation);
773 PartialInterpretation.openWorldElements(interpretation,element);
774 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
775 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
776 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
777 neg find mustInstanceOfPayload_class(problem,interpretation,element);
778 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
779 neg find isPrimitive(element);
780} or
781{ find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); }
782/**
783 * An element must be an instance of type "InterferometryMission class DefinedPart".
784 */
785private pattern mustInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
786 Type.name(type,"InterferometryMission class DefinedPart");
787 find directInstanceOf(problem,interpretation,element,type);
788}
789private pattern scopeDisallowsNewInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
790 find interpretation(problem,interpretation);
791 PartialInterpretation.scopes(interpretation,scope);
792 Scope.targetTypeInterpretation(scope,typeInterpretation);
793 Scope.maxNewElements(scope,0);
794 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
795 Type.name(type,"InterferometryMission class DefinedPart");
796}
797
798/**
799 * An element may be an instance of type "InterferometryMission class DefinedPart".
800 */
801private pattern mayInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
802{ find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,element); }
803/**
804 * An element must be an instance of type "InterferometryMission class UndefinedPart".
805 */
806private pattern mustInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
807 Type.name(type,"InterferometryMission class UndefinedPart");
808 find directInstanceOf(problem,interpretation,element,type);
809}
810private pattern scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
811 find interpretation(problem,interpretation);
812 PartialInterpretation.scopes(interpretation,scope);
813 Scope.targetTypeInterpretation(scope,typeInterpretation);
814 Scope.maxNewElements(scope,0);
815 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
816 Type.name(type,"InterferometryMission class UndefinedPart");
817}
818
819/**
820 * An element may be an instance of type "InterferometryMission class UndefinedPart".
821 */
822private pattern mayInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
823{
824 find interpretation(problem,interpretation);
825 PartialInterpretation.newElements(interpretation,element);
826 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
827 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
828 neg find mustInstanceOfPayload_class(problem,interpretation,element);
829 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
830 neg find isPrimitive(element);
831} or {
832 find interpretation(problem,interpretation);
833 PartialInterpretation.openWorldElements(interpretation,element);
834 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
835 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
836 neg find mustInstanceOfPayload_class(problem,interpretation,element);
837 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
838 neg find isPrimitive(element);
839} or
840{ find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); }
841/**
842 * An element must be an instance of type "CommunicatingElement class DefinedPart".
843 */
844private pattern mustInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
845 Type.name(type,"CommunicatingElement class DefinedPart");
846 find directInstanceOf(problem,interpretation,element,type);
847}
848private pattern scopeDisallowsNewCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
849 find interpretation(problem,interpretation);
850 PartialInterpretation.scopes(interpretation,scope);
851 Scope.targetTypeInterpretation(scope,typeInterpretation);
852 Scope.maxNewElements(scope,0);
853 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
854 Type.name(type,"CommunicatingElement class DefinedPart");
855}
856
857/**
858 * An element may be an instance of type "CommunicatingElement class DefinedPart".
859 */
860private pattern mayInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
861{ find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,element); }
862/**
863 * An element must be an instance of type "CommunicatingElement class UndefinedPart".
864 */
865private pattern mustInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
866 Type.name(type,"CommunicatingElement class UndefinedPart");
867 find directInstanceOf(problem,interpretation,element,type);
868}
869private pattern scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
870 find interpretation(problem,interpretation);
871 PartialInterpretation.scopes(interpretation,scope);
872 Scope.targetTypeInterpretation(scope,typeInterpretation);
873 Scope.maxNewElements(scope,0);
874 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
875 Type.name(type,"CommunicatingElement class UndefinedPart");
876}
877
878/**
879 * An element may be an instance of type "CommunicatingElement class UndefinedPart".
880 */
881private pattern mayInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
882{
883 find interpretation(problem,interpretation);
884 PartialInterpretation.newElements(interpretation,element);
885 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
886 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
887 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
888 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
889 neg find mustInstanceOfPayload_class(problem,interpretation,element);
890 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
891 neg find isPrimitive(element);
892} or {
893 find interpretation(problem,interpretation);
894 PartialInterpretation.openWorldElements(interpretation,element);
895 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
896 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
897 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
898 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
899 neg find mustInstanceOfPayload_class(problem,interpretation,element);
900 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
901 neg find isPrimitive(element);
902} or
903{ find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); }
904/**
905 * An element must be an instance of type "GroundStationNetwork class DefinedPart".
906 */
907private pattern mustInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
908 Type.name(type,"GroundStationNetwork class DefinedPart");
909 find directInstanceOf(problem,interpretation,element,type);
910}
911private pattern scopeDisallowsNewGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
912 find interpretation(problem,interpretation);
913 PartialInterpretation.scopes(interpretation,scope);
914 Scope.targetTypeInterpretation(scope,typeInterpretation);
915 Scope.maxNewElements(scope,0);
916 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
917 Type.name(type,"GroundStationNetwork class DefinedPart");
918}
919
920/**
921 * An element may be an instance of type "GroundStationNetwork class DefinedPart".
922 */
923private pattern mayInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
924{ find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,element); }
925/**
926 * An element must be an instance of type "GroundStationNetwork class UndefinedPart".
927 */
928private pattern mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
929 Type.name(type,"GroundStationNetwork class UndefinedPart");
930 find directInstanceOf(problem,interpretation,element,type);
931}
932private pattern scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
933 find interpretation(problem,interpretation);
934 PartialInterpretation.scopes(interpretation,scope);
935 Scope.targetTypeInterpretation(scope,typeInterpretation);
936 Scope.maxNewElements(scope,0);
937 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
938 Type.name(type,"GroundStationNetwork class UndefinedPart");
939}
940
941/**
942 * An element may be an instance of type "GroundStationNetwork class UndefinedPart".
943 */
944private pattern mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
945{
946 find interpretation(problem,interpretation);
947 PartialInterpretation.newElements(interpretation,element);
948 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
949 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
950 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
951 neg find mustInstanceOfPayload_class(problem,interpretation,element);
952 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
953 neg find isPrimitive(element);
954} or {
955 find interpretation(problem,interpretation);
956 PartialInterpretation.openWorldElements(interpretation,element);
957 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
958 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
959 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
960 neg find mustInstanceOfPayload_class(problem,interpretation,element);
961 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
962 neg find isPrimitive(element);
963} or
964{ find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); }
965/**
966 * An element must be an instance of type "CommSubsystem class DefinedPart".
967 */
968private pattern mustInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
969 Type.name(type,"CommSubsystem class DefinedPart");
970 find directInstanceOf(problem,interpretation,element,type);
971}
972private pattern scopeDisallowsNewCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
973 find interpretation(problem,interpretation);
974 PartialInterpretation.scopes(interpretation,scope);
975 Scope.targetTypeInterpretation(scope,typeInterpretation);
976 Scope.maxNewElements(scope,0);
977 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
978 Type.name(type,"CommSubsystem class DefinedPart");
979}
980
981/**
982 * An element may be an instance of type "CommSubsystem class DefinedPart".
983 */
984private pattern mayInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
985{ find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,element); }
986/**
987 * An element must be an instance of type "CommSubsystem class UndefinedPart".
988 */
989private pattern mustInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
990 Type.name(type,"CommSubsystem class UndefinedPart");
991 find directInstanceOf(problem,interpretation,element,type);
992}
993private pattern scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
994 find interpretation(problem,interpretation);
995 PartialInterpretation.scopes(interpretation,scope);
996 Scope.targetTypeInterpretation(scope,typeInterpretation);
997 Scope.maxNewElements(scope,0);
998 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
999 Type.name(type,"CommSubsystem class UndefinedPart");
1000}
1001
1002/**
1003 * An element may be an instance of type "CommSubsystem class UndefinedPart".
1004 */
1005private pattern mayInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1006{
1007 find interpretation(problem,interpretation);
1008 PartialInterpretation.newElements(interpretation,element);
1009 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1010 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1011 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1012 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1013 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1014 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1015 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1016 neg find isPrimitive(element);
1017} or {
1018 find interpretation(problem,interpretation);
1019 PartialInterpretation.openWorldElements(interpretation,element);
1020 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1021 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1022 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1023 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1024 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1025 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1026 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1027 neg find isPrimitive(element);
1028} or
1029{ find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1030/**
1031 * An element must be an instance of type "XCommSubsystem class DefinedPart".
1032 */
1033private pattern mustInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1034 Type.name(type,"XCommSubsystem class DefinedPart");
1035 find directInstanceOf(problem,interpretation,element,type);
1036}
1037private pattern scopeDisallowsNewXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1038 find interpretation(problem,interpretation);
1039 PartialInterpretation.scopes(interpretation,scope);
1040 Scope.targetTypeInterpretation(scope,typeInterpretation);
1041 Scope.maxNewElements(scope,0);
1042 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1043 Type.name(type,"XCommSubsystem class DefinedPart");
1044}
1045
1046/**
1047 * An element may be an instance of type "XCommSubsystem class DefinedPart".
1048 */
1049private pattern mayInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1050{ find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1051/**
1052 * An element must be an instance of type "XCommSubsystem class UndefinedPart".
1053 */
1054private pattern mustInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1055 Type.name(type,"XCommSubsystem class UndefinedPart");
1056 find directInstanceOf(problem,interpretation,element,type);
1057}
1058private pattern scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1059 find interpretation(problem,interpretation);
1060 PartialInterpretation.scopes(interpretation,scope);
1061 Scope.targetTypeInterpretation(scope,typeInterpretation);
1062 Scope.maxNewElements(scope,0);
1063 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1064 Type.name(type,"XCommSubsystem class UndefinedPart");
1065}
1066
1067/**
1068 * An element may be an instance of type "XCommSubsystem class UndefinedPart".
1069 */
1070private pattern mayInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1071{
1072 find interpretation(problem,interpretation);
1073 PartialInterpretation.newElements(interpretation,element);
1074 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1075 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1076 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1077 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1078 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1079 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1080 neg find isPrimitive(element);
1081} or {
1082 find interpretation(problem,interpretation);
1083 PartialInterpretation.openWorldElements(interpretation,element);
1084 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1085 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1086 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1087 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1088 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1089 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1090 neg find isPrimitive(element);
1091} or
1092{ find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1093/**
1094 * An element must be an instance of type "KaCommSubsystem class DefinedPart".
1095 */
1096private pattern mustInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1097 Type.name(type,"KaCommSubsystem class DefinedPart");
1098 find directInstanceOf(problem,interpretation,element,type);
1099}
1100private pattern scopeDisallowsNewKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1101 find interpretation(problem,interpretation);
1102 PartialInterpretation.scopes(interpretation,scope);
1103 Scope.targetTypeInterpretation(scope,typeInterpretation);
1104 Scope.maxNewElements(scope,0);
1105 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1106 Type.name(type,"KaCommSubsystem class DefinedPart");
1107}
1108
1109/**
1110 * An element may be an instance of type "KaCommSubsystem class DefinedPart".
1111 */
1112private pattern mayInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1113{ find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1114/**
1115 * An element must be an instance of type "KaCommSubsystem class UndefinedPart".
1116 */
1117private pattern mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1118 Type.name(type,"KaCommSubsystem class UndefinedPart");
1119 find directInstanceOf(problem,interpretation,element,type);
1120}
1121private pattern scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1122 find interpretation(problem,interpretation);
1123 PartialInterpretation.scopes(interpretation,scope);
1124 Scope.targetTypeInterpretation(scope,typeInterpretation);
1125 Scope.maxNewElements(scope,0);
1126 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1127 Type.name(type,"KaCommSubsystem class UndefinedPart");
1128}
1129
1130/**
1131 * An element may be an instance of type "KaCommSubsystem class UndefinedPart".
1132 */
1133private pattern mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1134{
1135 find interpretation(problem,interpretation);
1136 PartialInterpretation.newElements(interpretation,element);
1137 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1138 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1139 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1140 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1141 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1142 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1143 neg find isPrimitive(element);
1144} or {
1145 find interpretation(problem,interpretation);
1146 PartialInterpretation.openWorldElements(interpretation,element);
1147 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1148 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1149 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1150 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1151 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1152 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1153 neg find isPrimitive(element);
1154} or
1155{ find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1156
1157//////////
1158// 1.2 Relation Declaration Indexers
1159//////////
1160/**
1161 * Matcher for detecting tuples t where []groundStationNetwork reference ConstellationMission(source,target)
1162 */
1163private pattern mustInRelationgroundStationNetwork_reference_ConstellationMission(
1164 problem:LogicProblem, interpretation:PartialInterpretation,
1165 source: DefinedElement, target:DefinedElement)
1166{
1167 find interpretation(problem,interpretation);
1168 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1169 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission");
1170 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1171 BinaryElementRelationLink.param1(link,source);
1172 BinaryElementRelationLink.param2(link,target);
1173}
1174/**
1175 * Matcher for detecting tuples t where <>groundStationNetwork reference ConstellationMission(source,target)
1176 */
1177private pattern mayInRelationgroundStationNetwork_reference_ConstellationMission(
1178 problem:LogicProblem, interpretation:PartialInterpretation,
1179 source: DefinedElement, target:DefinedElement)
1180{
1181 find interpretation(problem,interpretation);
1182 // The two endpoint of the link have to exist
1183 find mayExist(problem, interpretation, source);
1184 find mayExist(problem, interpretation, target);
1185 // Type consistency
1186 find mayInstanceOfConstellationMission_class(problem,interpretation,source);
1187 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,target);
1188 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1189 // the upper bound of the multiplicity should be considered.
1190 numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,_);
1191 check(numberOfExistingReferences < 1);
1192 // The reference is containment, then a new reference cannot be create if:
1193 // 1. Multiple parents
1194 neg find mustContains4(problem,interpretation,_,target);
1195 // 2. Circle in the containment hierarchy
1196 neg find mustTransitiveContains(source,target);
1197} or {
1198 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target);
1199}
1200/**
1201 * Matcher for detecting tuples t where []spacecraft reference ConstellationMission(source,target)
1202 */
1203private pattern mustInRelationspacecraft_reference_ConstellationMission(
1204 problem:LogicProblem, interpretation:PartialInterpretation,
1205 source: DefinedElement, target:DefinedElement)
1206{
1207 find interpretation(problem,interpretation);
1208 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1209 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission");
1210 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1211 BinaryElementRelationLink.param1(link,source);
1212 BinaryElementRelationLink.param2(link,target);
1213}
1214/**
1215 * Matcher for detecting tuples t where <>spacecraft reference ConstellationMission(source,target)
1216 */
1217private pattern mayInRelationspacecraft_reference_ConstellationMission(
1218 problem:LogicProblem, interpretation:PartialInterpretation,
1219 source: DefinedElement, target:DefinedElement)
1220{
1221 find interpretation(problem,interpretation);
1222 // The two endpoint of the link have to exist
1223 find mayExist(problem, interpretation, source);
1224 find mayExist(problem, interpretation, target);
1225 // Type consistency
1226 find mayInstanceOfConstellationMission_class(problem,interpretation,source);
1227 find mayInstanceOfSpacecraft_class(problem,interpretation,target);
1228 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1229 // the upper bound of the multiplicity should be considered.
1230 numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,_);
1231 check(numberOfExistingReferences < 50);
1232 // The reference is containment, then a new reference cannot be create if:
1233 // 1. Multiple parents
1234 neg find mustContains4(problem,interpretation,_,target);
1235 // 2. Circle in the containment hierarchy
1236 neg find mustTransitiveContains(source,target);
1237} or {
1238 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target);
1239}
1240/**
1241 * Matcher for detecting tuples t where []commSubsystem reference CommunicatingElement(source,target)
1242 */
1243private pattern mustInRelationcommSubsystem_reference_CommunicatingElement(
1244 problem:LogicProblem, interpretation:PartialInterpretation,
1245 source: DefinedElement, target:DefinedElement)
1246{
1247 find interpretation(problem,interpretation);
1248 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1249 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement");
1250 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1251 BinaryElementRelationLink.param1(link,source);
1252 BinaryElementRelationLink.param2(link,target);
1253}
1254/**
1255 * Matcher for detecting tuples t where <>commSubsystem reference CommunicatingElement(source,target)
1256 */
1257private pattern mayInRelationcommSubsystem_reference_CommunicatingElement(
1258 problem:LogicProblem, interpretation:PartialInterpretation,
1259 source: DefinedElement, target:DefinedElement)
1260{
1261 find interpretation(problem,interpretation);
1262 // The two endpoint of the link have to exist
1263 find mayExist(problem, interpretation, source);
1264 find mayExist(problem, interpretation, target);
1265 // Type consistency
1266 find mayInstanceOfCommunicatingElement_class(problem,interpretation,source);
1267 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1268 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1269 // the upper bound of the multiplicity should be considered.
1270 numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,_);
1271 check(numberOfExistingReferences < 2);
1272 // The reference is containment, then a new reference cannot be create if:
1273 // 1. Multiple parents
1274 neg find mustContains4(problem,interpretation,_,target);
1275 // 2. Circle in the containment hierarchy
1276 neg find mustTransitiveContains(source,target);
1277} or {
1278 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target);
1279}
1280/**
1281 * Matcher for detecting tuples t where []payload reference Spacecraft(source,target)
1282 */
1283private pattern mustInRelationpayload_reference_Spacecraft(
1284 problem:LogicProblem, interpretation:PartialInterpretation,
1285 source: DefinedElement, target:DefinedElement)
1286{
1287 find interpretation(problem,interpretation);
1288 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1289 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"payload reference Spacecraft");
1290 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1291 BinaryElementRelationLink.param1(link,source);
1292 BinaryElementRelationLink.param2(link,target);
1293}
1294/**
1295 * Matcher for detecting tuples t where <>payload reference Spacecraft(source,target)
1296 */
1297private pattern mayInRelationpayload_reference_Spacecraft(
1298 problem:LogicProblem, interpretation:PartialInterpretation,
1299 source: DefinedElement, target:DefinedElement)
1300{
1301 find interpretation(problem,interpretation);
1302 // The two endpoint of the link have to exist
1303 find mayExist(problem, interpretation, source);
1304 find mayExist(problem, interpretation, target);
1305 // Type consistency
1306 find mayInstanceOfSpacecraft_class(problem,interpretation,source);
1307 find mayInstanceOfPayload_class(problem,interpretation,target);
1308 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1309 // the upper bound of the multiplicity should be considered.
1310 numberOfExistingReferences == count find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,_);
1311 check(numberOfExistingReferences < 1);
1312 // The reference is containment, then a new reference cannot be create if:
1313 // 1. Multiple parents
1314 neg find mustContains4(problem,interpretation,_,target);
1315 // 2. Circle in the containment hierarchy
1316 neg find mustTransitiveContains(source,target);
1317} or {
1318 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target);
1319}
1320/**
1321 * Matcher for detecting tuples t where []target reference CommSubsystem(source,target)
1322 */
1323private pattern mustInRelationtarget_reference_CommSubsystem(
1324 problem:LogicProblem, interpretation:PartialInterpretation,
1325 source: DefinedElement, target:DefinedElement)
1326{
1327 find interpretation(problem,interpretation);
1328 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1329 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
1330 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1331 BinaryElementRelationLink.param1(link,source);
1332 BinaryElementRelationLink.param2(link,target);
1333}
1334/**
1335 * Matcher for detecting tuples t where <>target reference CommSubsystem(source,target)
1336 */
1337private pattern mayInRelationtarget_reference_CommSubsystem(
1338 problem:LogicProblem, interpretation:PartialInterpretation,
1339 source: DefinedElement, target:DefinedElement)
1340{
1341 find interpretation(problem,interpretation);
1342 // The two endpoint of the link have to exist
1343 find mayExist(problem, interpretation, source);
1344 find mayExist(problem, interpretation, target);
1345 // Type consistency
1346 find mayInstanceOfCommSubsystem_class(problem,interpretation,source);
1347 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1348 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1349 // the upper bound of the multiplicity should be considered.
1350 numberOfExistingReferences == count find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,_);
1351 check(numberOfExistingReferences < 1);
1352} or {
1353 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,target);
1354}
1355
1356//////////
1357// 1.3 Relation Definition Indexers
1358//////////
1359// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement
1360private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1361 problem:LogicProblem, interpretation:PartialInterpretation,
1362 var_Element)
1363{
1364 find interpretation(problem,interpretation);
1365 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1366 // Element is exported
1367 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1368 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1369 neg find mayEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1370}
1371private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1372 problem:LogicProblem, interpretation:PartialInterpretation,
1373 var_Element)
1374{
1375 find interpretation(problem,interpretation);
1376 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1377 // Element is exported
1378 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1379 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1380 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1381}
1382private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1383 problem:LogicProblem, interpretation:PartialInterpretation,
1384 var_Element)
1385{
1386 find interpretation(problem,interpretation);
1387 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1388 // Element is exported
1389 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1390 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1391 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1392}
1393// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries transmittingCommSubsystem
1394private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1395 problem:LogicProblem, interpretation:PartialInterpretation,
1396 var_Element, var_Comm)
1397{
1398 find interpretation(problem,interpretation);
1399 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1400 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1401 // Element is exported
1402 // Comm is exported
1403 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1404 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1405 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1406 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1407 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1408 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1409 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1410 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1411}
1412private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1413 problem:LogicProblem, interpretation:PartialInterpretation,
1414 var_Element, var_Comm)
1415{
1416 find interpretation(problem,interpretation);
1417 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1418 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1419 // Element is exported
1420 // Comm is exported
1421 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1422 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1423 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1424 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
1425 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1426 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1427 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1428 find mayEquivalent(problem, interpretation, var_virtual1, _var__0);
1429}
1430private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1431 problem:LogicProblem, interpretation:PartialInterpretation,
1432 var_Element, var_Comm)
1433{
1434 find interpretation(problem,interpretation);
1435 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1436 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1437 // Element is exported
1438 // Comm is exported
1439 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1440 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1441 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1442 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1443 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1444 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1445 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1446 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1447}
1448// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads
1449private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1450 problem:LogicProblem, interpretation:PartialInterpretation,
1451 var_Mission)
1452{
1453 find interpretation(problem,interpretation);
1454 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1455 // Mission is exported
1456 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1457 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1458}
1459private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1460 problem:LogicProblem, interpretation:PartialInterpretation,
1461 var_Mission)
1462{
1463 find interpretation(problem,interpretation);
1464 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1465 // Mission is exported
1466 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1467 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1468}
1469private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1470 problem:LogicProblem, interpretation:PartialInterpretation,
1471 var_Mission)
1472{
1473 find interpretation(problem,interpretation);
1474 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1475 // Mission is exported
1476 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1477 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1478}
1479// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads
1480private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1481 problem:LogicProblem, interpretation:PartialInterpretation,
1482 var_Mission)
1483{
1484 find interpretation(problem,interpretation);
1485 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1486 // Mission is exported
1487 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1488 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1489 neg find mayEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1490}
1491private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1492 problem:LogicProblem, interpretation:PartialInterpretation,
1493 var_Mission)
1494{
1495 find interpretation(problem,interpretation);
1496 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1497 // Mission is exported
1498 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1499 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1500 neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1501}
1502private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1503 problem:LogicProblem, interpretation:PartialInterpretation,
1504 var_Mission)
1505{
1506 find interpretation(problem,interpretation);
1507 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1508 // Mission is exported
1509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1510 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1511 neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1512}
1513// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload
1514private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1515 problem:LogicProblem, interpretation:PartialInterpretation,
1516 var_Mission, var_Spacecraft)
1517{
1518 find interpretation(problem,interpretation);
1519 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1520 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1521 // Mission is exported
1522 // Spacecraft is exported
1523 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1524 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1525 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1526 find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1527 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1528 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1529 find mustInstanceOfPayload_class(problem,interpretation,var_virtual1);
1530 find mustEquivalent(problem, interpretation, var_virtual1, var_Payload);
1531 find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1532}
1533private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1534 problem:LogicProblem, interpretation:PartialInterpretation,
1535 var_Mission, var_Spacecraft)
1536{
1537 find interpretation(problem,interpretation);
1538 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1539 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1540 // Mission is exported
1541 // Spacecraft is exported
1542 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1543 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1544 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1545 find mayEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1546 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1547 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1548 find mayInstanceOfPayload_class(problem,interpretation,var_virtual1);
1549 find mayEquivalent(problem, interpretation, var_virtual1, var_Payload);
1550 find mayInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1551}
1552private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1553 problem:LogicProblem, interpretation:PartialInterpretation,
1554 var_Mission, var_Spacecraft)
1555{
1556 find interpretation(problem,interpretation);
1557 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1558 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1559 // Mission is exported
1560 // Spacecraft is exported
1561 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1562 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1563 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1564 find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1565 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1566 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1567 find mustInstanceOfPayload_class(problem,interpretation,var_virtual1);
1568 find mustEquivalent(problem, interpretation, var_virtual1, var_Payload);
1569 find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1570}
1571// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation
1572private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1573 problem:LogicProblem, interpretation:PartialInterpretation,
1574 var_Spacecraft)
1575{
1576 find interpretation(problem,interpretation);
1577 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1578 // Spacecraft is exported
1579 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1580 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1581 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1582 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1583 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1584 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1585 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1586 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1587 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1588}
1589private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1590 problem:LogicProblem, interpretation:PartialInterpretation,
1591 var_Spacecraft)
1592{
1593 find interpretation(problem,interpretation);
1594 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1595 // Spacecraft is exported
1596 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1597 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1598 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1599 find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1600 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1601 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1602 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1603 find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1604 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1605}
1606private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1607 problem:LogicProblem, interpretation:PartialInterpretation,
1608 var_Spacecraft)
1609{
1610 find interpretation(problem,interpretation);
1611 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1612 // Spacecraft is exported
1613 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1614 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1615 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1616 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1617 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1618 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1619 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1620 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1621 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1622}
1623// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation
1624private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1625 problem:LogicProblem, interpretation:PartialInterpretation,
1626 var_Spacecraft)
1627{
1628 find interpretation(problem,interpretation);
1629 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1630 // Spacecraft is exported
1631 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1632 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1633 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1634 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1635 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1636 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1637 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1638 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1639 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1640}
1641private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1642 problem:LogicProblem, interpretation:PartialInterpretation,
1643 var_Spacecraft)
1644{
1645 find interpretation(problem,interpretation);
1646 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1647 // Spacecraft is exported
1648 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1649 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1650 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1651 find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1652 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1653 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1654 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1655 find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1656 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1657}
1658private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1659 problem:LogicProblem, interpretation:PartialInterpretation,
1660 var_Spacecraft)
1661{
1662 find interpretation(problem,interpretation);
1663 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1664 // Spacecraft is exported
1665 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1666 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1667 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1668 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1669 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1670 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1671 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1672 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1673 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1674}
1675// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed
1676private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1677 problem:LogicProblem, interpretation:PartialInterpretation,
1678 var_From, var_To)
1679{
1680 find interpretation(problem,interpretation);
1681 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1682 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1683 // From is exported
1684 // To is exported
1685 find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1686}
1687private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1688 problem:LogicProblem, interpretation:PartialInterpretation,
1689 var_From, var_To)
1690{
1691 find interpretation(problem,interpretation);
1692 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1693 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1694 // From is exported
1695 // To is exported
1696 find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1697}
1698private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1699 problem:LogicProblem, interpretation:PartialInterpretation,
1700 var_From, var_To)
1701{
1702 find interpretation(problem,interpretation);
1703 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1704 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1705 // From is exported
1706 // To is exported
1707 find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1708}
1709// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed
1710private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1711 problem:LogicProblem, interpretation:PartialInterpretation,
1712 var_From, var_To)
1713{
1714 find interpretation(problem,interpretation);
1715 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1716 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1717 // From is exported
1718 // To is exported
1719 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1720 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1721}or{
1722 find interpretation(problem,interpretation);
1723 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1724 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1725 // From is exported
1726 // To is exported
1727 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1728 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1729}or{
1730 find interpretation(problem,interpretation);
1731 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1732 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1733 // From is exported
1734 // To is exported
1735 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1736 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1737 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1738}
1739private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1740 problem:LogicProblem, interpretation:PartialInterpretation,
1741 var_From, var_To)
1742{
1743 find interpretation(problem,interpretation);
1744 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1745 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1746 // From is exported
1747 // To is exported
1748 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1749 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1750}or{
1751 find interpretation(problem,interpretation);
1752 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1753 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1754 // From is exported
1755 // To is exported
1756 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1757 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1758}or{
1759 find interpretation(problem,interpretation);
1760 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1761 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1762 // From is exported
1763 // To is exported
1764 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1765 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1766 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1767}
1768private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1769 problem:LogicProblem, interpretation:PartialInterpretation,
1770 var_From, var_To)
1771{
1772 find interpretation(problem,interpretation);
1773 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1774 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1775 // From is exported
1776 // To is exported
1777 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1778 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1779}or{
1780 find interpretation(problem,interpretation);
1781 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1782 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1783 // From is exported
1784 // To is exported
1785 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1786 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1787}or{
1788 find interpretation(problem,interpretation);
1789 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1790 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1791 // From is exported
1792 // To is exported
1793 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1794 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1795 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1796}
1797private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1798 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1799}
1800private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1801 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1802}
1803private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1804 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1805}
1806// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna
1807private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1808 problem:LogicProblem, interpretation:PartialInterpretation,
1809 var_From, var_To)
1810{
1811 find interpretation(problem,interpretation);
1812 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1813 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1814 // From is exported
1815 // To is exported
1816 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1817 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1818 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1819 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1820 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1821 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1822 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1823 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1824 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1825}
1826private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1827 problem:LogicProblem, interpretation:PartialInterpretation,
1828 var_From, var_To)
1829{
1830 find interpretation(problem,interpretation);
1831 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1832 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1833 // From is exported
1834 // To is exported
1835 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1836 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1837 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1838 find mayEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1839 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1840 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1841 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1842 find mayEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1843 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1844}
1845private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1846 problem:LogicProblem, interpretation:PartialInterpretation,
1847 var_From, var_To)
1848{
1849 find interpretation(problem,interpretation);
1850 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1851 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1852 // From is exported
1853 // To is exported
1854 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1855 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1856 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1857 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1858 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1859 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1860 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1861 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1862 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1863}
1864// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingCommSubsystem
1865private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1866 problem:LogicProblem, interpretation:PartialInterpretation,
1867 var_From, var_To)
1868{
1869 find interpretation(problem,interpretation);
1870 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1871 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1872 // From is exported
1873 // To is exported
1874 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1875 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1876}or{
1877 find interpretation(problem,interpretation);
1878 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1879 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1880 // From is exported
1881 // To is exported
1882 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1883 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1884}or{
1885 find interpretation(problem,interpretation);
1886 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1887 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1888 // From is exported
1889 // To is exported
1890 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1891 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1892}
1893private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1894 problem:LogicProblem, interpretation:PartialInterpretation,
1895 var_From, var_To)
1896{
1897 find interpretation(problem,interpretation);
1898 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1899 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1900 // From is exported
1901 // To is exported
1902 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1903 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1904}or{
1905 find interpretation(problem,interpretation);
1906 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1907 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1908 // From is exported
1909 // To is exported
1910 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1911 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1912}or{
1913 find interpretation(problem,interpretation);
1914 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1915 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1916 // From is exported
1917 // To is exported
1918 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1919 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1920}
1921private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1922 problem:LogicProblem, interpretation:PartialInterpretation,
1923 var_From, var_To)
1924{
1925 find interpretation(problem,interpretation);
1926 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1927 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1928 // From is exported
1929 // To is exported
1930 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1931 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1932}or{
1933 find interpretation(problem,interpretation);
1934 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1935 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1936 // From is exported
1937 // To is exported
1938 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1939 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1940}or{
1941 find interpretation(problem,interpretation);
1942 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1943 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1944 // From is exported
1945 // To is exported
1946 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1947 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1948}
1949// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U
1950private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1951 problem:LogicProblem, interpretation:PartialInterpretation,
1952 var_Sat)
1953{
1954 find interpretation(problem,interpretation);
1955 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1956 // Sat is exported
1957 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1958}
1959private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1960 problem:LogicProblem, interpretation:PartialInterpretation,
1961 var_Sat)
1962{
1963 find interpretation(problem,interpretation);
1964 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1965 // Sat is exported
1966 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1967}
1968private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1969 problem:LogicProblem, interpretation:PartialInterpretation,
1970 var_Sat)
1971{
1972 find interpretation(problem,interpretation);
1973 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1974 // Sat is exported
1975 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1976}
1977// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat6U
1978private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1979 problem:LogicProblem, interpretation:PartialInterpretation,
1980 var_Sat)
1981{
1982 find interpretation(problem,interpretation);
1983 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1984 // Sat is exported
1985 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1986}
1987private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1988 problem:LogicProblem, interpretation:PartialInterpretation,
1989 var_Sat)
1990{
1991 find interpretation(problem,interpretation);
1992 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1993 // Sat is exported
1994 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1995}
1996private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1997 problem:LogicProblem, interpretation:PartialInterpretation,
1998 var_Sat)
1999{
2000 find interpretation(problem,interpretation);
2001 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2002 // Sat is exported
2003 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2004}
2005// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop
2006private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2007 problem:LogicProblem, interpretation:PartialInterpretation,
2008 var_Element)
2009{
2010 find interpretation(problem,interpretation);
2011 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2012 // Element is exported
2013 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2014}
2015private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2016 problem:LogicProblem, interpretation:PartialInterpretation,
2017 var_Element)
2018{
2019 find interpretation(problem,interpretation);
2020 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2021 // Element is exported
2022 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2023}
2024private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2025 problem:LogicProblem, interpretation:PartialInterpretation,
2026 var_Element)
2027{
2028 find interpretation(problem,interpretation);
2029 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2030 // Element is exported
2031 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2032}
2033// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink
2034private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2035 problem:LogicProblem, interpretation:PartialInterpretation,
2036 var_Source, var_Target)
2037{
2038 find interpretation(problem,interpretation);
2039 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2040 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2041 // Source is exported
2042 // Target is exported
2043 find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2044}
2045private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2046 problem:LogicProblem, interpretation:PartialInterpretation,
2047 var_Source, var_Target)
2048{
2049 find interpretation(problem,interpretation);
2050 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2051 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2052 // Source is exported
2053 // Target is exported
2054 find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2055}
2056private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2057 problem:LogicProblem, interpretation:PartialInterpretation,
2058 var_Source, var_Target)
2059{
2060 find interpretation(problem,interpretation);
2061 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2062 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2063 // Source is exported
2064 // Target is exported
2065 find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2066}
2067// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink
2068private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2069 problem:LogicProblem, interpretation:PartialInterpretation,
2070 var_Source, var_Target)
2071{
2072 find interpretation(problem,interpretation);
2073 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2074 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2075 // Source is exported
2076 // Target is exported
2077 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2078 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2079 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2080 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2081 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2082 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2083 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2084 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2085 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2086 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2087 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2088 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2089}
2090private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2091 problem:LogicProblem, interpretation:PartialInterpretation,
2092 var_Source, var_Target)
2093{
2094 find interpretation(problem,interpretation);
2095 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2096 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2097 // Source is exported
2098 // Target is exported
2099 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2100 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2101 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2102 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2103 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2104 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2105 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2106 find mayEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2107 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2108 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2109 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2110 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2111}
2112private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2113 problem:LogicProblem, interpretation:PartialInterpretation,
2114 var_Source, var_Target)
2115{
2116 find interpretation(problem,interpretation);
2117 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2118 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2119 // Source is exported
2120 // Target is exported
2121 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2122 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2123 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2124 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2125 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2126 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2127 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2128 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2129 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2130 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2131 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2132 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2133}
2134private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2135 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2136}
2137private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2138 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2139}
2140private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2141 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2142}
2143// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand
2144private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2145 problem:LogicProblem, interpretation:PartialInterpretation,
2146 var_SourceSubsystem)
2147{
2148 find interpretation(problem,interpretation);
2149 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2150 // SourceSubsystem is exported
2151 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2152 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2153 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2154 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2155 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2156}
2157private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2158 problem:LogicProblem, interpretation:PartialInterpretation,
2159 var_SourceSubsystem)
2160{
2161 find interpretation(problem,interpretation);
2162 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2163 // SourceSubsystem is exported
2164 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2165 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2166 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2167 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2168 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2169}
2170private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2171 problem:LogicProblem, interpretation:PartialInterpretation,
2172 var_SourceSubsystem)
2173{
2174 find interpretation(problem,interpretation);
2175 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2176 // SourceSubsystem is exported
2177 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2178 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2179 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2180 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2181 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2182}
2183// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink
2184private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2185 problem:LogicProblem, interpretation:PartialInterpretation,
2186 var_Sat)
2187{
2188 find interpretation(problem,interpretation);
2189 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2190 // Sat is exported
2191 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2192 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2193 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2194 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2195 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2196 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2197 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2198 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2199 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2200 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2201 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2202 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2203 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2204 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2205}
2206private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2207 problem:LogicProblem, interpretation:PartialInterpretation,
2208 var_Sat)
2209{
2210 find interpretation(problem,interpretation);
2211 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2212 // Sat is exported
2213 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2214 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2215 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2216 find mayEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2217 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2218 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2219 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2220 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2221 find mayEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2222 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2223 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2224 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2225 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2226 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2227}
2228private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2229 problem:LogicProblem, interpretation:PartialInterpretation,
2230 var_Sat)
2231{
2232 find interpretation(problem,interpretation);
2233 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2234 // Sat is exported
2235 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2236 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2237 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2238 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2239 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2240 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2241 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2242 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2243 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2244 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2245 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2246 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2247 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2248 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2249}
2250// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf
2251private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2252 problem:LogicProblem, interpretation:PartialInterpretation,
2253 var_Comm)
2254{
2255 find interpretation(problem,interpretation);
2256 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2257 // Comm is exported
2258 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2259}
2260private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2261 problem:LogicProblem, interpretation:PartialInterpretation,
2262 var_Comm)
2263{
2264 find interpretation(problem,interpretation);
2265 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2266 // Comm is exported
2267 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2268}
2269private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2270 problem:LogicProblem, interpretation:PartialInterpretation,
2271 var_Comm)
2272{
2273 find interpretation(problem,interpretation);
2274 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2275 // Comm is exported
2276 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2277}
2278// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork
2279private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2280 problem:LogicProblem, interpretation:PartialInterpretation,
2281 var_Network)
2282{
2283 find interpretation(problem,interpretation);
2284 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2285 // Network is exported
2286 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2287}
2288private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2289 problem:LogicProblem, interpretation:PartialInterpretation,
2290 var_Network)
2291{
2292 find interpretation(problem,interpretation);
2293 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2294 // Network is exported
2295 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2296}
2297private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2298 problem:LogicProblem, interpretation:PartialInterpretation,
2299 var_Network)
2300{
2301 find interpretation(problem,interpretation);
2302 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2303 // Network is exported
2304 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2305}
2306// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna
2307private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2308 problem:LogicProblem, interpretation:PartialInterpretation,
2309 var_Spacecraft)
2310{
2311 find interpretation(problem,interpretation);
2312 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2313 // Spacecraft is exported
2314 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2315 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2316 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2317 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2318 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2319 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2320}
2321private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2322 problem:LogicProblem, interpretation:PartialInterpretation,
2323 var_Spacecraft)
2324{
2325 find interpretation(problem,interpretation);
2326 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2327 // Spacecraft is exported
2328 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2329 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2330 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2331 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
2332 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2333 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2334}
2335private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2336 problem:LogicProblem, interpretation:PartialInterpretation,
2337 var_Spacecraft)
2338{
2339 find interpretation(problem,interpretation);
2340 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2341 // Spacecraft is exported
2342 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2343 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2344 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2345 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2346 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2347 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2348}
2349// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries smallSat
2350private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2351 problem:LogicProblem, interpretation:PartialInterpretation,
2352 var_Sat)
2353{
2354 find interpretation(problem,interpretation);
2355 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2356 // Sat is exported
2357 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2358}
2359private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2360 problem:LogicProblem, interpretation:PartialInterpretation,
2361 var_Sat)
2362{
2363 find interpretation(problem,interpretation);
2364 find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2365 // Sat is exported
2366 find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2367}
2368private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2369 problem:LogicProblem, interpretation:PartialInterpretation,
2370 var_Sat)
2371{
2372 find interpretation(problem,interpretation);
2373 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2374 // Sat is exported
2375 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2376}
2377
2378//////////
2379// 1.4 Containment Indexer
2380//////////
2381private pattern mustContains2(source: DefinedElement, target: DefinedElement) {
2382 find mustContains4(_,_,source,target);
2383}
2384
2385private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation,
2386 source: DefinedElement, target: DefinedElement)
2387 { find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target); }or
2388
2389 { find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target); }or
2390
2391 { find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); }or
2392
2393 { find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); }
2394
2395private pattern mustTransitiveContains(source,target) {
2396 find mustContains2+(source,target);
2397}
2398
2399//////////
2400// 2. Invalidation Indexers
2401//////////
2402// 2.1 Invalidated by WF Queries
2403//////////
2404pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2405 var_Element)
2406{
2407 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2408}
2409pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2410 var_Mission)
2411{
2412 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission);
2413}
2414pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2415 var_Spacecraft)
2416{
2417 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft);
2418}
2419pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2420 var_Spacecraft)
2421{
2422 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft);
2423}
2424pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation,
2425 var_Element)
2426{
2427 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2428}
2429pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2430 var_SourceSubsystem)
2431{
2432 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2433}
2434pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2435 var_Sat)
2436{
2437 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat);
2438}
2439pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation,
2440 var_Spacecraft)
2441{
2442 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft);
2443}
2444
2445//////////
2446// 3. Unfinishedness Indexers
2447//////////
2448// 3.1 Unfinishedness Measured by Multiplicity
2449//////////
2450pattern unfinishedLowerMultiplicity_groundStationNetwork_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2451 find interpretation(problem,interpretation);
2452 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2453 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission");
2454 find mustInstanceOfConstellationMission_class(problem,interpretation,object);
2455 numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,object,_);
2456 check(numberOfExistingReferences < 1);
2457 missingMultiplicity == eval(1-numberOfExistingReferences);
2458}
2459pattern unfinishedLowerMultiplicity_spacecraft_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2460 find interpretation(problem,interpretation);
2461 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2462 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission");
2463 find mustInstanceOfConstellationMission_class(problem,interpretation,object);
2464 numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,object,_);
2465 check(numberOfExistingReferences < 2);
2466 missingMultiplicity == eval(2-numberOfExistingReferences);
2467}
2468pattern unfinishedLowerMultiplicity_commSubsystem_reference_CommunicatingElement(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2469 find interpretation(problem,interpretation);
2470 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2471 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement");
2472 find mustInstanceOfCommunicatingElement_class(problem,interpretation,object);
2473 numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,object,_);
2474 check(numberOfExistingReferences < 1);
2475 missingMultiplicity == eval(1-numberOfExistingReferences);
2476}
2477
2478//////////
2479// 3.2 Unfinishedness Measured by WF Queries
2480//////////
2481pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2482 var_Element)
2483{
2484 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2485}
2486pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2487 var_Mission)
2488{
2489 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission);
2490}
2491pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2492 var_Spacecraft)
2493{
2494 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft);
2495}
2496pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2497 var_Spacecraft)
2498{
2499 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft);
2500}
2501pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation,
2502 var_Element)
2503{
2504 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2505}
2506pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2507 var_SourceSubsystem)
2508{
2509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2510}
2511pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2512 var_Sat)
2513{
2514 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat);
2515}
2516pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation,
2517 var_Spacecraft)
2518{
2519 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft);
2520}
2521
2522//////////
2523// 4. Refinement Indexers
2524//////////
2525// 4.1 Object constructors
2526//////////
2527private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
2528{
2529 find interpretation(problem,interpretation);
2530 find mustInstanceOfCommunicatingElement_class(problem,interpretation,root);
2531 find mustExist(problem, interpretation, root);
2532}or{
2533 find interpretation(problem,interpretation);
2534 find mustInstanceOfConstellationMission_class(problem,interpretation,root);
2535 find mustExist(problem, interpretation, root);
2536}or{
2537 find interpretation(problem,interpretation);
2538 find mustInstanceOfInterferometryPayload_class(problem,interpretation,root);
2539 find mustExist(problem, interpretation, root);
2540}or{
2541 find interpretation(problem,interpretation);
2542 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root);
2543 find mustExist(problem, interpretation, root);
2544}or{
2545 find interpretation(problem,interpretation);
2546 find mustInstanceOfCommSubsystem_class(problem,interpretation,root);
2547 find mustExist(problem, interpretation, root);
2548}or{
2549 find interpretation(problem,interpretation);
2550 find mustInstanceOfPayload_class(problem,interpretation,root);
2551 find mustExist(problem, interpretation, root);
2552}or{
2553 find interpretation(problem,interpretation);
2554 find mustInstanceOfCubeSat6U_class(problem,interpretation,root);
2555 find mustExist(problem, interpretation, root);
2556}or{
2557 find interpretation(problem,interpretation);
2558 find mustInstanceOfXCommSubsystem_class(problem,interpretation,root);
2559 find mustExist(problem, interpretation, root);
2560}or{
2561 find interpretation(problem,interpretation);
2562 find mustInstanceOfCubeSat3U_class(problem,interpretation,root);
2563 find mustExist(problem, interpretation, root);
2564}or{
2565 find interpretation(problem,interpretation);
2566 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,root);
2567 find mustExist(problem, interpretation, root);
2568}or{
2569 find interpretation(problem,interpretation);
2570 find mustInstanceOfSpacecraft_class(problem,interpretation,root);
2571 find mustExist(problem, interpretation, root);
2572}or{
2573 find interpretation(problem,interpretation);
2574 find mustInstanceOfInterferometryMission_class(problem,interpretation,root);
2575 find mustExist(problem, interpretation, root);
2576}or{
2577 find interpretation(problem,interpretation);
2578 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,root);
2579 find mustExist(problem, interpretation, root);
2580}or{
2581 find interpretation(problem,interpretation);
2582 find mustInstanceOfSmallSat_class(problem,interpretation,root);
2583 find mustExist(problem, interpretation, root);
2584}or{
2585 find interpretation(problem,interpretation);
2586 find mustInstanceOfCubeSat_class(problem,interpretation,root);
2587 find mustExist(problem, interpretation, root);
2588}or{
2589 find interpretation(problem,interpretation);
2590 find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,root);
2591 find mustExist(problem, interpretation, root);
2592}or{
2593 find interpretation(problem,interpretation);
2594 find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,root);
2595 find mustExist(problem, interpretation, root);
2596}or{
2597 find interpretation(problem,interpretation);
2598 find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,root);
2599 find mustExist(problem, interpretation, root);
2600}or{
2601 find interpretation(problem,interpretation);
2602 find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,root);
2603 find mustExist(problem, interpretation, root);
2604}or{
2605 find interpretation(problem,interpretation);
2606 find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,root);
2607 find mustExist(problem, interpretation, root);
2608}or{
2609 find interpretation(problem,interpretation);
2610 find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,root);
2611 find mustExist(problem, interpretation, root);
2612}or{
2613 find interpretation(problem,interpretation);
2614 find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,root);
2615 find mustExist(problem, interpretation, root);
2616}or{
2617 find interpretation(problem,interpretation);
2618 find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,root);
2619 find mustExist(problem, interpretation, root);
2620}or{
2621 find interpretation(problem,interpretation);
2622 find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,root);
2623 find mustExist(problem, interpretation, root);
2624}or{
2625 find interpretation(problem,interpretation);
2626 find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2627 find mustExist(problem, interpretation, root);
2628}or{
2629 find interpretation(problem,interpretation);
2630 find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,root);
2631 find mustExist(problem, interpretation, root);
2632}or{
2633 find interpretation(problem,interpretation);
2634 find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2635 find mustExist(problem, interpretation, root);
2636}or{
2637 find interpretation(problem,interpretation);
2638 find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,root);
2639 find mustExist(problem, interpretation, root);
2640}or{
2641 find interpretation(problem,interpretation);
2642 find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2643 find mustExist(problem, interpretation, root);
2644}
2645pattern createObject_InterferometryPayload_class_by_payload_reference_Spacecraft(
2646 problem:LogicProblem, interpretation:PartialInterpretation,
2647 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2648 container:DefinedElement)
2649{
2650 find interpretation(problem,interpretation);
2651 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2652 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
2653 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2654 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"payload reference Spacecraft");
2655 find mustInstanceOfSpacecraft_class(problem,interpretation,container);
2656 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2657 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,container,newObject);
2658 find mustExist(problem, interpretation, container);
2659 neg find mustExist(problem, interpretation, newObject);
2660}
2661pattern createObject_InterferometryPayload_class(
2662 problem:LogicProblem, interpretation:PartialInterpretation,
2663 typeInterpretation:PartialComplexTypeInterpretation)
2664{
2665 find interpretation(problem,interpretation);
2666 neg find hasElementInContainment(problem,interpretation);
2667 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2668 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
2669 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2670 find mayExist(problem, interpretation, newObject);
2671 neg find mustExist(problem, interpretation, newObject);
2672}
2673pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission(
2674 problem:LogicProblem, interpretation:PartialInterpretation,
2675 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2676 container:DefinedElement)
2677{
2678 find interpretation(problem,interpretation);
2679 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2680 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
2681 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2682 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2683 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2684 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
2685 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2686 find mustExist(problem, interpretation, container);
2687 neg find mustExist(problem, interpretation, newObject);
2688}
2689pattern createObject_CubeSat6U_class(
2690 problem:LogicProblem, interpretation:PartialInterpretation,
2691 typeInterpretation:PartialComplexTypeInterpretation)
2692{
2693 find interpretation(problem,interpretation);
2694 neg find hasElementInContainment(problem,interpretation);
2695 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2696 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
2697 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
2698 find mayExist(problem, interpretation, newObject);
2699 neg find mustExist(problem, interpretation, newObject);
2700}
2701pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission(
2702 problem:LogicProblem, interpretation:PartialInterpretation,
2703 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2704 container:DefinedElement)
2705{
2706 find interpretation(problem,interpretation);
2707 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2708 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2709 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2710 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission");
2711 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2712 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2713 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject);
2714 find mustExist(problem, interpretation, container);
2715 neg find mustExist(problem, interpretation, newObject);
2716}
2717pattern createObject_GroundStationNetwork_class_UndefinedPart(
2718 problem:LogicProblem, interpretation:PartialInterpretation,
2719 typeInterpretation:PartialComplexTypeInterpretation)
2720{
2721 find interpretation(problem,interpretation);
2722 neg find hasElementInContainment(problem,interpretation);
2723 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2724 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2725 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2726 find mayExist(problem, interpretation, newObject);
2727 neg find mustExist(problem, interpretation, newObject);
2728}
2729pattern createObject_UHFCommSubsystem_class_by_commSubsystem_reference_CommunicatingElement(
2730 problem:LogicProblem, interpretation:PartialInterpretation,
2731 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2732 container:DefinedElement)
2733{
2734 find interpretation(problem,interpretation);
2735 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2736 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
2737 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2738 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2739 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2740 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
2741 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2742 find mustExist(problem, interpretation, container);
2743 neg find mustExist(problem, interpretation, newObject);
2744}
2745pattern createObject_UHFCommSubsystem_class(
2746 problem:LogicProblem, interpretation:PartialInterpretation,
2747 typeInterpretation:PartialComplexTypeInterpretation)
2748{
2749 find interpretation(problem,interpretation);
2750 neg find hasElementInContainment(problem,interpretation);
2751 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2752 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
2753 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
2754 find mayExist(problem, interpretation, newObject);
2755 neg find mustExist(problem, interpretation, newObject);
2756}
2757pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission(
2758 problem:LogicProblem, interpretation:PartialInterpretation,
2759 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2760 container:DefinedElement)
2761{
2762 find interpretation(problem,interpretation);
2763 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2764 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2765 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2766 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2767 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2768 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2769 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2770 find mustExist(problem, interpretation, container);
2771 neg find mustExist(problem, interpretation, newObject);
2772}
2773pattern createObject_SmallSat_class(
2774 problem:LogicProblem, interpretation:PartialInterpretation,
2775 typeInterpretation:PartialComplexTypeInterpretation)
2776{
2777 find interpretation(problem,interpretation);
2778 neg find hasElementInContainment(problem,interpretation);
2779 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2780 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2781 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2782 find mayExist(problem, interpretation, newObject);
2783 neg find mustExist(problem, interpretation, newObject);
2784}
2785pattern createObject_KaCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2786 problem:LogicProblem, interpretation:PartialInterpretation,
2787 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2788 container:DefinedElement)
2789{
2790 find interpretation(problem,interpretation);
2791 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2792 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
2793 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2794 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2795 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2796 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2797 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2798 find mustExist(problem, interpretation, container);
2799 neg find mustExist(problem, interpretation, newObject);
2800}
2801pattern createObject_KaCommSubsystem_class_UndefinedPart(
2802 problem:LogicProblem, interpretation:PartialInterpretation,
2803 typeInterpretation:PartialComplexTypeInterpretation)
2804{
2805 find interpretation(problem,interpretation);
2806 neg find hasElementInContainment(problem,interpretation);
2807 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2808 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
2809 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2810 find mayExist(problem, interpretation, newObject);
2811 neg find mustExist(problem, interpretation, newObject);
2812}
2813pattern createObject_CubeSat3U_class_by_spacecraft_reference_ConstellationMission(
2814 problem:LogicProblem, interpretation:PartialInterpretation,
2815 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2816 container:DefinedElement)
2817{
2818 find interpretation(problem,interpretation);
2819 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2820 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
2821 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2822 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2823 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2824 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
2825 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2826 find mustExist(problem, interpretation, container);
2827 neg find mustExist(problem, interpretation, newObject);
2828}
2829pattern createObject_CubeSat3U_class(
2830 problem:LogicProblem, interpretation:PartialInterpretation,
2831 typeInterpretation:PartialComplexTypeInterpretation)
2832{
2833 find interpretation(problem,interpretation);
2834 neg find hasElementInContainment(problem,interpretation);
2835 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2836 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
2837 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
2838 find mayExist(problem, interpretation, newObject);
2839 neg find mustExist(problem, interpretation, newObject);
2840}
2841pattern createObject_XCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2842 problem:LogicProblem, interpretation:PartialInterpretation,
2843 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2844 container:DefinedElement)
2845{
2846 find interpretation(problem,interpretation);
2847 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2848 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2849 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2850 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2851 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2852 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2853 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2854 find mustExist(problem, interpretation, container);
2855 neg find mustExist(problem, interpretation, newObject);
2856}
2857pattern createObject_XCommSubsystem_class_UndefinedPart(
2858 problem:LogicProblem, interpretation:PartialInterpretation,
2859 typeInterpretation:PartialComplexTypeInterpretation)
2860{
2861 find interpretation(problem,interpretation);
2862 neg find hasElementInContainment(problem,interpretation);
2863 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2864 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2865 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2866 find mayExist(problem, interpretation, newObject);
2867 neg find mustExist(problem, interpretation, newObject);
2868}
2869pattern createObject_InterferometryMission_class_UndefinedPart(
2870 problem:LogicProblem, interpretation:PartialInterpretation,
2871 typeInterpretation:PartialComplexTypeInterpretation)
2872{
2873 find interpretation(problem,interpretation);
2874 neg find hasElementInContainment(problem,interpretation);
2875 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2876 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart");
2877 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject);
2878 find mayExist(problem, interpretation, newObject);
2879 neg find mustExist(problem, interpretation, newObject);
2880}
2881
2882//////////
2883// 4.2 Type refinement
2884//////////
2885pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2886 find interpretation(problem,interpretation);
2887 PartialInterpretation.newElements(interpretation,element);
2888 find mayInstanceOfInterferometryPayload_class(problem,interpretation,element);
2889 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
2890 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2891 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2892 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2893}
2894pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2895 find interpretation(problem,interpretation);
2896 PartialInterpretation.newElements(interpretation,element);
2897 find mayInstanceOfCubeSat6U_class(problem,interpretation,element);
2898 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2899 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2900 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2901 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2902 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2903 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
2904 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2905}
2906pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2907 find interpretation(problem,interpretation);
2908 PartialInterpretation.newElements(interpretation,element);
2909 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2910 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2911 neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2912 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2913 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
2914 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2915}
2916pattern refineTypeTo_UHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2917 find interpretation(problem,interpretation);
2918 PartialInterpretation.newElements(interpretation,element);
2919 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2920 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2921 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2922 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
2923 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2924 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2925 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2926}
2927pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2928 find interpretation(problem,interpretation);
2929 PartialInterpretation.newElements(interpretation,element);
2930 find mayInstanceOfSmallSat_class(problem,interpretation,element);
2931 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2932 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2933 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
2934 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2935 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2936 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2937}
2938pattern refineTypeTo_KaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2939 find interpretation(problem,interpretation);
2940 PartialInterpretation.newElements(interpretation,element);
2941 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2942 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2943 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2944 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2945 neg find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2946 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2947 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2948}
2949pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2950 find interpretation(problem,interpretation);
2951 PartialInterpretation.newElements(interpretation,element);
2952 find mayInstanceOfCubeSat3U_class(problem,interpretation,element);
2953 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2954 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2955 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2956 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2957 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2958 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
2959 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2960}
2961pattern refineTypeTo_XCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2962 find interpretation(problem,interpretation);
2963 PartialInterpretation.newElements(interpretation,element);
2964 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2965 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2966 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2967 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2968 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
2969 neg find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2970 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2971}
2972pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2973 find interpretation(problem,interpretation);
2974 PartialInterpretation.newElements(interpretation,element);
2975 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
2976 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2977 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2978 neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
2979 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2980}
2981
2982//////////
2983// 4.3 Relation refinement
2984//////////
2985pattern refineRelation_target_reference_CommSubsystem(
2986 problem:LogicProblem, interpretation:PartialInterpretation,
2987 relationIterpretation:PartialRelationInterpretation,
2988 from: DefinedElement, to: DefinedElement)
2989{
2990 find interpretation(problem,interpretation);
2991 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2992 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
2993 find mustExist(problem, interpretation, from);
2994 find mustExist(problem, interpretation, to);
2995 find mustInstanceOfCommSubsystem_class(problem,interpretation,from);
2996 find mustInstanceOfCommSubsystem_class(problem,interpretation,to);
2997 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
2998 neg find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
2999}
3000
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
new file mode 100644
index 00000000..9f14379f
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run1/init.partialmodel
@@ -0,0 +1,147 @@
1<?xml version="1.0" encoding="ASCII"?>
2<partialinterpretation:PartialInterpretation xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:language="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" xmlns:partialinterpretation="http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" minNewElements="32" maxNewElements="64">
3 <problem href="outputs/debug/generation.logicproblem#/"/>
4 <partialrelationinterpretation>
5 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.0"/>
6 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
7 <param1 href="outputs/debug/generation.logicproblem#//@elements.0"/>
8 <param2 href="outputs/debug/generation.logicproblem#//@elements.1"/>
9 </relationlinks>
10 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.0/@parameters.0"/>
11 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.0/@parameters.1"/>
12 </partialrelationinterpretation>
13 <partialrelationinterpretation>
14 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.1"/>
15 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.1/@parameters.0"/>
16 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.1/@parameters.1"/>
17 </partialrelationinterpretation>
18 <partialrelationinterpretation>
19 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.2"/>
20 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
21 <param1 href="outputs/debug/generation.logicproblem#//@elements.1"/>
22 <param2 href="outputs/debug/generation.logicproblem#//@elements.2"/>
23 </relationlinks>
24 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
25 <param1 href="outputs/debug/generation.logicproblem#//@elements.1"/>
26 <param2 href="outputs/debug/generation.logicproblem#//@elements.3"/>
27 </relationlinks>
28 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.2/@parameters.0"/>
29 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.2/@parameters.1"/>
30 </partialrelationinterpretation>
31 <partialrelationinterpretation>
32 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.3"/>
33 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.3/@parameters.0"/>
34 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.3/@parameters.1"/>
35 </partialrelationinterpretation>
36 <partialrelationinterpretation>
37 <interpretationOf href="outputs/debug/generation.logicproblem#//@relations.4"/>
38 <param1 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.4/@parameters.0"/>
39 <param2 xsi:type="language:ComplexTypeReference" href="outputs/debug/generation.logicproblem#//@relations.4/@parameters.1"/>
40 </partialrelationinterpretation>
41 <newElements xsi:type="partialinterpretation:BooleanElement" name="true" valueSet="true" value="true"/>
42 <newElements xsi:type="partialinterpretation:BooleanElement" name="false" valueSet="true"/>
43 <partialtypeinterpratation xsi:type="partialinterpretation:PartialBooleanInterpretation" elements="//@newElements.0 //@newElements.1"/>
44 <partialtypeinterpratation xsi:type="partialinterpretation:PartialIntegerInterpretation" elements="//@openWorldElements.0"/>
45 <partialtypeinterpratation xsi:type="partialinterpretation:PartialRealInterpretation" elements="//@openWorldElements.1"/>
46 <partialtypeinterpratation xsi:type="partialinterpretation:PartialStringInterpretation" elements="//@openWorldElements.2"/>
47 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.0">
48 <elements href="outputs/debug/generation.logicproblem#//@elements.0"/>
49 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.0"/>
50 </partialtypeinterpratation>
51 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.1" supertypeInterpretation="//@partialtypeinterpratation.4">
52 <elements href="outputs/debug/generation.logicproblem#//@elements.0"/>
53 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.1"/>
54 </partialtypeinterpratation>
55 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.2">
56 <elements href="outputs/debug/generation.logicproblem#//@elements.1"/>
57 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.2"/>
58 </partialtypeinterpratation>
59 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.3" supertypeInterpretation="//@partialtypeinterpratation.6">
60 <elements href="outputs/debug/generation.logicproblem#//@elements.1"/>
61 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.3"/>
62 </partialtypeinterpratation>
63 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.4" supertypeInterpretation="//@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
64 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.4"/>
65 </partialtypeinterpratation>
66 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.5">
67 <elements href="outputs/debug/generation.logicproblem#//@elements.2"/>
68 <elements href="outputs/debug/generation.logicproblem#//@elements.3"/>
69 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.5"/>
70 </partialtypeinterpratation>
71 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.6">
72 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.6"/>
73 </partialtypeinterpratation>
74 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.7" supertypeInterpretation="//@partialtypeinterpratation.10">
75 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.7"/>
76 </partialtypeinterpratation>
77 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.8" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
78 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.8"/>
79 </partialtypeinterpratation>
80 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.9" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
81 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.9"/>
82 </partialtypeinterpratation>
83 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.10" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
84 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.10"/>
85 </partialtypeinterpratation>
86 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.11" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
87 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.11"/>
88 </partialtypeinterpratation>
89 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.12" supertypeInterpretation="//@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
90 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.12"/>
91 </partialtypeinterpratation>
92 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.13" supertypeInterpretation="//@partialtypeinterpratation.9">
93 <elements href="outputs/debug/generation.logicproblem#//@elements.2"/>
94 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.13"/>
95 </partialtypeinterpratation>
96 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.14" supertypeInterpretation="//@partialtypeinterpratation.9">
97 <elements href="outputs/debug/generation.logicproblem#//@elements.3"/>
98 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.14"/>
99 </partialtypeinterpratation>
100 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.15" supertypeInterpretation="//@partialtypeinterpratation.4">
101 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.16"/>
102 </partialtypeinterpratation>
103 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.16" supertypeInterpretation="//@partialtypeinterpratation.5 //@partialtypeinterpratation.4 //@partialtypeinterpratation.19">
104 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.18"/>
105 </partialtypeinterpratation>
106 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.17" supertypeInterpretation="//@partialtypeinterpratation.6">
107 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.20"/>
108 </partialtypeinterpratation>
109 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.18" supertypeInterpretation="//@partialtypeinterpratation.7 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
110 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.22"/>
111 </partialtypeinterpratation>
112 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.19" supertypeInterpretation="//@partialtypeinterpratation.9">
113 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.24"/>
114 </partialtypeinterpratation>
115 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.20" supertypeInterpretation="//@partialtypeinterpratation.17 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
116 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.26"/>
117 </partialtypeinterpratation>
118 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.21" supertypeInterpretation="//@partialtypeinterpratation.18 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
119 <interpretationOf href="outputs/debug/generation.logicproblem#//@types.28"/>
120 </partialtypeinterpratation>
121 <openWorldElements xsi:type="partialinterpretation:IntegerElement" name="New Integers"/>
122 <openWorldElements xsi:type="partialinterpretation:RealElement" name="New Reals"/>
123 <openWorldElements xsi:type="partialinterpretation:StringElement" name="New Strings"/>
124 <openWorldElements name="New Objects"/>
125 <scopes targetTypeInterpretation="//@partialtypeinterpratation.4"/>
126 <scopes targetTypeInterpretation="//@partialtypeinterpratation.5"/>
127 <scopes targetTypeInterpretation="//@partialtypeinterpratation.6"/>
128 <scopes targetTypeInterpretation="//@partialtypeinterpratation.7"/>
129 <scopes targetTypeInterpretation="//@partialtypeinterpratation.8"/>
130 <scopes targetTypeInterpretation="//@partialtypeinterpratation.9"/>
131 <scopes targetTypeInterpretation="//@partialtypeinterpratation.10"/>
132 <scopes targetTypeInterpretation="//@partialtypeinterpratation.11"/>
133 <scopes targetTypeInterpretation="//@partialtypeinterpratation.12"/>
134 <scopes targetTypeInterpretation="//@partialtypeinterpratation.13"/>
135 <scopes targetTypeInterpretation="//@partialtypeinterpratation.14"/>
136 <scopes targetTypeInterpretation="//@partialtypeinterpratation.15"/>
137 <scopes targetTypeInterpretation="//@partialtypeinterpratation.16"/>
138 <scopes targetTypeInterpretation="//@partialtypeinterpratation.17"/>
139 <scopes targetTypeInterpretation="//@partialtypeinterpratation.18"/>
140 <scopes targetTypeInterpretation="//@partialtypeinterpratation.19"/>
141 <scopes targetTypeInterpretation="//@partialtypeinterpratation.20"/>
142 <scopes targetTypeInterpretation="//@partialtypeinterpratation.21"/>
143 <scopes targetTypeInterpretation="//@partialtypeinterpratation.22"/>
144 <scopes targetTypeInterpretation="//@partialtypeinterpratation.23"/>
145 <scopes targetTypeInterpretation="//@partialtypeinterpratation.24"/>
146 <scopes targetTypeInterpretation="//@partialtypeinterpratation.25"/>
147</partialinterpretation:PartialInterpretation>
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
new file mode 100644
index 00000000..c96a951c
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run2/generated3valued.vql_deactivated
@@ -0,0 +1,3000 @@
1import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage"
2import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem"
3import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language"
4
5//////////
6// 0. Util
7//////////
8private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) {
9 PartialInterpretation.problem(interpretation,problem);
10}
11
12/////////////////////////
13// 0.1 Existence
14/////////////////////////
15private pattern mustExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
16 find interpretation(problem,interpretation);
17 LogicProblem.elements(problem,element);
18} or {
19 find interpretation(problem,interpretation);
20 PartialInterpretation.newElements(interpretation,element);
21}
22
23private pattern mayExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
24 find mustExist(problem,interpretation,element);
25} or {
26 find interpretation(problem,interpretation);
27 neg find elementCloseWorld(element);
28 PartialInterpretation.openWorldElements(interpretation,element);
29}
30
31private pattern elementCloseWorld(element:DefinedElement) {
32 PartialInterpretation.openWorldElements(i,element);
33 PartialInterpretation.maxNewElements(i,0);
34} or {
35 Scope.targetTypeInterpretation(scope,interpretation);
36 PartialTypeInterpratation.elements(interpretation,element);
37 Scope.maxNewElements(scope,0);
38}
39
40////////////////////////
41// 0.2 Equivalence
42////////////////////////
43pattern mayEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
44 find mayExist(problem,interpretation,a);
45 find mayExist(problem,interpretation,b);
46 a == b;
47}
48pattern mustEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
49 find mustExist(problem,interpretation,a);
50 find mustExist(problem,interpretation,b);
51 a == b;
52}
53
54////////////////////////
55// 0.3 Required Patterns by TypeIndexer
56////////////////////////
57private pattern typeInterpretation(problem:LogicProblem, interpretation:PartialInterpretation, type:TypeDeclaration, typeInterpretation:PartialComplexTypeInterpretation) {
58 find interpretation(problem,interpretation);
59 LogicProblem.types(problem,type);
60 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
61 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
62}
63
64private pattern directInstanceOf(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, type:Type) {
65 find interpretation(problem,interpretation);
66 LogicProblem.types(problem,type);
67 TypeDefinition.elements(type,element);
68} or {
69 find interpretation(problem,interpretation);
70 find typeInterpretation(problem,interpretation,type,typeInterpretation);
71 PartialComplexTypeInterpretation.elements(typeInterpretation,element);
72}
73
74private pattern isPrimitive(element: PrimitiveElement) {
75 PrimitiveElement(element);
76}
77
78//////////
79// 1. Problem-Specific Base Indexers
80//////////
81// 1.1 Type Indexers
82//////////
83// 1.1.1 primitive Type Indexers
84//////////
85
86//////////
87// 1.1.2 domain-specific Type Indexers
88//////////
89/**
90 * An element must be an instance of type "ConstellationMission class".
91 */
92private pattern mustInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
93 Type.name(type,"ConstellationMission class");
94 find directInstanceOf(problem,interpretation,element,type);
95}
96private pattern scopeDisallowsNewConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation) {
97 find interpretation(problem,interpretation);
98 PartialInterpretation.scopes(interpretation,scope);
99 Scope.targetTypeInterpretation(scope,typeInterpretation);
100 Scope.maxNewElements(scope,0);
101 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
102 Type.name(type,"ConstellationMission class");
103}
104
105/**
106 * An element may be an instance of type "ConstellationMission class".
107 */
108private pattern mayInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
109{
110 find interpretation(problem,interpretation);
111 PartialInterpretation.newElements(interpretation,element);
112 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
113 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
114 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
115 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
116 neg find mustInstanceOfPayload_class(problem,interpretation,element);
117 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
118 neg find isPrimitive(element);
119} or {
120 find interpretation(problem,interpretation);
121 PartialInterpretation.openWorldElements(interpretation,element);
122 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
123 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
124 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
125 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
126 neg find mustInstanceOfPayload_class(problem,interpretation,element);
127 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
128 neg find isPrimitive(element);
129} or
130{ find mustInstanceOfConstellationMission_class(problem,interpretation,element); }
131/**
132 * An element must be an instance of type "InterferometryMission class".
133 */
134private pattern mustInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
135 Type.name(type,"InterferometryMission class");
136 find directInstanceOf(problem,interpretation,element,type);
137}
138private pattern scopeDisallowsNewInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation) {
139 find interpretation(problem,interpretation);
140 PartialInterpretation.scopes(interpretation,scope);
141 Scope.targetTypeInterpretation(scope,typeInterpretation);
142 Scope.maxNewElements(scope,0);
143 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
144 Type.name(type,"InterferometryMission class");
145}
146
147/**
148 * An element may be an instance of type "InterferometryMission class".
149 */
150private pattern mayInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
151{
152 find interpretation(problem,interpretation);
153 PartialInterpretation.newElements(interpretation,element);
154 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
155 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
156 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
157 neg find mustInstanceOfPayload_class(problem,interpretation,element);
158 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
159 neg find isPrimitive(element);
160} or {
161 find interpretation(problem,interpretation);
162 PartialInterpretation.openWorldElements(interpretation,element);
163 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
164 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
165 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
166 neg find mustInstanceOfPayload_class(problem,interpretation,element);
167 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
168 neg find isPrimitive(element);
169} or
170{ find mustInstanceOfInterferometryMission_class(problem,interpretation,element); }
171/**
172 * An element must be an instance of type "CommunicatingElement class".
173 */
174private pattern mustInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
175 Type.name(type,"CommunicatingElement class");
176 find directInstanceOf(problem,interpretation,element,type);
177}
178private pattern scopeDisallowsNewCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation) {
179 find interpretation(problem,interpretation);
180 PartialInterpretation.scopes(interpretation,scope);
181 Scope.targetTypeInterpretation(scope,typeInterpretation);
182 Scope.maxNewElements(scope,0);
183 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
184 Type.name(type,"CommunicatingElement class");
185}
186
187/**
188 * An element may be an instance of type "CommunicatingElement class".
189 */
190private pattern mayInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
191{
192 find interpretation(problem,interpretation);
193 PartialInterpretation.newElements(interpretation,element);
194 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
195 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
196 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
197 neg find mustInstanceOfPayload_class(problem,interpretation,element);
198 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
199 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
200 neg find isPrimitive(element);
201} or {
202 find interpretation(problem,interpretation);
203 PartialInterpretation.openWorldElements(interpretation,element);
204 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
205 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
206 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
207 neg find mustInstanceOfPayload_class(problem,interpretation,element);
208 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
209 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
210 neg find isPrimitive(element);
211} or
212{ find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); }
213/**
214 * An element must be an instance of type "GroundStationNetwork class".
215 */
216private pattern mustInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
217 Type.name(type,"GroundStationNetwork class");
218 find directInstanceOf(problem,interpretation,element,type);
219}
220private pattern scopeDisallowsNewGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation) {
221 find interpretation(problem,interpretation);
222 PartialInterpretation.scopes(interpretation,scope);
223 Scope.targetTypeInterpretation(scope,typeInterpretation);
224 Scope.maxNewElements(scope,0);
225 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
226 Type.name(type,"GroundStationNetwork class");
227}
228
229/**
230 * An element may be an instance of type "GroundStationNetwork class".
231 */
232private pattern mayInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
233{
234 find interpretation(problem,interpretation);
235 PartialInterpretation.newElements(interpretation,element);
236 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
237 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
238 neg find mustInstanceOfPayload_class(problem,interpretation,element);
239 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
240 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
241 neg find isPrimitive(element);
242} or {
243 find interpretation(problem,interpretation);
244 PartialInterpretation.openWorldElements(interpretation,element);
245 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
246 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
247 neg find mustInstanceOfPayload_class(problem,interpretation,element);
248 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
249 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
250 neg find isPrimitive(element);
251} or
252{ find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); }
253/**
254 * An element must be an instance of type "Spacecraft class".
255 */
256private pattern mustInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
257 Type.name(type,"Spacecraft class");
258 find directInstanceOf(problem,interpretation,element,type);
259}
260private pattern scopeDisallowsNewSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation) {
261 find interpretation(problem,interpretation);
262 PartialInterpretation.scopes(interpretation,scope);
263 Scope.targetTypeInterpretation(scope,typeInterpretation);
264 Scope.maxNewElements(scope,0);
265 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
266 Type.name(type,"Spacecraft class");
267}
268
269/**
270 * An element may be an instance of type "Spacecraft class".
271 */
272private pattern mayInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
273{
274 find interpretation(problem,interpretation);
275 PartialInterpretation.newElements(interpretation,element);
276 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
277 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
278 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
279 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
280 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
281 neg find mustInstanceOfPayload_class(problem,interpretation,element);
282 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
283 neg find isPrimitive(element);
284} or {
285 find interpretation(problem,interpretation);
286 PartialInterpretation.openWorldElements(interpretation,element);
287 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
288 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
289 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
290 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
291 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
292 neg find mustInstanceOfPayload_class(problem,interpretation,element);
293 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
294 neg find isPrimitive(element);
295} or
296{ find mustInstanceOfSpacecraft_class(problem,interpretation,element); }
297/**
298 * An element must be an instance of type "CommSubsystem class".
299 */
300private pattern mustInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
301 Type.name(type,"CommSubsystem class");
302 find directInstanceOf(problem,interpretation,element,type);
303}
304private pattern scopeDisallowsNewCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
305 find interpretation(problem,interpretation);
306 PartialInterpretation.scopes(interpretation,scope);
307 Scope.targetTypeInterpretation(scope,typeInterpretation);
308 Scope.maxNewElements(scope,0);
309 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
310 Type.name(type,"CommSubsystem class");
311}
312
313/**
314 * An element may be an instance of type "CommSubsystem class".
315 */
316private pattern mayInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
317{
318 find interpretation(problem,interpretation);
319 PartialInterpretation.newElements(interpretation,element);
320 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
321 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
322 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
323 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
324 neg find mustInstanceOfPayload_class(problem,interpretation,element);
325 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
326 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
327 neg find isPrimitive(element);
328} or {
329 find interpretation(problem,interpretation);
330 PartialInterpretation.openWorldElements(interpretation,element);
331 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
332 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
333 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
334 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
335 neg find mustInstanceOfPayload_class(problem,interpretation,element);
336 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
337 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
338 neg find isPrimitive(element);
339} or
340{ find mustInstanceOfCommSubsystem_class(problem,interpretation,element); }
341/**
342 * An element must be an instance of type "Payload class".
343 */
344private pattern mustInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
345 Type.name(type,"Payload class");
346 find directInstanceOf(problem,interpretation,element,type);
347}
348private pattern scopeDisallowsNewPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) {
349 find interpretation(problem,interpretation);
350 PartialInterpretation.scopes(interpretation,scope);
351 Scope.targetTypeInterpretation(scope,typeInterpretation);
352 Scope.maxNewElements(scope,0);
353 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
354 Type.name(type,"Payload class");
355}
356
357/**
358 * An element may be an instance of type "Payload class".
359 */
360private pattern mayInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
361{
362 find interpretation(problem,interpretation);
363 PartialInterpretation.newElements(interpretation,element);
364 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
365 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
366 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
367 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
368 neg find scopeDisallowsNewPayload_class(problem, interpretation);
369 neg find isPrimitive(element);
370} or {
371 find interpretation(problem,interpretation);
372 PartialInterpretation.openWorldElements(interpretation,element);
373 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
374 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
375 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
376 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
377 neg find scopeDisallowsNewPayload_class(problem, interpretation);
378 neg find isPrimitive(element);
379} or
380{ find mustInstanceOfPayload_class(problem,interpretation,element); }
381/**
382 * An element must be an instance of type "InterferometryPayload class".
383 */
384private pattern mustInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
385 Type.name(type,"InterferometryPayload class");
386 find directInstanceOf(problem,interpretation,element,type);
387}
388private pattern scopeDisallowsNewInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) {
389 find interpretation(problem,interpretation);
390 PartialInterpretation.scopes(interpretation,scope);
391 Scope.targetTypeInterpretation(scope,typeInterpretation);
392 Scope.maxNewElements(scope,0);
393 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
394 Type.name(type,"InterferometryPayload class");
395}
396
397/**
398 * An element may be an instance of type "InterferometryPayload class".
399 */
400private pattern mayInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
401{
402 find interpretation(problem,interpretation);
403 PartialInterpretation.newElements(interpretation,element);
404 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
405 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
406 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
407 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
408 neg find isPrimitive(element);
409} or {
410 find interpretation(problem,interpretation);
411 PartialInterpretation.openWorldElements(interpretation,element);
412 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
413 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
414 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
415 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
416 neg find isPrimitive(element);
417} or
418{ find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); }
419/**
420 * An element must be an instance of type "CubeSat3U class".
421 */
422private pattern mustInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
423 Type.name(type,"CubeSat3U class");
424 find directInstanceOf(problem,interpretation,element,type);
425}
426private pattern scopeDisallowsNewCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation) {
427 find interpretation(problem,interpretation);
428 PartialInterpretation.scopes(interpretation,scope);
429 Scope.targetTypeInterpretation(scope,typeInterpretation);
430 Scope.maxNewElements(scope,0);
431 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
432 Type.name(type,"CubeSat3U class");
433}
434
435/**
436 * An element may be an instance of type "CubeSat3U class".
437 */
438private pattern mayInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
439{
440 find interpretation(problem,interpretation);
441 PartialInterpretation.newElements(interpretation,element);
442 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
443 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
444 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
445 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
446 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
447 neg find mustInstanceOfPayload_class(problem,interpretation,element);
448 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
449 neg find isPrimitive(element);
450} or {
451 find interpretation(problem,interpretation);
452 PartialInterpretation.openWorldElements(interpretation,element);
453 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
454 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
455 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
456 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
457 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
458 neg find mustInstanceOfPayload_class(problem,interpretation,element);
459 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
460 neg find isPrimitive(element);
461} or
462{ find mustInstanceOfCubeSat3U_class(problem,interpretation,element); }
463/**
464 * An element must be an instance of type "CubeSat6U class".
465 */
466private pattern mustInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
467 Type.name(type,"CubeSat6U class");
468 find directInstanceOf(problem,interpretation,element,type);
469}
470private pattern scopeDisallowsNewCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation) {
471 find interpretation(problem,interpretation);
472 PartialInterpretation.scopes(interpretation,scope);
473 Scope.targetTypeInterpretation(scope,typeInterpretation);
474 Scope.maxNewElements(scope,0);
475 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
476 Type.name(type,"CubeSat6U class");
477}
478
479/**
480 * An element may be an instance of type "CubeSat6U class".
481 */
482private pattern mayInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
483{
484 find interpretation(problem,interpretation);
485 PartialInterpretation.newElements(interpretation,element);
486 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
487 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
488 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
489 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
490 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
491 neg find mustInstanceOfPayload_class(problem,interpretation,element);
492 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
493 neg find isPrimitive(element);
494} or {
495 find interpretation(problem,interpretation);
496 PartialInterpretation.openWorldElements(interpretation,element);
497 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
498 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
499 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
500 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
501 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
502 neg find mustInstanceOfPayload_class(problem,interpretation,element);
503 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
504 neg find isPrimitive(element);
505} or
506{ find mustInstanceOfCubeSat6U_class(problem,interpretation,element); }
507/**
508 * An element must be an instance of type "SmallSat class".
509 */
510private pattern mustInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
511 Type.name(type,"SmallSat class");
512 find directInstanceOf(problem,interpretation,element,type);
513}
514private pattern scopeDisallowsNewSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation) {
515 find interpretation(problem,interpretation);
516 PartialInterpretation.scopes(interpretation,scope);
517 Scope.targetTypeInterpretation(scope,typeInterpretation);
518 Scope.maxNewElements(scope,0);
519 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
520 Type.name(type,"SmallSat class");
521}
522
523/**
524 * An element may be an instance of type "SmallSat class".
525 */
526private pattern mayInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
527{
528 find interpretation(problem,interpretation);
529 PartialInterpretation.newElements(interpretation,element);
530 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
531 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
532 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
533 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
534 neg find mustInstanceOfPayload_class(problem,interpretation,element);
535 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
536 neg find isPrimitive(element);
537} or {
538 find interpretation(problem,interpretation);
539 PartialInterpretation.openWorldElements(interpretation,element);
540 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
541 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
542 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
543 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
544 neg find mustInstanceOfPayload_class(problem,interpretation,element);
545 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
546 neg find isPrimitive(element);
547} or
548{ find mustInstanceOfSmallSat_class(problem,interpretation,element); }
549/**
550 * An element must be an instance of type "CubeSat class".
551 */
552private pattern mustInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
553 Type.name(type,"CubeSat class");
554 find directInstanceOf(problem,interpretation,element,type);
555}
556private pattern scopeDisallowsNewCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation) {
557 find interpretation(problem,interpretation);
558 PartialInterpretation.scopes(interpretation,scope);
559 Scope.targetTypeInterpretation(scope,typeInterpretation);
560 Scope.maxNewElements(scope,0);
561 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
562 Type.name(type,"CubeSat class");
563}
564
565/**
566 * An element may be an instance of type "CubeSat class".
567 */
568private pattern mayInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
569{
570 find interpretation(problem,interpretation);
571 PartialInterpretation.newElements(interpretation,element);
572 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
573 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
574 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
575 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
576 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
577 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
578 neg find mustInstanceOfPayload_class(problem,interpretation,element);
579 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
580 neg find isPrimitive(element);
581} or {
582 find interpretation(problem,interpretation);
583 PartialInterpretation.openWorldElements(interpretation,element);
584 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
585 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
586 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
587 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
588 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
589 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
590 neg find mustInstanceOfPayload_class(problem,interpretation,element);
591 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
592 neg find isPrimitive(element);
593} or
594{ find mustInstanceOfCubeSat_class(problem,interpretation,element); }
595/**
596 * An element must be an instance of type "UHFCommSubsystem class".
597 */
598private pattern mustInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
599 Type.name(type,"UHFCommSubsystem class");
600 find directInstanceOf(problem,interpretation,element,type);
601}
602private pattern scopeDisallowsNewUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
603 find interpretation(problem,interpretation);
604 PartialInterpretation.scopes(interpretation,scope);
605 Scope.targetTypeInterpretation(scope,typeInterpretation);
606 Scope.maxNewElements(scope,0);
607 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
608 Type.name(type,"UHFCommSubsystem class");
609}
610
611/**
612 * An element may be an instance of type "UHFCommSubsystem class".
613 */
614private pattern mayInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
615{
616 find interpretation(problem,interpretation);
617 PartialInterpretation.newElements(interpretation,element);
618 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
619 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
620 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
621 neg find mustInstanceOfPayload_class(problem,interpretation,element);
622 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
623 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
624 neg find isPrimitive(element);
625} or {
626 find interpretation(problem,interpretation);
627 PartialInterpretation.openWorldElements(interpretation,element);
628 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
629 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
630 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
631 neg find mustInstanceOfPayload_class(problem,interpretation,element);
632 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
633 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
634 neg find isPrimitive(element);
635} or
636{ find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); }
637/**
638 * An element must be an instance of type "XCommSubsystem class".
639 */
640private pattern mustInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
641 Type.name(type,"XCommSubsystem class");
642 find directInstanceOf(problem,interpretation,element,type);
643}
644private pattern scopeDisallowsNewXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
645 find interpretation(problem,interpretation);
646 PartialInterpretation.scopes(interpretation,scope);
647 Scope.targetTypeInterpretation(scope,typeInterpretation);
648 Scope.maxNewElements(scope,0);
649 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
650 Type.name(type,"XCommSubsystem class");
651}
652
653/**
654 * An element may be an instance of type "XCommSubsystem class".
655 */
656private pattern mayInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
657{
658 find interpretation(problem,interpretation);
659 PartialInterpretation.newElements(interpretation,element);
660 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
661 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
662 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
663 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
664 neg find mustInstanceOfPayload_class(problem,interpretation,element);
665 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
666 neg find isPrimitive(element);
667} or {
668 find interpretation(problem,interpretation);
669 PartialInterpretation.openWorldElements(interpretation,element);
670 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
671 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
672 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
673 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
674 neg find mustInstanceOfPayload_class(problem,interpretation,element);
675 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
676 neg find isPrimitive(element);
677} or
678{ find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); }
679/**
680 * An element must be an instance of type "KaCommSubsystem class".
681 */
682private pattern mustInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
683 Type.name(type,"KaCommSubsystem class");
684 find directInstanceOf(problem,interpretation,element,type);
685}
686private pattern scopeDisallowsNewKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
687 find interpretation(problem,interpretation);
688 PartialInterpretation.scopes(interpretation,scope);
689 Scope.targetTypeInterpretation(scope,typeInterpretation);
690 Scope.maxNewElements(scope,0);
691 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
692 Type.name(type,"KaCommSubsystem class");
693}
694
695/**
696 * An element may be an instance of type "KaCommSubsystem class".
697 */
698private pattern mayInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
699{
700 find interpretation(problem,interpretation);
701 PartialInterpretation.newElements(interpretation,element);
702 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
703 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
704 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
705 neg find mustInstanceOfPayload_class(problem,interpretation,element);
706 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
707 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
708 neg find isPrimitive(element);
709} or {
710 find interpretation(problem,interpretation);
711 PartialInterpretation.openWorldElements(interpretation,element);
712 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
713 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
714 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
715 neg find mustInstanceOfPayload_class(problem,interpretation,element);
716 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
717 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
718 neg find isPrimitive(element);
719} or
720{ find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); }
721/**
722 * An element must be an instance of type "ConstellationMission class DefinedPart".
723 */
724private pattern mustInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
725 Type.name(type,"ConstellationMission class DefinedPart");
726 find directInstanceOf(problem,interpretation,element,type);
727}
728private pattern scopeDisallowsNewConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
729 find interpretation(problem,interpretation);
730 PartialInterpretation.scopes(interpretation,scope);
731 Scope.targetTypeInterpretation(scope,typeInterpretation);
732 Scope.maxNewElements(scope,0);
733 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
734 Type.name(type,"ConstellationMission class DefinedPart");
735}
736
737/**
738 * An element may be an instance of type "ConstellationMission class DefinedPart".
739 */
740private pattern mayInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
741{ find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,element); }
742/**
743 * An element must be an instance of type "ConstellationMission class UndefinedPart".
744 */
745private pattern mustInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
746 Type.name(type,"ConstellationMission class UndefinedPart");
747 find directInstanceOf(problem,interpretation,element,type);
748}
749private pattern scopeDisallowsNewConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
750 find interpretation(problem,interpretation);
751 PartialInterpretation.scopes(interpretation,scope);
752 Scope.targetTypeInterpretation(scope,typeInterpretation);
753 Scope.maxNewElements(scope,0);
754 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
755 Type.name(type,"ConstellationMission class UndefinedPart");
756}
757
758/**
759 * An element may be an instance of type "ConstellationMission class UndefinedPart".
760 */
761private pattern mayInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
762{
763 find interpretation(problem,interpretation);
764 PartialInterpretation.newElements(interpretation,element);
765 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
766 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
767 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
768 neg find mustInstanceOfPayload_class(problem,interpretation,element);
769 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
770 neg find isPrimitive(element);
771} or {
772 find interpretation(problem,interpretation);
773 PartialInterpretation.openWorldElements(interpretation,element);
774 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
775 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
776 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
777 neg find mustInstanceOfPayload_class(problem,interpretation,element);
778 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
779 neg find isPrimitive(element);
780} or
781{ find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); }
782/**
783 * An element must be an instance of type "InterferometryMission class DefinedPart".
784 */
785private pattern mustInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
786 Type.name(type,"InterferometryMission class DefinedPart");
787 find directInstanceOf(problem,interpretation,element,type);
788}
789private pattern scopeDisallowsNewInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
790 find interpretation(problem,interpretation);
791 PartialInterpretation.scopes(interpretation,scope);
792 Scope.targetTypeInterpretation(scope,typeInterpretation);
793 Scope.maxNewElements(scope,0);
794 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
795 Type.name(type,"InterferometryMission class DefinedPart");
796}
797
798/**
799 * An element may be an instance of type "InterferometryMission class DefinedPart".
800 */
801private pattern mayInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
802{ find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,element); }
803/**
804 * An element must be an instance of type "InterferometryMission class UndefinedPart".
805 */
806private pattern mustInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
807 Type.name(type,"InterferometryMission class UndefinedPart");
808 find directInstanceOf(problem,interpretation,element,type);
809}
810private pattern scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
811 find interpretation(problem,interpretation);
812 PartialInterpretation.scopes(interpretation,scope);
813 Scope.targetTypeInterpretation(scope,typeInterpretation);
814 Scope.maxNewElements(scope,0);
815 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
816 Type.name(type,"InterferometryMission class UndefinedPart");
817}
818
819/**
820 * An element may be an instance of type "InterferometryMission class UndefinedPart".
821 */
822private pattern mayInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
823{
824 find interpretation(problem,interpretation);
825 PartialInterpretation.newElements(interpretation,element);
826 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
827 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
828 neg find mustInstanceOfPayload_class(problem,interpretation,element);
829 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
830 neg find isPrimitive(element);
831} or {
832 find interpretation(problem,interpretation);
833 PartialInterpretation.openWorldElements(interpretation,element);
834 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
835 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
836 neg find mustInstanceOfPayload_class(problem,interpretation,element);
837 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
838 neg find isPrimitive(element);
839} or
840{ find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); }
841/**
842 * An element must be an instance of type "CommunicatingElement class DefinedPart".
843 */
844private pattern mustInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
845 Type.name(type,"CommunicatingElement class DefinedPart");
846 find directInstanceOf(problem,interpretation,element,type);
847}
848private pattern scopeDisallowsNewCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
849 find interpretation(problem,interpretation);
850 PartialInterpretation.scopes(interpretation,scope);
851 Scope.targetTypeInterpretation(scope,typeInterpretation);
852 Scope.maxNewElements(scope,0);
853 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
854 Type.name(type,"CommunicatingElement class DefinedPart");
855}
856
857/**
858 * An element may be an instance of type "CommunicatingElement class DefinedPart".
859 */
860private pattern mayInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
861{ find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,element); }
862/**
863 * An element must be an instance of type "CommunicatingElement class UndefinedPart".
864 */
865private pattern mustInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
866 Type.name(type,"CommunicatingElement class UndefinedPart");
867 find directInstanceOf(problem,interpretation,element,type);
868}
869private pattern scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
870 find interpretation(problem,interpretation);
871 PartialInterpretation.scopes(interpretation,scope);
872 Scope.targetTypeInterpretation(scope,typeInterpretation);
873 Scope.maxNewElements(scope,0);
874 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
875 Type.name(type,"CommunicatingElement class UndefinedPart");
876}
877
878/**
879 * An element may be an instance of type "CommunicatingElement class UndefinedPart".
880 */
881private pattern mayInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
882{
883 find interpretation(problem,interpretation);
884 PartialInterpretation.newElements(interpretation,element);
885 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
886 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
887 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
888 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
889 neg find mustInstanceOfPayload_class(problem,interpretation,element);
890 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
891 neg find isPrimitive(element);
892} or {
893 find interpretation(problem,interpretation);
894 PartialInterpretation.openWorldElements(interpretation,element);
895 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
896 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
897 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
898 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
899 neg find mustInstanceOfPayload_class(problem,interpretation,element);
900 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
901 neg find isPrimitive(element);
902} or
903{ find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); }
904/**
905 * An element must be an instance of type "GroundStationNetwork class DefinedPart".
906 */
907private pattern mustInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
908 Type.name(type,"GroundStationNetwork class DefinedPart");
909 find directInstanceOf(problem,interpretation,element,type);
910}
911private pattern scopeDisallowsNewGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
912 find interpretation(problem,interpretation);
913 PartialInterpretation.scopes(interpretation,scope);
914 Scope.targetTypeInterpretation(scope,typeInterpretation);
915 Scope.maxNewElements(scope,0);
916 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
917 Type.name(type,"GroundStationNetwork class DefinedPart");
918}
919
920/**
921 * An element may be an instance of type "GroundStationNetwork class DefinedPart".
922 */
923private pattern mayInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
924{ find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,element); }
925/**
926 * An element must be an instance of type "GroundStationNetwork class UndefinedPart".
927 */
928private pattern mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
929 Type.name(type,"GroundStationNetwork class UndefinedPart");
930 find directInstanceOf(problem,interpretation,element,type);
931}
932private pattern scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
933 find interpretation(problem,interpretation);
934 PartialInterpretation.scopes(interpretation,scope);
935 Scope.targetTypeInterpretation(scope,typeInterpretation);
936 Scope.maxNewElements(scope,0);
937 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
938 Type.name(type,"GroundStationNetwork class UndefinedPart");
939}
940
941/**
942 * An element may be an instance of type "GroundStationNetwork class UndefinedPart".
943 */
944private pattern mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
945{
946 find interpretation(problem,interpretation);
947 PartialInterpretation.newElements(interpretation,element);
948 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
949 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
950 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
951 neg find mustInstanceOfPayload_class(problem,interpretation,element);
952 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
953 neg find isPrimitive(element);
954} or {
955 find interpretation(problem,interpretation);
956 PartialInterpretation.openWorldElements(interpretation,element);
957 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
958 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
959 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
960 neg find mustInstanceOfPayload_class(problem,interpretation,element);
961 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
962 neg find isPrimitive(element);
963} or
964{ find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); }
965/**
966 * An element must be an instance of type "CommSubsystem class DefinedPart".
967 */
968private pattern mustInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
969 Type.name(type,"CommSubsystem class DefinedPart");
970 find directInstanceOf(problem,interpretation,element,type);
971}
972private pattern scopeDisallowsNewCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
973 find interpretation(problem,interpretation);
974 PartialInterpretation.scopes(interpretation,scope);
975 Scope.targetTypeInterpretation(scope,typeInterpretation);
976 Scope.maxNewElements(scope,0);
977 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
978 Type.name(type,"CommSubsystem class DefinedPart");
979}
980
981/**
982 * An element may be an instance of type "CommSubsystem class DefinedPart".
983 */
984private pattern mayInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
985{ find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,element); }
986/**
987 * An element must be an instance of type "CommSubsystem class UndefinedPart".
988 */
989private pattern mustInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
990 Type.name(type,"CommSubsystem class UndefinedPart");
991 find directInstanceOf(problem,interpretation,element,type);
992}
993private pattern scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
994 find interpretation(problem,interpretation);
995 PartialInterpretation.scopes(interpretation,scope);
996 Scope.targetTypeInterpretation(scope,typeInterpretation);
997 Scope.maxNewElements(scope,0);
998 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
999 Type.name(type,"CommSubsystem class UndefinedPart");
1000}
1001
1002/**
1003 * An element may be an instance of type "CommSubsystem class UndefinedPart".
1004 */
1005private pattern mayInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1006{
1007 find interpretation(problem,interpretation);
1008 PartialInterpretation.newElements(interpretation,element);
1009 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1010 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1011 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1012 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1013 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1014 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1015 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1016 neg find isPrimitive(element);
1017} or {
1018 find interpretation(problem,interpretation);
1019 PartialInterpretation.openWorldElements(interpretation,element);
1020 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1021 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1022 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1023 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1024 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1025 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1026 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1027 neg find isPrimitive(element);
1028} or
1029{ find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1030/**
1031 * An element must be an instance of type "XCommSubsystem class DefinedPart".
1032 */
1033private pattern mustInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1034 Type.name(type,"XCommSubsystem class DefinedPart");
1035 find directInstanceOf(problem,interpretation,element,type);
1036}
1037private pattern scopeDisallowsNewXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1038 find interpretation(problem,interpretation);
1039 PartialInterpretation.scopes(interpretation,scope);
1040 Scope.targetTypeInterpretation(scope,typeInterpretation);
1041 Scope.maxNewElements(scope,0);
1042 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1043 Type.name(type,"XCommSubsystem class DefinedPart");
1044}
1045
1046/**
1047 * An element may be an instance of type "XCommSubsystem class DefinedPart".
1048 */
1049private pattern mayInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1050{ find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1051/**
1052 * An element must be an instance of type "XCommSubsystem class UndefinedPart".
1053 */
1054private pattern mustInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1055 Type.name(type,"XCommSubsystem class UndefinedPart");
1056 find directInstanceOf(problem,interpretation,element,type);
1057}
1058private pattern scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1059 find interpretation(problem,interpretation);
1060 PartialInterpretation.scopes(interpretation,scope);
1061 Scope.targetTypeInterpretation(scope,typeInterpretation);
1062 Scope.maxNewElements(scope,0);
1063 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1064 Type.name(type,"XCommSubsystem class UndefinedPart");
1065}
1066
1067/**
1068 * An element may be an instance of type "XCommSubsystem class UndefinedPart".
1069 */
1070private pattern mayInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1071{
1072 find interpretation(problem,interpretation);
1073 PartialInterpretation.newElements(interpretation,element);
1074 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1075 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1076 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1077 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1078 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1079 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1080 neg find isPrimitive(element);
1081} or {
1082 find interpretation(problem,interpretation);
1083 PartialInterpretation.openWorldElements(interpretation,element);
1084 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1085 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1086 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1087 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1088 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1089 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1090 neg find isPrimitive(element);
1091} or
1092{ find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1093/**
1094 * An element must be an instance of type "KaCommSubsystem class DefinedPart".
1095 */
1096private pattern mustInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1097 Type.name(type,"KaCommSubsystem class DefinedPart");
1098 find directInstanceOf(problem,interpretation,element,type);
1099}
1100private pattern scopeDisallowsNewKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1101 find interpretation(problem,interpretation);
1102 PartialInterpretation.scopes(interpretation,scope);
1103 Scope.targetTypeInterpretation(scope,typeInterpretation);
1104 Scope.maxNewElements(scope,0);
1105 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1106 Type.name(type,"KaCommSubsystem class DefinedPart");
1107}
1108
1109/**
1110 * An element may be an instance of type "KaCommSubsystem class DefinedPart".
1111 */
1112private pattern mayInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1113{ find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1114/**
1115 * An element must be an instance of type "KaCommSubsystem class UndefinedPart".
1116 */
1117private pattern mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1118 Type.name(type,"KaCommSubsystem class UndefinedPart");
1119 find directInstanceOf(problem,interpretation,element,type);
1120}
1121private pattern scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1122 find interpretation(problem,interpretation);
1123 PartialInterpretation.scopes(interpretation,scope);
1124 Scope.targetTypeInterpretation(scope,typeInterpretation);
1125 Scope.maxNewElements(scope,0);
1126 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1127 Type.name(type,"KaCommSubsystem class UndefinedPart");
1128}
1129
1130/**
1131 * An element may be an instance of type "KaCommSubsystem class UndefinedPart".
1132 */
1133private pattern mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1134{
1135 find interpretation(problem,interpretation);
1136 PartialInterpretation.newElements(interpretation,element);
1137 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1138 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1139 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1140 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1141 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1142 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1143 neg find isPrimitive(element);
1144} or {
1145 find interpretation(problem,interpretation);
1146 PartialInterpretation.openWorldElements(interpretation,element);
1147 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1148 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1149 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1150 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1151 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1152 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1153 neg find isPrimitive(element);
1154} or
1155{ find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1156
1157//////////
1158// 1.2 Relation Declaration Indexers
1159//////////
1160/**
1161 * Matcher for detecting tuples t where []groundStationNetwork reference ConstellationMission(source,target)
1162 */
1163private pattern mustInRelationgroundStationNetwork_reference_ConstellationMission(
1164 problem:LogicProblem, interpretation:PartialInterpretation,
1165 source: DefinedElement, target:DefinedElement)
1166{
1167 find interpretation(problem,interpretation);
1168 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1169 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission");
1170 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1171 BinaryElementRelationLink.param1(link,source);
1172 BinaryElementRelationLink.param2(link,target);
1173}
1174/**
1175 * Matcher for detecting tuples t where <>groundStationNetwork reference ConstellationMission(source,target)
1176 */
1177private pattern mayInRelationgroundStationNetwork_reference_ConstellationMission(
1178 problem:LogicProblem, interpretation:PartialInterpretation,
1179 source: DefinedElement, target:DefinedElement)
1180{
1181 find interpretation(problem,interpretation);
1182 // The two endpoint of the link have to exist
1183 find mayExist(problem, interpretation, source);
1184 find mayExist(problem, interpretation, target);
1185 // Type consistency
1186 find mayInstanceOfConstellationMission_class(problem,interpretation,source);
1187 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,target);
1188 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1189 // the upper bound of the multiplicity should be considered.
1190 numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,_);
1191 check(numberOfExistingReferences < 1);
1192 // The reference is containment, then a new reference cannot be create if:
1193 // 1. Multiple parents
1194 neg find mustContains4(problem,interpretation,_,target);
1195 // 2. Circle in the containment hierarchy
1196 neg find mustTransitiveContains(source,target);
1197} or {
1198 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target);
1199}
1200/**
1201 * Matcher for detecting tuples t where []spacecraft reference ConstellationMission(source,target)
1202 */
1203private pattern mustInRelationspacecraft_reference_ConstellationMission(
1204 problem:LogicProblem, interpretation:PartialInterpretation,
1205 source: DefinedElement, target:DefinedElement)
1206{
1207 find interpretation(problem,interpretation);
1208 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1209 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission");
1210 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1211 BinaryElementRelationLink.param1(link,source);
1212 BinaryElementRelationLink.param2(link,target);
1213}
1214/**
1215 * Matcher for detecting tuples t where <>spacecraft reference ConstellationMission(source,target)
1216 */
1217private pattern mayInRelationspacecraft_reference_ConstellationMission(
1218 problem:LogicProblem, interpretation:PartialInterpretation,
1219 source: DefinedElement, target:DefinedElement)
1220{
1221 find interpretation(problem,interpretation);
1222 // The two endpoint of the link have to exist
1223 find mayExist(problem, interpretation, source);
1224 find mayExist(problem, interpretation, target);
1225 // Type consistency
1226 find mayInstanceOfConstellationMission_class(problem,interpretation,source);
1227 find mayInstanceOfSpacecraft_class(problem,interpretation,target);
1228 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1229 // the upper bound of the multiplicity should be considered.
1230 numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,_);
1231 check(numberOfExistingReferences < 50);
1232 // The reference is containment, then a new reference cannot be create if:
1233 // 1. Multiple parents
1234 neg find mustContains4(problem,interpretation,_,target);
1235 // 2. Circle in the containment hierarchy
1236 neg find mustTransitiveContains(source,target);
1237} or {
1238 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target);
1239}
1240/**
1241 * Matcher for detecting tuples t where []commSubsystem reference CommunicatingElement(source,target)
1242 */
1243private pattern mustInRelationcommSubsystem_reference_CommunicatingElement(
1244 problem:LogicProblem, interpretation:PartialInterpretation,
1245 source: DefinedElement, target:DefinedElement)
1246{
1247 find interpretation(problem,interpretation);
1248 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1249 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement");
1250 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1251 BinaryElementRelationLink.param1(link,source);
1252 BinaryElementRelationLink.param2(link,target);
1253}
1254/**
1255 * Matcher for detecting tuples t where <>commSubsystem reference CommunicatingElement(source,target)
1256 */
1257private pattern mayInRelationcommSubsystem_reference_CommunicatingElement(
1258 problem:LogicProblem, interpretation:PartialInterpretation,
1259 source: DefinedElement, target:DefinedElement)
1260{
1261 find interpretation(problem,interpretation);
1262 // The two endpoint of the link have to exist
1263 find mayExist(problem, interpretation, source);
1264 find mayExist(problem, interpretation, target);
1265 // Type consistency
1266 find mayInstanceOfCommunicatingElement_class(problem,interpretation,source);
1267 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1268 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1269 // the upper bound of the multiplicity should be considered.
1270 numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,_);
1271 check(numberOfExistingReferences < 2);
1272 // The reference is containment, then a new reference cannot be create if:
1273 // 1. Multiple parents
1274 neg find mustContains4(problem,interpretation,_,target);
1275 // 2. Circle in the containment hierarchy
1276 neg find mustTransitiveContains(source,target);
1277} or {
1278 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target);
1279}
1280/**
1281 * Matcher for detecting tuples t where []payload reference Spacecraft(source,target)
1282 */
1283private pattern mustInRelationpayload_reference_Spacecraft(
1284 problem:LogicProblem, interpretation:PartialInterpretation,
1285 source: DefinedElement, target:DefinedElement)
1286{
1287 find interpretation(problem,interpretation);
1288 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1289 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"payload reference Spacecraft");
1290 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1291 BinaryElementRelationLink.param1(link,source);
1292 BinaryElementRelationLink.param2(link,target);
1293}
1294/**
1295 * Matcher for detecting tuples t where <>payload reference Spacecraft(source,target)
1296 */
1297private pattern mayInRelationpayload_reference_Spacecraft(
1298 problem:LogicProblem, interpretation:PartialInterpretation,
1299 source: DefinedElement, target:DefinedElement)
1300{
1301 find interpretation(problem,interpretation);
1302 // The two endpoint of the link have to exist
1303 find mayExist(problem, interpretation, source);
1304 find mayExist(problem, interpretation, target);
1305 // Type consistency
1306 find mayInstanceOfSpacecraft_class(problem,interpretation,source);
1307 find mayInstanceOfPayload_class(problem,interpretation,target);
1308 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1309 // the upper bound of the multiplicity should be considered.
1310 numberOfExistingReferences == count find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,_);
1311 check(numberOfExistingReferences < 1);
1312 // The reference is containment, then a new reference cannot be create if:
1313 // 1. Multiple parents
1314 neg find mustContains4(problem,interpretation,_,target);
1315 // 2. Circle in the containment hierarchy
1316 neg find mustTransitiveContains(source,target);
1317} or {
1318 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target);
1319}
1320/**
1321 * Matcher for detecting tuples t where []target reference CommSubsystem(source,target)
1322 */
1323private pattern mustInRelationtarget_reference_CommSubsystem(
1324 problem:LogicProblem, interpretation:PartialInterpretation,
1325 source: DefinedElement, target:DefinedElement)
1326{
1327 find interpretation(problem,interpretation);
1328 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1329 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
1330 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1331 BinaryElementRelationLink.param1(link,source);
1332 BinaryElementRelationLink.param2(link,target);
1333}
1334/**
1335 * Matcher for detecting tuples t where <>target reference CommSubsystem(source,target)
1336 */
1337private pattern mayInRelationtarget_reference_CommSubsystem(
1338 problem:LogicProblem, interpretation:PartialInterpretation,
1339 source: DefinedElement, target:DefinedElement)
1340{
1341 find interpretation(problem,interpretation);
1342 // The two endpoint of the link have to exist
1343 find mayExist(problem, interpretation, source);
1344 find mayExist(problem, interpretation, target);
1345 // Type consistency
1346 find mayInstanceOfCommSubsystem_class(problem,interpretation,source);
1347 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1348 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1349 // the upper bound of the multiplicity should be considered.
1350 numberOfExistingReferences == count find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,_);
1351 check(numberOfExistingReferences < 1);
1352} or {
1353 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,target);
1354}
1355
1356//////////
1357// 1.3 Relation Definition Indexers
1358//////////
1359// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement
1360private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1361 problem:LogicProblem, interpretation:PartialInterpretation,
1362 var_Element)
1363{
1364 find interpretation(problem,interpretation);
1365 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1366 // Element is exported
1367 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1368 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1369 neg find mayEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1370}
1371private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1372 problem:LogicProblem, interpretation:PartialInterpretation,
1373 var_Element)
1374{
1375 find interpretation(problem,interpretation);
1376 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1377 // Element is exported
1378 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1379 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1380 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1381}
1382private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1383 problem:LogicProblem, interpretation:PartialInterpretation,
1384 var_Element)
1385{
1386 find interpretation(problem,interpretation);
1387 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1388 // Element is exported
1389 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1390 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1391 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1392}
1393// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries transmittingCommSubsystem
1394private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1395 problem:LogicProblem, interpretation:PartialInterpretation,
1396 var_Element, var_Comm)
1397{
1398 find interpretation(problem,interpretation);
1399 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1400 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1401 // Element is exported
1402 // Comm is exported
1403 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1404 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1405 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1406 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1407 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1408 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1409 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1410 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1411}
1412private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1413 problem:LogicProblem, interpretation:PartialInterpretation,
1414 var_Element, var_Comm)
1415{
1416 find interpretation(problem,interpretation);
1417 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1418 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1419 // Element is exported
1420 // Comm is exported
1421 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1422 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1423 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1424 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
1425 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1426 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1427 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1428 find mayEquivalent(problem, interpretation, var_virtual1, _var__0);
1429}
1430private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1431 problem:LogicProblem, interpretation:PartialInterpretation,
1432 var_Element, var_Comm)
1433{
1434 find interpretation(problem,interpretation);
1435 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1436 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1437 // Element is exported
1438 // Comm is exported
1439 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1440 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1441 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1442 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1443 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1444 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1445 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1446 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1447}
1448// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads
1449private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1450 problem:LogicProblem, interpretation:PartialInterpretation,
1451 var_Mission)
1452{
1453 find interpretation(problem,interpretation);
1454 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1455 // Mission is exported
1456 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1457 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1458}
1459private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1460 problem:LogicProblem, interpretation:PartialInterpretation,
1461 var_Mission)
1462{
1463 find interpretation(problem,interpretation);
1464 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1465 // Mission is exported
1466 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1467 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1468}
1469private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1470 problem:LogicProblem, interpretation:PartialInterpretation,
1471 var_Mission)
1472{
1473 find interpretation(problem,interpretation);
1474 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1475 // Mission is exported
1476 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1477 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1478}
1479// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads
1480private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1481 problem:LogicProblem, interpretation:PartialInterpretation,
1482 var_Mission)
1483{
1484 find interpretation(problem,interpretation);
1485 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1486 // Mission is exported
1487 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1488 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1489 neg find mayEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1490}
1491private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1492 problem:LogicProblem, interpretation:PartialInterpretation,
1493 var_Mission)
1494{
1495 find interpretation(problem,interpretation);
1496 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1497 // Mission is exported
1498 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1499 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1500 neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1501}
1502private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1503 problem:LogicProblem, interpretation:PartialInterpretation,
1504 var_Mission)
1505{
1506 find interpretation(problem,interpretation);
1507 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1508 // Mission is exported
1509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1510 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1511 neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1512}
1513// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload
1514private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1515 problem:LogicProblem, interpretation:PartialInterpretation,
1516 var_Mission, var_Spacecraft)
1517{
1518 find interpretation(problem,interpretation);
1519 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1520 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1521 // Mission is exported
1522 // Spacecraft is exported
1523 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1524 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1525 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1526 find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1527 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1528 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1529 find mustInstanceOfPayload_class(problem,interpretation,var_virtual1);
1530 find mustEquivalent(problem, interpretation, var_virtual1, var_Payload);
1531 find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1532}
1533private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1534 problem:LogicProblem, interpretation:PartialInterpretation,
1535 var_Mission, var_Spacecraft)
1536{
1537 find interpretation(problem,interpretation);
1538 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1539 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1540 // Mission is exported
1541 // Spacecraft is exported
1542 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1543 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1544 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1545 find mayEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1546 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1547 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1548 find mayInstanceOfPayload_class(problem,interpretation,var_virtual1);
1549 find mayEquivalent(problem, interpretation, var_virtual1, var_Payload);
1550 find mayInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1551}
1552private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1553 problem:LogicProblem, interpretation:PartialInterpretation,
1554 var_Mission, var_Spacecraft)
1555{
1556 find interpretation(problem,interpretation);
1557 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1558 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1559 // Mission is exported
1560 // Spacecraft is exported
1561 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1562 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1563 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1564 find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1565 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1566 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1567 find mustInstanceOfPayload_class(problem,interpretation,var_virtual1);
1568 find mustEquivalent(problem, interpretation, var_virtual1, var_Payload);
1569 find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1570}
1571// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation
1572private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1573 problem:LogicProblem, interpretation:PartialInterpretation,
1574 var_Spacecraft)
1575{
1576 find interpretation(problem,interpretation);
1577 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1578 // Spacecraft is exported
1579 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1580 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1581 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1582 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1583 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1584 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1585 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1586 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1587 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1588}
1589private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1590 problem:LogicProblem, interpretation:PartialInterpretation,
1591 var_Spacecraft)
1592{
1593 find interpretation(problem,interpretation);
1594 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1595 // Spacecraft is exported
1596 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1597 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1598 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1599 find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1600 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1601 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1602 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1603 find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1604 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1605}
1606private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1607 problem:LogicProblem, interpretation:PartialInterpretation,
1608 var_Spacecraft)
1609{
1610 find interpretation(problem,interpretation);
1611 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1612 // Spacecraft is exported
1613 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1614 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1615 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1616 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1617 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1618 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1619 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1620 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1621 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1622}
1623// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation
1624private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1625 problem:LogicProblem, interpretation:PartialInterpretation,
1626 var_Spacecraft)
1627{
1628 find interpretation(problem,interpretation);
1629 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1630 // Spacecraft is exported
1631 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1632 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1633 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1634 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1635 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1636 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1637 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1638 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1639 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1640}
1641private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1642 problem:LogicProblem, interpretation:PartialInterpretation,
1643 var_Spacecraft)
1644{
1645 find interpretation(problem,interpretation);
1646 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1647 // Spacecraft is exported
1648 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1649 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1650 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1651 find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1652 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1653 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1654 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1655 find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1656 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1657}
1658private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1659 problem:LogicProblem, interpretation:PartialInterpretation,
1660 var_Spacecraft)
1661{
1662 find interpretation(problem,interpretation);
1663 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1664 // Spacecraft is exported
1665 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1666 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1667 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1668 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1669 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1670 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1671 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1672 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1673 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1674}
1675// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed
1676private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1677 problem:LogicProblem, interpretation:PartialInterpretation,
1678 var_From, var_To)
1679{
1680 find interpretation(problem,interpretation);
1681 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1682 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1683 // From is exported
1684 // To is exported
1685 find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1686}
1687private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1688 problem:LogicProblem, interpretation:PartialInterpretation,
1689 var_From, var_To)
1690{
1691 find interpretation(problem,interpretation);
1692 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1693 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1694 // From is exported
1695 // To is exported
1696 find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1697}
1698private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1699 problem:LogicProblem, interpretation:PartialInterpretation,
1700 var_From, var_To)
1701{
1702 find interpretation(problem,interpretation);
1703 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1704 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1705 // From is exported
1706 // To is exported
1707 find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1708}
1709// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed
1710private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1711 problem:LogicProblem, interpretation:PartialInterpretation,
1712 var_From, var_To)
1713{
1714 find interpretation(problem,interpretation);
1715 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1716 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1717 // From is exported
1718 // To is exported
1719 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1720 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1721}or{
1722 find interpretation(problem,interpretation);
1723 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1724 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1725 // From is exported
1726 // To is exported
1727 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1728 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1729}or{
1730 find interpretation(problem,interpretation);
1731 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1732 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1733 // From is exported
1734 // To is exported
1735 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1736 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1737 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1738}
1739private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1740 problem:LogicProblem, interpretation:PartialInterpretation,
1741 var_From, var_To)
1742{
1743 find interpretation(problem,interpretation);
1744 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1745 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1746 // From is exported
1747 // To is exported
1748 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1749 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1750}or{
1751 find interpretation(problem,interpretation);
1752 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1753 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1754 // From is exported
1755 // To is exported
1756 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1757 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1758}or{
1759 find interpretation(problem,interpretation);
1760 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1761 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1762 // From is exported
1763 // To is exported
1764 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1765 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1766 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1767}
1768private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1769 problem:LogicProblem, interpretation:PartialInterpretation,
1770 var_From, var_To)
1771{
1772 find interpretation(problem,interpretation);
1773 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1774 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1775 // From is exported
1776 // To is exported
1777 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1778 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1779}or{
1780 find interpretation(problem,interpretation);
1781 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1782 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1783 // From is exported
1784 // To is exported
1785 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1786 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1787}or{
1788 find interpretation(problem,interpretation);
1789 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1790 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1791 // From is exported
1792 // To is exported
1793 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1794 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1795 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1796}
1797private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1798 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1799}
1800private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1801 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1802}
1803private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1804 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1805}
1806// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna
1807private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1808 problem:LogicProblem, interpretation:PartialInterpretation,
1809 var_From, var_To)
1810{
1811 find interpretation(problem,interpretation);
1812 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1813 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1814 // From is exported
1815 // To is exported
1816 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1817 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1818 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1819 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1820 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1821 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1822 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1823 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1824 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1825}
1826private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1827 problem:LogicProblem, interpretation:PartialInterpretation,
1828 var_From, var_To)
1829{
1830 find interpretation(problem,interpretation);
1831 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1832 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1833 // From is exported
1834 // To is exported
1835 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1836 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1837 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1838 find mayEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1839 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1840 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1841 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1842 find mayEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1843 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1844}
1845private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1846 problem:LogicProblem, interpretation:PartialInterpretation,
1847 var_From, var_To)
1848{
1849 find interpretation(problem,interpretation);
1850 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1851 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1852 // From is exported
1853 // To is exported
1854 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1855 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1856 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1857 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1858 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1859 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1860 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1861 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1862 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1863}
1864// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingCommSubsystem
1865private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1866 problem:LogicProblem, interpretation:PartialInterpretation,
1867 var_From, var_To)
1868{
1869 find interpretation(problem,interpretation);
1870 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1871 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1872 // From is exported
1873 // To is exported
1874 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1875 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1876}or{
1877 find interpretation(problem,interpretation);
1878 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1879 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1880 // From is exported
1881 // To is exported
1882 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1883 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1884}or{
1885 find interpretation(problem,interpretation);
1886 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1887 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1888 // From is exported
1889 // To is exported
1890 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1891 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1892}
1893private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1894 problem:LogicProblem, interpretation:PartialInterpretation,
1895 var_From, var_To)
1896{
1897 find interpretation(problem,interpretation);
1898 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1899 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1900 // From is exported
1901 // To is exported
1902 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1903 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1904}or{
1905 find interpretation(problem,interpretation);
1906 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1907 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1908 // From is exported
1909 // To is exported
1910 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1911 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1912}or{
1913 find interpretation(problem,interpretation);
1914 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1915 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1916 // From is exported
1917 // To is exported
1918 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1919 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1920}
1921private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1922 problem:LogicProblem, interpretation:PartialInterpretation,
1923 var_From, var_To)
1924{
1925 find interpretation(problem,interpretation);
1926 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1927 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1928 // From is exported
1929 // To is exported
1930 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1931 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1932}or{
1933 find interpretation(problem,interpretation);
1934 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1935 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1936 // From is exported
1937 // To is exported
1938 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1939 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1940}or{
1941 find interpretation(problem,interpretation);
1942 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1943 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1944 // From is exported
1945 // To is exported
1946 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1947 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1948}
1949// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U
1950private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1951 problem:LogicProblem, interpretation:PartialInterpretation,
1952 var_Sat)
1953{
1954 find interpretation(problem,interpretation);
1955 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1956 // Sat is exported
1957 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1958}
1959private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1960 problem:LogicProblem, interpretation:PartialInterpretation,
1961 var_Sat)
1962{
1963 find interpretation(problem,interpretation);
1964 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1965 // Sat is exported
1966 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1967}
1968private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1969 problem:LogicProblem, interpretation:PartialInterpretation,
1970 var_Sat)
1971{
1972 find interpretation(problem,interpretation);
1973 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1974 // Sat is exported
1975 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1976}
1977// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat6U
1978private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1979 problem:LogicProblem, interpretation:PartialInterpretation,
1980 var_Sat)
1981{
1982 find interpretation(problem,interpretation);
1983 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1984 // Sat is exported
1985 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1986}
1987private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1988 problem:LogicProblem, interpretation:PartialInterpretation,
1989 var_Sat)
1990{
1991 find interpretation(problem,interpretation);
1992 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1993 // Sat is exported
1994 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1995}
1996private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1997 problem:LogicProblem, interpretation:PartialInterpretation,
1998 var_Sat)
1999{
2000 find interpretation(problem,interpretation);
2001 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2002 // Sat is exported
2003 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2004}
2005// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop
2006private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2007 problem:LogicProblem, interpretation:PartialInterpretation,
2008 var_Element)
2009{
2010 find interpretation(problem,interpretation);
2011 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2012 // Element is exported
2013 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2014}
2015private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2016 problem:LogicProblem, interpretation:PartialInterpretation,
2017 var_Element)
2018{
2019 find interpretation(problem,interpretation);
2020 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2021 // Element is exported
2022 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2023}
2024private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2025 problem:LogicProblem, interpretation:PartialInterpretation,
2026 var_Element)
2027{
2028 find interpretation(problem,interpretation);
2029 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2030 // Element is exported
2031 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2032}
2033// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink
2034private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2035 problem:LogicProblem, interpretation:PartialInterpretation,
2036 var_Source, var_Target)
2037{
2038 find interpretation(problem,interpretation);
2039 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2040 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2041 // Source is exported
2042 // Target is exported
2043 find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2044}
2045private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2046 problem:LogicProblem, interpretation:PartialInterpretation,
2047 var_Source, var_Target)
2048{
2049 find interpretation(problem,interpretation);
2050 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2051 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2052 // Source is exported
2053 // Target is exported
2054 find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2055}
2056private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2057 problem:LogicProblem, interpretation:PartialInterpretation,
2058 var_Source, var_Target)
2059{
2060 find interpretation(problem,interpretation);
2061 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2062 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2063 // Source is exported
2064 // Target is exported
2065 find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2066}
2067// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink
2068private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2069 problem:LogicProblem, interpretation:PartialInterpretation,
2070 var_Source, var_Target)
2071{
2072 find interpretation(problem,interpretation);
2073 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2074 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2075 // Source is exported
2076 // Target is exported
2077 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2078 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2079 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2080 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2081 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2082 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2083 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2084 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2085 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2086 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2087 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2088 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2089}
2090private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2091 problem:LogicProblem, interpretation:PartialInterpretation,
2092 var_Source, var_Target)
2093{
2094 find interpretation(problem,interpretation);
2095 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2096 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2097 // Source is exported
2098 // Target is exported
2099 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2100 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2101 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2102 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2103 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2104 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2105 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2106 find mayEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2107 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2108 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2109 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2110 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2111}
2112private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2113 problem:LogicProblem, interpretation:PartialInterpretation,
2114 var_Source, var_Target)
2115{
2116 find interpretation(problem,interpretation);
2117 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2118 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2119 // Source is exported
2120 // Target is exported
2121 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2122 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2123 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2124 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2125 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2126 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2127 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2128 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2129 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2130 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2131 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2132 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2133}
2134private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2135 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2136}
2137private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2138 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2139}
2140private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2141 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2142}
2143// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand
2144private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2145 problem:LogicProblem, interpretation:PartialInterpretation,
2146 var_SourceSubsystem)
2147{
2148 find interpretation(problem,interpretation);
2149 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2150 // SourceSubsystem is exported
2151 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2152 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2153 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2154 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2155 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2156}
2157private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2158 problem:LogicProblem, interpretation:PartialInterpretation,
2159 var_SourceSubsystem)
2160{
2161 find interpretation(problem,interpretation);
2162 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2163 // SourceSubsystem is exported
2164 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2165 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2166 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2167 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2168 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2169}
2170private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2171 problem:LogicProblem, interpretation:PartialInterpretation,
2172 var_SourceSubsystem)
2173{
2174 find interpretation(problem,interpretation);
2175 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2176 // SourceSubsystem is exported
2177 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2178 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2179 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2180 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2181 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2182}
2183// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink
2184private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2185 problem:LogicProblem, interpretation:PartialInterpretation,
2186 var_Sat)
2187{
2188 find interpretation(problem,interpretation);
2189 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2190 // Sat is exported
2191 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2192 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2193 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2194 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2195 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2196 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2197 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2198 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2199 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2200 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2201 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2202 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2203 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2204 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2205}
2206private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2207 problem:LogicProblem, interpretation:PartialInterpretation,
2208 var_Sat)
2209{
2210 find interpretation(problem,interpretation);
2211 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2212 // Sat is exported
2213 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2214 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2215 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2216 find mayEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2217 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2218 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2219 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2220 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2221 find mayEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2222 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2223 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2224 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2225 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2226 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2227}
2228private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2229 problem:LogicProblem, interpretation:PartialInterpretation,
2230 var_Sat)
2231{
2232 find interpretation(problem,interpretation);
2233 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2234 // Sat is exported
2235 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2236 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2237 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2238 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2239 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2240 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2241 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2242 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2243 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2244 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2245 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2246 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2247 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2248 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2249}
2250// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf
2251private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2252 problem:LogicProblem, interpretation:PartialInterpretation,
2253 var_Comm)
2254{
2255 find interpretation(problem,interpretation);
2256 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2257 // Comm is exported
2258 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2259}
2260private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2261 problem:LogicProblem, interpretation:PartialInterpretation,
2262 var_Comm)
2263{
2264 find interpretation(problem,interpretation);
2265 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2266 // Comm is exported
2267 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2268}
2269private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2270 problem:LogicProblem, interpretation:PartialInterpretation,
2271 var_Comm)
2272{
2273 find interpretation(problem,interpretation);
2274 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2275 // Comm is exported
2276 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2277}
2278// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork
2279private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2280 problem:LogicProblem, interpretation:PartialInterpretation,
2281 var_Network)
2282{
2283 find interpretation(problem,interpretation);
2284 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2285 // Network is exported
2286 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2287}
2288private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2289 problem:LogicProblem, interpretation:PartialInterpretation,
2290 var_Network)
2291{
2292 find interpretation(problem,interpretation);
2293 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2294 // Network is exported
2295 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2296}
2297private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2298 problem:LogicProblem, interpretation:PartialInterpretation,
2299 var_Network)
2300{
2301 find interpretation(problem,interpretation);
2302 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2303 // Network is exported
2304 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2305}
2306// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna
2307private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2308 problem:LogicProblem, interpretation:PartialInterpretation,
2309 var_Spacecraft)
2310{
2311 find interpretation(problem,interpretation);
2312 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2313 // Spacecraft is exported
2314 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2315 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2316 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2317 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2318 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2319 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2320}
2321private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2322 problem:LogicProblem, interpretation:PartialInterpretation,
2323 var_Spacecraft)
2324{
2325 find interpretation(problem,interpretation);
2326 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2327 // Spacecraft is exported
2328 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2329 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2330 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2331 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
2332 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2333 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2334}
2335private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2336 problem:LogicProblem, interpretation:PartialInterpretation,
2337 var_Spacecraft)
2338{
2339 find interpretation(problem,interpretation);
2340 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2341 // Spacecraft is exported
2342 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2343 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2344 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2345 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2346 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2347 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2348}
2349// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries smallSat
2350private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2351 problem:LogicProblem, interpretation:PartialInterpretation,
2352 var_Sat)
2353{
2354 find interpretation(problem,interpretation);
2355 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2356 // Sat is exported
2357 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2358}
2359private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2360 problem:LogicProblem, interpretation:PartialInterpretation,
2361 var_Sat)
2362{
2363 find interpretation(problem,interpretation);
2364 find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2365 // Sat is exported
2366 find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2367}
2368private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2369 problem:LogicProblem, interpretation:PartialInterpretation,
2370 var_Sat)
2371{
2372 find interpretation(problem,interpretation);
2373 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2374 // Sat is exported
2375 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2376}
2377
2378//////////
2379// 1.4 Containment Indexer
2380//////////
2381private pattern mustContains2(source: DefinedElement, target: DefinedElement) {
2382 find mustContains4(_,_,source,target);
2383}
2384
2385private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation,
2386 source: DefinedElement, target: DefinedElement)
2387 { find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target); }or
2388
2389 { find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target); }or
2390
2391 { find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); }or
2392
2393 { find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); }
2394
2395private pattern mustTransitiveContains(source,target) {
2396 find mustContains2+(source,target);
2397}
2398
2399//////////
2400// 2. Invalidation Indexers
2401//////////
2402// 2.1 Invalidated by WF Queries
2403//////////
2404pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2405 var_Element)
2406{
2407 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2408}
2409pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2410 var_Mission)
2411{
2412 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission);
2413}
2414pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2415 var_Spacecraft)
2416{
2417 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft);
2418}
2419pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2420 var_Spacecraft)
2421{
2422 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft);
2423}
2424pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation,
2425 var_Element)
2426{
2427 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2428}
2429pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2430 var_SourceSubsystem)
2431{
2432 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2433}
2434pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2435 var_Sat)
2436{
2437 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat);
2438}
2439pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation,
2440 var_Spacecraft)
2441{
2442 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft);
2443}
2444
2445//////////
2446// 3. Unfinishedness Indexers
2447//////////
2448// 3.1 Unfinishedness Measured by Multiplicity
2449//////////
2450pattern unfinishedLowerMultiplicity_groundStationNetwork_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2451 find interpretation(problem,interpretation);
2452 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2453 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission");
2454 find mustInstanceOfConstellationMission_class(problem,interpretation,object);
2455 numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,object,_);
2456 check(numberOfExistingReferences < 1);
2457 missingMultiplicity == eval(1-numberOfExistingReferences);
2458}
2459pattern unfinishedLowerMultiplicity_spacecraft_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2460 find interpretation(problem,interpretation);
2461 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2462 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission");
2463 find mustInstanceOfConstellationMission_class(problem,interpretation,object);
2464 numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,object,_);
2465 check(numberOfExistingReferences < 2);
2466 missingMultiplicity == eval(2-numberOfExistingReferences);
2467}
2468pattern unfinishedLowerMultiplicity_commSubsystem_reference_CommunicatingElement(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2469 find interpretation(problem,interpretation);
2470 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2471 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement");
2472 find mustInstanceOfCommunicatingElement_class(problem,interpretation,object);
2473 numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,object,_);
2474 check(numberOfExistingReferences < 1);
2475 missingMultiplicity == eval(1-numberOfExistingReferences);
2476}
2477
2478//////////
2479// 3.2 Unfinishedness Measured by WF Queries
2480//////////
2481pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2482 var_Element)
2483{
2484 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2485}
2486pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2487 var_Mission)
2488{
2489 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission);
2490}
2491pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2492 var_Spacecraft)
2493{
2494 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft);
2495}
2496pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2497 var_Spacecraft)
2498{
2499 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft);
2500}
2501pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation,
2502 var_Element)
2503{
2504 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2505}
2506pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2507 var_SourceSubsystem)
2508{
2509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2510}
2511pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2512 var_Sat)
2513{
2514 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat);
2515}
2516pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation,
2517 var_Spacecraft)
2518{
2519 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft);
2520}
2521
2522//////////
2523// 4. Refinement Indexers
2524//////////
2525// 4.1 Object constructors
2526//////////
2527private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
2528{
2529 find interpretation(problem,interpretation);
2530 find mustInstanceOfCommunicatingElement_class(problem,interpretation,root);
2531 find mustExist(problem, interpretation, root);
2532}or{
2533 find interpretation(problem,interpretation);
2534 find mustInstanceOfConstellationMission_class(problem,interpretation,root);
2535 find mustExist(problem, interpretation, root);
2536}or{
2537 find interpretation(problem,interpretation);
2538 find mustInstanceOfInterferometryPayload_class(problem,interpretation,root);
2539 find mustExist(problem, interpretation, root);
2540}or{
2541 find interpretation(problem,interpretation);
2542 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root);
2543 find mustExist(problem, interpretation, root);
2544}or{
2545 find interpretation(problem,interpretation);
2546 find mustInstanceOfCommSubsystem_class(problem,interpretation,root);
2547 find mustExist(problem, interpretation, root);
2548}or{
2549 find interpretation(problem,interpretation);
2550 find mustInstanceOfPayload_class(problem,interpretation,root);
2551 find mustExist(problem, interpretation, root);
2552}or{
2553 find interpretation(problem,interpretation);
2554 find mustInstanceOfCubeSat6U_class(problem,interpretation,root);
2555 find mustExist(problem, interpretation, root);
2556}or{
2557 find interpretation(problem,interpretation);
2558 find mustInstanceOfXCommSubsystem_class(problem,interpretation,root);
2559 find mustExist(problem, interpretation, root);
2560}or{
2561 find interpretation(problem,interpretation);
2562 find mustInstanceOfCubeSat3U_class(problem,interpretation,root);
2563 find mustExist(problem, interpretation, root);
2564}or{
2565 find interpretation(problem,interpretation);
2566 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,root);
2567 find mustExist(problem, interpretation, root);
2568}or{
2569 find interpretation(problem,interpretation);
2570 find mustInstanceOfSpacecraft_class(problem,interpretation,root);
2571 find mustExist(problem, interpretation, root);
2572}or{
2573 find interpretation(problem,interpretation);
2574 find mustInstanceOfInterferometryMission_class(problem,interpretation,root);
2575 find mustExist(problem, interpretation, root);
2576}or{
2577 find interpretation(problem,interpretation);
2578 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,root);
2579 find mustExist(problem, interpretation, root);
2580}or{
2581 find interpretation(problem,interpretation);
2582 find mustInstanceOfSmallSat_class(problem,interpretation,root);
2583 find mustExist(problem, interpretation, root);
2584}or{
2585 find interpretation(problem,interpretation);
2586 find mustInstanceOfCubeSat_class(problem,interpretation,root);
2587 find mustExist(problem, interpretation, root);
2588}or{
2589 find interpretation(problem,interpretation);
2590 find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,root);
2591 find mustExist(problem, interpretation, root);
2592}or{
2593 find interpretation(problem,interpretation);
2594 find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,root);
2595 find mustExist(problem, interpretation, root);
2596}or{
2597 find interpretation(problem,interpretation);
2598 find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,root);
2599 find mustExist(problem, interpretation, root);
2600}or{
2601 find interpretation(problem,interpretation);
2602 find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,root);
2603 find mustExist(problem, interpretation, root);
2604}or{
2605 find interpretation(problem,interpretation);
2606 find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,root);
2607 find mustExist(problem, interpretation, root);
2608}or{
2609 find interpretation(problem,interpretation);
2610 find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,root);
2611 find mustExist(problem, interpretation, root);
2612}or{
2613 find interpretation(problem,interpretation);
2614 find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,root);
2615 find mustExist(problem, interpretation, root);
2616}or{
2617 find interpretation(problem,interpretation);
2618 find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,root);
2619 find mustExist(problem, interpretation, root);
2620}or{
2621 find interpretation(problem,interpretation);
2622 find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,root);
2623 find mustExist(problem, interpretation, root);
2624}or{
2625 find interpretation(problem,interpretation);
2626 find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2627 find mustExist(problem, interpretation, root);
2628}or{
2629 find interpretation(problem,interpretation);
2630 find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,root);
2631 find mustExist(problem, interpretation, root);
2632}or{
2633 find interpretation(problem,interpretation);
2634 find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2635 find mustExist(problem, interpretation, root);
2636}or{
2637 find interpretation(problem,interpretation);
2638 find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,root);
2639 find mustExist(problem, interpretation, root);
2640}or{
2641 find interpretation(problem,interpretation);
2642 find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2643 find mustExist(problem, interpretation, root);
2644}
2645pattern createObject_InterferometryPayload_class_by_payload_reference_Spacecraft(
2646 problem:LogicProblem, interpretation:PartialInterpretation,
2647 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2648 container:DefinedElement)
2649{
2650 find interpretation(problem,interpretation);
2651 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2652 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
2653 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2654 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"payload reference Spacecraft");
2655 find mustInstanceOfSpacecraft_class(problem,interpretation,container);
2656 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2657 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,container,newObject);
2658 find mustExist(problem, interpretation, container);
2659 neg find mustExist(problem, interpretation, newObject);
2660}
2661pattern createObject_InterferometryPayload_class(
2662 problem:LogicProblem, interpretation:PartialInterpretation,
2663 typeInterpretation:PartialComplexTypeInterpretation)
2664{
2665 find interpretation(problem,interpretation);
2666 neg find hasElementInContainment(problem,interpretation);
2667 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2668 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
2669 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2670 find mayExist(problem, interpretation, newObject);
2671 neg find mustExist(problem, interpretation, newObject);
2672}
2673pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission(
2674 problem:LogicProblem, interpretation:PartialInterpretation,
2675 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2676 container:DefinedElement)
2677{
2678 find interpretation(problem,interpretation);
2679 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2680 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
2681 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2682 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2683 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2684 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
2685 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2686 find mustExist(problem, interpretation, container);
2687 neg find mustExist(problem, interpretation, newObject);
2688}
2689pattern createObject_CubeSat6U_class(
2690 problem:LogicProblem, interpretation:PartialInterpretation,
2691 typeInterpretation:PartialComplexTypeInterpretation)
2692{
2693 find interpretation(problem,interpretation);
2694 neg find hasElementInContainment(problem,interpretation);
2695 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2696 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
2697 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
2698 find mayExist(problem, interpretation, newObject);
2699 neg find mustExist(problem, interpretation, newObject);
2700}
2701pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission(
2702 problem:LogicProblem, interpretation:PartialInterpretation,
2703 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2704 container:DefinedElement)
2705{
2706 find interpretation(problem,interpretation);
2707 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2708 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2709 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2710 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission");
2711 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2712 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2713 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject);
2714 find mustExist(problem, interpretation, container);
2715 neg find mustExist(problem, interpretation, newObject);
2716}
2717pattern createObject_GroundStationNetwork_class_UndefinedPart(
2718 problem:LogicProblem, interpretation:PartialInterpretation,
2719 typeInterpretation:PartialComplexTypeInterpretation)
2720{
2721 find interpretation(problem,interpretation);
2722 neg find hasElementInContainment(problem,interpretation);
2723 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2724 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2725 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2726 find mayExist(problem, interpretation, newObject);
2727 neg find mustExist(problem, interpretation, newObject);
2728}
2729pattern createObject_UHFCommSubsystem_class_by_commSubsystem_reference_CommunicatingElement(
2730 problem:LogicProblem, interpretation:PartialInterpretation,
2731 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2732 container:DefinedElement)
2733{
2734 find interpretation(problem,interpretation);
2735 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2736 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
2737 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2738 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2739 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2740 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
2741 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2742 find mustExist(problem, interpretation, container);
2743 neg find mustExist(problem, interpretation, newObject);
2744}
2745pattern createObject_UHFCommSubsystem_class(
2746 problem:LogicProblem, interpretation:PartialInterpretation,
2747 typeInterpretation:PartialComplexTypeInterpretation)
2748{
2749 find interpretation(problem,interpretation);
2750 neg find hasElementInContainment(problem,interpretation);
2751 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2752 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
2753 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
2754 find mayExist(problem, interpretation, newObject);
2755 neg find mustExist(problem, interpretation, newObject);
2756}
2757pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission(
2758 problem:LogicProblem, interpretation:PartialInterpretation,
2759 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2760 container:DefinedElement)
2761{
2762 find interpretation(problem,interpretation);
2763 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2764 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2765 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2766 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2767 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2768 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2769 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2770 find mustExist(problem, interpretation, container);
2771 neg find mustExist(problem, interpretation, newObject);
2772}
2773pattern createObject_SmallSat_class(
2774 problem:LogicProblem, interpretation:PartialInterpretation,
2775 typeInterpretation:PartialComplexTypeInterpretation)
2776{
2777 find interpretation(problem,interpretation);
2778 neg find hasElementInContainment(problem,interpretation);
2779 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2780 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2781 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2782 find mayExist(problem, interpretation, newObject);
2783 neg find mustExist(problem, interpretation, newObject);
2784}
2785pattern createObject_KaCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2786 problem:LogicProblem, interpretation:PartialInterpretation,
2787 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2788 container:DefinedElement)
2789{
2790 find interpretation(problem,interpretation);
2791 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2792 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
2793 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2794 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2795 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2796 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2797 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2798 find mustExist(problem, interpretation, container);
2799 neg find mustExist(problem, interpretation, newObject);
2800}
2801pattern createObject_KaCommSubsystem_class_UndefinedPart(
2802 problem:LogicProblem, interpretation:PartialInterpretation,
2803 typeInterpretation:PartialComplexTypeInterpretation)
2804{
2805 find interpretation(problem,interpretation);
2806 neg find hasElementInContainment(problem,interpretation);
2807 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2808 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
2809 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2810 find mayExist(problem, interpretation, newObject);
2811 neg find mustExist(problem, interpretation, newObject);
2812}
2813pattern createObject_CubeSat3U_class_by_spacecraft_reference_ConstellationMission(
2814 problem:LogicProblem, interpretation:PartialInterpretation,
2815 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2816 container:DefinedElement)
2817{
2818 find interpretation(problem,interpretation);
2819 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2820 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
2821 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2822 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2823 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2824 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
2825 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2826 find mustExist(problem, interpretation, container);
2827 neg find mustExist(problem, interpretation, newObject);
2828}
2829pattern createObject_CubeSat3U_class(
2830 problem:LogicProblem, interpretation:PartialInterpretation,
2831 typeInterpretation:PartialComplexTypeInterpretation)
2832{
2833 find interpretation(problem,interpretation);
2834 neg find hasElementInContainment(problem,interpretation);
2835 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2836 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
2837 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
2838 find mayExist(problem, interpretation, newObject);
2839 neg find mustExist(problem, interpretation, newObject);
2840}
2841pattern createObject_XCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2842 problem:LogicProblem, interpretation:PartialInterpretation,
2843 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2844 container:DefinedElement)
2845{
2846 find interpretation(problem,interpretation);
2847 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2848 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2849 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2850 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2851 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2852 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2853 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2854 find mustExist(problem, interpretation, container);
2855 neg find mustExist(problem, interpretation, newObject);
2856}
2857pattern createObject_XCommSubsystem_class_UndefinedPart(
2858 problem:LogicProblem, interpretation:PartialInterpretation,
2859 typeInterpretation:PartialComplexTypeInterpretation)
2860{
2861 find interpretation(problem,interpretation);
2862 neg find hasElementInContainment(problem,interpretation);
2863 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2864 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2865 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2866 find mayExist(problem, interpretation, newObject);
2867 neg find mustExist(problem, interpretation, newObject);
2868}
2869pattern createObject_InterferometryMission_class_UndefinedPart(
2870 problem:LogicProblem, interpretation:PartialInterpretation,
2871 typeInterpretation:PartialComplexTypeInterpretation)
2872{
2873 find interpretation(problem,interpretation);
2874 neg find hasElementInContainment(problem,interpretation);
2875 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2876 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart");
2877 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject);
2878 find mayExist(problem, interpretation, newObject);
2879 neg find mustExist(problem, interpretation, newObject);
2880}
2881
2882//////////
2883// 4.2 Type refinement
2884//////////
2885pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2886 find interpretation(problem,interpretation);
2887 PartialInterpretation.newElements(interpretation,element);
2888 find mayInstanceOfInterferometryPayload_class(problem,interpretation,element);
2889 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
2890 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2891 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2892 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2893}
2894pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2895 find interpretation(problem,interpretation);
2896 PartialInterpretation.newElements(interpretation,element);
2897 find mayInstanceOfCubeSat6U_class(problem,interpretation,element);
2898 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2899 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2900 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2901 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2902 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2903 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
2904 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2905}
2906pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2907 find interpretation(problem,interpretation);
2908 PartialInterpretation.newElements(interpretation,element);
2909 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2910 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2911 neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2912 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2913 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
2914 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2915}
2916pattern refineTypeTo_UHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2917 find interpretation(problem,interpretation);
2918 PartialInterpretation.newElements(interpretation,element);
2919 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2920 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2921 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2922 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
2923 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2924 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2925 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2926}
2927pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2928 find interpretation(problem,interpretation);
2929 PartialInterpretation.newElements(interpretation,element);
2930 find mayInstanceOfSmallSat_class(problem,interpretation,element);
2931 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2932 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2933 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
2934 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2935 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2936 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2937}
2938pattern refineTypeTo_KaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2939 find interpretation(problem,interpretation);
2940 PartialInterpretation.newElements(interpretation,element);
2941 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2942 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2943 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2944 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2945 neg find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2946 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2947 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2948}
2949pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2950 find interpretation(problem,interpretation);
2951 PartialInterpretation.newElements(interpretation,element);
2952 find mayInstanceOfCubeSat3U_class(problem,interpretation,element);
2953 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2954 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2955 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2956 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2957 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2958 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
2959 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2960}
2961pattern refineTypeTo_XCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2962 find interpretation(problem,interpretation);
2963 PartialInterpretation.newElements(interpretation,element);
2964 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2965 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2966 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2967 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2968 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
2969 neg find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2970 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2971}
2972pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2973 find interpretation(problem,interpretation);
2974 PartialInterpretation.newElements(interpretation,element);
2975 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
2976 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2977 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2978 neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
2979 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2980}
2981
2982//////////
2983// 4.3 Relation refinement
2984//////////
2985pattern refineRelation_target_reference_CommSubsystem(
2986 problem:LogicProblem, interpretation:PartialInterpretation,
2987 relationIterpretation:PartialRelationInterpretation,
2988 from: DefinedElement, to: DefinedElement)
2989{
2990 find interpretation(problem,interpretation);
2991 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2992 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
2993 find mustExist(problem, interpretation, from);
2994 find mustExist(problem, interpretation, to);
2995 find mustInstanceOfCommSubsystem_class(problem,interpretation,from);
2996 find mustInstanceOfCommSubsystem_class(problem,interpretation,to);
2997 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
2998 neg find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
2999}
3000
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
new file mode 100644
index 00000000..01b90968
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run2/init.partialmodel
@@ -0,0 +1,147 @@
1<?xml version="1.0" encoding="ASCII"?>
2<partialinterpretation:PartialInterpretation xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:language="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" xmlns:partialinterpretation="http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" minNewElements="32" maxNewElements="64">
3 <problem href="dummy.dummyext#//@problemConainer"/>
4 <partialrelationinterpretation>
5 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.0"/>
6 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
7 <param1 href="dummy.dummyext#//@problemConainer/@elements.0"/>
8 <param2 href="dummy.dummyext#//@problemConainer/@elements.1"/>
9 </relationlinks>
10 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.0/@parameters.0"/>
11 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.0/@parameters.1"/>
12 </partialrelationinterpretation>
13 <partialrelationinterpretation>
14 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.1"/>
15 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.1/@parameters.0"/>
16 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.1/@parameters.1"/>
17 </partialrelationinterpretation>
18 <partialrelationinterpretation>
19 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.2"/>
20 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
21 <param1 href="dummy.dummyext#//@problemConainer/@elements.1"/>
22 <param2 href="dummy.dummyext#//@problemConainer/@elements.2"/>
23 </relationlinks>
24 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
25 <param1 href="dummy.dummyext#//@problemConainer/@elements.1"/>
26 <param2 href="dummy.dummyext#//@problemConainer/@elements.3"/>
27 </relationlinks>
28 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.2/@parameters.0"/>
29 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.2/@parameters.1"/>
30 </partialrelationinterpretation>
31 <partialrelationinterpretation>
32 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.3"/>
33 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.3/@parameters.0"/>
34 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.3/@parameters.1"/>
35 </partialrelationinterpretation>
36 <partialrelationinterpretation>
37 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.4"/>
38 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.4/@parameters.0"/>
39 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.4/@parameters.1"/>
40 </partialrelationinterpretation>
41 <newElements xsi:type="partialinterpretation:BooleanElement" name="true" valueSet="true" value="true"/>
42 <newElements xsi:type="partialinterpretation:BooleanElement" name="false" valueSet="true"/>
43 <partialtypeinterpratation xsi:type="partialinterpretation:PartialBooleanInterpretation" elements="//@newElements.0 //@newElements.1"/>
44 <partialtypeinterpratation xsi:type="partialinterpretation:PartialIntegerInterpretation" elements="//@openWorldElements.0"/>
45 <partialtypeinterpratation xsi:type="partialinterpretation:PartialRealInterpretation" elements="//@openWorldElements.1"/>
46 <partialtypeinterpratation xsi:type="partialinterpretation:PartialStringInterpretation" elements="//@openWorldElements.2"/>
47 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.0">
48 <elements href="dummy.dummyext#//@problemConainer/@elements.0"/>
49 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.0"/>
50 </partialtypeinterpratation>
51 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.1" supertypeInterpretation="//@partialtypeinterpratation.4">
52 <elements href="dummy.dummyext#//@problemConainer/@elements.0"/>
53 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.1"/>
54 </partialtypeinterpratation>
55 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.2">
56 <elements href="dummy.dummyext#//@problemConainer/@elements.1"/>
57 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.2"/>
58 </partialtypeinterpratation>
59 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.3" supertypeInterpretation="//@partialtypeinterpratation.6">
60 <elements href="dummy.dummyext#//@problemConainer/@elements.1"/>
61 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.3"/>
62 </partialtypeinterpratation>
63 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.4" supertypeInterpretation="//@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
64 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.4"/>
65 </partialtypeinterpratation>
66 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.5">
67 <elements href="dummy.dummyext#//@problemConainer/@elements.2"/>
68 <elements href="dummy.dummyext#//@problemConainer/@elements.3"/>
69 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.5"/>
70 </partialtypeinterpratation>
71 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.6">
72 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.6"/>
73 </partialtypeinterpratation>
74 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.7" supertypeInterpretation="//@partialtypeinterpratation.10">
75 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.7"/>
76 </partialtypeinterpratation>
77 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.8" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
78 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.8"/>
79 </partialtypeinterpratation>
80 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.9" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
81 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.9"/>
82 </partialtypeinterpratation>
83 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.10" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
84 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.10"/>
85 </partialtypeinterpratation>
86 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.11" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
87 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.11"/>
88 </partialtypeinterpratation>
89 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.12" supertypeInterpretation="//@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
90 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.12"/>
91 </partialtypeinterpratation>
92 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.13" supertypeInterpretation="//@partialtypeinterpratation.9">
93 <elements href="dummy.dummyext#//@problemConainer/@elements.2"/>
94 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.13"/>
95 </partialtypeinterpratation>
96 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.14" supertypeInterpretation="//@partialtypeinterpratation.9">
97 <elements href="dummy.dummyext#//@problemConainer/@elements.3"/>
98 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.14"/>
99 </partialtypeinterpratation>
100 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.15" supertypeInterpretation="//@partialtypeinterpratation.4">
101 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.16"/>
102 </partialtypeinterpratation>
103 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.16" supertypeInterpretation="//@partialtypeinterpratation.5 //@partialtypeinterpratation.4 //@partialtypeinterpratation.19">
104 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.18"/>
105 </partialtypeinterpratation>
106 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.17" supertypeInterpretation="//@partialtypeinterpratation.6">
107 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.20"/>
108 </partialtypeinterpratation>
109 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.18" supertypeInterpretation="//@partialtypeinterpratation.7 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
110 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.22"/>
111 </partialtypeinterpratation>
112 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.19" supertypeInterpretation="//@partialtypeinterpratation.9">
113 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.24"/>
114 </partialtypeinterpratation>
115 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.20" supertypeInterpretation="//@partialtypeinterpratation.17 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
116 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.26"/>
117 </partialtypeinterpratation>
118 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.21" supertypeInterpretation="//@partialtypeinterpratation.18 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
119 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.28"/>
120 </partialtypeinterpratation>
121 <openWorldElements xsi:type="partialinterpretation:IntegerElement" name="New Integers"/>
122 <openWorldElements xsi:type="partialinterpretation:RealElement" name="New Reals"/>
123 <openWorldElements xsi:type="partialinterpretation:StringElement" name="New Strings"/>
124 <openWorldElements name="New Objects"/>
125 <scopes targetTypeInterpretation="//@partialtypeinterpratation.4"/>
126 <scopes targetTypeInterpretation="//@partialtypeinterpratation.5"/>
127 <scopes targetTypeInterpretation="//@partialtypeinterpratation.6"/>
128 <scopes targetTypeInterpretation="//@partialtypeinterpratation.7"/>
129 <scopes targetTypeInterpretation="//@partialtypeinterpratation.8"/>
130 <scopes targetTypeInterpretation="//@partialtypeinterpratation.9"/>
131 <scopes targetTypeInterpretation="//@partialtypeinterpratation.10"/>
132 <scopes targetTypeInterpretation="//@partialtypeinterpratation.11"/>
133 <scopes targetTypeInterpretation="//@partialtypeinterpratation.12"/>
134 <scopes targetTypeInterpretation="//@partialtypeinterpratation.13"/>
135 <scopes targetTypeInterpretation="//@partialtypeinterpratation.14"/>
136 <scopes targetTypeInterpretation="//@partialtypeinterpratation.15"/>
137 <scopes targetTypeInterpretation="//@partialtypeinterpratation.16"/>
138 <scopes targetTypeInterpretation="//@partialtypeinterpratation.17"/>
139 <scopes targetTypeInterpretation="//@partialtypeinterpratation.18"/>
140 <scopes targetTypeInterpretation="//@partialtypeinterpratation.19"/>
141 <scopes targetTypeInterpretation="//@partialtypeinterpratation.20"/>
142 <scopes targetTypeInterpretation="//@partialtypeinterpratation.21"/>
143 <scopes targetTypeInterpretation="//@partialtypeinterpratation.22"/>
144 <scopes targetTypeInterpretation="//@partialtypeinterpratation.23"/>
145 <scopes targetTypeInterpretation="//@partialtypeinterpratation.24"/>
146 <scopes targetTypeInterpretation="//@partialtypeinterpratation.25"/>
147</partialinterpretation:PartialInterpretation>
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
new file mode 100644
index 00000000..c96a951c
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run3/generated3valued.vql_deactivated
@@ -0,0 +1,3000 @@
1import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage"
2import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem"
3import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language"
4
5//////////
6// 0. Util
7//////////
8private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) {
9 PartialInterpretation.problem(interpretation,problem);
10}
11
12/////////////////////////
13// 0.1 Existence
14/////////////////////////
15private pattern mustExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
16 find interpretation(problem,interpretation);
17 LogicProblem.elements(problem,element);
18} or {
19 find interpretation(problem,interpretation);
20 PartialInterpretation.newElements(interpretation,element);
21}
22
23private pattern mayExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
24 find mustExist(problem,interpretation,element);
25} or {
26 find interpretation(problem,interpretation);
27 neg find elementCloseWorld(element);
28 PartialInterpretation.openWorldElements(interpretation,element);
29}
30
31private pattern elementCloseWorld(element:DefinedElement) {
32 PartialInterpretation.openWorldElements(i,element);
33 PartialInterpretation.maxNewElements(i,0);
34} or {
35 Scope.targetTypeInterpretation(scope,interpretation);
36 PartialTypeInterpratation.elements(interpretation,element);
37 Scope.maxNewElements(scope,0);
38}
39
40////////////////////////
41// 0.2 Equivalence
42////////////////////////
43pattern mayEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
44 find mayExist(problem,interpretation,a);
45 find mayExist(problem,interpretation,b);
46 a == b;
47}
48pattern mustEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
49 find mustExist(problem,interpretation,a);
50 find mustExist(problem,interpretation,b);
51 a == b;
52}
53
54////////////////////////
55// 0.3 Required Patterns by TypeIndexer
56////////////////////////
57private pattern typeInterpretation(problem:LogicProblem, interpretation:PartialInterpretation, type:TypeDeclaration, typeInterpretation:PartialComplexTypeInterpretation) {
58 find interpretation(problem,interpretation);
59 LogicProblem.types(problem,type);
60 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
61 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
62}
63
64private pattern directInstanceOf(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, type:Type) {
65 find interpretation(problem,interpretation);
66 LogicProblem.types(problem,type);
67 TypeDefinition.elements(type,element);
68} or {
69 find interpretation(problem,interpretation);
70 find typeInterpretation(problem,interpretation,type,typeInterpretation);
71 PartialComplexTypeInterpretation.elements(typeInterpretation,element);
72}
73
74private pattern isPrimitive(element: PrimitiveElement) {
75 PrimitiveElement(element);
76}
77
78//////////
79// 1. Problem-Specific Base Indexers
80//////////
81// 1.1 Type Indexers
82//////////
83// 1.1.1 primitive Type Indexers
84//////////
85
86//////////
87// 1.1.2 domain-specific Type Indexers
88//////////
89/**
90 * An element must be an instance of type "ConstellationMission class".
91 */
92private pattern mustInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
93 Type.name(type,"ConstellationMission class");
94 find directInstanceOf(problem,interpretation,element,type);
95}
96private pattern scopeDisallowsNewConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation) {
97 find interpretation(problem,interpretation);
98 PartialInterpretation.scopes(interpretation,scope);
99 Scope.targetTypeInterpretation(scope,typeInterpretation);
100 Scope.maxNewElements(scope,0);
101 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
102 Type.name(type,"ConstellationMission class");
103}
104
105/**
106 * An element may be an instance of type "ConstellationMission class".
107 */
108private pattern mayInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
109{
110 find interpretation(problem,interpretation);
111 PartialInterpretation.newElements(interpretation,element);
112 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
113 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
114 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
115 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
116 neg find mustInstanceOfPayload_class(problem,interpretation,element);
117 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
118 neg find isPrimitive(element);
119} or {
120 find interpretation(problem,interpretation);
121 PartialInterpretation.openWorldElements(interpretation,element);
122 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
123 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
124 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
125 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
126 neg find mustInstanceOfPayload_class(problem,interpretation,element);
127 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
128 neg find isPrimitive(element);
129} or
130{ find mustInstanceOfConstellationMission_class(problem,interpretation,element); }
131/**
132 * An element must be an instance of type "InterferometryMission class".
133 */
134private pattern mustInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
135 Type.name(type,"InterferometryMission class");
136 find directInstanceOf(problem,interpretation,element,type);
137}
138private pattern scopeDisallowsNewInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation) {
139 find interpretation(problem,interpretation);
140 PartialInterpretation.scopes(interpretation,scope);
141 Scope.targetTypeInterpretation(scope,typeInterpretation);
142 Scope.maxNewElements(scope,0);
143 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
144 Type.name(type,"InterferometryMission class");
145}
146
147/**
148 * An element may be an instance of type "InterferometryMission class".
149 */
150private pattern mayInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
151{
152 find interpretation(problem,interpretation);
153 PartialInterpretation.newElements(interpretation,element);
154 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
155 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
156 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
157 neg find mustInstanceOfPayload_class(problem,interpretation,element);
158 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
159 neg find isPrimitive(element);
160} or {
161 find interpretation(problem,interpretation);
162 PartialInterpretation.openWorldElements(interpretation,element);
163 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
164 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
165 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
166 neg find mustInstanceOfPayload_class(problem,interpretation,element);
167 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
168 neg find isPrimitive(element);
169} or
170{ find mustInstanceOfInterferometryMission_class(problem,interpretation,element); }
171/**
172 * An element must be an instance of type "CommunicatingElement class".
173 */
174private pattern mustInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
175 Type.name(type,"CommunicatingElement class");
176 find directInstanceOf(problem,interpretation,element,type);
177}
178private pattern scopeDisallowsNewCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation) {
179 find interpretation(problem,interpretation);
180 PartialInterpretation.scopes(interpretation,scope);
181 Scope.targetTypeInterpretation(scope,typeInterpretation);
182 Scope.maxNewElements(scope,0);
183 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
184 Type.name(type,"CommunicatingElement class");
185}
186
187/**
188 * An element may be an instance of type "CommunicatingElement class".
189 */
190private pattern mayInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
191{
192 find interpretation(problem,interpretation);
193 PartialInterpretation.newElements(interpretation,element);
194 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
195 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
196 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
197 neg find mustInstanceOfPayload_class(problem,interpretation,element);
198 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
199 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
200 neg find isPrimitive(element);
201} or {
202 find interpretation(problem,interpretation);
203 PartialInterpretation.openWorldElements(interpretation,element);
204 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
205 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
206 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
207 neg find mustInstanceOfPayload_class(problem,interpretation,element);
208 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
209 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
210 neg find isPrimitive(element);
211} or
212{ find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); }
213/**
214 * An element must be an instance of type "GroundStationNetwork class".
215 */
216private pattern mustInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
217 Type.name(type,"GroundStationNetwork class");
218 find directInstanceOf(problem,interpretation,element,type);
219}
220private pattern scopeDisallowsNewGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation) {
221 find interpretation(problem,interpretation);
222 PartialInterpretation.scopes(interpretation,scope);
223 Scope.targetTypeInterpretation(scope,typeInterpretation);
224 Scope.maxNewElements(scope,0);
225 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
226 Type.name(type,"GroundStationNetwork class");
227}
228
229/**
230 * An element may be an instance of type "GroundStationNetwork class".
231 */
232private pattern mayInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
233{
234 find interpretation(problem,interpretation);
235 PartialInterpretation.newElements(interpretation,element);
236 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
237 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
238 neg find mustInstanceOfPayload_class(problem,interpretation,element);
239 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
240 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
241 neg find isPrimitive(element);
242} or {
243 find interpretation(problem,interpretation);
244 PartialInterpretation.openWorldElements(interpretation,element);
245 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
246 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
247 neg find mustInstanceOfPayload_class(problem,interpretation,element);
248 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
249 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
250 neg find isPrimitive(element);
251} or
252{ find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); }
253/**
254 * An element must be an instance of type "Spacecraft class".
255 */
256private pattern mustInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
257 Type.name(type,"Spacecraft class");
258 find directInstanceOf(problem,interpretation,element,type);
259}
260private pattern scopeDisallowsNewSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation) {
261 find interpretation(problem,interpretation);
262 PartialInterpretation.scopes(interpretation,scope);
263 Scope.targetTypeInterpretation(scope,typeInterpretation);
264 Scope.maxNewElements(scope,0);
265 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
266 Type.name(type,"Spacecraft class");
267}
268
269/**
270 * An element may be an instance of type "Spacecraft class".
271 */
272private pattern mayInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
273{
274 find interpretation(problem,interpretation);
275 PartialInterpretation.newElements(interpretation,element);
276 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
277 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
278 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
279 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
280 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
281 neg find mustInstanceOfPayload_class(problem,interpretation,element);
282 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
283 neg find isPrimitive(element);
284} or {
285 find interpretation(problem,interpretation);
286 PartialInterpretation.openWorldElements(interpretation,element);
287 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
288 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
289 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
290 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
291 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
292 neg find mustInstanceOfPayload_class(problem,interpretation,element);
293 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
294 neg find isPrimitive(element);
295} or
296{ find mustInstanceOfSpacecraft_class(problem,interpretation,element); }
297/**
298 * An element must be an instance of type "CommSubsystem class".
299 */
300private pattern mustInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
301 Type.name(type,"CommSubsystem class");
302 find directInstanceOf(problem,interpretation,element,type);
303}
304private pattern scopeDisallowsNewCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
305 find interpretation(problem,interpretation);
306 PartialInterpretation.scopes(interpretation,scope);
307 Scope.targetTypeInterpretation(scope,typeInterpretation);
308 Scope.maxNewElements(scope,0);
309 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
310 Type.name(type,"CommSubsystem class");
311}
312
313/**
314 * An element may be an instance of type "CommSubsystem class".
315 */
316private pattern mayInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
317{
318 find interpretation(problem,interpretation);
319 PartialInterpretation.newElements(interpretation,element);
320 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
321 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
322 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
323 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
324 neg find mustInstanceOfPayload_class(problem,interpretation,element);
325 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
326 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
327 neg find isPrimitive(element);
328} or {
329 find interpretation(problem,interpretation);
330 PartialInterpretation.openWorldElements(interpretation,element);
331 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
332 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
333 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
334 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
335 neg find mustInstanceOfPayload_class(problem,interpretation,element);
336 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
337 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
338 neg find isPrimitive(element);
339} or
340{ find mustInstanceOfCommSubsystem_class(problem,interpretation,element); }
341/**
342 * An element must be an instance of type "Payload class".
343 */
344private pattern mustInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
345 Type.name(type,"Payload class");
346 find directInstanceOf(problem,interpretation,element,type);
347}
348private pattern scopeDisallowsNewPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) {
349 find interpretation(problem,interpretation);
350 PartialInterpretation.scopes(interpretation,scope);
351 Scope.targetTypeInterpretation(scope,typeInterpretation);
352 Scope.maxNewElements(scope,0);
353 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
354 Type.name(type,"Payload class");
355}
356
357/**
358 * An element may be an instance of type "Payload class".
359 */
360private pattern mayInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
361{
362 find interpretation(problem,interpretation);
363 PartialInterpretation.newElements(interpretation,element);
364 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
365 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
366 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
367 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
368 neg find scopeDisallowsNewPayload_class(problem, interpretation);
369 neg find isPrimitive(element);
370} or {
371 find interpretation(problem,interpretation);
372 PartialInterpretation.openWorldElements(interpretation,element);
373 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
374 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
375 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
376 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
377 neg find scopeDisallowsNewPayload_class(problem, interpretation);
378 neg find isPrimitive(element);
379} or
380{ find mustInstanceOfPayload_class(problem,interpretation,element); }
381/**
382 * An element must be an instance of type "InterferometryPayload class".
383 */
384private pattern mustInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
385 Type.name(type,"InterferometryPayload class");
386 find directInstanceOf(problem,interpretation,element,type);
387}
388private pattern scopeDisallowsNewInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) {
389 find interpretation(problem,interpretation);
390 PartialInterpretation.scopes(interpretation,scope);
391 Scope.targetTypeInterpretation(scope,typeInterpretation);
392 Scope.maxNewElements(scope,0);
393 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
394 Type.name(type,"InterferometryPayload class");
395}
396
397/**
398 * An element may be an instance of type "InterferometryPayload class".
399 */
400private pattern mayInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
401{
402 find interpretation(problem,interpretation);
403 PartialInterpretation.newElements(interpretation,element);
404 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
405 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
406 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
407 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
408 neg find isPrimitive(element);
409} or {
410 find interpretation(problem,interpretation);
411 PartialInterpretation.openWorldElements(interpretation,element);
412 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
413 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
414 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
415 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
416 neg find isPrimitive(element);
417} or
418{ find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); }
419/**
420 * An element must be an instance of type "CubeSat3U class".
421 */
422private pattern mustInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
423 Type.name(type,"CubeSat3U class");
424 find directInstanceOf(problem,interpretation,element,type);
425}
426private pattern scopeDisallowsNewCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation) {
427 find interpretation(problem,interpretation);
428 PartialInterpretation.scopes(interpretation,scope);
429 Scope.targetTypeInterpretation(scope,typeInterpretation);
430 Scope.maxNewElements(scope,0);
431 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
432 Type.name(type,"CubeSat3U class");
433}
434
435/**
436 * An element may be an instance of type "CubeSat3U class".
437 */
438private pattern mayInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
439{
440 find interpretation(problem,interpretation);
441 PartialInterpretation.newElements(interpretation,element);
442 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
443 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
444 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
445 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
446 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
447 neg find mustInstanceOfPayload_class(problem,interpretation,element);
448 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
449 neg find isPrimitive(element);
450} or {
451 find interpretation(problem,interpretation);
452 PartialInterpretation.openWorldElements(interpretation,element);
453 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
454 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
455 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
456 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
457 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
458 neg find mustInstanceOfPayload_class(problem,interpretation,element);
459 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
460 neg find isPrimitive(element);
461} or
462{ find mustInstanceOfCubeSat3U_class(problem,interpretation,element); }
463/**
464 * An element must be an instance of type "CubeSat6U class".
465 */
466private pattern mustInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
467 Type.name(type,"CubeSat6U class");
468 find directInstanceOf(problem,interpretation,element,type);
469}
470private pattern scopeDisallowsNewCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation) {
471 find interpretation(problem,interpretation);
472 PartialInterpretation.scopes(interpretation,scope);
473 Scope.targetTypeInterpretation(scope,typeInterpretation);
474 Scope.maxNewElements(scope,0);
475 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
476 Type.name(type,"CubeSat6U class");
477}
478
479/**
480 * An element may be an instance of type "CubeSat6U class".
481 */
482private pattern mayInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
483{
484 find interpretation(problem,interpretation);
485 PartialInterpretation.newElements(interpretation,element);
486 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
487 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
488 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
489 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
490 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
491 neg find mustInstanceOfPayload_class(problem,interpretation,element);
492 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
493 neg find isPrimitive(element);
494} or {
495 find interpretation(problem,interpretation);
496 PartialInterpretation.openWorldElements(interpretation,element);
497 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
498 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
499 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
500 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
501 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
502 neg find mustInstanceOfPayload_class(problem,interpretation,element);
503 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
504 neg find isPrimitive(element);
505} or
506{ find mustInstanceOfCubeSat6U_class(problem,interpretation,element); }
507/**
508 * An element must be an instance of type "SmallSat class".
509 */
510private pattern mustInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
511 Type.name(type,"SmallSat class");
512 find directInstanceOf(problem,interpretation,element,type);
513}
514private pattern scopeDisallowsNewSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation) {
515 find interpretation(problem,interpretation);
516 PartialInterpretation.scopes(interpretation,scope);
517 Scope.targetTypeInterpretation(scope,typeInterpretation);
518 Scope.maxNewElements(scope,0);
519 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
520 Type.name(type,"SmallSat class");
521}
522
523/**
524 * An element may be an instance of type "SmallSat class".
525 */
526private pattern mayInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
527{
528 find interpretation(problem,interpretation);
529 PartialInterpretation.newElements(interpretation,element);
530 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
531 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
532 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
533 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
534 neg find mustInstanceOfPayload_class(problem,interpretation,element);
535 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
536 neg find isPrimitive(element);
537} or {
538 find interpretation(problem,interpretation);
539 PartialInterpretation.openWorldElements(interpretation,element);
540 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
541 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
542 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
543 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
544 neg find mustInstanceOfPayload_class(problem,interpretation,element);
545 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
546 neg find isPrimitive(element);
547} or
548{ find mustInstanceOfSmallSat_class(problem,interpretation,element); }
549/**
550 * An element must be an instance of type "CubeSat class".
551 */
552private pattern mustInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
553 Type.name(type,"CubeSat class");
554 find directInstanceOf(problem,interpretation,element,type);
555}
556private pattern scopeDisallowsNewCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation) {
557 find interpretation(problem,interpretation);
558 PartialInterpretation.scopes(interpretation,scope);
559 Scope.targetTypeInterpretation(scope,typeInterpretation);
560 Scope.maxNewElements(scope,0);
561 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
562 Type.name(type,"CubeSat class");
563}
564
565/**
566 * An element may be an instance of type "CubeSat class".
567 */
568private pattern mayInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
569{
570 find interpretation(problem,interpretation);
571 PartialInterpretation.newElements(interpretation,element);
572 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
573 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
574 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
575 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
576 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
577 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
578 neg find mustInstanceOfPayload_class(problem,interpretation,element);
579 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
580 neg find isPrimitive(element);
581} or {
582 find interpretation(problem,interpretation);
583 PartialInterpretation.openWorldElements(interpretation,element);
584 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
585 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
586 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
587 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
588 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
589 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
590 neg find mustInstanceOfPayload_class(problem,interpretation,element);
591 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
592 neg find isPrimitive(element);
593} or
594{ find mustInstanceOfCubeSat_class(problem,interpretation,element); }
595/**
596 * An element must be an instance of type "UHFCommSubsystem class".
597 */
598private pattern mustInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
599 Type.name(type,"UHFCommSubsystem class");
600 find directInstanceOf(problem,interpretation,element,type);
601}
602private pattern scopeDisallowsNewUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
603 find interpretation(problem,interpretation);
604 PartialInterpretation.scopes(interpretation,scope);
605 Scope.targetTypeInterpretation(scope,typeInterpretation);
606 Scope.maxNewElements(scope,0);
607 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
608 Type.name(type,"UHFCommSubsystem class");
609}
610
611/**
612 * An element may be an instance of type "UHFCommSubsystem class".
613 */
614private pattern mayInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
615{
616 find interpretation(problem,interpretation);
617 PartialInterpretation.newElements(interpretation,element);
618 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
619 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
620 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
621 neg find mustInstanceOfPayload_class(problem,interpretation,element);
622 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
623 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
624 neg find isPrimitive(element);
625} or {
626 find interpretation(problem,interpretation);
627 PartialInterpretation.openWorldElements(interpretation,element);
628 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
629 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
630 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
631 neg find mustInstanceOfPayload_class(problem,interpretation,element);
632 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
633 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
634 neg find isPrimitive(element);
635} or
636{ find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); }
637/**
638 * An element must be an instance of type "XCommSubsystem class".
639 */
640private pattern mustInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
641 Type.name(type,"XCommSubsystem class");
642 find directInstanceOf(problem,interpretation,element,type);
643}
644private pattern scopeDisallowsNewXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
645 find interpretation(problem,interpretation);
646 PartialInterpretation.scopes(interpretation,scope);
647 Scope.targetTypeInterpretation(scope,typeInterpretation);
648 Scope.maxNewElements(scope,0);
649 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
650 Type.name(type,"XCommSubsystem class");
651}
652
653/**
654 * An element may be an instance of type "XCommSubsystem class".
655 */
656private pattern mayInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
657{
658 find interpretation(problem,interpretation);
659 PartialInterpretation.newElements(interpretation,element);
660 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
661 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
662 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
663 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
664 neg find mustInstanceOfPayload_class(problem,interpretation,element);
665 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
666 neg find isPrimitive(element);
667} or {
668 find interpretation(problem,interpretation);
669 PartialInterpretation.openWorldElements(interpretation,element);
670 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
671 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
672 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
673 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
674 neg find mustInstanceOfPayload_class(problem,interpretation,element);
675 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
676 neg find isPrimitive(element);
677} or
678{ find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); }
679/**
680 * An element must be an instance of type "KaCommSubsystem class".
681 */
682private pattern mustInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
683 Type.name(type,"KaCommSubsystem class");
684 find directInstanceOf(problem,interpretation,element,type);
685}
686private pattern scopeDisallowsNewKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
687 find interpretation(problem,interpretation);
688 PartialInterpretation.scopes(interpretation,scope);
689 Scope.targetTypeInterpretation(scope,typeInterpretation);
690 Scope.maxNewElements(scope,0);
691 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
692 Type.name(type,"KaCommSubsystem class");
693}
694
695/**
696 * An element may be an instance of type "KaCommSubsystem class".
697 */
698private pattern mayInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
699{
700 find interpretation(problem,interpretation);
701 PartialInterpretation.newElements(interpretation,element);
702 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
703 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
704 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
705 neg find mustInstanceOfPayload_class(problem,interpretation,element);
706 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
707 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
708 neg find isPrimitive(element);
709} or {
710 find interpretation(problem,interpretation);
711 PartialInterpretation.openWorldElements(interpretation,element);
712 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
713 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
714 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
715 neg find mustInstanceOfPayload_class(problem,interpretation,element);
716 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
717 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
718 neg find isPrimitive(element);
719} or
720{ find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); }
721/**
722 * An element must be an instance of type "ConstellationMission class DefinedPart".
723 */
724private pattern mustInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
725 Type.name(type,"ConstellationMission class DefinedPart");
726 find directInstanceOf(problem,interpretation,element,type);
727}
728private pattern scopeDisallowsNewConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
729 find interpretation(problem,interpretation);
730 PartialInterpretation.scopes(interpretation,scope);
731 Scope.targetTypeInterpretation(scope,typeInterpretation);
732 Scope.maxNewElements(scope,0);
733 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
734 Type.name(type,"ConstellationMission class DefinedPart");
735}
736
737/**
738 * An element may be an instance of type "ConstellationMission class DefinedPart".
739 */
740private pattern mayInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
741{ find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,element); }
742/**
743 * An element must be an instance of type "ConstellationMission class UndefinedPart".
744 */
745private pattern mustInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
746 Type.name(type,"ConstellationMission class UndefinedPart");
747 find directInstanceOf(problem,interpretation,element,type);
748}
749private pattern scopeDisallowsNewConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
750 find interpretation(problem,interpretation);
751 PartialInterpretation.scopes(interpretation,scope);
752 Scope.targetTypeInterpretation(scope,typeInterpretation);
753 Scope.maxNewElements(scope,0);
754 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
755 Type.name(type,"ConstellationMission class UndefinedPart");
756}
757
758/**
759 * An element may be an instance of type "ConstellationMission class UndefinedPart".
760 */
761private pattern mayInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
762{
763 find interpretation(problem,interpretation);
764 PartialInterpretation.newElements(interpretation,element);
765 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
766 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
767 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
768 neg find mustInstanceOfPayload_class(problem,interpretation,element);
769 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
770 neg find isPrimitive(element);
771} or {
772 find interpretation(problem,interpretation);
773 PartialInterpretation.openWorldElements(interpretation,element);
774 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
775 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
776 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
777 neg find mustInstanceOfPayload_class(problem,interpretation,element);
778 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
779 neg find isPrimitive(element);
780} or
781{ find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); }
782/**
783 * An element must be an instance of type "InterferometryMission class DefinedPart".
784 */
785private pattern mustInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
786 Type.name(type,"InterferometryMission class DefinedPart");
787 find directInstanceOf(problem,interpretation,element,type);
788}
789private pattern scopeDisallowsNewInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
790 find interpretation(problem,interpretation);
791 PartialInterpretation.scopes(interpretation,scope);
792 Scope.targetTypeInterpretation(scope,typeInterpretation);
793 Scope.maxNewElements(scope,0);
794 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
795 Type.name(type,"InterferometryMission class DefinedPart");
796}
797
798/**
799 * An element may be an instance of type "InterferometryMission class DefinedPart".
800 */
801private pattern mayInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
802{ find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,element); }
803/**
804 * An element must be an instance of type "InterferometryMission class UndefinedPart".
805 */
806private pattern mustInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
807 Type.name(type,"InterferometryMission class UndefinedPart");
808 find directInstanceOf(problem,interpretation,element,type);
809}
810private pattern scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
811 find interpretation(problem,interpretation);
812 PartialInterpretation.scopes(interpretation,scope);
813 Scope.targetTypeInterpretation(scope,typeInterpretation);
814 Scope.maxNewElements(scope,0);
815 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
816 Type.name(type,"InterferometryMission class UndefinedPart");
817}
818
819/**
820 * An element may be an instance of type "InterferometryMission class UndefinedPart".
821 */
822private pattern mayInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
823{
824 find interpretation(problem,interpretation);
825 PartialInterpretation.newElements(interpretation,element);
826 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
827 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
828 neg find mustInstanceOfPayload_class(problem,interpretation,element);
829 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
830 neg find isPrimitive(element);
831} or {
832 find interpretation(problem,interpretation);
833 PartialInterpretation.openWorldElements(interpretation,element);
834 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
835 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
836 neg find mustInstanceOfPayload_class(problem,interpretation,element);
837 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
838 neg find isPrimitive(element);
839} or
840{ find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); }
841/**
842 * An element must be an instance of type "CommunicatingElement class DefinedPart".
843 */
844private pattern mustInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
845 Type.name(type,"CommunicatingElement class DefinedPart");
846 find directInstanceOf(problem,interpretation,element,type);
847}
848private pattern scopeDisallowsNewCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
849 find interpretation(problem,interpretation);
850 PartialInterpretation.scopes(interpretation,scope);
851 Scope.targetTypeInterpretation(scope,typeInterpretation);
852 Scope.maxNewElements(scope,0);
853 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
854 Type.name(type,"CommunicatingElement class DefinedPart");
855}
856
857/**
858 * An element may be an instance of type "CommunicatingElement class DefinedPart".
859 */
860private pattern mayInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
861{ find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,element); }
862/**
863 * An element must be an instance of type "CommunicatingElement class UndefinedPart".
864 */
865private pattern mustInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
866 Type.name(type,"CommunicatingElement class UndefinedPart");
867 find directInstanceOf(problem,interpretation,element,type);
868}
869private pattern scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
870 find interpretation(problem,interpretation);
871 PartialInterpretation.scopes(interpretation,scope);
872 Scope.targetTypeInterpretation(scope,typeInterpretation);
873 Scope.maxNewElements(scope,0);
874 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
875 Type.name(type,"CommunicatingElement class UndefinedPart");
876}
877
878/**
879 * An element may be an instance of type "CommunicatingElement class UndefinedPart".
880 */
881private pattern mayInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
882{
883 find interpretation(problem,interpretation);
884 PartialInterpretation.newElements(interpretation,element);
885 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
886 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
887 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
888 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
889 neg find mustInstanceOfPayload_class(problem,interpretation,element);
890 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
891 neg find isPrimitive(element);
892} or {
893 find interpretation(problem,interpretation);
894 PartialInterpretation.openWorldElements(interpretation,element);
895 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
896 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
897 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
898 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
899 neg find mustInstanceOfPayload_class(problem,interpretation,element);
900 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
901 neg find isPrimitive(element);
902} or
903{ find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); }
904/**
905 * An element must be an instance of type "GroundStationNetwork class DefinedPart".
906 */
907private pattern mustInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
908 Type.name(type,"GroundStationNetwork class DefinedPart");
909 find directInstanceOf(problem,interpretation,element,type);
910}
911private pattern scopeDisallowsNewGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
912 find interpretation(problem,interpretation);
913 PartialInterpretation.scopes(interpretation,scope);
914 Scope.targetTypeInterpretation(scope,typeInterpretation);
915 Scope.maxNewElements(scope,0);
916 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
917 Type.name(type,"GroundStationNetwork class DefinedPart");
918}
919
920/**
921 * An element may be an instance of type "GroundStationNetwork class DefinedPart".
922 */
923private pattern mayInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
924{ find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,element); }
925/**
926 * An element must be an instance of type "GroundStationNetwork class UndefinedPart".
927 */
928private pattern mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
929 Type.name(type,"GroundStationNetwork class UndefinedPart");
930 find directInstanceOf(problem,interpretation,element,type);
931}
932private pattern scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
933 find interpretation(problem,interpretation);
934 PartialInterpretation.scopes(interpretation,scope);
935 Scope.targetTypeInterpretation(scope,typeInterpretation);
936 Scope.maxNewElements(scope,0);
937 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
938 Type.name(type,"GroundStationNetwork class UndefinedPart");
939}
940
941/**
942 * An element may be an instance of type "GroundStationNetwork class UndefinedPart".
943 */
944private pattern mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
945{
946 find interpretation(problem,interpretation);
947 PartialInterpretation.newElements(interpretation,element);
948 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
949 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
950 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
951 neg find mustInstanceOfPayload_class(problem,interpretation,element);
952 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
953 neg find isPrimitive(element);
954} or {
955 find interpretation(problem,interpretation);
956 PartialInterpretation.openWorldElements(interpretation,element);
957 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
958 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
959 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
960 neg find mustInstanceOfPayload_class(problem,interpretation,element);
961 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
962 neg find isPrimitive(element);
963} or
964{ find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); }
965/**
966 * An element must be an instance of type "CommSubsystem class DefinedPart".
967 */
968private pattern mustInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
969 Type.name(type,"CommSubsystem class DefinedPart");
970 find directInstanceOf(problem,interpretation,element,type);
971}
972private pattern scopeDisallowsNewCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
973 find interpretation(problem,interpretation);
974 PartialInterpretation.scopes(interpretation,scope);
975 Scope.targetTypeInterpretation(scope,typeInterpretation);
976 Scope.maxNewElements(scope,0);
977 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
978 Type.name(type,"CommSubsystem class DefinedPart");
979}
980
981/**
982 * An element may be an instance of type "CommSubsystem class DefinedPart".
983 */
984private pattern mayInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
985{ find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,element); }
986/**
987 * An element must be an instance of type "CommSubsystem class UndefinedPart".
988 */
989private pattern mustInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
990 Type.name(type,"CommSubsystem class UndefinedPart");
991 find directInstanceOf(problem,interpretation,element,type);
992}
993private pattern scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
994 find interpretation(problem,interpretation);
995 PartialInterpretation.scopes(interpretation,scope);
996 Scope.targetTypeInterpretation(scope,typeInterpretation);
997 Scope.maxNewElements(scope,0);
998 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
999 Type.name(type,"CommSubsystem class UndefinedPart");
1000}
1001
1002/**
1003 * An element may be an instance of type "CommSubsystem class UndefinedPart".
1004 */
1005private pattern mayInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1006{
1007 find interpretation(problem,interpretation);
1008 PartialInterpretation.newElements(interpretation,element);
1009 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1010 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1011 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1012 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1013 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1014 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1015 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1016 neg find isPrimitive(element);
1017} or {
1018 find interpretation(problem,interpretation);
1019 PartialInterpretation.openWorldElements(interpretation,element);
1020 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1021 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1022 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1023 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1024 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1025 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1026 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1027 neg find isPrimitive(element);
1028} or
1029{ find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1030/**
1031 * An element must be an instance of type "XCommSubsystem class DefinedPart".
1032 */
1033private pattern mustInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1034 Type.name(type,"XCommSubsystem class DefinedPart");
1035 find directInstanceOf(problem,interpretation,element,type);
1036}
1037private pattern scopeDisallowsNewXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1038 find interpretation(problem,interpretation);
1039 PartialInterpretation.scopes(interpretation,scope);
1040 Scope.targetTypeInterpretation(scope,typeInterpretation);
1041 Scope.maxNewElements(scope,0);
1042 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1043 Type.name(type,"XCommSubsystem class DefinedPart");
1044}
1045
1046/**
1047 * An element may be an instance of type "XCommSubsystem class DefinedPart".
1048 */
1049private pattern mayInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1050{ find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1051/**
1052 * An element must be an instance of type "XCommSubsystem class UndefinedPart".
1053 */
1054private pattern mustInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1055 Type.name(type,"XCommSubsystem class UndefinedPart");
1056 find directInstanceOf(problem,interpretation,element,type);
1057}
1058private pattern scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1059 find interpretation(problem,interpretation);
1060 PartialInterpretation.scopes(interpretation,scope);
1061 Scope.targetTypeInterpretation(scope,typeInterpretation);
1062 Scope.maxNewElements(scope,0);
1063 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1064 Type.name(type,"XCommSubsystem class UndefinedPart");
1065}
1066
1067/**
1068 * An element may be an instance of type "XCommSubsystem class UndefinedPart".
1069 */
1070private pattern mayInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1071{
1072 find interpretation(problem,interpretation);
1073 PartialInterpretation.newElements(interpretation,element);
1074 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1075 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1076 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1077 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1078 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1079 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1080 neg find isPrimitive(element);
1081} or {
1082 find interpretation(problem,interpretation);
1083 PartialInterpretation.openWorldElements(interpretation,element);
1084 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1085 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1086 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1087 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1088 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1089 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1090 neg find isPrimitive(element);
1091} or
1092{ find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1093/**
1094 * An element must be an instance of type "KaCommSubsystem class DefinedPart".
1095 */
1096private pattern mustInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1097 Type.name(type,"KaCommSubsystem class DefinedPart");
1098 find directInstanceOf(problem,interpretation,element,type);
1099}
1100private pattern scopeDisallowsNewKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1101 find interpretation(problem,interpretation);
1102 PartialInterpretation.scopes(interpretation,scope);
1103 Scope.targetTypeInterpretation(scope,typeInterpretation);
1104 Scope.maxNewElements(scope,0);
1105 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1106 Type.name(type,"KaCommSubsystem class DefinedPart");
1107}
1108
1109/**
1110 * An element may be an instance of type "KaCommSubsystem class DefinedPart".
1111 */
1112private pattern mayInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1113{ find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1114/**
1115 * An element must be an instance of type "KaCommSubsystem class UndefinedPart".
1116 */
1117private pattern mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1118 Type.name(type,"KaCommSubsystem class UndefinedPart");
1119 find directInstanceOf(problem,interpretation,element,type);
1120}
1121private pattern scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1122 find interpretation(problem,interpretation);
1123 PartialInterpretation.scopes(interpretation,scope);
1124 Scope.targetTypeInterpretation(scope,typeInterpretation);
1125 Scope.maxNewElements(scope,0);
1126 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1127 Type.name(type,"KaCommSubsystem class UndefinedPart");
1128}
1129
1130/**
1131 * An element may be an instance of type "KaCommSubsystem class UndefinedPart".
1132 */
1133private pattern mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1134{
1135 find interpretation(problem,interpretation);
1136 PartialInterpretation.newElements(interpretation,element);
1137 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1138 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1139 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1140 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1141 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1142 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1143 neg find isPrimitive(element);
1144} or {
1145 find interpretation(problem,interpretation);
1146 PartialInterpretation.openWorldElements(interpretation,element);
1147 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1148 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1149 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1150 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1151 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1152 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1153 neg find isPrimitive(element);
1154} or
1155{ find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1156
1157//////////
1158// 1.2 Relation Declaration Indexers
1159//////////
1160/**
1161 * Matcher for detecting tuples t where []groundStationNetwork reference ConstellationMission(source,target)
1162 */
1163private pattern mustInRelationgroundStationNetwork_reference_ConstellationMission(
1164 problem:LogicProblem, interpretation:PartialInterpretation,
1165 source: DefinedElement, target:DefinedElement)
1166{
1167 find interpretation(problem,interpretation);
1168 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1169 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission");
1170 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1171 BinaryElementRelationLink.param1(link,source);
1172 BinaryElementRelationLink.param2(link,target);
1173}
1174/**
1175 * Matcher for detecting tuples t where <>groundStationNetwork reference ConstellationMission(source,target)
1176 */
1177private pattern mayInRelationgroundStationNetwork_reference_ConstellationMission(
1178 problem:LogicProblem, interpretation:PartialInterpretation,
1179 source: DefinedElement, target:DefinedElement)
1180{
1181 find interpretation(problem,interpretation);
1182 // The two endpoint of the link have to exist
1183 find mayExist(problem, interpretation, source);
1184 find mayExist(problem, interpretation, target);
1185 // Type consistency
1186 find mayInstanceOfConstellationMission_class(problem,interpretation,source);
1187 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,target);
1188 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1189 // the upper bound of the multiplicity should be considered.
1190 numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,_);
1191 check(numberOfExistingReferences < 1);
1192 // The reference is containment, then a new reference cannot be create if:
1193 // 1. Multiple parents
1194 neg find mustContains4(problem,interpretation,_,target);
1195 // 2. Circle in the containment hierarchy
1196 neg find mustTransitiveContains(source,target);
1197} or {
1198 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target);
1199}
1200/**
1201 * Matcher for detecting tuples t where []spacecraft reference ConstellationMission(source,target)
1202 */
1203private pattern mustInRelationspacecraft_reference_ConstellationMission(
1204 problem:LogicProblem, interpretation:PartialInterpretation,
1205 source: DefinedElement, target:DefinedElement)
1206{
1207 find interpretation(problem,interpretation);
1208 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1209 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission");
1210 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1211 BinaryElementRelationLink.param1(link,source);
1212 BinaryElementRelationLink.param2(link,target);
1213}
1214/**
1215 * Matcher for detecting tuples t where <>spacecraft reference ConstellationMission(source,target)
1216 */
1217private pattern mayInRelationspacecraft_reference_ConstellationMission(
1218 problem:LogicProblem, interpretation:PartialInterpretation,
1219 source: DefinedElement, target:DefinedElement)
1220{
1221 find interpretation(problem,interpretation);
1222 // The two endpoint of the link have to exist
1223 find mayExist(problem, interpretation, source);
1224 find mayExist(problem, interpretation, target);
1225 // Type consistency
1226 find mayInstanceOfConstellationMission_class(problem,interpretation,source);
1227 find mayInstanceOfSpacecraft_class(problem,interpretation,target);
1228 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1229 // the upper bound of the multiplicity should be considered.
1230 numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,_);
1231 check(numberOfExistingReferences < 50);
1232 // The reference is containment, then a new reference cannot be create if:
1233 // 1. Multiple parents
1234 neg find mustContains4(problem,interpretation,_,target);
1235 // 2. Circle in the containment hierarchy
1236 neg find mustTransitiveContains(source,target);
1237} or {
1238 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target);
1239}
1240/**
1241 * Matcher for detecting tuples t where []commSubsystem reference CommunicatingElement(source,target)
1242 */
1243private pattern mustInRelationcommSubsystem_reference_CommunicatingElement(
1244 problem:LogicProblem, interpretation:PartialInterpretation,
1245 source: DefinedElement, target:DefinedElement)
1246{
1247 find interpretation(problem,interpretation);
1248 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1249 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement");
1250 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1251 BinaryElementRelationLink.param1(link,source);
1252 BinaryElementRelationLink.param2(link,target);
1253}
1254/**
1255 * Matcher for detecting tuples t where <>commSubsystem reference CommunicatingElement(source,target)
1256 */
1257private pattern mayInRelationcommSubsystem_reference_CommunicatingElement(
1258 problem:LogicProblem, interpretation:PartialInterpretation,
1259 source: DefinedElement, target:DefinedElement)
1260{
1261 find interpretation(problem,interpretation);
1262 // The two endpoint of the link have to exist
1263 find mayExist(problem, interpretation, source);
1264 find mayExist(problem, interpretation, target);
1265 // Type consistency
1266 find mayInstanceOfCommunicatingElement_class(problem,interpretation,source);
1267 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1268 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1269 // the upper bound of the multiplicity should be considered.
1270 numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,_);
1271 check(numberOfExistingReferences < 2);
1272 // The reference is containment, then a new reference cannot be create if:
1273 // 1. Multiple parents
1274 neg find mustContains4(problem,interpretation,_,target);
1275 // 2. Circle in the containment hierarchy
1276 neg find mustTransitiveContains(source,target);
1277} or {
1278 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target);
1279}
1280/**
1281 * Matcher for detecting tuples t where []payload reference Spacecraft(source,target)
1282 */
1283private pattern mustInRelationpayload_reference_Spacecraft(
1284 problem:LogicProblem, interpretation:PartialInterpretation,
1285 source: DefinedElement, target:DefinedElement)
1286{
1287 find interpretation(problem,interpretation);
1288 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1289 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"payload reference Spacecraft");
1290 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1291 BinaryElementRelationLink.param1(link,source);
1292 BinaryElementRelationLink.param2(link,target);
1293}
1294/**
1295 * Matcher for detecting tuples t where <>payload reference Spacecraft(source,target)
1296 */
1297private pattern mayInRelationpayload_reference_Spacecraft(
1298 problem:LogicProblem, interpretation:PartialInterpretation,
1299 source: DefinedElement, target:DefinedElement)
1300{
1301 find interpretation(problem,interpretation);
1302 // The two endpoint of the link have to exist
1303 find mayExist(problem, interpretation, source);
1304 find mayExist(problem, interpretation, target);
1305 // Type consistency
1306 find mayInstanceOfSpacecraft_class(problem,interpretation,source);
1307 find mayInstanceOfPayload_class(problem,interpretation,target);
1308 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1309 // the upper bound of the multiplicity should be considered.
1310 numberOfExistingReferences == count find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,_);
1311 check(numberOfExistingReferences < 1);
1312 // The reference is containment, then a new reference cannot be create if:
1313 // 1. Multiple parents
1314 neg find mustContains4(problem,interpretation,_,target);
1315 // 2. Circle in the containment hierarchy
1316 neg find mustTransitiveContains(source,target);
1317} or {
1318 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target);
1319}
1320/**
1321 * Matcher for detecting tuples t where []target reference CommSubsystem(source,target)
1322 */
1323private pattern mustInRelationtarget_reference_CommSubsystem(
1324 problem:LogicProblem, interpretation:PartialInterpretation,
1325 source: DefinedElement, target:DefinedElement)
1326{
1327 find interpretation(problem,interpretation);
1328 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1329 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
1330 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1331 BinaryElementRelationLink.param1(link,source);
1332 BinaryElementRelationLink.param2(link,target);
1333}
1334/**
1335 * Matcher for detecting tuples t where <>target reference CommSubsystem(source,target)
1336 */
1337private pattern mayInRelationtarget_reference_CommSubsystem(
1338 problem:LogicProblem, interpretation:PartialInterpretation,
1339 source: DefinedElement, target:DefinedElement)
1340{
1341 find interpretation(problem,interpretation);
1342 // The two endpoint of the link have to exist
1343 find mayExist(problem, interpretation, source);
1344 find mayExist(problem, interpretation, target);
1345 // Type consistency
1346 find mayInstanceOfCommSubsystem_class(problem,interpretation,source);
1347 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1348 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1349 // the upper bound of the multiplicity should be considered.
1350 numberOfExistingReferences == count find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,_);
1351 check(numberOfExistingReferences < 1);
1352} or {
1353 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,target);
1354}
1355
1356//////////
1357// 1.3 Relation Definition Indexers
1358//////////
1359// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement
1360private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1361 problem:LogicProblem, interpretation:PartialInterpretation,
1362 var_Element)
1363{
1364 find interpretation(problem,interpretation);
1365 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1366 // Element is exported
1367 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1368 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1369 neg find mayEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1370}
1371private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1372 problem:LogicProblem, interpretation:PartialInterpretation,
1373 var_Element)
1374{
1375 find interpretation(problem,interpretation);
1376 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1377 // Element is exported
1378 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1379 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1380 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1381}
1382private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1383 problem:LogicProblem, interpretation:PartialInterpretation,
1384 var_Element)
1385{
1386 find interpretation(problem,interpretation);
1387 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1388 // Element is exported
1389 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1390 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1391 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1392}
1393// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries transmittingCommSubsystem
1394private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1395 problem:LogicProblem, interpretation:PartialInterpretation,
1396 var_Element, var_Comm)
1397{
1398 find interpretation(problem,interpretation);
1399 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1400 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1401 // Element is exported
1402 // Comm is exported
1403 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1404 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1405 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1406 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1407 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1408 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1409 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1410 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1411}
1412private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1413 problem:LogicProblem, interpretation:PartialInterpretation,
1414 var_Element, var_Comm)
1415{
1416 find interpretation(problem,interpretation);
1417 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1418 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1419 // Element is exported
1420 // Comm is exported
1421 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1422 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1423 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1424 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
1425 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1426 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1427 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1428 find mayEquivalent(problem, interpretation, var_virtual1, _var__0);
1429}
1430private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1431 problem:LogicProblem, interpretation:PartialInterpretation,
1432 var_Element, var_Comm)
1433{
1434 find interpretation(problem,interpretation);
1435 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1436 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1437 // Element is exported
1438 // Comm is exported
1439 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1440 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1441 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1442 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1443 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1444 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1445 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1446 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1447}
1448// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads
1449private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1450 problem:LogicProblem, interpretation:PartialInterpretation,
1451 var_Mission)
1452{
1453 find interpretation(problem,interpretation);
1454 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1455 // Mission is exported
1456 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1457 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1458}
1459private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1460 problem:LogicProblem, interpretation:PartialInterpretation,
1461 var_Mission)
1462{
1463 find interpretation(problem,interpretation);
1464 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1465 // Mission is exported
1466 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1467 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1468}
1469private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1470 problem:LogicProblem, interpretation:PartialInterpretation,
1471 var_Mission)
1472{
1473 find interpretation(problem,interpretation);
1474 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1475 // Mission is exported
1476 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1477 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1478}
1479// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads
1480private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1481 problem:LogicProblem, interpretation:PartialInterpretation,
1482 var_Mission)
1483{
1484 find interpretation(problem,interpretation);
1485 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1486 // Mission is exported
1487 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1488 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1489 neg find mayEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1490}
1491private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1492 problem:LogicProblem, interpretation:PartialInterpretation,
1493 var_Mission)
1494{
1495 find interpretation(problem,interpretation);
1496 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1497 // Mission is exported
1498 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1499 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1500 neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1501}
1502private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1503 problem:LogicProblem, interpretation:PartialInterpretation,
1504 var_Mission)
1505{
1506 find interpretation(problem,interpretation);
1507 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1508 // Mission is exported
1509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1510 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1511 neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1512}
1513// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload
1514private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1515 problem:LogicProblem, interpretation:PartialInterpretation,
1516 var_Mission, var_Spacecraft)
1517{
1518 find interpretation(problem,interpretation);
1519 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1520 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1521 // Mission is exported
1522 // Spacecraft is exported
1523 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1524 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1525 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1526 find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1527 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1528 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1529 find mustInstanceOfPayload_class(problem,interpretation,var_virtual1);
1530 find mustEquivalent(problem, interpretation, var_virtual1, var_Payload);
1531 find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1532}
1533private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1534 problem:LogicProblem, interpretation:PartialInterpretation,
1535 var_Mission, var_Spacecraft)
1536{
1537 find interpretation(problem,interpretation);
1538 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1539 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1540 // Mission is exported
1541 // Spacecraft is exported
1542 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1543 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1544 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1545 find mayEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1546 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1547 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1548 find mayInstanceOfPayload_class(problem,interpretation,var_virtual1);
1549 find mayEquivalent(problem, interpretation, var_virtual1, var_Payload);
1550 find mayInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1551}
1552private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1553 problem:LogicProblem, interpretation:PartialInterpretation,
1554 var_Mission, var_Spacecraft)
1555{
1556 find interpretation(problem,interpretation);
1557 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1558 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1559 // Mission is exported
1560 // Spacecraft is exported
1561 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1562 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1563 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1564 find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1565 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1566 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1567 find mustInstanceOfPayload_class(problem,interpretation,var_virtual1);
1568 find mustEquivalent(problem, interpretation, var_virtual1, var_Payload);
1569 find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1570}
1571// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation
1572private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1573 problem:LogicProblem, interpretation:PartialInterpretation,
1574 var_Spacecraft)
1575{
1576 find interpretation(problem,interpretation);
1577 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1578 // Spacecraft is exported
1579 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1580 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1581 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1582 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1583 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1584 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1585 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1586 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1587 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1588}
1589private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1590 problem:LogicProblem, interpretation:PartialInterpretation,
1591 var_Spacecraft)
1592{
1593 find interpretation(problem,interpretation);
1594 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1595 // Spacecraft is exported
1596 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1597 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1598 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1599 find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1600 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1601 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1602 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1603 find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1604 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1605}
1606private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1607 problem:LogicProblem, interpretation:PartialInterpretation,
1608 var_Spacecraft)
1609{
1610 find interpretation(problem,interpretation);
1611 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1612 // Spacecraft is exported
1613 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1614 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1615 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1616 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1617 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1618 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1619 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1620 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1621 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1622}
1623// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation
1624private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1625 problem:LogicProblem, interpretation:PartialInterpretation,
1626 var_Spacecraft)
1627{
1628 find interpretation(problem,interpretation);
1629 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1630 // Spacecraft is exported
1631 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1632 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1633 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1634 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1635 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1636 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1637 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1638 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1639 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1640}
1641private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1642 problem:LogicProblem, interpretation:PartialInterpretation,
1643 var_Spacecraft)
1644{
1645 find interpretation(problem,interpretation);
1646 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1647 // Spacecraft is exported
1648 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1649 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1650 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1651 find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1652 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1653 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1654 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1655 find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1656 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1657}
1658private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1659 problem:LogicProblem, interpretation:PartialInterpretation,
1660 var_Spacecraft)
1661{
1662 find interpretation(problem,interpretation);
1663 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1664 // Spacecraft is exported
1665 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1666 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1667 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1668 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1669 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1670 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1671 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1672 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1673 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1674}
1675// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed
1676private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1677 problem:LogicProblem, interpretation:PartialInterpretation,
1678 var_From, var_To)
1679{
1680 find interpretation(problem,interpretation);
1681 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1682 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1683 // From is exported
1684 // To is exported
1685 find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1686}
1687private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1688 problem:LogicProblem, interpretation:PartialInterpretation,
1689 var_From, var_To)
1690{
1691 find interpretation(problem,interpretation);
1692 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1693 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1694 // From is exported
1695 // To is exported
1696 find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1697}
1698private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1699 problem:LogicProblem, interpretation:PartialInterpretation,
1700 var_From, var_To)
1701{
1702 find interpretation(problem,interpretation);
1703 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1704 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1705 // From is exported
1706 // To is exported
1707 find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1708}
1709// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed
1710private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1711 problem:LogicProblem, interpretation:PartialInterpretation,
1712 var_From, var_To)
1713{
1714 find interpretation(problem,interpretation);
1715 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1716 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1717 // From is exported
1718 // To is exported
1719 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1720 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1721}or{
1722 find interpretation(problem,interpretation);
1723 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1724 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1725 // From is exported
1726 // To is exported
1727 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1728 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1729}or{
1730 find interpretation(problem,interpretation);
1731 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1732 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1733 // From is exported
1734 // To is exported
1735 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1736 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1737 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1738}
1739private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1740 problem:LogicProblem, interpretation:PartialInterpretation,
1741 var_From, var_To)
1742{
1743 find interpretation(problem,interpretation);
1744 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1745 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1746 // From is exported
1747 // To is exported
1748 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1749 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1750}or{
1751 find interpretation(problem,interpretation);
1752 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1753 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1754 // From is exported
1755 // To is exported
1756 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1757 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1758}or{
1759 find interpretation(problem,interpretation);
1760 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1761 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1762 // From is exported
1763 // To is exported
1764 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1765 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1766 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1767}
1768private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1769 problem:LogicProblem, interpretation:PartialInterpretation,
1770 var_From, var_To)
1771{
1772 find interpretation(problem,interpretation);
1773 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1774 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1775 // From is exported
1776 // To is exported
1777 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1778 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1779}or{
1780 find interpretation(problem,interpretation);
1781 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1782 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1783 // From is exported
1784 // To is exported
1785 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1786 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1787}or{
1788 find interpretation(problem,interpretation);
1789 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1790 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1791 // From is exported
1792 // To is exported
1793 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1794 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1795 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1796}
1797private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1798 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1799}
1800private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1801 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1802}
1803private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1804 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1805}
1806// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna
1807private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1808 problem:LogicProblem, interpretation:PartialInterpretation,
1809 var_From, var_To)
1810{
1811 find interpretation(problem,interpretation);
1812 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1813 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1814 // From is exported
1815 // To is exported
1816 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1817 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1818 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1819 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1820 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1821 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1822 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1823 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1824 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1825}
1826private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1827 problem:LogicProblem, interpretation:PartialInterpretation,
1828 var_From, var_To)
1829{
1830 find interpretation(problem,interpretation);
1831 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1832 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1833 // From is exported
1834 // To is exported
1835 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1836 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1837 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1838 find mayEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1839 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1840 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1841 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1842 find mayEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1843 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1844}
1845private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1846 problem:LogicProblem, interpretation:PartialInterpretation,
1847 var_From, var_To)
1848{
1849 find interpretation(problem,interpretation);
1850 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1851 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1852 // From is exported
1853 // To is exported
1854 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1855 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1856 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1857 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1858 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1859 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1860 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1861 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1862 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1863}
1864// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingCommSubsystem
1865private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1866 problem:LogicProblem, interpretation:PartialInterpretation,
1867 var_From, var_To)
1868{
1869 find interpretation(problem,interpretation);
1870 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1871 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1872 // From is exported
1873 // To is exported
1874 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1875 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1876}or{
1877 find interpretation(problem,interpretation);
1878 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1879 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1880 // From is exported
1881 // To is exported
1882 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1883 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1884}or{
1885 find interpretation(problem,interpretation);
1886 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1887 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1888 // From is exported
1889 // To is exported
1890 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1891 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1892}
1893private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1894 problem:LogicProblem, interpretation:PartialInterpretation,
1895 var_From, var_To)
1896{
1897 find interpretation(problem,interpretation);
1898 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1899 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1900 // From is exported
1901 // To is exported
1902 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1903 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1904}or{
1905 find interpretation(problem,interpretation);
1906 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1907 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1908 // From is exported
1909 // To is exported
1910 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1911 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1912}or{
1913 find interpretation(problem,interpretation);
1914 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1915 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1916 // From is exported
1917 // To is exported
1918 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1919 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1920}
1921private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1922 problem:LogicProblem, interpretation:PartialInterpretation,
1923 var_From, var_To)
1924{
1925 find interpretation(problem,interpretation);
1926 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1927 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1928 // From is exported
1929 // To is exported
1930 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1931 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1932}or{
1933 find interpretation(problem,interpretation);
1934 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1935 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1936 // From is exported
1937 // To is exported
1938 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1939 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1940}or{
1941 find interpretation(problem,interpretation);
1942 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1943 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1944 // From is exported
1945 // To is exported
1946 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1947 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1948}
1949// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U
1950private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1951 problem:LogicProblem, interpretation:PartialInterpretation,
1952 var_Sat)
1953{
1954 find interpretation(problem,interpretation);
1955 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1956 // Sat is exported
1957 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1958}
1959private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1960 problem:LogicProblem, interpretation:PartialInterpretation,
1961 var_Sat)
1962{
1963 find interpretation(problem,interpretation);
1964 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1965 // Sat is exported
1966 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1967}
1968private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1969 problem:LogicProblem, interpretation:PartialInterpretation,
1970 var_Sat)
1971{
1972 find interpretation(problem,interpretation);
1973 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1974 // Sat is exported
1975 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1976}
1977// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat6U
1978private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1979 problem:LogicProblem, interpretation:PartialInterpretation,
1980 var_Sat)
1981{
1982 find interpretation(problem,interpretation);
1983 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1984 // Sat is exported
1985 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1986}
1987private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1988 problem:LogicProblem, interpretation:PartialInterpretation,
1989 var_Sat)
1990{
1991 find interpretation(problem,interpretation);
1992 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1993 // Sat is exported
1994 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1995}
1996private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1997 problem:LogicProblem, interpretation:PartialInterpretation,
1998 var_Sat)
1999{
2000 find interpretation(problem,interpretation);
2001 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2002 // Sat is exported
2003 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2004}
2005// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop
2006private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2007 problem:LogicProblem, interpretation:PartialInterpretation,
2008 var_Element)
2009{
2010 find interpretation(problem,interpretation);
2011 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2012 // Element is exported
2013 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2014}
2015private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2016 problem:LogicProblem, interpretation:PartialInterpretation,
2017 var_Element)
2018{
2019 find interpretation(problem,interpretation);
2020 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2021 // Element is exported
2022 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2023}
2024private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2025 problem:LogicProblem, interpretation:PartialInterpretation,
2026 var_Element)
2027{
2028 find interpretation(problem,interpretation);
2029 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2030 // Element is exported
2031 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2032}
2033// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink
2034private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2035 problem:LogicProblem, interpretation:PartialInterpretation,
2036 var_Source, var_Target)
2037{
2038 find interpretation(problem,interpretation);
2039 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2040 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2041 // Source is exported
2042 // Target is exported
2043 find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2044}
2045private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2046 problem:LogicProblem, interpretation:PartialInterpretation,
2047 var_Source, var_Target)
2048{
2049 find interpretation(problem,interpretation);
2050 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2051 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2052 // Source is exported
2053 // Target is exported
2054 find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2055}
2056private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2057 problem:LogicProblem, interpretation:PartialInterpretation,
2058 var_Source, var_Target)
2059{
2060 find interpretation(problem,interpretation);
2061 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2062 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2063 // Source is exported
2064 // Target is exported
2065 find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2066}
2067// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink
2068private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2069 problem:LogicProblem, interpretation:PartialInterpretation,
2070 var_Source, var_Target)
2071{
2072 find interpretation(problem,interpretation);
2073 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2074 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2075 // Source is exported
2076 // Target is exported
2077 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2078 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2079 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2080 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2081 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2082 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2083 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2084 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2085 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2086 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2087 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2088 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2089}
2090private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2091 problem:LogicProblem, interpretation:PartialInterpretation,
2092 var_Source, var_Target)
2093{
2094 find interpretation(problem,interpretation);
2095 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2096 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2097 // Source is exported
2098 // Target is exported
2099 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2100 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2101 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2102 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2103 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2104 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2105 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2106 find mayEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2107 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2108 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2109 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2110 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2111}
2112private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2113 problem:LogicProblem, interpretation:PartialInterpretation,
2114 var_Source, var_Target)
2115{
2116 find interpretation(problem,interpretation);
2117 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2118 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2119 // Source is exported
2120 // Target is exported
2121 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2122 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2123 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2124 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2125 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2126 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2127 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2128 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2129 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2130 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2131 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2132 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2133}
2134private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2135 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2136}
2137private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2138 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2139}
2140private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2141 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2142}
2143// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand
2144private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2145 problem:LogicProblem, interpretation:PartialInterpretation,
2146 var_SourceSubsystem)
2147{
2148 find interpretation(problem,interpretation);
2149 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2150 // SourceSubsystem is exported
2151 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2152 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2153 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2154 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2155 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2156}
2157private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2158 problem:LogicProblem, interpretation:PartialInterpretation,
2159 var_SourceSubsystem)
2160{
2161 find interpretation(problem,interpretation);
2162 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2163 // SourceSubsystem is exported
2164 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2165 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2166 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2167 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2168 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2169}
2170private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2171 problem:LogicProblem, interpretation:PartialInterpretation,
2172 var_SourceSubsystem)
2173{
2174 find interpretation(problem,interpretation);
2175 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2176 // SourceSubsystem is exported
2177 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2178 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2179 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2180 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2181 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2182}
2183// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink
2184private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2185 problem:LogicProblem, interpretation:PartialInterpretation,
2186 var_Sat)
2187{
2188 find interpretation(problem,interpretation);
2189 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2190 // Sat is exported
2191 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2192 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2193 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2194 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2195 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2196 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2197 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2198 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2199 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2200 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2201 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2202 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2203 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2204 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2205}
2206private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2207 problem:LogicProblem, interpretation:PartialInterpretation,
2208 var_Sat)
2209{
2210 find interpretation(problem,interpretation);
2211 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2212 // Sat is exported
2213 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2214 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2215 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2216 find mayEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2217 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2218 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2219 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2220 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2221 find mayEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2222 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2223 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2224 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2225 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2226 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2227}
2228private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2229 problem:LogicProblem, interpretation:PartialInterpretation,
2230 var_Sat)
2231{
2232 find interpretation(problem,interpretation);
2233 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2234 // Sat is exported
2235 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2236 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2237 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2238 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2239 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2240 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2241 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2242 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2243 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2244 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2245 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2246 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2247 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2248 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2249}
2250// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf
2251private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2252 problem:LogicProblem, interpretation:PartialInterpretation,
2253 var_Comm)
2254{
2255 find interpretation(problem,interpretation);
2256 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2257 // Comm is exported
2258 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2259}
2260private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2261 problem:LogicProblem, interpretation:PartialInterpretation,
2262 var_Comm)
2263{
2264 find interpretation(problem,interpretation);
2265 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2266 // Comm is exported
2267 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2268}
2269private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2270 problem:LogicProblem, interpretation:PartialInterpretation,
2271 var_Comm)
2272{
2273 find interpretation(problem,interpretation);
2274 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2275 // Comm is exported
2276 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2277}
2278// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork
2279private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2280 problem:LogicProblem, interpretation:PartialInterpretation,
2281 var_Network)
2282{
2283 find interpretation(problem,interpretation);
2284 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2285 // Network is exported
2286 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2287}
2288private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2289 problem:LogicProblem, interpretation:PartialInterpretation,
2290 var_Network)
2291{
2292 find interpretation(problem,interpretation);
2293 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2294 // Network is exported
2295 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2296}
2297private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2298 problem:LogicProblem, interpretation:PartialInterpretation,
2299 var_Network)
2300{
2301 find interpretation(problem,interpretation);
2302 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2303 // Network is exported
2304 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2305}
2306// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna
2307private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2308 problem:LogicProblem, interpretation:PartialInterpretation,
2309 var_Spacecraft)
2310{
2311 find interpretation(problem,interpretation);
2312 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2313 // Spacecraft is exported
2314 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2315 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2316 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2317 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2318 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2319 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2320}
2321private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2322 problem:LogicProblem, interpretation:PartialInterpretation,
2323 var_Spacecraft)
2324{
2325 find interpretation(problem,interpretation);
2326 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2327 // Spacecraft is exported
2328 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2329 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2330 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2331 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
2332 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2333 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2334}
2335private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2336 problem:LogicProblem, interpretation:PartialInterpretation,
2337 var_Spacecraft)
2338{
2339 find interpretation(problem,interpretation);
2340 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2341 // Spacecraft is exported
2342 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2343 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2344 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2345 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2346 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2347 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2348}
2349// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries smallSat
2350private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2351 problem:LogicProblem, interpretation:PartialInterpretation,
2352 var_Sat)
2353{
2354 find interpretation(problem,interpretation);
2355 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2356 // Sat is exported
2357 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2358}
2359private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2360 problem:LogicProblem, interpretation:PartialInterpretation,
2361 var_Sat)
2362{
2363 find interpretation(problem,interpretation);
2364 find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2365 // Sat is exported
2366 find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2367}
2368private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2369 problem:LogicProblem, interpretation:PartialInterpretation,
2370 var_Sat)
2371{
2372 find interpretation(problem,interpretation);
2373 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2374 // Sat is exported
2375 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2376}
2377
2378//////////
2379// 1.4 Containment Indexer
2380//////////
2381private pattern mustContains2(source: DefinedElement, target: DefinedElement) {
2382 find mustContains4(_,_,source,target);
2383}
2384
2385private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation,
2386 source: DefinedElement, target: DefinedElement)
2387 { find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target); }or
2388
2389 { find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target); }or
2390
2391 { find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); }or
2392
2393 { find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); }
2394
2395private pattern mustTransitiveContains(source,target) {
2396 find mustContains2+(source,target);
2397}
2398
2399//////////
2400// 2. Invalidation Indexers
2401//////////
2402// 2.1 Invalidated by WF Queries
2403//////////
2404pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2405 var_Element)
2406{
2407 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2408}
2409pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2410 var_Mission)
2411{
2412 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission);
2413}
2414pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2415 var_Spacecraft)
2416{
2417 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft);
2418}
2419pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2420 var_Spacecraft)
2421{
2422 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft);
2423}
2424pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation,
2425 var_Element)
2426{
2427 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2428}
2429pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2430 var_SourceSubsystem)
2431{
2432 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2433}
2434pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2435 var_Sat)
2436{
2437 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat);
2438}
2439pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation,
2440 var_Spacecraft)
2441{
2442 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft);
2443}
2444
2445//////////
2446// 3. Unfinishedness Indexers
2447//////////
2448// 3.1 Unfinishedness Measured by Multiplicity
2449//////////
2450pattern unfinishedLowerMultiplicity_groundStationNetwork_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2451 find interpretation(problem,interpretation);
2452 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2453 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission");
2454 find mustInstanceOfConstellationMission_class(problem,interpretation,object);
2455 numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,object,_);
2456 check(numberOfExistingReferences < 1);
2457 missingMultiplicity == eval(1-numberOfExistingReferences);
2458}
2459pattern unfinishedLowerMultiplicity_spacecraft_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2460 find interpretation(problem,interpretation);
2461 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2462 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission");
2463 find mustInstanceOfConstellationMission_class(problem,interpretation,object);
2464 numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,object,_);
2465 check(numberOfExistingReferences < 2);
2466 missingMultiplicity == eval(2-numberOfExistingReferences);
2467}
2468pattern unfinishedLowerMultiplicity_commSubsystem_reference_CommunicatingElement(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2469 find interpretation(problem,interpretation);
2470 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2471 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement");
2472 find mustInstanceOfCommunicatingElement_class(problem,interpretation,object);
2473 numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,object,_);
2474 check(numberOfExistingReferences < 1);
2475 missingMultiplicity == eval(1-numberOfExistingReferences);
2476}
2477
2478//////////
2479// 3.2 Unfinishedness Measured by WF Queries
2480//////////
2481pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2482 var_Element)
2483{
2484 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2485}
2486pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2487 var_Mission)
2488{
2489 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission);
2490}
2491pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2492 var_Spacecraft)
2493{
2494 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft);
2495}
2496pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2497 var_Spacecraft)
2498{
2499 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft);
2500}
2501pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation,
2502 var_Element)
2503{
2504 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2505}
2506pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2507 var_SourceSubsystem)
2508{
2509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2510}
2511pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2512 var_Sat)
2513{
2514 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat);
2515}
2516pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation,
2517 var_Spacecraft)
2518{
2519 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft);
2520}
2521
2522//////////
2523// 4. Refinement Indexers
2524//////////
2525// 4.1 Object constructors
2526//////////
2527private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
2528{
2529 find interpretation(problem,interpretation);
2530 find mustInstanceOfCommunicatingElement_class(problem,interpretation,root);
2531 find mustExist(problem, interpretation, root);
2532}or{
2533 find interpretation(problem,interpretation);
2534 find mustInstanceOfConstellationMission_class(problem,interpretation,root);
2535 find mustExist(problem, interpretation, root);
2536}or{
2537 find interpretation(problem,interpretation);
2538 find mustInstanceOfInterferometryPayload_class(problem,interpretation,root);
2539 find mustExist(problem, interpretation, root);
2540}or{
2541 find interpretation(problem,interpretation);
2542 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root);
2543 find mustExist(problem, interpretation, root);
2544}or{
2545 find interpretation(problem,interpretation);
2546 find mustInstanceOfCommSubsystem_class(problem,interpretation,root);
2547 find mustExist(problem, interpretation, root);
2548}or{
2549 find interpretation(problem,interpretation);
2550 find mustInstanceOfPayload_class(problem,interpretation,root);
2551 find mustExist(problem, interpretation, root);
2552}or{
2553 find interpretation(problem,interpretation);
2554 find mustInstanceOfCubeSat6U_class(problem,interpretation,root);
2555 find mustExist(problem, interpretation, root);
2556}or{
2557 find interpretation(problem,interpretation);
2558 find mustInstanceOfXCommSubsystem_class(problem,interpretation,root);
2559 find mustExist(problem, interpretation, root);
2560}or{
2561 find interpretation(problem,interpretation);
2562 find mustInstanceOfCubeSat3U_class(problem,interpretation,root);
2563 find mustExist(problem, interpretation, root);
2564}or{
2565 find interpretation(problem,interpretation);
2566 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,root);
2567 find mustExist(problem, interpretation, root);
2568}or{
2569 find interpretation(problem,interpretation);
2570 find mustInstanceOfSpacecraft_class(problem,interpretation,root);
2571 find mustExist(problem, interpretation, root);
2572}or{
2573 find interpretation(problem,interpretation);
2574 find mustInstanceOfInterferometryMission_class(problem,interpretation,root);
2575 find mustExist(problem, interpretation, root);
2576}or{
2577 find interpretation(problem,interpretation);
2578 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,root);
2579 find mustExist(problem, interpretation, root);
2580}or{
2581 find interpretation(problem,interpretation);
2582 find mustInstanceOfSmallSat_class(problem,interpretation,root);
2583 find mustExist(problem, interpretation, root);
2584}or{
2585 find interpretation(problem,interpretation);
2586 find mustInstanceOfCubeSat_class(problem,interpretation,root);
2587 find mustExist(problem, interpretation, root);
2588}or{
2589 find interpretation(problem,interpretation);
2590 find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,root);
2591 find mustExist(problem, interpretation, root);
2592}or{
2593 find interpretation(problem,interpretation);
2594 find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,root);
2595 find mustExist(problem, interpretation, root);
2596}or{
2597 find interpretation(problem,interpretation);
2598 find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,root);
2599 find mustExist(problem, interpretation, root);
2600}or{
2601 find interpretation(problem,interpretation);
2602 find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,root);
2603 find mustExist(problem, interpretation, root);
2604}or{
2605 find interpretation(problem,interpretation);
2606 find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,root);
2607 find mustExist(problem, interpretation, root);
2608}or{
2609 find interpretation(problem,interpretation);
2610 find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,root);
2611 find mustExist(problem, interpretation, root);
2612}or{
2613 find interpretation(problem,interpretation);
2614 find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,root);
2615 find mustExist(problem, interpretation, root);
2616}or{
2617 find interpretation(problem,interpretation);
2618 find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,root);
2619 find mustExist(problem, interpretation, root);
2620}or{
2621 find interpretation(problem,interpretation);
2622 find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,root);
2623 find mustExist(problem, interpretation, root);
2624}or{
2625 find interpretation(problem,interpretation);
2626 find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2627 find mustExist(problem, interpretation, root);
2628}or{
2629 find interpretation(problem,interpretation);
2630 find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,root);
2631 find mustExist(problem, interpretation, root);
2632}or{
2633 find interpretation(problem,interpretation);
2634 find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2635 find mustExist(problem, interpretation, root);
2636}or{
2637 find interpretation(problem,interpretation);
2638 find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,root);
2639 find mustExist(problem, interpretation, root);
2640}or{
2641 find interpretation(problem,interpretation);
2642 find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2643 find mustExist(problem, interpretation, root);
2644}
2645pattern createObject_InterferometryPayload_class_by_payload_reference_Spacecraft(
2646 problem:LogicProblem, interpretation:PartialInterpretation,
2647 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2648 container:DefinedElement)
2649{
2650 find interpretation(problem,interpretation);
2651 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2652 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
2653 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2654 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"payload reference Spacecraft");
2655 find mustInstanceOfSpacecraft_class(problem,interpretation,container);
2656 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2657 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,container,newObject);
2658 find mustExist(problem, interpretation, container);
2659 neg find mustExist(problem, interpretation, newObject);
2660}
2661pattern createObject_InterferometryPayload_class(
2662 problem:LogicProblem, interpretation:PartialInterpretation,
2663 typeInterpretation:PartialComplexTypeInterpretation)
2664{
2665 find interpretation(problem,interpretation);
2666 neg find hasElementInContainment(problem,interpretation);
2667 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2668 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
2669 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2670 find mayExist(problem, interpretation, newObject);
2671 neg find mustExist(problem, interpretation, newObject);
2672}
2673pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission(
2674 problem:LogicProblem, interpretation:PartialInterpretation,
2675 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2676 container:DefinedElement)
2677{
2678 find interpretation(problem,interpretation);
2679 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2680 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
2681 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2682 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2683 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2684 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
2685 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2686 find mustExist(problem, interpretation, container);
2687 neg find mustExist(problem, interpretation, newObject);
2688}
2689pattern createObject_CubeSat6U_class(
2690 problem:LogicProblem, interpretation:PartialInterpretation,
2691 typeInterpretation:PartialComplexTypeInterpretation)
2692{
2693 find interpretation(problem,interpretation);
2694 neg find hasElementInContainment(problem,interpretation);
2695 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2696 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
2697 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
2698 find mayExist(problem, interpretation, newObject);
2699 neg find mustExist(problem, interpretation, newObject);
2700}
2701pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission(
2702 problem:LogicProblem, interpretation:PartialInterpretation,
2703 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2704 container:DefinedElement)
2705{
2706 find interpretation(problem,interpretation);
2707 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2708 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2709 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2710 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission");
2711 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2712 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2713 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject);
2714 find mustExist(problem, interpretation, container);
2715 neg find mustExist(problem, interpretation, newObject);
2716}
2717pattern createObject_GroundStationNetwork_class_UndefinedPart(
2718 problem:LogicProblem, interpretation:PartialInterpretation,
2719 typeInterpretation:PartialComplexTypeInterpretation)
2720{
2721 find interpretation(problem,interpretation);
2722 neg find hasElementInContainment(problem,interpretation);
2723 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2724 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2725 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2726 find mayExist(problem, interpretation, newObject);
2727 neg find mustExist(problem, interpretation, newObject);
2728}
2729pattern createObject_UHFCommSubsystem_class_by_commSubsystem_reference_CommunicatingElement(
2730 problem:LogicProblem, interpretation:PartialInterpretation,
2731 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2732 container:DefinedElement)
2733{
2734 find interpretation(problem,interpretation);
2735 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2736 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
2737 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2738 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2739 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2740 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
2741 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2742 find mustExist(problem, interpretation, container);
2743 neg find mustExist(problem, interpretation, newObject);
2744}
2745pattern createObject_UHFCommSubsystem_class(
2746 problem:LogicProblem, interpretation:PartialInterpretation,
2747 typeInterpretation:PartialComplexTypeInterpretation)
2748{
2749 find interpretation(problem,interpretation);
2750 neg find hasElementInContainment(problem,interpretation);
2751 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2752 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
2753 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
2754 find mayExist(problem, interpretation, newObject);
2755 neg find mustExist(problem, interpretation, newObject);
2756}
2757pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission(
2758 problem:LogicProblem, interpretation:PartialInterpretation,
2759 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2760 container:DefinedElement)
2761{
2762 find interpretation(problem,interpretation);
2763 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2764 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2765 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2766 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2767 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2768 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2769 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2770 find mustExist(problem, interpretation, container);
2771 neg find mustExist(problem, interpretation, newObject);
2772}
2773pattern createObject_SmallSat_class(
2774 problem:LogicProblem, interpretation:PartialInterpretation,
2775 typeInterpretation:PartialComplexTypeInterpretation)
2776{
2777 find interpretation(problem,interpretation);
2778 neg find hasElementInContainment(problem,interpretation);
2779 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2780 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2781 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2782 find mayExist(problem, interpretation, newObject);
2783 neg find mustExist(problem, interpretation, newObject);
2784}
2785pattern createObject_KaCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2786 problem:LogicProblem, interpretation:PartialInterpretation,
2787 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2788 container:DefinedElement)
2789{
2790 find interpretation(problem,interpretation);
2791 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2792 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
2793 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2794 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2795 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2796 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2797 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2798 find mustExist(problem, interpretation, container);
2799 neg find mustExist(problem, interpretation, newObject);
2800}
2801pattern createObject_KaCommSubsystem_class_UndefinedPart(
2802 problem:LogicProblem, interpretation:PartialInterpretation,
2803 typeInterpretation:PartialComplexTypeInterpretation)
2804{
2805 find interpretation(problem,interpretation);
2806 neg find hasElementInContainment(problem,interpretation);
2807 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2808 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
2809 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2810 find mayExist(problem, interpretation, newObject);
2811 neg find mustExist(problem, interpretation, newObject);
2812}
2813pattern createObject_CubeSat3U_class_by_spacecraft_reference_ConstellationMission(
2814 problem:LogicProblem, interpretation:PartialInterpretation,
2815 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2816 container:DefinedElement)
2817{
2818 find interpretation(problem,interpretation);
2819 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2820 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
2821 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2822 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2823 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2824 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
2825 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2826 find mustExist(problem, interpretation, container);
2827 neg find mustExist(problem, interpretation, newObject);
2828}
2829pattern createObject_CubeSat3U_class(
2830 problem:LogicProblem, interpretation:PartialInterpretation,
2831 typeInterpretation:PartialComplexTypeInterpretation)
2832{
2833 find interpretation(problem,interpretation);
2834 neg find hasElementInContainment(problem,interpretation);
2835 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2836 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
2837 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
2838 find mayExist(problem, interpretation, newObject);
2839 neg find mustExist(problem, interpretation, newObject);
2840}
2841pattern createObject_XCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2842 problem:LogicProblem, interpretation:PartialInterpretation,
2843 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2844 container:DefinedElement)
2845{
2846 find interpretation(problem,interpretation);
2847 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2848 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2849 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2850 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2851 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2852 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2853 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2854 find mustExist(problem, interpretation, container);
2855 neg find mustExist(problem, interpretation, newObject);
2856}
2857pattern createObject_XCommSubsystem_class_UndefinedPart(
2858 problem:LogicProblem, interpretation:PartialInterpretation,
2859 typeInterpretation:PartialComplexTypeInterpretation)
2860{
2861 find interpretation(problem,interpretation);
2862 neg find hasElementInContainment(problem,interpretation);
2863 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2864 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2865 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2866 find mayExist(problem, interpretation, newObject);
2867 neg find mustExist(problem, interpretation, newObject);
2868}
2869pattern createObject_InterferometryMission_class_UndefinedPart(
2870 problem:LogicProblem, interpretation:PartialInterpretation,
2871 typeInterpretation:PartialComplexTypeInterpretation)
2872{
2873 find interpretation(problem,interpretation);
2874 neg find hasElementInContainment(problem,interpretation);
2875 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2876 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart");
2877 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject);
2878 find mayExist(problem, interpretation, newObject);
2879 neg find mustExist(problem, interpretation, newObject);
2880}
2881
2882//////////
2883// 4.2 Type refinement
2884//////////
2885pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2886 find interpretation(problem,interpretation);
2887 PartialInterpretation.newElements(interpretation,element);
2888 find mayInstanceOfInterferometryPayload_class(problem,interpretation,element);
2889 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
2890 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2891 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2892 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2893}
2894pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2895 find interpretation(problem,interpretation);
2896 PartialInterpretation.newElements(interpretation,element);
2897 find mayInstanceOfCubeSat6U_class(problem,interpretation,element);
2898 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2899 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2900 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2901 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2902 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2903 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
2904 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2905}
2906pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2907 find interpretation(problem,interpretation);
2908 PartialInterpretation.newElements(interpretation,element);
2909 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2910 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2911 neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2912 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2913 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
2914 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2915}
2916pattern refineTypeTo_UHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2917 find interpretation(problem,interpretation);
2918 PartialInterpretation.newElements(interpretation,element);
2919 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2920 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2921 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2922 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
2923 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2924 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2925 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2926}
2927pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2928 find interpretation(problem,interpretation);
2929 PartialInterpretation.newElements(interpretation,element);
2930 find mayInstanceOfSmallSat_class(problem,interpretation,element);
2931 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2932 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2933 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
2934 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2935 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2936 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2937}
2938pattern refineTypeTo_KaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2939 find interpretation(problem,interpretation);
2940 PartialInterpretation.newElements(interpretation,element);
2941 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2942 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2943 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2944 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2945 neg find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2946 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2947 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2948}
2949pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2950 find interpretation(problem,interpretation);
2951 PartialInterpretation.newElements(interpretation,element);
2952 find mayInstanceOfCubeSat3U_class(problem,interpretation,element);
2953 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2954 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2955 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2956 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2957 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2958 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
2959 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2960}
2961pattern refineTypeTo_XCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2962 find interpretation(problem,interpretation);
2963 PartialInterpretation.newElements(interpretation,element);
2964 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2965 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2966 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2967 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2968 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
2969 neg find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2970 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2971}
2972pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2973 find interpretation(problem,interpretation);
2974 PartialInterpretation.newElements(interpretation,element);
2975 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
2976 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2977 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2978 neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
2979 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2980}
2981
2982//////////
2983// 4.3 Relation refinement
2984//////////
2985pattern refineRelation_target_reference_CommSubsystem(
2986 problem:LogicProblem, interpretation:PartialInterpretation,
2987 relationIterpretation:PartialRelationInterpretation,
2988 from: DefinedElement, to: DefinedElement)
2989{
2990 find interpretation(problem,interpretation);
2991 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2992 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
2993 find mustExist(problem, interpretation, from);
2994 find mustExist(problem, interpretation, to);
2995 find mustInstanceOfCommSubsystem_class(problem,interpretation,from);
2996 find mustInstanceOfCommSubsystem_class(problem,interpretation,to);
2997 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
2998 neg find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
2999}
3000
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
new file mode 100644
index 00000000..01b90968
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run3/init.partialmodel
@@ -0,0 +1,147 @@
1<?xml version="1.0" encoding="ASCII"?>
2<partialinterpretation:PartialInterpretation xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:language="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" xmlns:partialinterpretation="http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" minNewElements="32" maxNewElements="64">
3 <problem href="dummy.dummyext#//@problemConainer"/>
4 <partialrelationinterpretation>
5 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.0"/>
6 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
7 <param1 href="dummy.dummyext#//@problemConainer/@elements.0"/>
8 <param2 href="dummy.dummyext#//@problemConainer/@elements.1"/>
9 </relationlinks>
10 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.0/@parameters.0"/>
11 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.0/@parameters.1"/>
12 </partialrelationinterpretation>
13 <partialrelationinterpretation>
14 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.1"/>
15 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.1/@parameters.0"/>
16 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.1/@parameters.1"/>
17 </partialrelationinterpretation>
18 <partialrelationinterpretation>
19 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.2"/>
20 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
21 <param1 href="dummy.dummyext#//@problemConainer/@elements.1"/>
22 <param2 href="dummy.dummyext#//@problemConainer/@elements.2"/>
23 </relationlinks>
24 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
25 <param1 href="dummy.dummyext#//@problemConainer/@elements.1"/>
26 <param2 href="dummy.dummyext#//@problemConainer/@elements.3"/>
27 </relationlinks>
28 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.2/@parameters.0"/>
29 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.2/@parameters.1"/>
30 </partialrelationinterpretation>
31 <partialrelationinterpretation>
32 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.3"/>
33 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.3/@parameters.0"/>
34 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.3/@parameters.1"/>
35 </partialrelationinterpretation>
36 <partialrelationinterpretation>
37 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.4"/>
38 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.4/@parameters.0"/>
39 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.4/@parameters.1"/>
40 </partialrelationinterpretation>
41 <newElements xsi:type="partialinterpretation:BooleanElement" name="true" valueSet="true" value="true"/>
42 <newElements xsi:type="partialinterpretation:BooleanElement" name="false" valueSet="true"/>
43 <partialtypeinterpratation xsi:type="partialinterpretation:PartialBooleanInterpretation" elements="//@newElements.0 //@newElements.1"/>
44 <partialtypeinterpratation xsi:type="partialinterpretation:PartialIntegerInterpretation" elements="//@openWorldElements.0"/>
45 <partialtypeinterpratation xsi:type="partialinterpretation:PartialRealInterpretation" elements="//@openWorldElements.1"/>
46 <partialtypeinterpratation xsi:type="partialinterpretation:PartialStringInterpretation" elements="//@openWorldElements.2"/>
47 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.0">
48 <elements href="dummy.dummyext#//@problemConainer/@elements.0"/>
49 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.0"/>
50 </partialtypeinterpratation>
51 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.1" supertypeInterpretation="//@partialtypeinterpratation.4">
52 <elements href="dummy.dummyext#//@problemConainer/@elements.0"/>
53 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.1"/>
54 </partialtypeinterpratation>
55 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.2">
56 <elements href="dummy.dummyext#//@problemConainer/@elements.1"/>
57 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.2"/>
58 </partialtypeinterpratation>
59 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.3" supertypeInterpretation="//@partialtypeinterpratation.6">
60 <elements href="dummy.dummyext#//@problemConainer/@elements.1"/>
61 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.3"/>
62 </partialtypeinterpratation>
63 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.4" supertypeInterpretation="//@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
64 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.4"/>
65 </partialtypeinterpratation>
66 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.5">
67 <elements href="dummy.dummyext#//@problemConainer/@elements.2"/>
68 <elements href="dummy.dummyext#//@problemConainer/@elements.3"/>
69 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.5"/>
70 </partialtypeinterpratation>
71 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.6">
72 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.6"/>
73 </partialtypeinterpratation>
74 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.7" supertypeInterpretation="//@partialtypeinterpratation.10">
75 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.7"/>
76 </partialtypeinterpratation>
77 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.8" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
78 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.8"/>
79 </partialtypeinterpratation>
80 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.9" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
81 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.9"/>
82 </partialtypeinterpratation>
83 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.10" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
84 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.10"/>
85 </partialtypeinterpratation>
86 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.11" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
87 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.11"/>
88 </partialtypeinterpratation>
89 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.12" supertypeInterpretation="//@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
90 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.12"/>
91 </partialtypeinterpratation>
92 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.13" supertypeInterpretation="//@partialtypeinterpratation.9">
93 <elements href="dummy.dummyext#//@problemConainer/@elements.2"/>
94 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.13"/>
95 </partialtypeinterpratation>
96 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.14" supertypeInterpretation="//@partialtypeinterpratation.9">
97 <elements href="dummy.dummyext#//@problemConainer/@elements.3"/>
98 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.14"/>
99 </partialtypeinterpratation>
100 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.15" supertypeInterpretation="//@partialtypeinterpratation.4">
101 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.16"/>
102 </partialtypeinterpratation>
103 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.16" supertypeInterpretation="//@partialtypeinterpratation.5 //@partialtypeinterpratation.4 //@partialtypeinterpratation.19">
104 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.18"/>
105 </partialtypeinterpratation>
106 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.17" supertypeInterpretation="//@partialtypeinterpratation.6">
107 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.20"/>
108 </partialtypeinterpratation>
109 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.18" supertypeInterpretation="//@partialtypeinterpratation.7 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
110 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.22"/>
111 </partialtypeinterpratation>
112 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.19" supertypeInterpretation="//@partialtypeinterpratation.9">
113 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.24"/>
114 </partialtypeinterpratation>
115 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.20" supertypeInterpretation="//@partialtypeinterpratation.17 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
116 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.26"/>
117 </partialtypeinterpratation>
118 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.21" supertypeInterpretation="//@partialtypeinterpratation.18 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
119 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.28"/>
120 </partialtypeinterpratation>
121 <openWorldElements xsi:type="partialinterpretation:IntegerElement" name="New Integers"/>
122 <openWorldElements xsi:type="partialinterpretation:RealElement" name="New Reals"/>
123 <openWorldElements xsi:type="partialinterpretation:StringElement" name="New Strings"/>
124 <openWorldElements name="New Objects"/>
125 <scopes targetTypeInterpretation="//@partialtypeinterpratation.4"/>
126 <scopes targetTypeInterpretation="//@partialtypeinterpratation.5"/>
127 <scopes targetTypeInterpretation="//@partialtypeinterpratation.6"/>
128 <scopes targetTypeInterpretation="//@partialtypeinterpratation.7"/>
129 <scopes targetTypeInterpretation="//@partialtypeinterpratation.8"/>
130 <scopes targetTypeInterpretation="//@partialtypeinterpratation.9"/>
131 <scopes targetTypeInterpretation="//@partialtypeinterpratation.10"/>
132 <scopes targetTypeInterpretation="//@partialtypeinterpratation.11"/>
133 <scopes targetTypeInterpretation="//@partialtypeinterpratation.12"/>
134 <scopes targetTypeInterpretation="//@partialtypeinterpratation.13"/>
135 <scopes targetTypeInterpretation="//@partialtypeinterpratation.14"/>
136 <scopes targetTypeInterpretation="//@partialtypeinterpratation.15"/>
137 <scopes targetTypeInterpretation="//@partialtypeinterpratation.16"/>
138 <scopes targetTypeInterpretation="//@partialtypeinterpratation.17"/>
139 <scopes targetTypeInterpretation="//@partialtypeinterpratation.18"/>
140 <scopes targetTypeInterpretation="//@partialtypeinterpratation.19"/>
141 <scopes targetTypeInterpretation="//@partialtypeinterpratation.20"/>
142 <scopes targetTypeInterpretation="//@partialtypeinterpratation.21"/>
143 <scopes targetTypeInterpretation="//@partialtypeinterpratation.22"/>
144 <scopes targetTypeInterpretation="//@partialtypeinterpratation.23"/>
145 <scopes targetTypeInterpretation="//@partialtypeinterpratation.24"/>
146 <scopes targetTypeInterpretation="//@partialtypeinterpratation.25"/>
147</partialinterpretation:PartialInterpretation>
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
new file mode 100644
index 00000000..c96a951c
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run4/generated3valued.vql_deactivated
@@ -0,0 +1,3000 @@
1import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage"
2import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem"
3import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language"
4
5//////////
6// 0. Util
7//////////
8private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) {
9 PartialInterpretation.problem(interpretation,problem);
10}
11
12/////////////////////////
13// 0.1 Existence
14/////////////////////////
15private pattern mustExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
16 find interpretation(problem,interpretation);
17 LogicProblem.elements(problem,element);
18} or {
19 find interpretation(problem,interpretation);
20 PartialInterpretation.newElements(interpretation,element);
21}
22
23private pattern mayExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
24 find mustExist(problem,interpretation,element);
25} or {
26 find interpretation(problem,interpretation);
27 neg find elementCloseWorld(element);
28 PartialInterpretation.openWorldElements(interpretation,element);
29}
30
31private pattern elementCloseWorld(element:DefinedElement) {
32 PartialInterpretation.openWorldElements(i,element);
33 PartialInterpretation.maxNewElements(i,0);
34} or {
35 Scope.targetTypeInterpretation(scope,interpretation);
36 PartialTypeInterpratation.elements(interpretation,element);
37 Scope.maxNewElements(scope,0);
38}
39
40////////////////////////
41// 0.2 Equivalence
42////////////////////////
43pattern mayEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
44 find mayExist(problem,interpretation,a);
45 find mayExist(problem,interpretation,b);
46 a == b;
47}
48pattern mustEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
49 find mustExist(problem,interpretation,a);
50 find mustExist(problem,interpretation,b);
51 a == b;
52}
53
54////////////////////////
55// 0.3 Required Patterns by TypeIndexer
56////////////////////////
57private pattern typeInterpretation(problem:LogicProblem, interpretation:PartialInterpretation, type:TypeDeclaration, typeInterpretation:PartialComplexTypeInterpretation) {
58 find interpretation(problem,interpretation);
59 LogicProblem.types(problem,type);
60 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
61 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
62}
63
64private pattern directInstanceOf(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, type:Type) {
65 find interpretation(problem,interpretation);
66 LogicProblem.types(problem,type);
67 TypeDefinition.elements(type,element);
68} or {
69 find interpretation(problem,interpretation);
70 find typeInterpretation(problem,interpretation,type,typeInterpretation);
71 PartialComplexTypeInterpretation.elements(typeInterpretation,element);
72}
73
74private pattern isPrimitive(element: PrimitiveElement) {
75 PrimitiveElement(element);
76}
77
78//////////
79// 1. Problem-Specific Base Indexers
80//////////
81// 1.1 Type Indexers
82//////////
83// 1.1.1 primitive Type Indexers
84//////////
85
86//////////
87// 1.1.2 domain-specific Type Indexers
88//////////
89/**
90 * An element must be an instance of type "ConstellationMission class".
91 */
92private pattern mustInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
93 Type.name(type,"ConstellationMission class");
94 find directInstanceOf(problem,interpretation,element,type);
95}
96private pattern scopeDisallowsNewConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation) {
97 find interpretation(problem,interpretation);
98 PartialInterpretation.scopes(interpretation,scope);
99 Scope.targetTypeInterpretation(scope,typeInterpretation);
100 Scope.maxNewElements(scope,0);
101 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
102 Type.name(type,"ConstellationMission class");
103}
104
105/**
106 * An element may be an instance of type "ConstellationMission class".
107 */
108private pattern mayInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
109{
110 find interpretation(problem,interpretation);
111 PartialInterpretation.newElements(interpretation,element);
112 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
113 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
114 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
115 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
116 neg find mustInstanceOfPayload_class(problem,interpretation,element);
117 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
118 neg find isPrimitive(element);
119} or {
120 find interpretation(problem,interpretation);
121 PartialInterpretation.openWorldElements(interpretation,element);
122 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
123 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
124 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
125 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
126 neg find mustInstanceOfPayload_class(problem,interpretation,element);
127 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
128 neg find isPrimitive(element);
129} or
130{ find mustInstanceOfConstellationMission_class(problem,interpretation,element); }
131/**
132 * An element must be an instance of type "InterferometryMission class".
133 */
134private pattern mustInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
135 Type.name(type,"InterferometryMission class");
136 find directInstanceOf(problem,interpretation,element,type);
137}
138private pattern scopeDisallowsNewInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation) {
139 find interpretation(problem,interpretation);
140 PartialInterpretation.scopes(interpretation,scope);
141 Scope.targetTypeInterpretation(scope,typeInterpretation);
142 Scope.maxNewElements(scope,0);
143 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
144 Type.name(type,"InterferometryMission class");
145}
146
147/**
148 * An element may be an instance of type "InterferometryMission class".
149 */
150private pattern mayInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
151{
152 find interpretation(problem,interpretation);
153 PartialInterpretation.newElements(interpretation,element);
154 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
155 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
156 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
157 neg find mustInstanceOfPayload_class(problem,interpretation,element);
158 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
159 neg find isPrimitive(element);
160} or {
161 find interpretation(problem,interpretation);
162 PartialInterpretation.openWorldElements(interpretation,element);
163 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
164 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
165 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
166 neg find mustInstanceOfPayload_class(problem,interpretation,element);
167 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
168 neg find isPrimitive(element);
169} or
170{ find mustInstanceOfInterferometryMission_class(problem,interpretation,element); }
171/**
172 * An element must be an instance of type "CommunicatingElement class".
173 */
174private pattern mustInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
175 Type.name(type,"CommunicatingElement class");
176 find directInstanceOf(problem,interpretation,element,type);
177}
178private pattern scopeDisallowsNewCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation) {
179 find interpretation(problem,interpretation);
180 PartialInterpretation.scopes(interpretation,scope);
181 Scope.targetTypeInterpretation(scope,typeInterpretation);
182 Scope.maxNewElements(scope,0);
183 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
184 Type.name(type,"CommunicatingElement class");
185}
186
187/**
188 * An element may be an instance of type "CommunicatingElement class".
189 */
190private pattern mayInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
191{
192 find interpretation(problem,interpretation);
193 PartialInterpretation.newElements(interpretation,element);
194 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
195 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
196 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
197 neg find mustInstanceOfPayload_class(problem,interpretation,element);
198 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
199 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
200 neg find isPrimitive(element);
201} or {
202 find interpretation(problem,interpretation);
203 PartialInterpretation.openWorldElements(interpretation,element);
204 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
205 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
206 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
207 neg find mustInstanceOfPayload_class(problem,interpretation,element);
208 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
209 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
210 neg find isPrimitive(element);
211} or
212{ find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); }
213/**
214 * An element must be an instance of type "GroundStationNetwork class".
215 */
216private pattern mustInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
217 Type.name(type,"GroundStationNetwork class");
218 find directInstanceOf(problem,interpretation,element,type);
219}
220private pattern scopeDisallowsNewGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation) {
221 find interpretation(problem,interpretation);
222 PartialInterpretation.scopes(interpretation,scope);
223 Scope.targetTypeInterpretation(scope,typeInterpretation);
224 Scope.maxNewElements(scope,0);
225 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
226 Type.name(type,"GroundStationNetwork class");
227}
228
229/**
230 * An element may be an instance of type "GroundStationNetwork class".
231 */
232private pattern mayInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
233{
234 find interpretation(problem,interpretation);
235 PartialInterpretation.newElements(interpretation,element);
236 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
237 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
238 neg find mustInstanceOfPayload_class(problem,interpretation,element);
239 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
240 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
241 neg find isPrimitive(element);
242} or {
243 find interpretation(problem,interpretation);
244 PartialInterpretation.openWorldElements(interpretation,element);
245 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
246 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
247 neg find mustInstanceOfPayload_class(problem,interpretation,element);
248 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
249 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
250 neg find isPrimitive(element);
251} or
252{ find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); }
253/**
254 * An element must be an instance of type "Spacecraft class".
255 */
256private pattern mustInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
257 Type.name(type,"Spacecraft class");
258 find directInstanceOf(problem,interpretation,element,type);
259}
260private pattern scopeDisallowsNewSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation) {
261 find interpretation(problem,interpretation);
262 PartialInterpretation.scopes(interpretation,scope);
263 Scope.targetTypeInterpretation(scope,typeInterpretation);
264 Scope.maxNewElements(scope,0);
265 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
266 Type.name(type,"Spacecraft class");
267}
268
269/**
270 * An element may be an instance of type "Spacecraft class".
271 */
272private pattern mayInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
273{
274 find interpretation(problem,interpretation);
275 PartialInterpretation.newElements(interpretation,element);
276 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
277 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
278 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
279 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
280 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
281 neg find mustInstanceOfPayload_class(problem,interpretation,element);
282 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
283 neg find isPrimitive(element);
284} or {
285 find interpretation(problem,interpretation);
286 PartialInterpretation.openWorldElements(interpretation,element);
287 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
288 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
289 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
290 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
291 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
292 neg find mustInstanceOfPayload_class(problem,interpretation,element);
293 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
294 neg find isPrimitive(element);
295} or
296{ find mustInstanceOfSpacecraft_class(problem,interpretation,element); }
297/**
298 * An element must be an instance of type "CommSubsystem class".
299 */
300private pattern mustInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
301 Type.name(type,"CommSubsystem class");
302 find directInstanceOf(problem,interpretation,element,type);
303}
304private pattern scopeDisallowsNewCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
305 find interpretation(problem,interpretation);
306 PartialInterpretation.scopes(interpretation,scope);
307 Scope.targetTypeInterpretation(scope,typeInterpretation);
308 Scope.maxNewElements(scope,0);
309 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
310 Type.name(type,"CommSubsystem class");
311}
312
313/**
314 * An element may be an instance of type "CommSubsystem class".
315 */
316private pattern mayInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
317{
318 find interpretation(problem,interpretation);
319 PartialInterpretation.newElements(interpretation,element);
320 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
321 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
322 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
323 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
324 neg find mustInstanceOfPayload_class(problem,interpretation,element);
325 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
326 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
327 neg find isPrimitive(element);
328} or {
329 find interpretation(problem,interpretation);
330 PartialInterpretation.openWorldElements(interpretation,element);
331 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
332 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
333 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
334 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
335 neg find mustInstanceOfPayload_class(problem,interpretation,element);
336 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
337 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
338 neg find isPrimitive(element);
339} or
340{ find mustInstanceOfCommSubsystem_class(problem,interpretation,element); }
341/**
342 * An element must be an instance of type "Payload class".
343 */
344private pattern mustInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
345 Type.name(type,"Payload class");
346 find directInstanceOf(problem,interpretation,element,type);
347}
348private pattern scopeDisallowsNewPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) {
349 find interpretation(problem,interpretation);
350 PartialInterpretation.scopes(interpretation,scope);
351 Scope.targetTypeInterpretation(scope,typeInterpretation);
352 Scope.maxNewElements(scope,0);
353 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
354 Type.name(type,"Payload class");
355}
356
357/**
358 * An element may be an instance of type "Payload class".
359 */
360private pattern mayInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
361{
362 find interpretation(problem,interpretation);
363 PartialInterpretation.newElements(interpretation,element);
364 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
365 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
366 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
367 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
368 neg find scopeDisallowsNewPayload_class(problem, interpretation);
369 neg find isPrimitive(element);
370} or {
371 find interpretation(problem,interpretation);
372 PartialInterpretation.openWorldElements(interpretation,element);
373 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
374 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
375 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
376 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
377 neg find scopeDisallowsNewPayload_class(problem, interpretation);
378 neg find isPrimitive(element);
379} or
380{ find mustInstanceOfPayload_class(problem,interpretation,element); }
381/**
382 * An element must be an instance of type "InterferometryPayload class".
383 */
384private pattern mustInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
385 Type.name(type,"InterferometryPayload class");
386 find directInstanceOf(problem,interpretation,element,type);
387}
388private pattern scopeDisallowsNewInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) {
389 find interpretation(problem,interpretation);
390 PartialInterpretation.scopes(interpretation,scope);
391 Scope.targetTypeInterpretation(scope,typeInterpretation);
392 Scope.maxNewElements(scope,0);
393 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
394 Type.name(type,"InterferometryPayload class");
395}
396
397/**
398 * An element may be an instance of type "InterferometryPayload class".
399 */
400private pattern mayInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
401{
402 find interpretation(problem,interpretation);
403 PartialInterpretation.newElements(interpretation,element);
404 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
405 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
406 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
407 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
408 neg find isPrimitive(element);
409} or {
410 find interpretation(problem,interpretation);
411 PartialInterpretation.openWorldElements(interpretation,element);
412 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
413 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
414 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
415 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
416 neg find isPrimitive(element);
417} or
418{ find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); }
419/**
420 * An element must be an instance of type "CubeSat3U class".
421 */
422private pattern mustInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
423 Type.name(type,"CubeSat3U class");
424 find directInstanceOf(problem,interpretation,element,type);
425}
426private pattern scopeDisallowsNewCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation) {
427 find interpretation(problem,interpretation);
428 PartialInterpretation.scopes(interpretation,scope);
429 Scope.targetTypeInterpretation(scope,typeInterpretation);
430 Scope.maxNewElements(scope,0);
431 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
432 Type.name(type,"CubeSat3U class");
433}
434
435/**
436 * An element may be an instance of type "CubeSat3U class".
437 */
438private pattern mayInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
439{
440 find interpretation(problem,interpretation);
441 PartialInterpretation.newElements(interpretation,element);
442 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
443 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
444 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
445 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
446 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
447 neg find mustInstanceOfPayload_class(problem,interpretation,element);
448 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
449 neg find isPrimitive(element);
450} or {
451 find interpretation(problem,interpretation);
452 PartialInterpretation.openWorldElements(interpretation,element);
453 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
454 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
455 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
456 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
457 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
458 neg find mustInstanceOfPayload_class(problem,interpretation,element);
459 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
460 neg find isPrimitive(element);
461} or
462{ find mustInstanceOfCubeSat3U_class(problem,interpretation,element); }
463/**
464 * An element must be an instance of type "CubeSat6U class".
465 */
466private pattern mustInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
467 Type.name(type,"CubeSat6U class");
468 find directInstanceOf(problem,interpretation,element,type);
469}
470private pattern scopeDisallowsNewCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation) {
471 find interpretation(problem,interpretation);
472 PartialInterpretation.scopes(interpretation,scope);
473 Scope.targetTypeInterpretation(scope,typeInterpretation);
474 Scope.maxNewElements(scope,0);
475 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
476 Type.name(type,"CubeSat6U class");
477}
478
479/**
480 * An element may be an instance of type "CubeSat6U class".
481 */
482private pattern mayInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
483{
484 find interpretation(problem,interpretation);
485 PartialInterpretation.newElements(interpretation,element);
486 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
487 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
488 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
489 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
490 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
491 neg find mustInstanceOfPayload_class(problem,interpretation,element);
492 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
493 neg find isPrimitive(element);
494} or {
495 find interpretation(problem,interpretation);
496 PartialInterpretation.openWorldElements(interpretation,element);
497 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
498 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
499 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
500 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
501 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
502 neg find mustInstanceOfPayload_class(problem,interpretation,element);
503 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
504 neg find isPrimitive(element);
505} or
506{ find mustInstanceOfCubeSat6U_class(problem,interpretation,element); }
507/**
508 * An element must be an instance of type "SmallSat class".
509 */
510private pattern mustInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
511 Type.name(type,"SmallSat class");
512 find directInstanceOf(problem,interpretation,element,type);
513}
514private pattern scopeDisallowsNewSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation) {
515 find interpretation(problem,interpretation);
516 PartialInterpretation.scopes(interpretation,scope);
517 Scope.targetTypeInterpretation(scope,typeInterpretation);
518 Scope.maxNewElements(scope,0);
519 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
520 Type.name(type,"SmallSat class");
521}
522
523/**
524 * An element may be an instance of type "SmallSat class".
525 */
526private pattern mayInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
527{
528 find interpretation(problem,interpretation);
529 PartialInterpretation.newElements(interpretation,element);
530 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
531 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
532 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
533 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
534 neg find mustInstanceOfPayload_class(problem,interpretation,element);
535 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
536 neg find isPrimitive(element);
537} or {
538 find interpretation(problem,interpretation);
539 PartialInterpretation.openWorldElements(interpretation,element);
540 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
541 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
542 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
543 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
544 neg find mustInstanceOfPayload_class(problem,interpretation,element);
545 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
546 neg find isPrimitive(element);
547} or
548{ find mustInstanceOfSmallSat_class(problem,interpretation,element); }
549/**
550 * An element must be an instance of type "CubeSat class".
551 */
552private pattern mustInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
553 Type.name(type,"CubeSat class");
554 find directInstanceOf(problem,interpretation,element,type);
555}
556private pattern scopeDisallowsNewCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation) {
557 find interpretation(problem,interpretation);
558 PartialInterpretation.scopes(interpretation,scope);
559 Scope.targetTypeInterpretation(scope,typeInterpretation);
560 Scope.maxNewElements(scope,0);
561 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
562 Type.name(type,"CubeSat class");
563}
564
565/**
566 * An element may be an instance of type "CubeSat class".
567 */
568private pattern mayInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
569{
570 find interpretation(problem,interpretation);
571 PartialInterpretation.newElements(interpretation,element);
572 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
573 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
574 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
575 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
576 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
577 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
578 neg find mustInstanceOfPayload_class(problem,interpretation,element);
579 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
580 neg find isPrimitive(element);
581} or {
582 find interpretation(problem,interpretation);
583 PartialInterpretation.openWorldElements(interpretation,element);
584 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
585 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
586 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
587 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
588 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
589 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
590 neg find mustInstanceOfPayload_class(problem,interpretation,element);
591 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
592 neg find isPrimitive(element);
593} or
594{ find mustInstanceOfCubeSat_class(problem,interpretation,element); }
595/**
596 * An element must be an instance of type "UHFCommSubsystem class".
597 */
598private pattern mustInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
599 Type.name(type,"UHFCommSubsystem class");
600 find directInstanceOf(problem,interpretation,element,type);
601}
602private pattern scopeDisallowsNewUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
603 find interpretation(problem,interpretation);
604 PartialInterpretation.scopes(interpretation,scope);
605 Scope.targetTypeInterpretation(scope,typeInterpretation);
606 Scope.maxNewElements(scope,0);
607 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
608 Type.name(type,"UHFCommSubsystem class");
609}
610
611/**
612 * An element may be an instance of type "UHFCommSubsystem class".
613 */
614private pattern mayInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
615{
616 find interpretation(problem,interpretation);
617 PartialInterpretation.newElements(interpretation,element);
618 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
619 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
620 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
621 neg find mustInstanceOfPayload_class(problem,interpretation,element);
622 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
623 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
624 neg find isPrimitive(element);
625} or {
626 find interpretation(problem,interpretation);
627 PartialInterpretation.openWorldElements(interpretation,element);
628 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
629 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
630 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
631 neg find mustInstanceOfPayload_class(problem,interpretation,element);
632 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
633 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
634 neg find isPrimitive(element);
635} or
636{ find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); }
637/**
638 * An element must be an instance of type "XCommSubsystem class".
639 */
640private pattern mustInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
641 Type.name(type,"XCommSubsystem class");
642 find directInstanceOf(problem,interpretation,element,type);
643}
644private pattern scopeDisallowsNewXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
645 find interpretation(problem,interpretation);
646 PartialInterpretation.scopes(interpretation,scope);
647 Scope.targetTypeInterpretation(scope,typeInterpretation);
648 Scope.maxNewElements(scope,0);
649 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
650 Type.name(type,"XCommSubsystem class");
651}
652
653/**
654 * An element may be an instance of type "XCommSubsystem class".
655 */
656private pattern mayInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
657{
658 find interpretation(problem,interpretation);
659 PartialInterpretation.newElements(interpretation,element);
660 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
661 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
662 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
663 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
664 neg find mustInstanceOfPayload_class(problem,interpretation,element);
665 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
666 neg find isPrimitive(element);
667} or {
668 find interpretation(problem,interpretation);
669 PartialInterpretation.openWorldElements(interpretation,element);
670 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
671 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
672 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
673 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
674 neg find mustInstanceOfPayload_class(problem,interpretation,element);
675 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
676 neg find isPrimitive(element);
677} or
678{ find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); }
679/**
680 * An element must be an instance of type "KaCommSubsystem class".
681 */
682private pattern mustInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
683 Type.name(type,"KaCommSubsystem class");
684 find directInstanceOf(problem,interpretation,element,type);
685}
686private pattern scopeDisallowsNewKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
687 find interpretation(problem,interpretation);
688 PartialInterpretation.scopes(interpretation,scope);
689 Scope.targetTypeInterpretation(scope,typeInterpretation);
690 Scope.maxNewElements(scope,0);
691 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
692 Type.name(type,"KaCommSubsystem class");
693}
694
695/**
696 * An element may be an instance of type "KaCommSubsystem class".
697 */
698private pattern mayInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
699{
700 find interpretation(problem,interpretation);
701 PartialInterpretation.newElements(interpretation,element);
702 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
703 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
704 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
705 neg find mustInstanceOfPayload_class(problem,interpretation,element);
706 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
707 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
708 neg find isPrimitive(element);
709} or {
710 find interpretation(problem,interpretation);
711 PartialInterpretation.openWorldElements(interpretation,element);
712 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
713 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
714 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
715 neg find mustInstanceOfPayload_class(problem,interpretation,element);
716 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
717 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
718 neg find isPrimitive(element);
719} or
720{ find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); }
721/**
722 * An element must be an instance of type "ConstellationMission class DefinedPart".
723 */
724private pattern mustInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
725 Type.name(type,"ConstellationMission class DefinedPart");
726 find directInstanceOf(problem,interpretation,element,type);
727}
728private pattern scopeDisallowsNewConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
729 find interpretation(problem,interpretation);
730 PartialInterpretation.scopes(interpretation,scope);
731 Scope.targetTypeInterpretation(scope,typeInterpretation);
732 Scope.maxNewElements(scope,0);
733 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
734 Type.name(type,"ConstellationMission class DefinedPart");
735}
736
737/**
738 * An element may be an instance of type "ConstellationMission class DefinedPart".
739 */
740private pattern mayInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
741{ find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,element); }
742/**
743 * An element must be an instance of type "ConstellationMission class UndefinedPart".
744 */
745private pattern mustInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
746 Type.name(type,"ConstellationMission class UndefinedPart");
747 find directInstanceOf(problem,interpretation,element,type);
748}
749private pattern scopeDisallowsNewConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
750 find interpretation(problem,interpretation);
751 PartialInterpretation.scopes(interpretation,scope);
752 Scope.targetTypeInterpretation(scope,typeInterpretation);
753 Scope.maxNewElements(scope,0);
754 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
755 Type.name(type,"ConstellationMission class UndefinedPart");
756}
757
758/**
759 * An element may be an instance of type "ConstellationMission class UndefinedPart".
760 */
761private pattern mayInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
762{
763 find interpretation(problem,interpretation);
764 PartialInterpretation.newElements(interpretation,element);
765 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
766 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
767 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
768 neg find mustInstanceOfPayload_class(problem,interpretation,element);
769 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
770 neg find isPrimitive(element);
771} or {
772 find interpretation(problem,interpretation);
773 PartialInterpretation.openWorldElements(interpretation,element);
774 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
775 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
776 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
777 neg find mustInstanceOfPayload_class(problem,interpretation,element);
778 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
779 neg find isPrimitive(element);
780} or
781{ find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); }
782/**
783 * An element must be an instance of type "InterferometryMission class DefinedPart".
784 */
785private pattern mustInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
786 Type.name(type,"InterferometryMission class DefinedPart");
787 find directInstanceOf(problem,interpretation,element,type);
788}
789private pattern scopeDisallowsNewInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
790 find interpretation(problem,interpretation);
791 PartialInterpretation.scopes(interpretation,scope);
792 Scope.targetTypeInterpretation(scope,typeInterpretation);
793 Scope.maxNewElements(scope,0);
794 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
795 Type.name(type,"InterferometryMission class DefinedPart");
796}
797
798/**
799 * An element may be an instance of type "InterferometryMission class DefinedPart".
800 */
801private pattern mayInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
802{ find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,element); }
803/**
804 * An element must be an instance of type "InterferometryMission class UndefinedPart".
805 */
806private pattern mustInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
807 Type.name(type,"InterferometryMission class UndefinedPart");
808 find directInstanceOf(problem,interpretation,element,type);
809}
810private pattern scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
811 find interpretation(problem,interpretation);
812 PartialInterpretation.scopes(interpretation,scope);
813 Scope.targetTypeInterpretation(scope,typeInterpretation);
814 Scope.maxNewElements(scope,0);
815 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
816 Type.name(type,"InterferometryMission class UndefinedPart");
817}
818
819/**
820 * An element may be an instance of type "InterferometryMission class UndefinedPart".
821 */
822private pattern mayInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
823{
824 find interpretation(problem,interpretation);
825 PartialInterpretation.newElements(interpretation,element);
826 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
827 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
828 neg find mustInstanceOfPayload_class(problem,interpretation,element);
829 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
830 neg find isPrimitive(element);
831} or {
832 find interpretation(problem,interpretation);
833 PartialInterpretation.openWorldElements(interpretation,element);
834 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
835 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
836 neg find mustInstanceOfPayload_class(problem,interpretation,element);
837 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
838 neg find isPrimitive(element);
839} or
840{ find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); }
841/**
842 * An element must be an instance of type "CommunicatingElement class DefinedPart".
843 */
844private pattern mustInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
845 Type.name(type,"CommunicatingElement class DefinedPart");
846 find directInstanceOf(problem,interpretation,element,type);
847}
848private pattern scopeDisallowsNewCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
849 find interpretation(problem,interpretation);
850 PartialInterpretation.scopes(interpretation,scope);
851 Scope.targetTypeInterpretation(scope,typeInterpretation);
852 Scope.maxNewElements(scope,0);
853 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
854 Type.name(type,"CommunicatingElement class DefinedPart");
855}
856
857/**
858 * An element may be an instance of type "CommunicatingElement class DefinedPart".
859 */
860private pattern mayInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
861{ find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,element); }
862/**
863 * An element must be an instance of type "CommunicatingElement class UndefinedPart".
864 */
865private pattern mustInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
866 Type.name(type,"CommunicatingElement class UndefinedPart");
867 find directInstanceOf(problem,interpretation,element,type);
868}
869private pattern scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
870 find interpretation(problem,interpretation);
871 PartialInterpretation.scopes(interpretation,scope);
872 Scope.targetTypeInterpretation(scope,typeInterpretation);
873 Scope.maxNewElements(scope,0);
874 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
875 Type.name(type,"CommunicatingElement class UndefinedPart");
876}
877
878/**
879 * An element may be an instance of type "CommunicatingElement class UndefinedPart".
880 */
881private pattern mayInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
882{
883 find interpretation(problem,interpretation);
884 PartialInterpretation.newElements(interpretation,element);
885 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
886 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
887 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
888 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
889 neg find mustInstanceOfPayload_class(problem,interpretation,element);
890 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
891 neg find isPrimitive(element);
892} or {
893 find interpretation(problem,interpretation);
894 PartialInterpretation.openWorldElements(interpretation,element);
895 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
896 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
897 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
898 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
899 neg find mustInstanceOfPayload_class(problem,interpretation,element);
900 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
901 neg find isPrimitive(element);
902} or
903{ find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); }
904/**
905 * An element must be an instance of type "GroundStationNetwork class DefinedPart".
906 */
907private pattern mustInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
908 Type.name(type,"GroundStationNetwork class DefinedPart");
909 find directInstanceOf(problem,interpretation,element,type);
910}
911private pattern scopeDisallowsNewGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
912 find interpretation(problem,interpretation);
913 PartialInterpretation.scopes(interpretation,scope);
914 Scope.targetTypeInterpretation(scope,typeInterpretation);
915 Scope.maxNewElements(scope,0);
916 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
917 Type.name(type,"GroundStationNetwork class DefinedPart");
918}
919
920/**
921 * An element may be an instance of type "GroundStationNetwork class DefinedPart".
922 */
923private pattern mayInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
924{ find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,element); }
925/**
926 * An element must be an instance of type "GroundStationNetwork class UndefinedPart".
927 */
928private pattern mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
929 Type.name(type,"GroundStationNetwork class UndefinedPart");
930 find directInstanceOf(problem,interpretation,element,type);
931}
932private pattern scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
933 find interpretation(problem,interpretation);
934 PartialInterpretation.scopes(interpretation,scope);
935 Scope.targetTypeInterpretation(scope,typeInterpretation);
936 Scope.maxNewElements(scope,0);
937 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
938 Type.name(type,"GroundStationNetwork class UndefinedPart");
939}
940
941/**
942 * An element may be an instance of type "GroundStationNetwork class UndefinedPart".
943 */
944private pattern mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
945{
946 find interpretation(problem,interpretation);
947 PartialInterpretation.newElements(interpretation,element);
948 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
949 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
950 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
951 neg find mustInstanceOfPayload_class(problem,interpretation,element);
952 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
953 neg find isPrimitive(element);
954} or {
955 find interpretation(problem,interpretation);
956 PartialInterpretation.openWorldElements(interpretation,element);
957 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
958 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
959 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
960 neg find mustInstanceOfPayload_class(problem,interpretation,element);
961 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
962 neg find isPrimitive(element);
963} or
964{ find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); }
965/**
966 * An element must be an instance of type "CommSubsystem class DefinedPart".
967 */
968private pattern mustInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
969 Type.name(type,"CommSubsystem class DefinedPart");
970 find directInstanceOf(problem,interpretation,element,type);
971}
972private pattern scopeDisallowsNewCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
973 find interpretation(problem,interpretation);
974 PartialInterpretation.scopes(interpretation,scope);
975 Scope.targetTypeInterpretation(scope,typeInterpretation);
976 Scope.maxNewElements(scope,0);
977 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
978 Type.name(type,"CommSubsystem class DefinedPart");
979}
980
981/**
982 * An element may be an instance of type "CommSubsystem class DefinedPart".
983 */
984private pattern mayInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
985{ find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,element); }
986/**
987 * An element must be an instance of type "CommSubsystem class UndefinedPart".
988 */
989private pattern mustInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
990 Type.name(type,"CommSubsystem class UndefinedPart");
991 find directInstanceOf(problem,interpretation,element,type);
992}
993private pattern scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
994 find interpretation(problem,interpretation);
995 PartialInterpretation.scopes(interpretation,scope);
996 Scope.targetTypeInterpretation(scope,typeInterpretation);
997 Scope.maxNewElements(scope,0);
998 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
999 Type.name(type,"CommSubsystem class UndefinedPart");
1000}
1001
1002/**
1003 * An element may be an instance of type "CommSubsystem class UndefinedPart".
1004 */
1005private pattern mayInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1006{
1007 find interpretation(problem,interpretation);
1008 PartialInterpretation.newElements(interpretation,element);
1009 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1010 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1011 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1012 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1013 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1014 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1015 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1016 neg find isPrimitive(element);
1017} or {
1018 find interpretation(problem,interpretation);
1019 PartialInterpretation.openWorldElements(interpretation,element);
1020 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1021 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1022 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1023 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1024 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1025 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1026 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1027 neg find isPrimitive(element);
1028} or
1029{ find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1030/**
1031 * An element must be an instance of type "XCommSubsystem class DefinedPart".
1032 */
1033private pattern mustInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1034 Type.name(type,"XCommSubsystem class DefinedPart");
1035 find directInstanceOf(problem,interpretation,element,type);
1036}
1037private pattern scopeDisallowsNewXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1038 find interpretation(problem,interpretation);
1039 PartialInterpretation.scopes(interpretation,scope);
1040 Scope.targetTypeInterpretation(scope,typeInterpretation);
1041 Scope.maxNewElements(scope,0);
1042 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1043 Type.name(type,"XCommSubsystem class DefinedPart");
1044}
1045
1046/**
1047 * An element may be an instance of type "XCommSubsystem class DefinedPart".
1048 */
1049private pattern mayInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1050{ find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1051/**
1052 * An element must be an instance of type "XCommSubsystem class UndefinedPart".
1053 */
1054private pattern mustInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1055 Type.name(type,"XCommSubsystem class UndefinedPart");
1056 find directInstanceOf(problem,interpretation,element,type);
1057}
1058private pattern scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1059 find interpretation(problem,interpretation);
1060 PartialInterpretation.scopes(interpretation,scope);
1061 Scope.targetTypeInterpretation(scope,typeInterpretation);
1062 Scope.maxNewElements(scope,0);
1063 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1064 Type.name(type,"XCommSubsystem class UndefinedPart");
1065}
1066
1067/**
1068 * An element may be an instance of type "XCommSubsystem class UndefinedPart".
1069 */
1070private pattern mayInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1071{
1072 find interpretation(problem,interpretation);
1073 PartialInterpretation.newElements(interpretation,element);
1074 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1075 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1076 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1077 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1078 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1079 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1080 neg find isPrimitive(element);
1081} or {
1082 find interpretation(problem,interpretation);
1083 PartialInterpretation.openWorldElements(interpretation,element);
1084 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1085 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1086 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1087 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1088 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1089 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1090 neg find isPrimitive(element);
1091} or
1092{ find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1093/**
1094 * An element must be an instance of type "KaCommSubsystem class DefinedPart".
1095 */
1096private pattern mustInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1097 Type.name(type,"KaCommSubsystem class DefinedPart");
1098 find directInstanceOf(problem,interpretation,element,type);
1099}
1100private pattern scopeDisallowsNewKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1101 find interpretation(problem,interpretation);
1102 PartialInterpretation.scopes(interpretation,scope);
1103 Scope.targetTypeInterpretation(scope,typeInterpretation);
1104 Scope.maxNewElements(scope,0);
1105 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1106 Type.name(type,"KaCommSubsystem class DefinedPart");
1107}
1108
1109/**
1110 * An element may be an instance of type "KaCommSubsystem class DefinedPart".
1111 */
1112private pattern mayInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1113{ find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1114/**
1115 * An element must be an instance of type "KaCommSubsystem class UndefinedPart".
1116 */
1117private pattern mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1118 Type.name(type,"KaCommSubsystem class UndefinedPart");
1119 find directInstanceOf(problem,interpretation,element,type);
1120}
1121private pattern scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1122 find interpretation(problem,interpretation);
1123 PartialInterpretation.scopes(interpretation,scope);
1124 Scope.targetTypeInterpretation(scope,typeInterpretation);
1125 Scope.maxNewElements(scope,0);
1126 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1127 Type.name(type,"KaCommSubsystem class UndefinedPart");
1128}
1129
1130/**
1131 * An element may be an instance of type "KaCommSubsystem class UndefinedPart".
1132 */
1133private pattern mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1134{
1135 find interpretation(problem,interpretation);
1136 PartialInterpretation.newElements(interpretation,element);
1137 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1138 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1139 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1140 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1141 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1142 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1143 neg find isPrimitive(element);
1144} or {
1145 find interpretation(problem,interpretation);
1146 PartialInterpretation.openWorldElements(interpretation,element);
1147 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1148 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1149 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1150 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1151 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1152 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1153 neg find isPrimitive(element);
1154} or
1155{ find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1156
1157//////////
1158// 1.2 Relation Declaration Indexers
1159//////////
1160/**
1161 * Matcher for detecting tuples t where []groundStationNetwork reference ConstellationMission(source,target)
1162 */
1163private pattern mustInRelationgroundStationNetwork_reference_ConstellationMission(
1164 problem:LogicProblem, interpretation:PartialInterpretation,
1165 source: DefinedElement, target:DefinedElement)
1166{
1167 find interpretation(problem,interpretation);
1168 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1169 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission");
1170 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1171 BinaryElementRelationLink.param1(link,source);
1172 BinaryElementRelationLink.param2(link,target);
1173}
1174/**
1175 * Matcher for detecting tuples t where <>groundStationNetwork reference ConstellationMission(source,target)
1176 */
1177private pattern mayInRelationgroundStationNetwork_reference_ConstellationMission(
1178 problem:LogicProblem, interpretation:PartialInterpretation,
1179 source: DefinedElement, target:DefinedElement)
1180{
1181 find interpretation(problem,interpretation);
1182 // The two endpoint of the link have to exist
1183 find mayExist(problem, interpretation, source);
1184 find mayExist(problem, interpretation, target);
1185 // Type consistency
1186 find mayInstanceOfConstellationMission_class(problem,interpretation,source);
1187 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,target);
1188 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1189 // the upper bound of the multiplicity should be considered.
1190 numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,_);
1191 check(numberOfExistingReferences < 1);
1192 // The reference is containment, then a new reference cannot be create if:
1193 // 1. Multiple parents
1194 neg find mustContains4(problem,interpretation,_,target);
1195 // 2. Circle in the containment hierarchy
1196 neg find mustTransitiveContains(source,target);
1197} or {
1198 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target);
1199}
1200/**
1201 * Matcher for detecting tuples t where []spacecraft reference ConstellationMission(source,target)
1202 */
1203private pattern mustInRelationspacecraft_reference_ConstellationMission(
1204 problem:LogicProblem, interpretation:PartialInterpretation,
1205 source: DefinedElement, target:DefinedElement)
1206{
1207 find interpretation(problem,interpretation);
1208 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1209 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission");
1210 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1211 BinaryElementRelationLink.param1(link,source);
1212 BinaryElementRelationLink.param2(link,target);
1213}
1214/**
1215 * Matcher for detecting tuples t where <>spacecraft reference ConstellationMission(source,target)
1216 */
1217private pattern mayInRelationspacecraft_reference_ConstellationMission(
1218 problem:LogicProblem, interpretation:PartialInterpretation,
1219 source: DefinedElement, target:DefinedElement)
1220{
1221 find interpretation(problem,interpretation);
1222 // The two endpoint of the link have to exist
1223 find mayExist(problem, interpretation, source);
1224 find mayExist(problem, interpretation, target);
1225 // Type consistency
1226 find mayInstanceOfConstellationMission_class(problem,interpretation,source);
1227 find mayInstanceOfSpacecraft_class(problem,interpretation,target);
1228 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1229 // the upper bound of the multiplicity should be considered.
1230 numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,_);
1231 check(numberOfExistingReferences < 50);
1232 // The reference is containment, then a new reference cannot be create if:
1233 // 1. Multiple parents
1234 neg find mustContains4(problem,interpretation,_,target);
1235 // 2. Circle in the containment hierarchy
1236 neg find mustTransitiveContains(source,target);
1237} or {
1238 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target);
1239}
1240/**
1241 * Matcher for detecting tuples t where []commSubsystem reference CommunicatingElement(source,target)
1242 */
1243private pattern mustInRelationcommSubsystem_reference_CommunicatingElement(
1244 problem:LogicProblem, interpretation:PartialInterpretation,
1245 source: DefinedElement, target:DefinedElement)
1246{
1247 find interpretation(problem,interpretation);
1248 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1249 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement");
1250 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1251 BinaryElementRelationLink.param1(link,source);
1252 BinaryElementRelationLink.param2(link,target);
1253}
1254/**
1255 * Matcher for detecting tuples t where <>commSubsystem reference CommunicatingElement(source,target)
1256 */
1257private pattern mayInRelationcommSubsystem_reference_CommunicatingElement(
1258 problem:LogicProblem, interpretation:PartialInterpretation,
1259 source: DefinedElement, target:DefinedElement)
1260{
1261 find interpretation(problem,interpretation);
1262 // The two endpoint of the link have to exist
1263 find mayExist(problem, interpretation, source);
1264 find mayExist(problem, interpretation, target);
1265 // Type consistency
1266 find mayInstanceOfCommunicatingElement_class(problem,interpretation,source);
1267 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1268 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1269 // the upper bound of the multiplicity should be considered.
1270 numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,_);
1271 check(numberOfExistingReferences < 2);
1272 // The reference is containment, then a new reference cannot be create if:
1273 // 1. Multiple parents
1274 neg find mustContains4(problem,interpretation,_,target);
1275 // 2. Circle in the containment hierarchy
1276 neg find mustTransitiveContains(source,target);
1277} or {
1278 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target);
1279}
1280/**
1281 * Matcher for detecting tuples t where []payload reference Spacecraft(source,target)
1282 */
1283private pattern mustInRelationpayload_reference_Spacecraft(
1284 problem:LogicProblem, interpretation:PartialInterpretation,
1285 source: DefinedElement, target:DefinedElement)
1286{
1287 find interpretation(problem,interpretation);
1288 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1289 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"payload reference Spacecraft");
1290 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1291 BinaryElementRelationLink.param1(link,source);
1292 BinaryElementRelationLink.param2(link,target);
1293}
1294/**
1295 * Matcher for detecting tuples t where <>payload reference Spacecraft(source,target)
1296 */
1297private pattern mayInRelationpayload_reference_Spacecraft(
1298 problem:LogicProblem, interpretation:PartialInterpretation,
1299 source: DefinedElement, target:DefinedElement)
1300{
1301 find interpretation(problem,interpretation);
1302 // The two endpoint of the link have to exist
1303 find mayExist(problem, interpretation, source);
1304 find mayExist(problem, interpretation, target);
1305 // Type consistency
1306 find mayInstanceOfSpacecraft_class(problem,interpretation,source);
1307 find mayInstanceOfPayload_class(problem,interpretation,target);
1308 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1309 // the upper bound of the multiplicity should be considered.
1310 numberOfExistingReferences == count find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,_);
1311 check(numberOfExistingReferences < 1);
1312 // The reference is containment, then a new reference cannot be create if:
1313 // 1. Multiple parents
1314 neg find mustContains4(problem,interpretation,_,target);
1315 // 2. Circle in the containment hierarchy
1316 neg find mustTransitiveContains(source,target);
1317} or {
1318 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target);
1319}
1320/**
1321 * Matcher for detecting tuples t where []target reference CommSubsystem(source,target)
1322 */
1323private pattern mustInRelationtarget_reference_CommSubsystem(
1324 problem:LogicProblem, interpretation:PartialInterpretation,
1325 source: DefinedElement, target:DefinedElement)
1326{
1327 find interpretation(problem,interpretation);
1328 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1329 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
1330 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1331 BinaryElementRelationLink.param1(link,source);
1332 BinaryElementRelationLink.param2(link,target);
1333}
1334/**
1335 * Matcher for detecting tuples t where <>target reference CommSubsystem(source,target)
1336 */
1337private pattern mayInRelationtarget_reference_CommSubsystem(
1338 problem:LogicProblem, interpretation:PartialInterpretation,
1339 source: DefinedElement, target:DefinedElement)
1340{
1341 find interpretation(problem,interpretation);
1342 // The two endpoint of the link have to exist
1343 find mayExist(problem, interpretation, source);
1344 find mayExist(problem, interpretation, target);
1345 // Type consistency
1346 find mayInstanceOfCommSubsystem_class(problem,interpretation,source);
1347 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1348 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1349 // the upper bound of the multiplicity should be considered.
1350 numberOfExistingReferences == count find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,_);
1351 check(numberOfExistingReferences < 1);
1352} or {
1353 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,target);
1354}
1355
1356//////////
1357// 1.3 Relation Definition Indexers
1358//////////
1359// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement
1360private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1361 problem:LogicProblem, interpretation:PartialInterpretation,
1362 var_Element)
1363{
1364 find interpretation(problem,interpretation);
1365 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1366 // Element is exported
1367 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1368 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1369 neg find mayEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1370}
1371private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1372 problem:LogicProblem, interpretation:PartialInterpretation,
1373 var_Element)
1374{
1375 find interpretation(problem,interpretation);
1376 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1377 // Element is exported
1378 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1379 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1380 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1381}
1382private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1383 problem:LogicProblem, interpretation:PartialInterpretation,
1384 var_Element)
1385{
1386 find interpretation(problem,interpretation);
1387 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1388 // Element is exported
1389 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1390 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1391 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1392}
1393// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries transmittingCommSubsystem
1394private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1395 problem:LogicProblem, interpretation:PartialInterpretation,
1396 var_Element, var_Comm)
1397{
1398 find interpretation(problem,interpretation);
1399 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1400 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1401 // Element is exported
1402 // Comm is exported
1403 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1404 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1405 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1406 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1407 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1408 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1409 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1410 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1411}
1412private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1413 problem:LogicProblem, interpretation:PartialInterpretation,
1414 var_Element, var_Comm)
1415{
1416 find interpretation(problem,interpretation);
1417 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1418 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1419 // Element is exported
1420 // Comm is exported
1421 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1422 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1423 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1424 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
1425 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1426 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1427 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1428 find mayEquivalent(problem, interpretation, var_virtual1, _var__0);
1429}
1430private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1431 problem:LogicProblem, interpretation:PartialInterpretation,
1432 var_Element, var_Comm)
1433{
1434 find interpretation(problem,interpretation);
1435 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1436 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1437 // Element is exported
1438 // Comm is exported
1439 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1440 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1441 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1442 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1443 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1444 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1445 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1446 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1447}
1448// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads
1449private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1450 problem:LogicProblem, interpretation:PartialInterpretation,
1451 var_Mission)
1452{
1453 find interpretation(problem,interpretation);
1454 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1455 // Mission is exported
1456 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1457 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1458}
1459private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1460 problem:LogicProblem, interpretation:PartialInterpretation,
1461 var_Mission)
1462{
1463 find interpretation(problem,interpretation);
1464 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1465 // Mission is exported
1466 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1467 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1468}
1469private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1470 problem:LogicProblem, interpretation:PartialInterpretation,
1471 var_Mission)
1472{
1473 find interpretation(problem,interpretation);
1474 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1475 // Mission is exported
1476 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1477 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1478}
1479// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads
1480private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1481 problem:LogicProblem, interpretation:PartialInterpretation,
1482 var_Mission)
1483{
1484 find interpretation(problem,interpretation);
1485 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1486 // Mission is exported
1487 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1488 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1489 neg find mayEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1490}
1491private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1492 problem:LogicProblem, interpretation:PartialInterpretation,
1493 var_Mission)
1494{
1495 find interpretation(problem,interpretation);
1496 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1497 // Mission is exported
1498 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1499 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1500 neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1501}
1502private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1503 problem:LogicProblem, interpretation:PartialInterpretation,
1504 var_Mission)
1505{
1506 find interpretation(problem,interpretation);
1507 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1508 // Mission is exported
1509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1510 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1511 neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1512}
1513// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload
1514private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1515 problem:LogicProblem, interpretation:PartialInterpretation,
1516 var_Mission, var_Spacecraft)
1517{
1518 find interpretation(problem,interpretation);
1519 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1520 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1521 // Mission is exported
1522 // Spacecraft is exported
1523 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1524 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1525 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1526 find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1527 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1528 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1529 find mustInstanceOfPayload_class(problem,interpretation,var_virtual1);
1530 find mustEquivalent(problem, interpretation, var_virtual1, var_Payload);
1531 find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1532}
1533private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1534 problem:LogicProblem, interpretation:PartialInterpretation,
1535 var_Mission, var_Spacecraft)
1536{
1537 find interpretation(problem,interpretation);
1538 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1539 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1540 // Mission is exported
1541 // Spacecraft is exported
1542 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1543 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1544 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1545 find mayEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1546 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1547 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1548 find mayInstanceOfPayload_class(problem,interpretation,var_virtual1);
1549 find mayEquivalent(problem, interpretation, var_virtual1, var_Payload);
1550 find mayInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1551}
1552private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1553 problem:LogicProblem, interpretation:PartialInterpretation,
1554 var_Mission, var_Spacecraft)
1555{
1556 find interpretation(problem,interpretation);
1557 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1558 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1559 // Mission is exported
1560 // Spacecraft is exported
1561 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1562 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1563 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1564 find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1565 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1566 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1567 find mustInstanceOfPayload_class(problem,interpretation,var_virtual1);
1568 find mustEquivalent(problem, interpretation, var_virtual1, var_Payload);
1569 find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1570}
1571// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation
1572private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1573 problem:LogicProblem, interpretation:PartialInterpretation,
1574 var_Spacecraft)
1575{
1576 find interpretation(problem,interpretation);
1577 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1578 // Spacecraft is exported
1579 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1580 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1581 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1582 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1583 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1584 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1585 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1586 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1587 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1588}
1589private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1590 problem:LogicProblem, interpretation:PartialInterpretation,
1591 var_Spacecraft)
1592{
1593 find interpretation(problem,interpretation);
1594 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1595 // Spacecraft is exported
1596 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1597 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1598 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1599 find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1600 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1601 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1602 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1603 find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1604 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1605}
1606private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1607 problem:LogicProblem, interpretation:PartialInterpretation,
1608 var_Spacecraft)
1609{
1610 find interpretation(problem,interpretation);
1611 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1612 // Spacecraft is exported
1613 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1614 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1615 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1616 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1617 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1618 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1619 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1620 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1621 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1622}
1623// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation
1624private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1625 problem:LogicProblem, interpretation:PartialInterpretation,
1626 var_Spacecraft)
1627{
1628 find interpretation(problem,interpretation);
1629 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1630 // Spacecraft is exported
1631 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1632 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1633 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1634 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1635 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1636 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1637 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1638 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1639 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1640}
1641private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1642 problem:LogicProblem, interpretation:PartialInterpretation,
1643 var_Spacecraft)
1644{
1645 find interpretation(problem,interpretation);
1646 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1647 // Spacecraft is exported
1648 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1649 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1650 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1651 find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1652 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1653 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1654 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1655 find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1656 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1657}
1658private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1659 problem:LogicProblem, interpretation:PartialInterpretation,
1660 var_Spacecraft)
1661{
1662 find interpretation(problem,interpretation);
1663 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1664 // Spacecraft is exported
1665 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1666 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1667 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1668 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1669 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1670 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1671 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1672 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1673 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1674}
1675// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed
1676private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1677 problem:LogicProblem, interpretation:PartialInterpretation,
1678 var_From, var_To)
1679{
1680 find interpretation(problem,interpretation);
1681 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1682 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1683 // From is exported
1684 // To is exported
1685 find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1686}
1687private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1688 problem:LogicProblem, interpretation:PartialInterpretation,
1689 var_From, var_To)
1690{
1691 find interpretation(problem,interpretation);
1692 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1693 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1694 // From is exported
1695 // To is exported
1696 find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1697}
1698private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1699 problem:LogicProblem, interpretation:PartialInterpretation,
1700 var_From, var_To)
1701{
1702 find interpretation(problem,interpretation);
1703 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1704 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1705 // From is exported
1706 // To is exported
1707 find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1708}
1709// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed
1710private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1711 problem:LogicProblem, interpretation:PartialInterpretation,
1712 var_From, var_To)
1713{
1714 find interpretation(problem,interpretation);
1715 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1716 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1717 // From is exported
1718 // To is exported
1719 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1720 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1721}or{
1722 find interpretation(problem,interpretation);
1723 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1724 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1725 // From is exported
1726 // To is exported
1727 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1728 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1729}or{
1730 find interpretation(problem,interpretation);
1731 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1732 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1733 // From is exported
1734 // To is exported
1735 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1736 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1737 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1738}
1739private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1740 problem:LogicProblem, interpretation:PartialInterpretation,
1741 var_From, var_To)
1742{
1743 find interpretation(problem,interpretation);
1744 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1745 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1746 // From is exported
1747 // To is exported
1748 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1749 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1750}or{
1751 find interpretation(problem,interpretation);
1752 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1753 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1754 // From is exported
1755 // To is exported
1756 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1757 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1758}or{
1759 find interpretation(problem,interpretation);
1760 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1761 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1762 // From is exported
1763 // To is exported
1764 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1765 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1766 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1767}
1768private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1769 problem:LogicProblem, interpretation:PartialInterpretation,
1770 var_From, var_To)
1771{
1772 find interpretation(problem,interpretation);
1773 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1774 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1775 // From is exported
1776 // To is exported
1777 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1778 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1779}or{
1780 find interpretation(problem,interpretation);
1781 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1782 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1783 // From is exported
1784 // To is exported
1785 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1786 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1787}or{
1788 find interpretation(problem,interpretation);
1789 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1790 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1791 // From is exported
1792 // To is exported
1793 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1794 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1795 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1796}
1797private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1798 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1799}
1800private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1801 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1802}
1803private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1804 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1805}
1806// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna
1807private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1808 problem:LogicProblem, interpretation:PartialInterpretation,
1809 var_From, var_To)
1810{
1811 find interpretation(problem,interpretation);
1812 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1813 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1814 // From is exported
1815 // To is exported
1816 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1817 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1818 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1819 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1820 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1821 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1822 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1823 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1824 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1825}
1826private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1827 problem:LogicProblem, interpretation:PartialInterpretation,
1828 var_From, var_To)
1829{
1830 find interpretation(problem,interpretation);
1831 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1832 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1833 // From is exported
1834 // To is exported
1835 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1836 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1837 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1838 find mayEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1839 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1840 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1841 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1842 find mayEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1843 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1844}
1845private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1846 problem:LogicProblem, interpretation:PartialInterpretation,
1847 var_From, var_To)
1848{
1849 find interpretation(problem,interpretation);
1850 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1851 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1852 // From is exported
1853 // To is exported
1854 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1855 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1856 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1857 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1858 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1859 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1860 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1861 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1862 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1863}
1864// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingCommSubsystem
1865private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1866 problem:LogicProblem, interpretation:PartialInterpretation,
1867 var_From, var_To)
1868{
1869 find interpretation(problem,interpretation);
1870 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1871 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1872 // From is exported
1873 // To is exported
1874 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1875 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1876}or{
1877 find interpretation(problem,interpretation);
1878 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1879 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1880 // From is exported
1881 // To is exported
1882 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1883 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1884}or{
1885 find interpretation(problem,interpretation);
1886 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1887 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1888 // From is exported
1889 // To is exported
1890 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1891 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1892}
1893private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1894 problem:LogicProblem, interpretation:PartialInterpretation,
1895 var_From, var_To)
1896{
1897 find interpretation(problem,interpretation);
1898 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1899 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1900 // From is exported
1901 // To is exported
1902 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1903 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1904}or{
1905 find interpretation(problem,interpretation);
1906 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1907 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1908 // From is exported
1909 // To is exported
1910 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1911 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1912}or{
1913 find interpretation(problem,interpretation);
1914 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1915 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1916 // From is exported
1917 // To is exported
1918 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1919 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1920}
1921private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1922 problem:LogicProblem, interpretation:PartialInterpretation,
1923 var_From, var_To)
1924{
1925 find interpretation(problem,interpretation);
1926 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1927 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1928 // From is exported
1929 // To is exported
1930 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1931 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1932}or{
1933 find interpretation(problem,interpretation);
1934 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1935 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1936 // From is exported
1937 // To is exported
1938 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1939 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1940}or{
1941 find interpretation(problem,interpretation);
1942 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1943 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1944 // From is exported
1945 // To is exported
1946 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1947 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1948}
1949// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U
1950private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1951 problem:LogicProblem, interpretation:PartialInterpretation,
1952 var_Sat)
1953{
1954 find interpretation(problem,interpretation);
1955 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1956 // Sat is exported
1957 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1958}
1959private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1960 problem:LogicProblem, interpretation:PartialInterpretation,
1961 var_Sat)
1962{
1963 find interpretation(problem,interpretation);
1964 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1965 // Sat is exported
1966 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1967}
1968private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1969 problem:LogicProblem, interpretation:PartialInterpretation,
1970 var_Sat)
1971{
1972 find interpretation(problem,interpretation);
1973 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1974 // Sat is exported
1975 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1976}
1977// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat6U
1978private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1979 problem:LogicProblem, interpretation:PartialInterpretation,
1980 var_Sat)
1981{
1982 find interpretation(problem,interpretation);
1983 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1984 // Sat is exported
1985 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1986}
1987private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1988 problem:LogicProblem, interpretation:PartialInterpretation,
1989 var_Sat)
1990{
1991 find interpretation(problem,interpretation);
1992 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1993 // Sat is exported
1994 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1995}
1996private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1997 problem:LogicProblem, interpretation:PartialInterpretation,
1998 var_Sat)
1999{
2000 find interpretation(problem,interpretation);
2001 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2002 // Sat is exported
2003 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2004}
2005// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop
2006private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2007 problem:LogicProblem, interpretation:PartialInterpretation,
2008 var_Element)
2009{
2010 find interpretation(problem,interpretation);
2011 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2012 // Element is exported
2013 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2014}
2015private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2016 problem:LogicProblem, interpretation:PartialInterpretation,
2017 var_Element)
2018{
2019 find interpretation(problem,interpretation);
2020 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2021 // Element is exported
2022 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2023}
2024private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2025 problem:LogicProblem, interpretation:PartialInterpretation,
2026 var_Element)
2027{
2028 find interpretation(problem,interpretation);
2029 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2030 // Element is exported
2031 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2032}
2033// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink
2034private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2035 problem:LogicProblem, interpretation:PartialInterpretation,
2036 var_Source, var_Target)
2037{
2038 find interpretation(problem,interpretation);
2039 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2040 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2041 // Source is exported
2042 // Target is exported
2043 find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2044}
2045private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2046 problem:LogicProblem, interpretation:PartialInterpretation,
2047 var_Source, var_Target)
2048{
2049 find interpretation(problem,interpretation);
2050 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2051 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2052 // Source is exported
2053 // Target is exported
2054 find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2055}
2056private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2057 problem:LogicProblem, interpretation:PartialInterpretation,
2058 var_Source, var_Target)
2059{
2060 find interpretation(problem,interpretation);
2061 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2062 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2063 // Source is exported
2064 // Target is exported
2065 find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2066}
2067// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink
2068private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2069 problem:LogicProblem, interpretation:PartialInterpretation,
2070 var_Source, var_Target)
2071{
2072 find interpretation(problem,interpretation);
2073 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2074 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2075 // Source is exported
2076 // Target is exported
2077 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2078 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2079 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2080 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2081 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2082 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2083 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2084 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2085 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2086 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2087 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2088 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2089}
2090private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2091 problem:LogicProblem, interpretation:PartialInterpretation,
2092 var_Source, var_Target)
2093{
2094 find interpretation(problem,interpretation);
2095 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2096 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2097 // Source is exported
2098 // Target is exported
2099 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2100 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2101 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2102 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2103 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2104 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2105 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2106 find mayEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2107 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2108 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2109 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2110 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2111}
2112private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2113 problem:LogicProblem, interpretation:PartialInterpretation,
2114 var_Source, var_Target)
2115{
2116 find interpretation(problem,interpretation);
2117 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2118 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2119 // Source is exported
2120 // Target is exported
2121 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2122 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2123 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2124 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2125 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2126 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2127 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2128 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2129 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2130 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2131 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2132 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2133}
2134private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2135 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2136}
2137private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2138 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2139}
2140private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2141 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2142}
2143// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand
2144private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2145 problem:LogicProblem, interpretation:PartialInterpretation,
2146 var_SourceSubsystem)
2147{
2148 find interpretation(problem,interpretation);
2149 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2150 // SourceSubsystem is exported
2151 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2152 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2153 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2154 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2155 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2156}
2157private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2158 problem:LogicProblem, interpretation:PartialInterpretation,
2159 var_SourceSubsystem)
2160{
2161 find interpretation(problem,interpretation);
2162 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2163 // SourceSubsystem is exported
2164 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2165 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2166 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2167 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2168 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2169}
2170private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2171 problem:LogicProblem, interpretation:PartialInterpretation,
2172 var_SourceSubsystem)
2173{
2174 find interpretation(problem,interpretation);
2175 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2176 // SourceSubsystem is exported
2177 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2178 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2179 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2180 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2181 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2182}
2183// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink
2184private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2185 problem:LogicProblem, interpretation:PartialInterpretation,
2186 var_Sat)
2187{
2188 find interpretation(problem,interpretation);
2189 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2190 // Sat is exported
2191 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2192 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2193 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2194 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2195 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2196 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2197 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2198 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2199 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2200 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2201 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2202 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2203 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2204 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2205}
2206private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2207 problem:LogicProblem, interpretation:PartialInterpretation,
2208 var_Sat)
2209{
2210 find interpretation(problem,interpretation);
2211 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2212 // Sat is exported
2213 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2214 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2215 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2216 find mayEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2217 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2218 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2219 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2220 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2221 find mayEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2222 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2223 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2224 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2225 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2226 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2227}
2228private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2229 problem:LogicProblem, interpretation:PartialInterpretation,
2230 var_Sat)
2231{
2232 find interpretation(problem,interpretation);
2233 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2234 // Sat is exported
2235 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2236 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2237 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2238 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2239 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2240 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2241 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2242 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2243 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2244 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2245 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2246 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2247 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2248 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2249}
2250// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf
2251private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2252 problem:LogicProblem, interpretation:PartialInterpretation,
2253 var_Comm)
2254{
2255 find interpretation(problem,interpretation);
2256 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2257 // Comm is exported
2258 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2259}
2260private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2261 problem:LogicProblem, interpretation:PartialInterpretation,
2262 var_Comm)
2263{
2264 find interpretation(problem,interpretation);
2265 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2266 // Comm is exported
2267 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2268}
2269private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2270 problem:LogicProblem, interpretation:PartialInterpretation,
2271 var_Comm)
2272{
2273 find interpretation(problem,interpretation);
2274 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2275 // Comm is exported
2276 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2277}
2278// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork
2279private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2280 problem:LogicProblem, interpretation:PartialInterpretation,
2281 var_Network)
2282{
2283 find interpretation(problem,interpretation);
2284 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2285 // Network is exported
2286 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2287}
2288private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2289 problem:LogicProblem, interpretation:PartialInterpretation,
2290 var_Network)
2291{
2292 find interpretation(problem,interpretation);
2293 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2294 // Network is exported
2295 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2296}
2297private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2298 problem:LogicProblem, interpretation:PartialInterpretation,
2299 var_Network)
2300{
2301 find interpretation(problem,interpretation);
2302 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2303 // Network is exported
2304 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2305}
2306// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna
2307private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2308 problem:LogicProblem, interpretation:PartialInterpretation,
2309 var_Spacecraft)
2310{
2311 find interpretation(problem,interpretation);
2312 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2313 // Spacecraft is exported
2314 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2315 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2316 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2317 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2318 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2319 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2320}
2321private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2322 problem:LogicProblem, interpretation:PartialInterpretation,
2323 var_Spacecraft)
2324{
2325 find interpretation(problem,interpretation);
2326 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2327 // Spacecraft is exported
2328 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2329 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2330 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2331 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
2332 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2333 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2334}
2335private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2336 problem:LogicProblem, interpretation:PartialInterpretation,
2337 var_Spacecraft)
2338{
2339 find interpretation(problem,interpretation);
2340 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2341 // Spacecraft is exported
2342 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2343 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2344 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2345 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2346 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2347 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2348}
2349// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries smallSat
2350private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2351 problem:LogicProblem, interpretation:PartialInterpretation,
2352 var_Sat)
2353{
2354 find interpretation(problem,interpretation);
2355 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2356 // Sat is exported
2357 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2358}
2359private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2360 problem:LogicProblem, interpretation:PartialInterpretation,
2361 var_Sat)
2362{
2363 find interpretation(problem,interpretation);
2364 find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2365 // Sat is exported
2366 find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2367}
2368private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2369 problem:LogicProblem, interpretation:PartialInterpretation,
2370 var_Sat)
2371{
2372 find interpretation(problem,interpretation);
2373 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2374 // Sat is exported
2375 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2376}
2377
2378//////////
2379// 1.4 Containment Indexer
2380//////////
2381private pattern mustContains2(source: DefinedElement, target: DefinedElement) {
2382 find mustContains4(_,_,source,target);
2383}
2384
2385private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation,
2386 source: DefinedElement, target: DefinedElement)
2387 { find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target); }or
2388
2389 { find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target); }or
2390
2391 { find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); }or
2392
2393 { find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); }
2394
2395private pattern mustTransitiveContains(source,target) {
2396 find mustContains2+(source,target);
2397}
2398
2399//////////
2400// 2. Invalidation Indexers
2401//////////
2402// 2.1 Invalidated by WF Queries
2403//////////
2404pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2405 var_Element)
2406{
2407 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2408}
2409pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2410 var_Mission)
2411{
2412 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission);
2413}
2414pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2415 var_Spacecraft)
2416{
2417 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft);
2418}
2419pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2420 var_Spacecraft)
2421{
2422 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft);
2423}
2424pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation,
2425 var_Element)
2426{
2427 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2428}
2429pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2430 var_SourceSubsystem)
2431{
2432 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2433}
2434pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2435 var_Sat)
2436{
2437 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat);
2438}
2439pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation,
2440 var_Spacecraft)
2441{
2442 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft);
2443}
2444
2445//////////
2446// 3. Unfinishedness Indexers
2447//////////
2448// 3.1 Unfinishedness Measured by Multiplicity
2449//////////
2450pattern unfinishedLowerMultiplicity_groundStationNetwork_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2451 find interpretation(problem,interpretation);
2452 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2453 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission");
2454 find mustInstanceOfConstellationMission_class(problem,interpretation,object);
2455 numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,object,_);
2456 check(numberOfExistingReferences < 1);
2457 missingMultiplicity == eval(1-numberOfExistingReferences);
2458}
2459pattern unfinishedLowerMultiplicity_spacecraft_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2460 find interpretation(problem,interpretation);
2461 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2462 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission");
2463 find mustInstanceOfConstellationMission_class(problem,interpretation,object);
2464 numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,object,_);
2465 check(numberOfExistingReferences < 2);
2466 missingMultiplicity == eval(2-numberOfExistingReferences);
2467}
2468pattern unfinishedLowerMultiplicity_commSubsystem_reference_CommunicatingElement(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2469 find interpretation(problem,interpretation);
2470 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2471 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement");
2472 find mustInstanceOfCommunicatingElement_class(problem,interpretation,object);
2473 numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,object,_);
2474 check(numberOfExistingReferences < 1);
2475 missingMultiplicity == eval(1-numberOfExistingReferences);
2476}
2477
2478//////////
2479// 3.2 Unfinishedness Measured by WF Queries
2480//////////
2481pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2482 var_Element)
2483{
2484 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2485}
2486pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2487 var_Mission)
2488{
2489 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission);
2490}
2491pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2492 var_Spacecraft)
2493{
2494 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft);
2495}
2496pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2497 var_Spacecraft)
2498{
2499 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft);
2500}
2501pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation,
2502 var_Element)
2503{
2504 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2505}
2506pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2507 var_SourceSubsystem)
2508{
2509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2510}
2511pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2512 var_Sat)
2513{
2514 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat);
2515}
2516pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation,
2517 var_Spacecraft)
2518{
2519 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft);
2520}
2521
2522//////////
2523// 4. Refinement Indexers
2524//////////
2525// 4.1 Object constructors
2526//////////
2527private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
2528{
2529 find interpretation(problem,interpretation);
2530 find mustInstanceOfCommunicatingElement_class(problem,interpretation,root);
2531 find mustExist(problem, interpretation, root);
2532}or{
2533 find interpretation(problem,interpretation);
2534 find mustInstanceOfConstellationMission_class(problem,interpretation,root);
2535 find mustExist(problem, interpretation, root);
2536}or{
2537 find interpretation(problem,interpretation);
2538 find mustInstanceOfInterferometryPayload_class(problem,interpretation,root);
2539 find mustExist(problem, interpretation, root);
2540}or{
2541 find interpretation(problem,interpretation);
2542 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root);
2543 find mustExist(problem, interpretation, root);
2544}or{
2545 find interpretation(problem,interpretation);
2546 find mustInstanceOfCommSubsystem_class(problem,interpretation,root);
2547 find mustExist(problem, interpretation, root);
2548}or{
2549 find interpretation(problem,interpretation);
2550 find mustInstanceOfPayload_class(problem,interpretation,root);
2551 find mustExist(problem, interpretation, root);
2552}or{
2553 find interpretation(problem,interpretation);
2554 find mustInstanceOfCubeSat6U_class(problem,interpretation,root);
2555 find mustExist(problem, interpretation, root);
2556}or{
2557 find interpretation(problem,interpretation);
2558 find mustInstanceOfXCommSubsystem_class(problem,interpretation,root);
2559 find mustExist(problem, interpretation, root);
2560}or{
2561 find interpretation(problem,interpretation);
2562 find mustInstanceOfCubeSat3U_class(problem,interpretation,root);
2563 find mustExist(problem, interpretation, root);
2564}or{
2565 find interpretation(problem,interpretation);
2566 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,root);
2567 find mustExist(problem, interpretation, root);
2568}or{
2569 find interpretation(problem,interpretation);
2570 find mustInstanceOfSpacecraft_class(problem,interpretation,root);
2571 find mustExist(problem, interpretation, root);
2572}or{
2573 find interpretation(problem,interpretation);
2574 find mustInstanceOfInterferometryMission_class(problem,interpretation,root);
2575 find mustExist(problem, interpretation, root);
2576}or{
2577 find interpretation(problem,interpretation);
2578 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,root);
2579 find mustExist(problem, interpretation, root);
2580}or{
2581 find interpretation(problem,interpretation);
2582 find mustInstanceOfSmallSat_class(problem,interpretation,root);
2583 find mustExist(problem, interpretation, root);
2584}or{
2585 find interpretation(problem,interpretation);
2586 find mustInstanceOfCubeSat_class(problem,interpretation,root);
2587 find mustExist(problem, interpretation, root);
2588}or{
2589 find interpretation(problem,interpretation);
2590 find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,root);
2591 find mustExist(problem, interpretation, root);
2592}or{
2593 find interpretation(problem,interpretation);
2594 find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,root);
2595 find mustExist(problem, interpretation, root);
2596}or{
2597 find interpretation(problem,interpretation);
2598 find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,root);
2599 find mustExist(problem, interpretation, root);
2600}or{
2601 find interpretation(problem,interpretation);
2602 find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,root);
2603 find mustExist(problem, interpretation, root);
2604}or{
2605 find interpretation(problem,interpretation);
2606 find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,root);
2607 find mustExist(problem, interpretation, root);
2608}or{
2609 find interpretation(problem,interpretation);
2610 find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,root);
2611 find mustExist(problem, interpretation, root);
2612}or{
2613 find interpretation(problem,interpretation);
2614 find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,root);
2615 find mustExist(problem, interpretation, root);
2616}or{
2617 find interpretation(problem,interpretation);
2618 find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,root);
2619 find mustExist(problem, interpretation, root);
2620}or{
2621 find interpretation(problem,interpretation);
2622 find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,root);
2623 find mustExist(problem, interpretation, root);
2624}or{
2625 find interpretation(problem,interpretation);
2626 find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2627 find mustExist(problem, interpretation, root);
2628}or{
2629 find interpretation(problem,interpretation);
2630 find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,root);
2631 find mustExist(problem, interpretation, root);
2632}or{
2633 find interpretation(problem,interpretation);
2634 find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2635 find mustExist(problem, interpretation, root);
2636}or{
2637 find interpretation(problem,interpretation);
2638 find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,root);
2639 find mustExist(problem, interpretation, root);
2640}or{
2641 find interpretation(problem,interpretation);
2642 find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2643 find mustExist(problem, interpretation, root);
2644}
2645pattern createObject_InterferometryPayload_class_by_payload_reference_Spacecraft(
2646 problem:LogicProblem, interpretation:PartialInterpretation,
2647 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2648 container:DefinedElement)
2649{
2650 find interpretation(problem,interpretation);
2651 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2652 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
2653 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2654 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"payload reference Spacecraft");
2655 find mustInstanceOfSpacecraft_class(problem,interpretation,container);
2656 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2657 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,container,newObject);
2658 find mustExist(problem, interpretation, container);
2659 neg find mustExist(problem, interpretation, newObject);
2660}
2661pattern createObject_InterferometryPayload_class(
2662 problem:LogicProblem, interpretation:PartialInterpretation,
2663 typeInterpretation:PartialComplexTypeInterpretation)
2664{
2665 find interpretation(problem,interpretation);
2666 neg find hasElementInContainment(problem,interpretation);
2667 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2668 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
2669 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2670 find mayExist(problem, interpretation, newObject);
2671 neg find mustExist(problem, interpretation, newObject);
2672}
2673pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission(
2674 problem:LogicProblem, interpretation:PartialInterpretation,
2675 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2676 container:DefinedElement)
2677{
2678 find interpretation(problem,interpretation);
2679 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2680 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
2681 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2682 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2683 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2684 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
2685 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2686 find mustExist(problem, interpretation, container);
2687 neg find mustExist(problem, interpretation, newObject);
2688}
2689pattern createObject_CubeSat6U_class(
2690 problem:LogicProblem, interpretation:PartialInterpretation,
2691 typeInterpretation:PartialComplexTypeInterpretation)
2692{
2693 find interpretation(problem,interpretation);
2694 neg find hasElementInContainment(problem,interpretation);
2695 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2696 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
2697 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
2698 find mayExist(problem, interpretation, newObject);
2699 neg find mustExist(problem, interpretation, newObject);
2700}
2701pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission(
2702 problem:LogicProblem, interpretation:PartialInterpretation,
2703 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2704 container:DefinedElement)
2705{
2706 find interpretation(problem,interpretation);
2707 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2708 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2709 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2710 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission");
2711 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2712 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2713 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject);
2714 find mustExist(problem, interpretation, container);
2715 neg find mustExist(problem, interpretation, newObject);
2716}
2717pattern createObject_GroundStationNetwork_class_UndefinedPart(
2718 problem:LogicProblem, interpretation:PartialInterpretation,
2719 typeInterpretation:PartialComplexTypeInterpretation)
2720{
2721 find interpretation(problem,interpretation);
2722 neg find hasElementInContainment(problem,interpretation);
2723 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2724 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2725 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2726 find mayExist(problem, interpretation, newObject);
2727 neg find mustExist(problem, interpretation, newObject);
2728}
2729pattern createObject_UHFCommSubsystem_class_by_commSubsystem_reference_CommunicatingElement(
2730 problem:LogicProblem, interpretation:PartialInterpretation,
2731 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2732 container:DefinedElement)
2733{
2734 find interpretation(problem,interpretation);
2735 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2736 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
2737 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2738 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2739 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2740 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
2741 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2742 find mustExist(problem, interpretation, container);
2743 neg find mustExist(problem, interpretation, newObject);
2744}
2745pattern createObject_UHFCommSubsystem_class(
2746 problem:LogicProblem, interpretation:PartialInterpretation,
2747 typeInterpretation:PartialComplexTypeInterpretation)
2748{
2749 find interpretation(problem,interpretation);
2750 neg find hasElementInContainment(problem,interpretation);
2751 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2752 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
2753 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
2754 find mayExist(problem, interpretation, newObject);
2755 neg find mustExist(problem, interpretation, newObject);
2756}
2757pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission(
2758 problem:LogicProblem, interpretation:PartialInterpretation,
2759 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2760 container:DefinedElement)
2761{
2762 find interpretation(problem,interpretation);
2763 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2764 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2765 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2766 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2767 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2768 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2769 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2770 find mustExist(problem, interpretation, container);
2771 neg find mustExist(problem, interpretation, newObject);
2772}
2773pattern createObject_SmallSat_class(
2774 problem:LogicProblem, interpretation:PartialInterpretation,
2775 typeInterpretation:PartialComplexTypeInterpretation)
2776{
2777 find interpretation(problem,interpretation);
2778 neg find hasElementInContainment(problem,interpretation);
2779 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2780 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2781 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2782 find mayExist(problem, interpretation, newObject);
2783 neg find mustExist(problem, interpretation, newObject);
2784}
2785pattern createObject_KaCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2786 problem:LogicProblem, interpretation:PartialInterpretation,
2787 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2788 container:DefinedElement)
2789{
2790 find interpretation(problem,interpretation);
2791 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2792 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
2793 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2794 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2795 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2796 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2797 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2798 find mustExist(problem, interpretation, container);
2799 neg find mustExist(problem, interpretation, newObject);
2800}
2801pattern createObject_KaCommSubsystem_class_UndefinedPart(
2802 problem:LogicProblem, interpretation:PartialInterpretation,
2803 typeInterpretation:PartialComplexTypeInterpretation)
2804{
2805 find interpretation(problem,interpretation);
2806 neg find hasElementInContainment(problem,interpretation);
2807 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2808 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
2809 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2810 find mayExist(problem, interpretation, newObject);
2811 neg find mustExist(problem, interpretation, newObject);
2812}
2813pattern createObject_CubeSat3U_class_by_spacecraft_reference_ConstellationMission(
2814 problem:LogicProblem, interpretation:PartialInterpretation,
2815 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2816 container:DefinedElement)
2817{
2818 find interpretation(problem,interpretation);
2819 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2820 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
2821 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2822 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2823 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2824 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
2825 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2826 find mustExist(problem, interpretation, container);
2827 neg find mustExist(problem, interpretation, newObject);
2828}
2829pattern createObject_CubeSat3U_class(
2830 problem:LogicProblem, interpretation:PartialInterpretation,
2831 typeInterpretation:PartialComplexTypeInterpretation)
2832{
2833 find interpretation(problem,interpretation);
2834 neg find hasElementInContainment(problem,interpretation);
2835 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2836 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
2837 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
2838 find mayExist(problem, interpretation, newObject);
2839 neg find mustExist(problem, interpretation, newObject);
2840}
2841pattern createObject_XCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2842 problem:LogicProblem, interpretation:PartialInterpretation,
2843 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2844 container:DefinedElement)
2845{
2846 find interpretation(problem,interpretation);
2847 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2848 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2849 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2850 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2851 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2852 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2853 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2854 find mustExist(problem, interpretation, container);
2855 neg find mustExist(problem, interpretation, newObject);
2856}
2857pattern createObject_XCommSubsystem_class_UndefinedPart(
2858 problem:LogicProblem, interpretation:PartialInterpretation,
2859 typeInterpretation:PartialComplexTypeInterpretation)
2860{
2861 find interpretation(problem,interpretation);
2862 neg find hasElementInContainment(problem,interpretation);
2863 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2864 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2865 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2866 find mayExist(problem, interpretation, newObject);
2867 neg find mustExist(problem, interpretation, newObject);
2868}
2869pattern createObject_InterferometryMission_class_UndefinedPart(
2870 problem:LogicProblem, interpretation:PartialInterpretation,
2871 typeInterpretation:PartialComplexTypeInterpretation)
2872{
2873 find interpretation(problem,interpretation);
2874 neg find hasElementInContainment(problem,interpretation);
2875 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2876 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart");
2877 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject);
2878 find mayExist(problem, interpretation, newObject);
2879 neg find mustExist(problem, interpretation, newObject);
2880}
2881
2882//////////
2883// 4.2 Type refinement
2884//////////
2885pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2886 find interpretation(problem,interpretation);
2887 PartialInterpretation.newElements(interpretation,element);
2888 find mayInstanceOfInterferometryPayload_class(problem,interpretation,element);
2889 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
2890 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2891 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2892 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2893}
2894pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2895 find interpretation(problem,interpretation);
2896 PartialInterpretation.newElements(interpretation,element);
2897 find mayInstanceOfCubeSat6U_class(problem,interpretation,element);
2898 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2899 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2900 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2901 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2902 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2903 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
2904 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2905}
2906pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2907 find interpretation(problem,interpretation);
2908 PartialInterpretation.newElements(interpretation,element);
2909 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2910 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2911 neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2912 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2913 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
2914 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2915}
2916pattern refineTypeTo_UHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2917 find interpretation(problem,interpretation);
2918 PartialInterpretation.newElements(interpretation,element);
2919 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2920 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2921 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2922 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
2923 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2924 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2925 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2926}
2927pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2928 find interpretation(problem,interpretation);
2929 PartialInterpretation.newElements(interpretation,element);
2930 find mayInstanceOfSmallSat_class(problem,interpretation,element);
2931 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2932 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2933 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
2934 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2935 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2936 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2937}
2938pattern refineTypeTo_KaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2939 find interpretation(problem,interpretation);
2940 PartialInterpretation.newElements(interpretation,element);
2941 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2942 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2943 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2944 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2945 neg find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2946 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2947 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2948}
2949pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2950 find interpretation(problem,interpretation);
2951 PartialInterpretation.newElements(interpretation,element);
2952 find mayInstanceOfCubeSat3U_class(problem,interpretation,element);
2953 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2954 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2955 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2956 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2957 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2958 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
2959 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2960}
2961pattern refineTypeTo_XCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2962 find interpretation(problem,interpretation);
2963 PartialInterpretation.newElements(interpretation,element);
2964 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2965 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2966 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2967 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2968 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
2969 neg find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2970 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2971}
2972pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2973 find interpretation(problem,interpretation);
2974 PartialInterpretation.newElements(interpretation,element);
2975 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
2976 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2977 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2978 neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
2979 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2980}
2981
2982//////////
2983// 4.3 Relation refinement
2984//////////
2985pattern refineRelation_target_reference_CommSubsystem(
2986 problem:LogicProblem, interpretation:PartialInterpretation,
2987 relationIterpretation:PartialRelationInterpretation,
2988 from: DefinedElement, to: DefinedElement)
2989{
2990 find interpretation(problem,interpretation);
2991 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2992 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
2993 find mustExist(problem, interpretation, from);
2994 find mustExist(problem, interpretation, to);
2995 find mustInstanceOfCommSubsystem_class(problem,interpretation,from);
2996 find mustInstanceOfCommSubsystem_class(problem,interpretation,to);
2997 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
2998 neg find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
2999}
3000
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
new file mode 100644
index 00000000..01b90968
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run4/init.partialmodel
@@ -0,0 +1,147 @@
1<?xml version="1.0" encoding="ASCII"?>
2<partialinterpretation:PartialInterpretation xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:language="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" xmlns:partialinterpretation="http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" minNewElements="32" maxNewElements="64">
3 <problem href="dummy.dummyext#//@problemConainer"/>
4 <partialrelationinterpretation>
5 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.0"/>
6 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
7 <param1 href="dummy.dummyext#//@problemConainer/@elements.0"/>
8 <param2 href="dummy.dummyext#//@problemConainer/@elements.1"/>
9 </relationlinks>
10 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.0/@parameters.0"/>
11 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.0/@parameters.1"/>
12 </partialrelationinterpretation>
13 <partialrelationinterpretation>
14 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.1"/>
15 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.1/@parameters.0"/>
16 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.1/@parameters.1"/>
17 </partialrelationinterpretation>
18 <partialrelationinterpretation>
19 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.2"/>
20 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
21 <param1 href="dummy.dummyext#//@problemConainer/@elements.1"/>
22 <param2 href="dummy.dummyext#//@problemConainer/@elements.2"/>
23 </relationlinks>
24 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
25 <param1 href="dummy.dummyext#//@problemConainer/@elements.1"/>
26 <param2 href="dummy.dummyext#//@problemConainer/@elements.3"/>
27 </relationlinks>
28 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.2/@parameters.0"/>
29 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.2/@parameters.1"/>
30 </partialrelationinterpretation>
31 <partialrelationinterpretation>
32 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.3"/>
33 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.3/@parameters.0"/>
34 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.3/@parameters.1"/>
35 </partialrelationinterpretation>
36 <partialrelationinterpretation>
37 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.4"/>
38 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.4/@parameters.0"/>
39 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.4/@parameters.1"/>
40 </partialrelationinterpretation>
41 <newElements xsi:type="partialinterpretation:BooleanElement" name="true" valueSet="true" value="true"/>
42 <newElements xsi:type="partialinterpretation:BooleanElement" name="false" valueSet="true"/>
43 <partialtypeinterpratation xsi:type="partialinterpretation:PartialBooleanInterpretation" elements="//@newElements.0 //@newElements.1"/>
44 <partialtypeinterpratation xsi:type="partialinterpretation:PartialIntegerInterpretation" elements="//@openWorldElements.0"/>
45 <partialtypeinterpratation xsi:type="partialinterpretation:PartialRealInterpretation" elements="//@openWorldElements.1"/>
46 <partialtypeinterpratation xsi:type="partialinterpretation:PartialStringInterpretation" elements="//@openWorldElements.2"/>
47 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.0">
48 <elements href="dummy.dummyext#//@problemConainer/@elements.0"/>
49 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.0"/>
50 </partialtypeinterpratation>
51 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.1" supertypeInterpretation="//@partialtypeinterpratation.4">
52 <elements href="dummy.dummyext#//@problemConainer/@elements.0"/>
53 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.1"/>
54 </partialtypeinterpratation>
55 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.2">
56 <elements href="dummy.dummyext#//@problemConainer/@elements.1"/>
57 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.2"/>
58 </partialtypeinterpratation>
59 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.3" supertypeInterpretation="//@partialtypeinterpratation.6">
60 <elements href="dummy.dummyext#//@problemConainer/@elements.1"/>
61 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.3"/>
62 </partialtypeinterpratation>
63 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.4" supertypeInterpretation="//@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
64 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.4"/>
65 </partialtypeinterpratation>
66 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.5">
67 <elements href="dummy.dummyext#//@problemConainer/@elements.2"/>
68 <elements href="dummy.dummyext#//@problemConainer/@elements.3"/>
69 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.5"/>
70 </partialtypeinterpratation>
71 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.6">
72 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.6"/>
73 </partialtypeinterpratation>
74 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.7" supertypeInterpretation="//@partialtypeinterpratation.10">
75 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.7"/>
76 </partialtypeinterpratation>
77 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.8" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
78 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.8"/>
79 </partialtypeinterpratation>
80 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.9" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
81 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.9"/>
82 </partialtypeinterpratation>
83 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.10" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
84 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.10"/>
85 </partialtypeinterpratation>
86 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.11" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
87 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.11"/>
88 </partialtypeinterpratation>
89 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.12" supertypeInterpretation="//@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
90 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.12"/>
91 </partialtypeinterpratation>
92 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.13" supertypeInterpretation="//@partialtypeinterpratation.9">
93 <elements href="dummy.dummyext#//@problemConainer/@elements.2"/>
94 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.13"/>
95 </partialtypeinterpratation>
96 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.14" supertypeInterpretation="//@partialtypeinterpratation.9">
97 <elements href="dummy.dummyext#//@problemConainer/@elements.3"/>
98 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.14"/>
99 </partialtypeinterpratation>
100 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.15" supertypeInterpretation="//@partialtypeinterpratation.4">
101 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.16"/>
102 </partialtypeinterpratation>
103 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.16" supertypeInterpretation="//@partialtypeinterpratation.5 //@partialtypeinterpratation.4 //@partialtypeinterpratation.19">
104 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.18"/>
105 </partialtypeinterpratation>
106 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.17" supertypeInterpretation="//@partialtypeinterpratation.6">
107 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.20"/>
108 </partialtypeinterpratation>
109 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.18" supertypeInterpretation="//@partialtypeinterpratation.7 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
110 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.22"/>
111 </partialtypeinterpratation>
112 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.19" supertypeInterpretation="//@partialtypeinterpratation.9">
113 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.24"/>
114 </partialtypeinterpratation>
115 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.20" supertypeInterpretation="//@partialtypeinterpratation.17 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
116 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.26"/>
117 </partialtypeinterpratation>
118 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.21" supertypeInterpretation="//@partialtypeinterpratation.18 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
119 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.28"/>
120 </partialtypeinterpratation>
121 <openWorldElements xsi:type="partialinterpretation:IntegerElement" name="New Integers"/>
122 <openWorldElements xsi:type="partialinterpretation:RealElement" name="New Reals"/>
123 <openWorldElements xsi:type="partialinterpretation:StringElement" name="New Strings"/>
124 <openWorldElements name="New Objects"/>
125 <scopes targetTypeInterpretation="//@partialtypeinterpratation.4"/>
126 <scopes targetTypeInterpretation="//@partialtypeinterpratation.5"/>
127 <scopes targetTypeInterpretation="//@partialtypeinterpratation.6"/>
128 <scopes targetTypeInterpretation="//@partialtypeinterpratation.7"/>
129 <scopes targetTypeInterpretation="//@partialtypeinterpratation.8"/>
130 <scopes targetTypeInterpretation="//@partialtypeinterpratation.9"/>
131 <scopes targetTypeInterpretation="//@partialtypeinterpratation.10"/>
132 <scopes targetTypeInterpretation="//@partialtypeinterpratation.11"/>
133 <scopes targetTypeInterpretation="//@partialtypeinterpratation.12"/>
134 <scopes targetTypeInterpretation="//@partialtypeinterpratation.13"/>
135 <scopes targetTypeInterpretation="//@partialtypeinterpratation.14"/>
136 <scopes targetTypeInterpretation="//@partialtypeinterpratation.15"/>
137 <scopes targetTypeInterpretation="//@partialtypeinterpratation.16"/>
138 <scopes targetTypeInterpretation="//@partialtypeinterpratation.17"/>
139 <scopes targetTypeInterpretation="//@partialtypeinterpratation.18"/>
140 <scopes targetTypeInterpretation="//@partialtypeinterpratation.19"/>
141 <scopes targetTypeInterpretation="//@partialtypeinterpratation.20"/>
142 <scopes targetTypeInterpretation="//@partialtypeinterpratation.21"/>
143 <scopes targetTypeInterpretation="//@partialtypeinterpratation.22"/>
144 <scopes targetTypeInterpretation="//@partialtypeinterpratation.23"/>
145 <scopes targetTypeInterpretation="//@partialtypeinterpratation.24"/>
146 <scopes targetTypeInterpretation="//@partialtypeinterpratation.25"/>
147</partialinterpretation:PartialInterpretation>
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
new file mode 100644
index 00000000..c96a951c
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run5/generated3valued.vql_deactivated
@@ -0,0 +1,3000 @@
1import epackage "http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage"
2import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/problem"
3import epackage "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language"
4
5//////////
6// 0. Util
7//////////
8private pattern interpretation(problem:LogicProblem, interpretation:PartialInterpretation) {
9 PartialInterpretation.problem(interpretation,problem);
10}
11
12/////////////////////////
13// 0.1 Existence
14/////////////////////////
15private pattern mustExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
16 find interpretation(problem,interpretation);
17 LogicProblem.elements(problem,element);
18} or {
19 find interpretation(problem,interpretation);
20 PartialInterpretation.newElements(interpretation,element);
21}
22
23private pattern mayExist(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
24 find mustExist(problem,interpretation,element);
25} or {
26 find interpretation(problem,interpretation);
27 neg find elementCloseWorld(element);
28 PartialInterpretation.openWorldElements(interpretation,element);
29}
30
31private pattern elementCloseWorld(element:DefinedElement) {
32 PartialInterpretation.openWorldElements(i,element);
33 PartialInterpretation.maxNewElements(i,0);
34} or {
35 Scope.targetTypeInterpretation(scope,interpretation);
36 PartialTypeInterpratation.elements(interpretation,element);
37 Scope.maxNewElements(scope,0);
38}
39
40////////////////////////
41// 0.2 Equivalence
42////////////////////////
43pattern mayEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
44 find mayExist(problem,interpretation,a);
45 find mayExist(problem,interpretation,b);
46 a == b;
47}
48pattern mustEquivalent(problem:LogicProblem, interpretation:PartialInterpretation, a: DefinedElement, b: DefinedElement) {
49 find mustExist(problem,interpretation,a);
50 find mustExist(problem,interpretation,b);
51 a == b;
52}
53
54////////////////////////
55// 0.3 Required Patterns by TypeIndexer
56////////////////////////
57private pattern typeInterpretation(problem:LogicProblem, interpretation:PartialInterpretation, type:TypeDeclaration, typeInterpretation:PartialComplexTypeInterpretation) {
58 find interpretation(problem,interpretation);
59 LogicProblem.types(problem,type);
60 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
61 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
62}
63
64private pattern directInstanceOf(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement, type:Type) {
65 find interpretation(problem,interpretation);
66 LogicProblem.types(problem,type);
67 TypeDefinition.elements(type,element);
68} or {
69 find interpretation(problem,interpretation);
70 find typeInterpretation(problem,interpretation,type,typeInterpretation);
71 PartialComplexTypeInterpretation.elements(typeInterpretation,element);
72}
73
74private pattern isPrimitive(element: PrimitiveElement) {
75 PrimitiveElement(element);
76}
77
78//////////
79// 1. Problem-Specific Base Indexers
80//////////
81// 1.1 Type Indexers
82//////////
83// 1.1.1 primitive Type Indexers
84//////////
85
86//////////
87// 1.1.2 domain-specific Type Indexers
88//////////
89/**
90 * An element must be an instance of type "ConstellationMission class".
91 */
92private pattern mustInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
93 Type.name(type,"ConstellationMission class");
94 find directInstanceOf(problem,interpretation,element,type);
95}
96private pattern scopeDisallowsNewConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation) {
97 find interpretation(problem,interpretation);
98 PartialInterpretation.scopes(interpretation,scope);
99 Scope.targetTypeInterpretation(scope,typeInterpretation);
100 Scope.maxNewElements(scope,0);
101 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
102 Type.name(type,"ConstellationMission class");
103}
104
105/**
106 * An element may be an instance of type "ConstellationMission class".
107 */
108private pattern mayInstanceOfConstellationMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
109{
110 find interpretation(problem,interpretation);
111 PartialInterpretation.newElements(interpretation,element);
112 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
113 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
114 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
115 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
116 neg find mustInstanceOfPayload_class(problem,interpretation,element);
117 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
118 neg find isPrimitive(element);
119} or {
120 find interpretation(problem,interpretation);
121 PartialInterpretation.openWorldElements(interpretation,element);
122 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
123 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
124 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
125 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
126 neg find mustInstanceOfPayload_class(problem,interpretation,element);
127 neg find scopeDisallowsNewConstellationMission_class(problem, interpretation);
128 neg find isPrimitive(element);
129} or
130{ find mustInstanceOfConstellationMission_class(problem,interpretation,element); }
131/**
132 * An element must be an instance of type "InterferometryMission class".
133 */
134private pattern mustInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
135 Type.name(type,"InterferometryMission class");
136 find directInstanceOf(problem,interpretation,element,type);
137}
138private pattern scopeDisallowsNewInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation) {
139 find interpretation(problem,interpretation);
140 PartialInterpretation.scopes(interpretation,scope);
141 Scope.targetTypeInterpretation(scope,typeInterpretation);
142 Scope.maxNewElements(scope,0);
143 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
144 Type.name(type,"InterferometryMission class");
145}
146
147/**
148 * An element may be an instance of type "InterferometryMission class".
149 */
150private pattern mayInstanceOfInterferometryMission_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
151{
152 find interpretation(problem,interpretation);
153 PartialInterpretation.newElements(interpretation,element);
154 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
155 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
156 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
157 neg find mustInstanceOfPayload_class(problem,interpretation,element);
158 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
159 neg find isPrimitive(element);
160} or {
161 find interpretation(problem,interpretation);
162 PartialInterpretation.openWorldElements(interpretation,element);
163 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
164 neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element);
165 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
166 neg find mustInstanceOfPayload_class(problem,interpretation,element);
167 neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation);
168 neg find isPrimitive(element);
169} or
170{ find mustInstanceOfInterferometryMission_class(problem,interpretation,element); }
171/**
172 * An element must be an instance of type "CommunicatingElement class".
173 */
174private pattern mustInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
175 Type.name(type,"CommunicatingElement class");
176 find directInstanceOf(problem,interpretation,element,type);
177}
178private pattern scopeDisallowsNewCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation) {
179 find interpretation(problem,interpretation);
180 PartialInterpretation.scopes(interpretation,scope);
181 Scope.targetTypeInterpretation(scope,typeInterpretation);
182 Scope.maxNewElements(scope,0);
183 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
184 Type.name(type,"CommunicatingElement class");
185}
186
187/**
188 * An element may be an instance of type "CommunicatingElement class".
189 */
190private pattern mayInstanceOfCommunicatingElement_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
191{
192 find interpretation(problem,interpretation);
193 PartialInterpretation.newElements(interpretation,element);
194 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
195 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
196 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
197 neg find mustInstanceOfPayload_class(problem,interpretation,element);
198 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
199 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
200 neg find isPrimitive(element);
201} or {
202 find interpretation(problem,interpretation);
203 PartialInterpretation.openWorldElements(interpretation,element);
204 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
205 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
206 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
207 neg find mustInstanceOfPayload_class(problem,interpretation,element);
208 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
209 neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation);
210 neg find isPrimitive(element);
211} or
212{ find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); }
213/**
214 * An element must be an instance of type "GroundStationNetwork class".
215 */
216private pattern mustInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
217 Type.name(type,"GroundStationNetwork class");
218 find directInstanceOf(problem,interpretation,element,type);
219}
220private pattern scopeDisallowsNewGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation) {
221 find interpretation(problem,interpretation);
222 PartialInterpretation.scopes(interpretation,scope);
223 Scope.targetTypeInterpretation(scope,typeInterpretation);
224 Scope.maxNewElements(scope,0);
225 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
226 Type.name(type,"GroundStationNetwork class");
227}
228
229/**
230 * An element may be an instance of type "GroundStationNetwork class".
231 */
232private pattern mayInstanceOfGroundStationNetwork_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
233{
234 find interpretation(problem,interpretation);
235 PartialInterpretation.newElements(interpretation,element);
236 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
237 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
238 neg find mustInstanceOfPayload_class(problem,interpretation,element);
239 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
240 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
241 neg find isPrimitive(element);
242} or {
243 find interpretation(problem,interpretation);
244 PartialInterpretation.openWorldElements(interpretation,element);
245 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
246 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
247 neg find mustInstanceOfPayload_class(problem,interpretation,element);
248 neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element);
249 neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation);
250 neg find isPrimitive(element);
251} or
252{ find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); }
253/**
254 * An element must be an instance of type "Spacecraft class".
255 */
256private pattern mustInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
257 Type.name(type,"Spacecraft class");
258 find directInstanceOf(problem,interpretation,element,type);
259}
260private pattern scopeDisallowsNewSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation) {
261 find interpretation(problem,interpretation);
262 PartialInterpretation.scopes(interpretation,scope);
263 Scope.targetTypeInterpretation(scope,typeInterpretation);
264 Scope.maxNewElements(scope,0);
265 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
266 Type.name(type,"Spacecraft class");
267}
268
269/**
270 * An element may be an instance of type "Spacecraft class".
271 */
272private pattern mayInstanceOfSpacecraft_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
273{
274 find interpretation(problem,interpretation);
275 PartialInterpretation.newElements(interpretation,element);
276 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
277 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
278 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
279 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
280 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
281 neg find mustInstanceOfPayload_class(problem,interpretation,element);
282 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
283 neg find isPrimitive(element);
284} or {
285 find interpretation(problem,interpretation);
286 PartialInterpretation.openWorldElements(interpretation,element);
287 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
288 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
289 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
290 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
291 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
292 neg find mustInstanceOfPayload_class(problem,interpretation,element);
293 neg find scopeDisallowsNewSpacecraft_class(problem, interpretation);
294 neg find isPrimitive(element);
295} or
296{ find mustInstanceOfSpacecraft_class(problem,interpretation,element); }
297/**
298 * An element must be an instance of type "CommSubsystem class".
299 */
300private pattern mustInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
301 Type.name(type,"CommSubsystem class");
302 find directInstanceOf(problem,interpretation,element,type);
303}
304private pattern scopeDisallowsNewCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
305 find interpretation(problem,interpretation);
306 PartialInterpretation.scopes(interpretation,scope);
307 Scope.targetTypeInterpretation(scope,typeInterpretation);
308 Scope.maxNewElements(scope,0);
309 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
310 Type.name(type,"CommSubsystem class");
311}
312
313/**
314 * An element may be an instance of type "CommSubsystem class".
315 */
316private pattern mayInstanceOfCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
317{
318 find interpretation(problem,interpretation);
319 PartialInterpretation.newElements(interpretation,element);
320 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
321 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
322 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
323 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
324 neg find mustInstanceOfPayload_class(problem,interpretation,element);
325 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
326 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
327 neg find isPrimitive(element);
328} or {
329 find interpretation(problem,interpretation);
330 PartialInterpretation.openWorldElements(interpretation,element);
331 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
332 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
333 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
334 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
335 neg find mustInstanceOfPayload_class(problem,interpretation,element);
336 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
337 neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation);
338 neg find isPrimitive(element);
339} or
340{ find mustInstanceOfCommSubsystem_class(problem,interpretation,element); }
341/**
342 * An element must be an instance of type "Payload class".
343 */
344private pattern mustInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
345 Type.name(type,"Payload class");
346 find directInstanceOf(problem,interpretation,element,type);
347}
348private pattern scopeDisallowsNewPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) {
349 find interpretation(problem,interpretation);
350 PartialInterpretation.scopes(interpretation,scope);
351 Scope.targetTypeInterpretation(scope,typeInterpretation);
352 Scope.maxNewElements(scope,0);
353 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
354 Type.name(type,"Payload class");
355}
356
357/**
358 * An element may be an instance of type "Payload class".
359 */
360private pattern mayInstanceOfPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
361{
362 find interpretation(problem,interpretation);
363 PartialInterpretation.newElements(interpretation,element);
364 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
365 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
366 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
367 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
368 neg find scopeDisallowsNewPayload_class(problem, interpretation);
369 neg find isPrimitive(element);
370} or {
371 find interpretation(problem,interpretation);
372 PartialInterpretation.openWorldElements(interpretation,element);
373 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
374 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
375 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
376 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
377 neg find scopeDisallowsNewPayload_class(problem, interpretation);
378 neg find isPrimitive(element);
379} or
380{ find mustInstanceOfPayload_class(problem,interpretation,element); }
381/**
382 * An element must be an instance of type "InterferometryPayload class".
383 */
384private pattern mustInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
385 Type.name(type,"InterferometryPayload class");
386 find directInstanceOf(problem,interpretation,element,type);
387}
388private pattern scopeDisallowsNewInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation) {
389 find interpretation(problem,interpretation);
390 PartialInterpretation.scopes(interpretation,scope);
391 Scope.targetTypeInterpretation(scope,typeInterpretation);
392 Scope.maxNewElements(scope,0);
393 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
394 Type.name(type,"InterferometryPayload class");
395}
396
397/**
398 * An element may be an instance of type "InterferometryPayload class".
399 */
400private pattern mayInstanceOfInterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
401{
402 find interpretation(problem,interpretation);
403 PartialInterpretation.newElements(interpretation,element);
404 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
405 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
406 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
407 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
408 neg find isPrimitive(element);
409} or {
410 find interpretation(problem,interpretation);
411 PartialInterpretation.openWorldElements(interpretation,element);
412 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
413 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
414 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
415 neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation);
416 neg find isPrimitive(element);
417} or
418{ find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); }
419/**
420 * An element must be an instance of type "CubeSat3U class".
421 */
422private pattern mustInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
423 Type.name(type,"CubeSat3U class");
424 find directInstanceOf(problem,interpretation,element,type);
425}
426private pattern scopeDisallowsNewCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation) {
427 find interpretation(problem,interpretation);
428 PartialInterpretation.scopes(interpretation,scope);
429 Scope.targetTypeInterpretation(scope,typeInterpretation);
430 Scope.maxNewElements(scope,0);
431 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
432 Type.name(type,"CubeSat3U class");
433}
434
435/**
436 * An element may be an instance of type "CubeSat3U class".
437 */
438private pattern mayInstanceOfCubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
439{
440 find interpretation(problem,interpretation);
441 PartialInterpretation.newElements(interpretation,element);
442 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
443 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
444 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
445 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
446 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
447 neg find mustInstanceOfPayload_class(problem,interpretation,element);
448 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
449 neg find isPrimitive(element);
450} or {
451 find interpretation(problem,interpretation);
452 PartialInterpretation.openWorldElements(interpretation,element);
453 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
454 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
455 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
456 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
457 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
458 neg find mustInstanceOfPayload_class(problem,interpretation,element);
459 neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation);
460 neg find isPrimitive(element);
461} or
462{ find mustInstanceOfCubeSat3U_class(problem,interpretation,element); }
463/**
464 * An element must be an instance of type "CubeSat6U class".
465 */
466private pattern mustInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
467 Type.name(type,"CubeSat6U class");
468 find directInstanceOf(problem,interpretation,element,type);
469}
470private pattern scopeDisallowsNewCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation) {
471 find interpretation(problem,interpretation);
472 PartialInterpretation.scopes(interpretation,scope);
473 Scope.targetTypeInterpretation(scope,typeInterpretation);
474 Scope.maxNewElements(scope,0);
475 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
476 Type.name(type,"CubeSat6U class");
477}
478
479/**
480 * An element may be an instance of type "CubeSat6U class".
481 */
482private pattern mayInstanceOfCubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
483{
484 find interpretation(problem,interpretation);
485 PartialInterpretation.newElements(interpretation,element);
486 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
487 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
488 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
489 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
490 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
491 neg find mustInstanceOfPayload_class(problem,interpretation,element);
492 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
493 neg find isPrimitive(element);
494} or {
495 find interpretation(problem,interpretation);
496 PartialInterpretation.openWorldElements(interpretation,element);
497 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
498 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
499 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
500 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
501 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
502 neg find mustInstanceOfPayload_class(problem,interpretation,element);
503 neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation);
504 neg find isPrimitive(element);
505} or
506{ find mustInstanceOfCubeSat6U_class(problem,interpretation,element); }
507/**
508 * An element must be an instance of type "SmallSat class".
509 */
510private pattern mustInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
511 Type.name(type,"SmallSat class");
512 find directInstanceOf(problem,interpretation,element,type);
513}
514private pattern scopeDisallowsNewSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation) {
515 find interpretation(problem,interpretation);
516 PartialInterpretation.scopes(interpretation,scope);
517 Scope.targetTypeInterpretation(scope,typeInterpretation);
518 Scope.maxNewElements(scope,0);
519 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
520 Type.name(type,"SmallSat class");
521}
522
523/**
524 * An element may be an instance of type "SmallSat class".
525 */
526private pattern mayInstanceOfSmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
527{
528 find interpretation(problem,interpretation);
529 PartialInterpretation.newElements(interpretation,element);
530 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
531 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
532 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
533 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
534 neg find mustInstanceOfPayload_class(problem,interpretation,element);
535 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
536 neg find isPrimitive(element);
537} or {
538 find interpretation(problem,interpretation);
539 PartialInterpretation.openWorldElements(interpretation,element);
540 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
541 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
542 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
543 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
544 neg find mustInstanceOfPayload_class(problem,interpretation,element);
545 neg find scopeDisallowsNewSmallSat_class(problem, interpretation);
546 neg find isPrimitive(element);
547} or
548{ find mustInstanceOfSmallSat_class(problem,interpretation,element); }
549/**
550 * An element must be an instance of type "CubeSat class".
551 */
552private pattern mustInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
553 Type.name(type,"CubeSat class");
554 find directInstanceOf(problem,interpretation,element,type);
555}
556private pattern scopeDisallowsNewCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation) {
557 find interpretation(problem,interpretation);
558 PartialInterpretation.scopes(interpretation,scope);
559 Scope.targetTypeInterpretation(scope,typeInterpretation);
560 Scope.maxNewElements(scope,0);
561 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
562 Type.name(type,"CubeSat class");
563}
564
565/**
566 * An element may be an instance of type "CubeSat class".
567 */
568private pattern mayInstanceOfCubeSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
569{
570 find interpretation(problem,interpretation);
571 PartialInterpretation.newElements(interpretation,element);
572 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
573 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
574 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
575 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
576 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
577 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
578 neg find mustInstanceOfPayload_class(problem,interpretation,element);
579 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
580 neg find isPrimitive(element);
581} or {
582 find interpretation(problem,interpretation);
583 PartialInterpretation.openWorldElements(interpretation,element);
584 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
585 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
586 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
587 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
588 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
589 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
590 neg find mustInstanceOfPayload_class(problem,interpretation,element);
591 neg find scopeDisallowsNewCubeSat_class(problem, interpretation);
592 neg find isPrimitive(element);
593} or
594{ find mustInstanceOfCubeSat_class(problem,interpretation,element); }
595/**
596 * An element must be an instance of type "UHFCommSubsystem class".
597 */
598private pattern mustInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
599 Type.name(type,"UHFCommSubsystem class");
600 find directInstanceOf(problem,interpretation,element,type);
601}
602private pattern scopeDisallowsNewUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
603 find interpretation(problem,interpretation);
604 PartialInterpretation.scopes(interpretation,scope);
605 Scope.targetTypeInterpretation(scope,typeInterpretation);
606 Scope.maxNewElements(scope,0);
607 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
608 Type.name(type,"UHFCommSubsystem class");
609}
610
611/**
612 * An element may be an instance of type "UHFCommSubsystem class".
613 */
614private pattern mayInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
615{
616 find interpretation(problem,interpretation);
617 PartialInterpretation.newElements(interpretation,element);
618 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
619 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
620 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
621 neg find mustInstanceOfPayload_class(problem,interpretation,element);
622 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
623 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
624 neg find isPrimitive(element);
625} or {
626 find interpretation(problem,interpretation);
627 PartialInterpretation.openWorldElements(interpretation,element);
628 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
629 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
630 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
631 neg find mustInstanceOfPayload_class(problem,interpretation,element);
632 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
633 neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation);
634 neg find isPrimitive(element);
635} or
636{ find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); }
637/**
638 * An element must be an instance of type "XCommSubsystem class".
639 */
640private pattern mustInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
641 Type.name(type,"XCommSubsystem class");
642 find directInstanceOf(problem,interpretation,element,type);
643}
644private pattern scopeDisallowsNewXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
645 find interpretation(problem,interpretation);
646 PartialInterpretation.scopes(interpretation,scope);
647 Scope.targetTypeInterpretation(scope,typeInterpretation);
648 Scope.maxNewElements(scope,0);
649 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
650 Type.name(type,"XCommSubsystem class");
651}
652
653/**
654 * An element may be an instance of type "XCommSubsystem class".
655 */
656private pattern mayInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
657{
658 find interpretation(problem,interpretation);
659 PartialInterpretation.newElements(interpretation,element);
660 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
661 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
662 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
663 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
664 neg find mustInstanceOfPayload_class(problem,interpretation,element);
665 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
666 neg find isPrimitive(element);
667} or {
668 find interpretation(problem,interpretation);
669 PartialInterpretation.openWorldElements(interpretation,element);
670 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
671 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
672 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
673 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
674 neg find mustInstanceOfPayload_class(problem,interpretation,element);
675 neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation);
676 neg find isPrimitive(element);
677} or
678{ find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); }
679/**
680 * An element must be an instance of type "KaCommSubsystem class".
681 */
682private pattern mustInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
683 Type.name(type,"KaCommSubsystem class");
684 find directInstanceOf(problem,interpretation,element,type);
685}
686private pattern scopeDisallowsNewKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) {
687 find interpretation(problem,interpretation);
688 PartialInterpretation.scopes(interpretation,scope);
689 Scope.targetTypeInterpretation(scope,typeInterpretation);
690 Scope.maxNewElements(scope,0);
691 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
692 Type.name(type,"KaCommSubsystem class");
693}
694
695/**
696 * An element may be an instance of type "KaCommSubsystem class".
697 */
698private pattern mayInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
699{
700 find interpretation(problem,interpretation);
701 PartialInterpretation.newElements(interpretation,element);
702 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
703 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
704 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
705 neg find mustInstanceOfPayload_class(problem,interpretation,element);
706 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
707 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
708 neg find isPrimitive(element);
709} or {
710 find interpretation(problem,interpretation);
711 PartialInterpretation.openWorldElements(interpretation,element);
712 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
713 neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element);
714 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
715 neg find mustInstanceOfPayload_class(problem,interpretation,element);
716 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
717 neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation);
718 neg find isPrimitive(element);
719} or
720{ find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); }
721/**
722 * An element must be an instance of type "ConstellationMission class DefinedPart".
723 */
724private pattern mustInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
725 Type.name(type,"ConstellationMission class DefinedPart");
726 find directInstanceOf(problem,interpretation,element,type);
727}
728private pattern scopeDisallowsNewConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
729 find interpretation(problem,interpretation);
730 PartialInterpretation.scopes(interpretation,scope);
731 Scope.targetTypeInterpretation(scope,typeInterpretation);
732 Scope.maxNewElements(scope,0);
733 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
734 Type.name(type,"ConstellationMission class DefinedPart");
735}
736
737/**
738 * An element may be an instance of type "ConstellationMission class DefinedPart".
739 */
740private pattern mayInstanceOfConstellationMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
741{ find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,element); }
742/**
743 * An element must be an instance of type "ConstellationMission class UndefinedPart".
744 */
745private pattern mustInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
746 Type.name(type,"ConstellationMission class UndefinedPart");
747 find directInstanceOf(problem,interpretation,element,type);
748}
749private pattern scopeDisallowsNewConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
750 find interpretation(problem,interpretation);
751 PartialInterpretation.scopes(interpretation,scope);
752 Scope.targetTypeInterpretation(scope,typeInterpretation);
753 Scope.maxNewElements(scope,0);
754 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
755 Type.name(type,"ConstellationMission class UndefinedPart");
756}
757
758/**
759 * An element may be an instance of type "ConstellationMission class UndefinedPart".
760 */
761private pattern mayInstanceOfConstellationMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
762{
763 find interpretation(problem,interpretation);
764 PartialInterpretation.newElements(interpretation,element);
765 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
766 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
767 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
768 neg find mustInstanceOfPayload_class(problem,interpretation,element);
769 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
770 neg find isPrimitive(element);
771} or {
772 find interpretation(problem,interpretation);
773 PartialInterpretation.openWorldElements(interpretation,element);
774 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
775 neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element);
776 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
777 neg find mustInstanceOfPayload_class(problem,interpretation,element);
778 neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation);
779 neg find isPrimitive(element);
780} or
781{ find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); }
782/**
783 * An element must be an instance of type "InterferometryMission class DefinedPart".
784 */
785private pattern mustInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
786 Type.name(type,"InterferometryMission class DefinedPart");
787 find directInstanceOf(problem,interpretation,element,type);
788}
789private pattern scopeDisallowsNewInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
790 find interpretation(problem,interpretation);
791 PartialInterpretation.scopes(interpretation,scope);
792 Scope.targetTypeInterpretation(scope,typeInterpretation);
793 Scope.maxNewElements(scope,0);
794 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
795 Type.name(type,"InterferometryMission class DefinedPart");
796}
797
798/**
799 * An element may be an instance of type "InterferometryMission class DefinedPart".
800 */
801private pattern mayInstanceOfInterferometryMission_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
802{ find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,element); }
803/**
804 * An element must be an instance of type "InterferometryMission class UndefinedPart".
805 */
806private pattern mustInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
807 Type.name(type,"InterferometryMission class UndefinedPart");
808 find directInstanceOf(problem,interpretation,element,type);
809}
810private pattern scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
811 find interpretation(problem,interpretation);
812 PartialInterpretation.scopes(interpretation,scope);
813 Scope.targetTypeInterpretation(scope,typeInterpretation);
814 Scope.maxNewElements(scope,0);
815 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
816 Type.name(type,"InterferometryMission class UndefinedPart");
817}
818
819/**
820 * An element may be an instance of type "InterferometryMission class UndefinedPart".
821 */
822private pattern mayInstanceOfInterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
823{
824 find interpretation(problem,interpretation);
825 PartialInterpretation.newElements(interpretation,element);
826 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
827 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
828 neg find mustInstanceOfPayload_class(problem,interpretation,element);
829 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
830 neg find isPrimitive(element);
831} or {
832 find interpretation(problem,interpretation);
833 PartialInterpretation.openWorldElements(interpretation,element);
834 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
835 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
836 neg find mustInstanceOfPayload_class(problem,interpretation,element);
837 neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation);
838 neg find isPrimitive(element);
839} or
840{ find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); }
841/**
842 * An element must be an instance of type "CommunicatingElement class DefinedPart".
843 */
844private pattern mustInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
845 Type.name(type,"CommunicatingElement class DefinedPart");
846 find directInstanceOf(problem,interpretation,element,type);
847}
848private pattern scopeDisallowsNewCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
849 find interpretation(problem,interpretation);
850 PartialInterpretation.scopes(interpretation,scope);
851 Scope.targetTypeInterpretation(scope,typeInterpretation);
852 Scope.maxNewElements(scope,0);
853 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
854 Type.name(type,"CommunicatingElement class DefinedPart");
855}
856
857/**
858 * An element may be an instance of type "CommunicatingElement class DefinedPart".
859 */
860private pattern mayInstanceOfCommunicatingElement_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
861{ find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,element); }
862/**
863 * An element must be an instance of type "CommunicatingElement class UndefinedPart".
864 */
865private pattern mustInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
866 Type.name(type,"CommunicatingElement class UndefinedPart");
867 find directInstanceOf(problem,interpretation,element,type);
868}
869private pattern scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
870 find interpretation(problem,interpretation);
871 PartialInterpretation.scopes(interpretation,scope);
872 Scope.targetTypeInterpretation(scope,typeInterpretation);
873 Scope.maxNewElements(scope,0);
874 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
875 Type.name(type,"CommunicatingElement class UndefinedPart");
876}
877
878/**
879 * An element may be an instance of type "CommunicatingElement class UndefinedPart".
880 */
881private pattern mayInstanceOfCommunicatingElement_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
882{
883 find interpretation(problem,interpretation);
884 PartialInterpretation.newElements(interpretation,element);
885 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
886 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
887 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
888 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
889 neg find mustInstanceOfPayload_class(problem,interpretation,element);
890 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
891 neg find isPrimitive(element);
892} or {
893 find interpretation(problem,interpretation);
894 PartialInterpretation.openWorldElements(interpretation,element);
895 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
896 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
897 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
898 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
899 neg find mustInstanceOfPayload_class(problem,interpretation,element);
900 neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation);
901 neg find isPrimitive(element);
902} or
903{ find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); }
904/**
905 * An element must be an instance of type "GroundStationNetwork class DefinedPart".
906 */
907private pattern mustInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
908 Type.name(type,"GroundStationNetwork class DefinedPart");
909 find directInstanceOf(problem,interpretation,element,type);
910}
911private pattern scopeDisallowsNewGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
912 find interpretation(problem,interpretation);
913 PartialInterpretation.scopes(interpretation,scope);
914 Scope.targetTypeInterpretation(scope,typeInterpretation);
915 Scope.maxNewElements(scope,0);
916 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
917 Type.name(type,"GroundStationNetwork class DefinedPart");
918}
919
920/**
921 * An element may be an instance of type "GroundStationNetwork class DefinedPart".
922 */
923private pattern mayInstanceOfGroundStationNetwork_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
924{ find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,element); }
925/**
926 * An element must be an instance of type "GroundStationNetwork class UndefinedPart".
927 */
928private pattern mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
929 Type.name(type,"GroundStationNetwork class UndefinedPart");
930 find directInstanceOf(problem,interpretation,element,type);
931}
932private pattern scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
933 find interpretation(problem,interpretation);
934 PartialInterpretation.scopes(interpretation,scope);
935 Scope.targetTypeInterpretation(scope,typeInterpretation);
936 Scope.maxNewElements(scope,0);
937 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
938 Type.name(type,"GroundStationNetwork class UndefinedPart");
939}
940
941/**
942 * An element may be an instance of type "GroundStationNetwork class UndefinedPart".
943 */
944private pattern mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
945{
946 find interpretation(problem,interpretation);
947 PartialInterpretation.newElements(interpretation,element);
948 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
949 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
950 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
951 neg find mustInstanceOfPayload_class(problem,interpretation,element);
952 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
953 neg find isPrimitive(element);
954} or {
955 find interpretation(problem,interpretation);
956 PartialInterpretation.openWorldElements(interpretation,element);
957 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
958 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
959 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
960 neg find mustInstanceOfPayload_class(problem,interpretation,element);
961 neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation);
962 neg find isPrimitive(element);
963} or
964{ find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); }
965/**
966 * An element must be an instance of type "CommSubsystem class DefinedPart".
967 */
968private pattern mustInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
969 Type.name(type,"CommSubsystem class DefinedPart");
970 find directInstanceOf(problem,interpretation,element,type);
971}
972private pattern scopeDisallowsNewCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
973 find interpretation(problem,interpretation);
974 PartialInterpretation.scopes(interpretation,scope);
975 Scope.targetTypeInterpretation(scope,typeInterpretation);
976 Scope.maxNewElements(scope,0);
977 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
978 Type.name(type,"CommSubsystem class DefinedPart");
979}
980
981/**
982 * An element may be an instance of type "CommSubsystem class DefinedPart".
983 */
984private pattern mayInstanceOfCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
985{ find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,element); }
986/**
987 * An element must be an instance of type "CommSubsystem class UndefinedPart".
988 */
989private pattern mustInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
990 Type.name(type,"CommSubsystem class UndefinedPart");
991 find directInstanceOf(problem,interpretation,element,type);
992}
993private pattern scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
994 find interpretation(problem,interpretation);
995 PartialInterpretation.scopes(interpretation,scope);
996 Scope.targetTypeInterpretation(scope,typeInterpretation);
997 Scope.maxNewElements(scope,0);
998 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
999 Type.name(type,"CommSubsystem class UndefinedPart");
1000}
1001
1002/**
1003 * An element may be an instance of type "CommSubsystem class UndefinedPart".
1004 */
1005private pattern mayInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1006{
1007 find interpretation(problem,interpretation);
1008 PartialInterpretation.newElements(interpretation,element);
1009 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1010 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1011 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1012 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1013 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1014 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1015 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1016 neg find isPrimitive(element);
1017} or {
1018 find interpretation(problem,interpretation);
1019 PartialInterpretation.openWorldElements(interpretation,element);
1020 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1021 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1022 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1023 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1024 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1025 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1026 neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation);
1027 neg find isPrimitive(element);
1028} or
1029{ find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1030/**
1031 * An element must be an instance of type "XCommSubsystem class DefinedPart".
1032 */
1033private pattern mustInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1034 Type.name(type,"XCommSubsystem class DefinedPart");
1035 find directInstanceOf(problem,interpretation,element,type);
1036}
1037private pattern scopeDisallowsNewXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1038 find interpretation(problem,interpretation);
1039 PartialInterpretation.scopes(interpretation,scope);
1040 Scope.targetTypeInterpretation(scope,typeInterpretation);
1041 Scope.maxNewElements(scope,0);
1042 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1043 Type.name(type,"XCommSubsystem class DefinedPart");
1044}
1045
1046/**
1047 * An element may be an instance of type "XCommSubsystem class DefinedPart".
1048 */
1049private pattern mayInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1050{ find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1051/**
1052 * An element must be an instance of type "XCommSubsystem class UndefinedPart".
1053 */
1054private pattern mustInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1055 Type.name(type,"XCommSubsystem class UndefinedPart");
1056 find directInstanceOf(problem,interpretation,element,type);
1057}
1058private pattern scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1059 find interpretation(problem,interpretation);
1060 PartialInterpretation.scopes(interpretation,scope);
1061 Scope.targetTypeInterpretation(scope,typeInterpretation);
1062 Scope.maxNewElements(scope,0);
1063 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1064 Type.name(type,"XCommSubsystem class UndefinedPart");
1065}
1066
1067/**
1068 * An element may be an instance of type "XCommSubsystem class UndefinedPart".
1069 */
1070private pattern mayInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1071{
1072 find interpretation(problem,interpretation);
1073 PartialInterpretation.newElements(interpretation,element);
1074 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1075 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1076 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1077 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1078 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1079 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1080 neg find isPrimitive(element);
1081} or {
1082 find interpretation(problem,interpretation);
1083 PartialInterpretation.openWorldElements(interpretation,element);
1084 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1085 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1086 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1087 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
1088 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1089 neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation);
1090 neg find isPrimitive(element);
1091} or
1092{ find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1093/**
1094 * An element must be an instance of type "KaCommSubsystem class DefinedPart".
1095 */
1096private pattern mustInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1097 Type.name(type,"KaCommSubsystem class DefinedPart");
1098 find directInstanceOf(problem,interpretation,element,type);
1099}
1100private pattern scopeDisallowsNewKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1101 find interpretation(problem,interpretation);
1102 PartialInterpretation.scopes(interpretation,scope);
1103 Scope.targetTypeInterpretation(scope,typeInterpretation);
1104 Scope.maxNewElements(scope,0);
1105 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1106 Type.name(type,"KaCommSubsystem class DefinedPart");
1107}
1108
1109/**
1110 * An element may be an instance of type "KaCommSubsystem class DefinedPart".
1111 */
1112private pattern mayInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1113{ find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,element); }
1114/**
1115 * An element must be an instance of type "KaCommSubsystem class UndefinedPart".
1116 */
1117private pattern mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) {
1118 Type.name(type,"KaCommSubsystem class UndefinedPart");
1119 find directInstanceOf(problem,interpretation,element,type);
1120}
1121private pattern scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) {
1122 find interpretation(problem,interpretation);
1123 PartialInterpretation.scopes(interpretation,scope);
1124 Scope.targetTypeInterpretation(scope,typeInterpretation);
1125 Scope.maxNewElements(scope,0);
1126 PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type);
1127 Type.name(type,"KaCommSubsystem class UndefinedPart");
1128}
1129
1130/**
1131 * An element may be an instance of type "KaCommSubsystem class UndefinedPart".
1132 */
1133private pattern mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement)
1134{
1135 find interpretation(problem,interpretation);
1136 PartialInterpretation.newElements(interpretation,element);
1137 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1138 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1139 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1140 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1141 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1142 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1143 neg find isPrimitive(element);
1144} or {
1145 find interpretation(problem,interpretation);
1146 PartialInterpretation.openWorldElements(interpretation,element);
1147 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
1148 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
1149 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
1150 neg find mustInstanceOfPayload_class(problem,interpretation,element);
1151 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
1152 neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation);
1153 neg find isPrimitive(element);
1154} or
1155{ find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); }
1156
1157//////////
1158// 1.2 Relation Declaration Indexers
1159//////////
1160/**
1161 * Matcher for detecting tuples t where []groundStationNetwork reference ConstellationMission(source,target)
1162 */
1163private pattern mustInRelationgroundStationNetwork_reference_ConstellationMission(
1164 problem:LogicProblem, interpretation:PartialInterpretation,
1165 source: DefinedElement, target:DefinedElement)
1166{
1167 find interpretation(problem,interpretation);
1168 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1169 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission");
1170 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1171 BinaryElementRelationLink.param1(link,source);
1172 BinaryElementRelationLink.param2(link,target);
1173}
1174/**
1175 * Matcher for detecting tuples t where <>groundStationNetwork reference ConstellationMission(source,target)
1176 */
1177private pattern mayInRelationgroundStationNetwork_reference_ConstellationMission(
1178 problem:LogicProblem, interpretation:PartialInterpretation,
1179 source: DefinedElement, target:DefinedElement)
1180{
1181 find interpretation(problem,interpretation);
1182 // The two endpoint of the link have to exist
1183 find mayExist(problem, interpretation, source);
1184 find mayExist(problem, interpretation, target);
1185 // Type consistency
1186 find mayInstanceOfConstellationMission_class(problem,interpretation,source);
1187 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,target);
1188 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1189 // the upper bound of the multiplicity should be considered.
1190 numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,_);
1191 check(numberOfExistingReferences < 1);
1192 // The reference is containment, then a new reference cannot be create if:
1193 // 1. Multiple parents
1194 neg find mustContains4(problem,interpretation,_,target);
1195 // 2. Circle in the containment hierarchy
1196 neg find mustTransitiveContains(source,target);
1197} or {
1198 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target);
1199}
1200/**
1201 * Matcher for detecting tuples t where []spacecraft reference ConstellationMission(source,target)
1202 */
1203private pattern mustInRelationspacecraft_reference_ConstellationMission(
1204 problem:LogicProblem, interpretation:PartialInterpretation,
1205 source: DefinedElement, target:DefinedElement)
1206{
1207 find interpretation(problem,interpretation);
1208 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1209 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission");
1210 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1211 BinaryElementRelationLink.param1(link,source);
1212 BinaryElementRelationLink.param2(link,target);
1213}
1214/**
1215 * Matcher for detecting tuples t where <>spacecraft reference ConstellationMission(source,target)
1216 */
1217private pattern mayInRelationspacecraft_reference_ConstellationMission(
1218 problem:LogicProblem, interpretation:PartialInterpretation,
1219 source: DefinedElement, target:DefinedElement)
1220{
1221 find interpretation(problem,interpretation);
1222 // The two endpoint of the link have to exist
1223 find mayExist(problem, interpretation, source);
1224 find mayExist(problem, interpretation, target);
1225 // Type consistency
1226 find mayInstanceOfConstellationMission_class(problem,interpretation,source);
1227 find mayInstanceOfSpacecraft_class(problem,interpretation,target);
1228 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1229 // the upper bound of the multiplicity should be considered.
1230 numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,_);
1231 check(numberOfExistingReferences < 50);
1232 // The reference is containment, then a new reference cannot be create if:
1233 // 1. Multiple parents
1234 neg find mustContains4(problem,interpretation,_,target);
1235 // 2. Circle in the containment hierarchy
1236 neg find mustTransitiveContains(source,target);
1237} or {
1238 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target);
1239}
1240/**
1241 * Matcher for detecting tuples t where []commSubsystem reference CommunicatingElement(source,target)
1242 */
1243private pattern mustInRelationcommSubsystem_reference_CommunicatingElement(
1244 problem:LogicProblem, interpretation:PartialInterpretation,
1245 source: DefinedElement, target:DefinedElement)
1246{
1247 find interpretation(problem,interpretation);
1248 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1249 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement");
1250 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1251 BinaryElementRelationLink.param1(link,source);
1252 BinaryElementRelationLink.param2(link,target);
1253}
1254/**
1255 * Matcher for detecting tuples t where <>commSubsystem reference CommunicatingElement(source,target)
1256 */
1257private pattern mayInRelationcommSubsystem_reference_CommunicatingElement(
1258 problem:LogicProblem, interpretation:PartialInterpretation,
1259 source: DefinedElement, target:DefinedElement)
1260{
1261 find interpretation(problem,interpretation);
1262 // The two endpoint of the link have to exist
1263 find mayExist(problem, interpretation, source);
1264 find mayExist(problem, interpretation, target);
1265 // Type consistency
1266 find mayInstanceOfCommunicatingElement_class(problem,interpretation,source);
1267 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1268 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1269 // the upper bound of the multiplicity should be considered.
1270 numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,_);
1271 check(numberOfExistingReferences < 2);
1272 // The reference is containment, then a new reference cannot be create if:
1273 // 1. Multiple parents
1274 neg find mustContains4(problem,interpretation,_,target);
1275 // 2. Circle in the containment hierarchy
1276 neg find mustTransitiveContains(source,target);
1277} or {
1278 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target);
1279}
1280/**
1281 * Matcher for detecting tuples t where []payload reference Spacecraft(source,target)
1282 */
1283private pattern mustInRelationpayload_reference_Spacecraft(
1284 problem:LogicProblem, interpretation:PartialInterpretation,
1285 source: DefinedElement, target:DefinedElement)
1286{
1287 find interpretation(problem,interpretation);
1288 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1289 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"payload reference Spacecraft");
1290 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1291 BinaryElementRelationLink.param1(link,source);
1292 BinaryElementRelationLink.param2(link,target);
1293}
1294/**
1295 * Matcher for detecting tuples t where <>payload reference Spacecraft(source,target)
1296 */
1297private pattern mayInRelationpayload_reference_Spacecraft(
1298 problem:LogicProblem, interpretation:PartialInterpretation,
1299 source: DefinedElement, target:DefinedElement)
1300{
1301 find interpretation(problem,interpretation);
1302 // The two endpoint of the link have to exist
1303 find mayExist(problem, interpretation, source);
1304 find mayExist(problem, interpretation, target);
1305 // Type consistency
1306 find mayInstanceOfSpacecraft_class(problem,interpretation,source);
1307 find mayInstanceOfPayload_class(problem,interpretation,target);
1308 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1309 // the upper bound of the multiplicity should be considered.
1310 numberOfExistingReferences == count find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,_);
1311 check(numberOfExistingReferences < 1);
1312 // The reference is containment, then a new reference cannot be create if:
1313 // 1. Multiple parents
1314 neg find mustContains4(problem,interpretation,_,target);
1315 // 2. Circle in the containment hierarchy
1316 neg find mustTransitiveContains(source,target);
1317} or {
1318 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target);
1319}
1320/**
1321 * Matcher for detecting tuples t where []target reference CommSubsystem(source,target)
1322 */
1323private pattern mustInRelationtarget_reference_CommSubsystem(
1324 problem:LogicProblem, interpretation:PartialInterpretation,
1325 source: DefinedElement, target:DefinedElement)
1326{
1327 find interpretation(problem,interpretation);
1328 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
1329 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
1330 PartialRelationInterpretation.relationlinks(relationIterpretation,link);
1331 BinaryElementRelationLink.param1(link,source);
1332 BinaryElementRelationLink.param2(link,target);
1333}
1334/**
1335 * Matcher for detecting tuples t where <>target reference CommSubsystem(source,target)
1336 */
1337private pattern mayInRelationtarget_reference_CommSubsystem(
1338 problem:LogicProblem, interpretation:PartialInterpretation,
1339 source: DefinedElement, target:DefinedElement)
1340{
1341 find interpretation(problem,interpretation);
1342 // The two endpoint of the link have to exist
1343 find mayExist(problem, interpretation, source);
1344 find mayExist(problem, interpretation, target);
1345 // Type consistency
1346 find mayInstanceOfCommSubsystem_class(problem,interpretation,source);
1347 find mayInstanceOfCommSubsystem_class(problem,interpretation,target);
1348 // There are "numberOfExistingReferences" currently existing instances of the reference from the source,
1349 // the upper bound of the multiplicity should be considered.
1350 numberOfExistingReferences == count find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,_);
1351 check(numberOfExistingReferences < 1);
1352} or {
1353 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,source,target);
1354}
1355
1356//////////
1357// 1.3 Relation Definition Indexers
1358//////////
1359// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLinkDoesNotStartAtContainingElement
1360private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1361 problem:LogicProblem, interpretation:PartialInterpretation,
1362 var_Element)
1363{
1364 find interpretation(problem,interpretation);
1365 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1366 // Element is exported
1367 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1368 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1369 neg find mayEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1370}
1371private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1372 problem:LogicProblem, interpretation:PartialInterpretation,
1373 var_Element)
1374{
1375 find interpretation(problem,interpretation);
1376 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1377 // Element is exported
1378 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1379 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1380 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1381}
1382private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(
1383 problem:LogicProblem, interpretation:PartialInterpretation,
1384 var_Element)
1385{
1386 find interpretation(problem,interpretation);
1387 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1388 // Element is exported
1389 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm1);
1390 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(problem,interpretation,var_Element,var_Comm2);
1391 neg find mustEquivalent(problem, interpretation, var_Comm1, var_Comm2);
1392}
1393// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries transmittingCommSubsystem
1394private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1395 problem:LogicProblem, interpretation:PartialInterpretation,
1396 var_Element, var_Comm)
1397{
1398 find interpretation(problem,interpretation);
1399 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1400 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1401 // Element is exported
1402 // Comm is exported
1403 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1404 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1405 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1406 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1407 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1408 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1409 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1410 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1411}
1412private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1413 problem:LogicProblem, interpretation:PartialInterpretation,
1414 var_Element, var_Comm)
1415{
1416 find interpretation(problem,interpretation);
1417 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1418 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1419 // Element is exported
1420 // Comm is exported
1421 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1422 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1423 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1424 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
1425 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1426 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1427 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1428 find mayEquivalent(problem, interpretation, var_virtual1, _var__0);
1429}
1430private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_transmittingCommSubsystem(
1431 problem:LogicProblem, interpretation:PartialInterpretation,
1432 var_Element, var_Comm)
1433{
1434 find interpretation(problem,interpretation);
1435 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1436 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1437 // Element is exported
1438 // Comm is exported
1439 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
1440 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Element,var_virtual0);
1441 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1442 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
1443 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm);
1444 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_Comm,var_virtual1);
1445 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1446 find mustEquivalent(problem, interpretation, var_virtual1, _var__0);
1447}
1448// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries notEnoughInterferometryPayloads
1449private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1450 problem:LogicProblem, interpretation:PartialInterpretation,
1451 var_Mission)
1452{
1453 find interpretation(problem,interpretation);
1454 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1455 // Mission is exported
1456 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1457 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1458}
1459private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1460 problem:LogicProblem, interpretation:PartialInterpretation,
1461 var_Mission)
1462{
1463 find interpretation(problem,interpretation);
1464 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1465 // Mission is exported
1466 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1467 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1468}
1469private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(
1470 problem:LogicProblem, interpretation:PartialInterpretation,
1471 var_Mission)
1472{
1473 find interpretation(problem,interpretation);
1474 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1475 // Mission is exported
1476 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1477 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(problem,interpretation,var_Mission);
1478}
1479// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries atLeastTwoInterferometryPayloads
1480private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1481 problem:LogicProblem, interpretation:PartialInterpretation,
1482 var_Mission)
1483{
1484 find interpretation(problem,interpretation);
1485 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1486 // Mission is exported
1487 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1488 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1489 neg find mayEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1490}
1491private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1492 problem:LogicProblem, interpretation:PartialInterpretation,
1493 var_Mission)
1494{
1495 find interpretation(problem,interpretation);
1496 find mayInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1497 // Mission is exported
1498 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1499 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1500 neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1501}
1502private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_atLeastTwoInterferometryPayloads(
1503 problem:LogicProblem, interpretation:PartialInterpretation,
1504 var_Mission)
1505{
1506 find interpretation(problem,interpretation);
1507 find mustInstanceOfInterferometryMission_class(problem,interpretation,var_Mission);
1508 // Mission is exported
1509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft1);
1510 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(problem,interpretation,var_Mission,var_Spacecraft2);
1511 neg find mustEquivalent(problem, interpretation, var_Spacecraft1, var_Spacecraft2);
1512}
1513// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries spacecraftWithInterferometryPayload
1514private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1515 problem:LogicProblem, interpretation:PartialInterpretation,
1516 var_Mission, var_Spacecraft)
1517{
1518 find interpretation(problem,interpretation);
1519 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1520 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1521 // Mission is exported
1522 // Spacecraft is exported
1523 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1524 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1525 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1526 find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1527 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1528 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1529 find mustInstanceOfPayload_class(problem,interpretation,var_virtual1);
1530 find mustEquivalent(problem, interpretation, var_virtual1, var_Payload);
1531 find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1532}
1533private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1534 problem:LogicProblem, interpretation:PartialInterpretation,
1535 var_Mission, var_Spacecraft)
1536{
1537 find interpretation(problem,interpretation);
1538 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1539 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1540 // Mission is exported
1541 // Spacecraft is exported
1542 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1543 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1544 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1545 find mayEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1546 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1547 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1548 find mayInstanceOfPayload_class(problem,interpretation,var_virtual1);
1549 find mayEquivalent(problem, interpretation, var_virtual1, var_Payload);
1550 find mayInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1551}
1552private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftWithInterferometryPayload(
1553 problem:LogicProblem, interpretation:PartialInterpretation,
1554 var_Mission, var_Spacecraft)
1555{
1556 find interpretation(problem,interpretation);
1557 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1558 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1559 // Mission is exported
1560 // Spacecraft is exported
1561 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1562 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1563 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual0);
1564 find mustEquivalent(problem, interpretation, var_virtual0, var_Spacecraft);
1565 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1566 find mustInRelationpayload_reference_Spacecraft(problem,interpretation,var_Spacecraft,var_virtual1);
1567 find mustInstanceOfPayload_class(problem,interpretation,var_virtual1);
1568 find mustEquivalent(problem, interpretation, var_virtual1, var_Payload);
1569 find mustInstanceOfInterferometryPayload_class(problem,interpretation,var_Payload);
1570}
1571// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noLinkToGroundStation
1572private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1573 problem:LogicProblem, interpretation:PartialInterpretation,
1574 var_Spacecraft)
1575{
1576 find interpretation(problem,interpretation);
1577 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1578 // Spacecraft is exported
1579 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1580 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1581 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1582 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1583 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1584 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1585 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1586 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1587 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1588}
1589private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1590 problem:LogicProblem, interpretation:PartialInterpretation,
1591 var_Spacecraft)
1592{
1593 find interpretation(problem,interpretation);
1594 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1595 // Spacecraft is exported
1596 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1597 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1598 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1599 find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1600 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1601 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1602 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1603 find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1604 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1605}
1606private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(
1607 problem:LogicProblem, interpretation:PartialInterpretation,
1608 var_Spacecraft)
1609{
1610 find interpretation(problem,interpretation);
1611 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1612 // Spacecraft is exported
1613 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1614 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1615 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1616 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1617 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1618 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1619 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1620 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1621 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Spacecraft,var_GroundStation);
1622}
1623// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries noPotentialLinkToGroundStation
1624private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1625 problem:LogicProblem, interpretation:PartialInterpretation,
1626 var_Spacecraft)
1627{
1628 find interpretation(problem,interpretation);
1629 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1630 // Spacecraft is exported
1631 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1632 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1633 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1634 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1635 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1636 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1637 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1638 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1639 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1640}
1641private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1642 problem:LogicProblem, interpretation:PartialInterpretation,
1643 var_Spacecraft)
1644{
1645 find interpretation(problem,interpretation);
1646 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1647 // Spacecraft is exported
1648 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1649 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1650 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1651 find mayEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1652 find mayInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1653 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1654 find mayInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1655 find mayEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1656 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1657}
1658private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(
1659 problem:LogicProblem, interpretation:PartialInterpretation,
1660 var_Spacecraft)
1661{
1662 find interpretation(problem,interpretation);
1663 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
1664 // Spacecraft is exported
1665 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1666 find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual0);
1667 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_virtual0);
1668 find mustEquivalent(problem, interpretation, var_virtual0, var_GroundStation);
1669 find mustInstanceOfConstellationMission_class(problem,interpretation,var_Mission);
1670 find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,var_Mission,var_virtual1);
1671 find mustInstanceOfSpacecraft_class(problem,interpretation,var_virtual1);
1672 find mustEquivalent(problem, interpretation, var_virtual1, var_Spacecraft);
1673 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(problem,interpretation,var_Spacecraft,var_GroundStation);
1674}
1675// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectLinkAllowed
1676private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1677 problem:LogicProblem, interpretation:PartialInterpretation,
1678 var_From, var_To)
1679{
1680 find interpretation(problem,interpretation);
1681 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1682 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1683 // From is exported
1684 // To is exported
1685 find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1686}
1687private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1688 problem:LogicProblem, interpretation:PartialInterpretation,
1689 var_From, var_To)
1690{
1691 find interpretation(problem,interpretation);
1692 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1693 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1694 // From is exported
1695 // To is exported
1696 find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1697}
1698private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectLinkAllowed(
1699 problem:LogicProblem, interpretation:PartialInterpretation,
1700 var_From, var_To)
1701{
1702 find interpretation(problem,interpretation);
1703 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1704 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1705 // From is exported
1706 // To is exported
1707 find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed+(var_From,var_To);
1708}
1709// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries linkAllowed
1710private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1711 problem:LogicProblem, interpretation:PartialInterpretation,
1712 var_From, var_To)
1713{
1714 find interpretation(problem,interpretation);
1715 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1716 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1717 // From is exported
1718 // To is exported
1719 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1720 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1721}or{
1722 find interpretation(problem,interpretation);
1723 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1724 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1725 // From is exported
1726 // To is exported
1727 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1728 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1729}or{
1730 find interpretation(problem,interpretation);
1731 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1732 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1733 // From is exported
1734 // To is exported
1735 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1736 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1737 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1738}
1739private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1740 problem:LogicProblem, interpretation:PartialInterpretation,
1741 var_From, var_To)
1742{
1743 find interpretation(problem,interpretation);
1744 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1745 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1746 // From is exported
1747 // To is exported
1748 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1749 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1750}or{
1751 find interpretation(problem,interpretation);
1752 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1753 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1754 // From is exported
1755 // To is exported
1756 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1757 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1758}or{
1759 find interpretation(problem,interpretation);
1760 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1761 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1762 // From is exported
1763 // To is exported
1764 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1765 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1766 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1767}
1768private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(
1769 problem:LogicProblem, interpretation:PartialInterpretation,
1770 var_From, var_To)
1771{
1772 find interpretation(problem,interpretation);
1773 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1774 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1775 // From is exported
1776 // To is exported
1777 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1778 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From);
1779}or{
1780 find interpretation(problem,interpretation);
1781 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1782 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1783 // From is exported
1784 // To is exported
1785 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1786 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1787}or{
1788 find interpretation(problem,interpretation);
1789 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1790 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1791 // From is exported
1792 // To is exported
1793 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To);
1794 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From);
1795 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To);
1796}
1797private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1798 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1799}
1800private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1801 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1802}
1803private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(var_From, var_To) {
1804 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_linkAllowed(_,_,var_From, var_To);
1805}
1806// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna
1807private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1808 problem:LogicProblem, interpretation:PartialInterpretation,
1809 var_From, var_To)
1810{
1811 find interpretation(problem,interpretation);
1812 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1813 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1814 // From is exported
1815 // To is exported
1816 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1817 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1818 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1819 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1820 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1821 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1822 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1823 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1824 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1825}
1826private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1827 problem:LogicProblem, interpretation:PartialInterpretation,
1828 var_From, var_To)
1829{
1830 find interpretation(problem,interpretation);
1831 find mayInstanceOfSpacecraft_class(problem,interpretation,var_From);
1832 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1833 // From is exported
1834 // To is exported
1835 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1836 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1837 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1838 find mayEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1839 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1840 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1841 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1842 find mayEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1843 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1844}
1845private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(
1846 problem:LogicProblem, interpretation:PartialInterpretation,
1847 var_From, var_To)
1848{
1849 find interpretation(problem,interpretation);
1850 find mustInstanceOfSpacecraft_class(problem,interpretation,var_From);
1851 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1852 // From is exported
1853 // To is exported
1854 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From);
1855 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0);
1856 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
1857 find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys);
1858 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To);
1859 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1);
1860 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
1861 find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys);
1862 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys);
1863}
1864// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingCommSubsystem
1865private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1866 problem:LogicProblem, interpretation:PartialInterpretation,
1867 var_From, var_To)
1868{
1869 find interpretation(problem,interpretation);
1870 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1871 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1872 // From is exported
1873 // To is exported
1874 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1875 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1876}or{
1877 find interpretation(problem,interpretation);
1878 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1879 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1880 // From is exported
1881 // To is exported
1882 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1883 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1884}or{
1885 find interpretation(problem,interpretation);
1886 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1887 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1888 // From is exported
1889 // To is exported
1890 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1891 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1892}
1893private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1894 problem:LogicProblem, interpretation:PartialInterpretation,
1895 var_From, var_To)
1896{
1897 find interpretation(problem,interpretation);
1898 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1899 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1900 // From is exported
1901 // To is exported
1902 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1903 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1904}or{
1905 find interpretation(problem,interpretation);
1906 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1907 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1908 // From is exported
1909 // To is exported
1910 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1911 find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1912}or{
1913 find interpretation(problem,interpretation);
1914 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1915 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1916 // From is exported
1917 // To is exported
1918 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1919 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1920}
1921private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(
1922 problem:LogicProblem, interpretation:PartialInterpretation,
1923 var_From, var_To)
1924{
1925 find interpretation(problem,interpretation);
1926 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1927 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1928 // From is exported
1929 // To is exported
1930 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From);
1931 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To);
1932}or{
1933 find interpretation(problem,interpretation);
1934 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1935 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1936 // From is exported
1937 // To is exported
1938 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From);
1939 find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To);
1940}or{
1941 find interpretation(problem,interpretation);
1942 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From);
1943 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To);
1944 // From is exported
1945 // To is exported
1946 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From);
1947 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To);
1948}
1949// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U
1950private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1951 problem:LogicProblem, interpretation:PartialInterpretation,
1952 var_Sat)
1953{
1954 find interpretation(problem,interpretation);
1955 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1956 // Sat is exported
1957 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1958}
1959private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1960 problem:LogicProblem, interpretation:PartialInterpretation,
1961 var_Sat)
1962{
1963 find interpretation(problem,interpretation);
1964 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1965 // Sat is exported
1966 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1967}
1968private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(
1969 problem:LogicProblem, interpretation:PartialInterpretation,
1970 var_Sat)
1971{
1972 find interpretation(problem,interpretation);
1973 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1974 // Sat is exported
1975 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
1976}
1977// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat6U
1978private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1979 problem:LogicProblem, interpretation:PartialInterpretation,
1980 var_Sat)
1981{
1982 find interpretation(problem,interpretation);
1983 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1984 // Sat is exported
1985 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1986}
1987private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1988 problem:LogicProblem, interpretation:PartialInterpretation,
1989 var_Sat)
1990{
1991 find interpretation(problem,interpretation);
1992 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1993 // Sat is exported
1994 find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
1995}
1996private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U(
1997 problem:LogicProblem, interpretation:PartialInterpretation,
1998 var_Sat)
1999{
2000 find interpretation(problem,interpretation);
2001 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2002 // Sat is exported
2003 find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat);
2004}
2005// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop
2006private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2007 problem:LogicProblem, interpretation:PartialInterpretation,
2008 var_Element)
2009{
2010 find interpretation(problem,interpretation);
2011 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2012 // Element is exported
2013 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2014}
2015private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2016 problem:LogicProblem, interpretation:PartialInterpretation,
2017 var_Element)
2018{
2019 find interpretation(problem,interpretation);
2020 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2021 // Element is exported
2022 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2023}
2024private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(
2025 problem:LogicProblem, interpretation:PartialInterpretation,
2026 var_Element)
2027{
2028 find interpretation(problem,interpretation);
2029 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Element);
2030 // Element is exported
2031 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(problem,interpretation,var_Element,var_Element);
2032}
2033// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries indirectCommunicationLink
2034private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2035 problem:LogicProblem, interpretation:PartialInterpretation,
2036 var_Source, var_Target)
2037{
2038 find interpretation(problem,interpretation);
2039 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2040 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2041 // Source is exported
2042 // Target is exported
2043 find twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2044}
2045private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2046 problem:LogicProblem, interpretation:PartialInterpretation,
2047 var_Source, var_Target)
2048{
2049 find interpretation(problem,interpretation);
2050 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2051 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2052 // Source is exported
2053 // Target is exported
2054 find twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2055}
2056private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_indirectCommunicationLink(
2057 problem:LogicProblem, interpretation:PartialInterpretation,
2058 var_Source, var_Target)
2059{
2060 find interpretation(problem,interpretation);
2061 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2062 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2063 // Source is exported
2064 // Target is exported
2065 find twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink+(var_Source,var_Target);
2066}
2067// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries directCommunicationLink
2068private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2069 problem:LogicProblem, interpretation:PartialInterpretation,
2070 var_Source, var_Target)
2071{
2072 find interpretation(problem,interpretation);
2073 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2074 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2075 // Source is exported
2076 // Target is exported
2077 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2078 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2079 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2080 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2081 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2082 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2083 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2084 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2085 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2086 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2087 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2088 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2089}
2090private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2091 problem:LogicProblem, interpretation:PartialInterpretation,
2092 var_Source, var_Target)
2093{
2094 find interpretation(problem,interpretation);
2095 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2096 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2097 // Source is exported
2098 // Target is exported
2099 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2100 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2101 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2102 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2103 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2104 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2105 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2106 find mayEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2107 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2108 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2109 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2110 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2111}
2112private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(
2113 problem:LogicProblem, interpretation:PartialInterpretation,
2114 var_Source, var_Target)
2115{
2116 find interpretation(problem,interpretation);
2117 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2118 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2119 // Source is exported
2120 // Target is exported
2121 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2122 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2123 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2124 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2125 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Source);
2126 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Source,var_virtual1);
2127 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2128 find mustEquivalent(problem, interpretation, var_virtual1, var_SourceSubsystem);
2129 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2130 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2131 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2132 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetSubsystem);
2133}
2134private pattern twoParam_mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2135 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2136}
2137private pattern twoParam_mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2138 find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2139}
2140private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(var_Source, var_Target) {
2141 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_directCommunicationLink(_,_,var_Source, var_Target);
2142}
2143// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetBand
2144private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2145 problem:LogicProblem, interpretation:PartialInterpretation,
2146 var_SourceSubsystem)
2147{
2148 find interpretation(problem,interpretation);
2149 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2150 // SourceSubsystem is exported
2151 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2152 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2153 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2154 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2155 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2156}
2157private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2158 problem:LogicProblem, interpretation:PartialInterpretation,
2159 var_SourceSubsystem)
2160{
2161 find interpretation(problem,interpretation);
2162 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2163 // SourceSubsystem is exported
2164 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2165 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2166 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2167 find mayEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2168 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2169}
2170private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(
2171 problem:LogicProblem, interpretation:PartialInterpretation,
2172 var_SourceSubsystem)
2173{
2174 find interpretation(problem,interpretation);
2175 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2176 // SourceSubsystem is exported
2177 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem);
2178 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual0);
2179 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2180 find mustEquivalent(problem, interpretation, var_virtual0, var_TargetSubsystem);
2181 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem);
2182}
2183// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink
2184private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2185 problem:LogicProblem, interpretation:PartialInterpretation,
2186 var_Sat)
2187{
2188 find interpretation(problem,interpretation);
2189 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2190 // Sat is exported
2191 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2192 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2193 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2194 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2195 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2196 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2197 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2198 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2199 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2200 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2201 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2202 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2203 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2204 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2205}
2206private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2207 problem:LogicProblem, interpretation:PartialInterpretation,
2208 var_Sat)
2209{
2210 find interpretation(problem,interpretation);
2211 find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2212 // Sat is exported
2213 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2214 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2215 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2216 find mayEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2217 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2218 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2219 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2220 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2221 find mayEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2222 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2223 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2224 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2225 find mayEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2226 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2227}
2228private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(
2229 problem:LogicProblem, interpretation:PartialInterpretation,
2230 var_Sat)
2231{
2232 find interpretation(problem,interpretation);
2233 find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat);
2234 // Sat is exported
2235 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Sat);
2236 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Sat,var_virtual0);
2237 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2238 find mustEquivalent(problem, interpretation, var_virtual0, var_SourceComm);
2239 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(problem,interpretation,var_SourceComm);
2240 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceComm);
2241 find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,var_SourceComm,var_virtual1);
2242 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1);
2243 find mustEquivalent(problem, interpretation, var_virtual1, var_TargetComm);
2244 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Target);
2245 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Target,var_virtual2);
2246 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2);
2247 find mustEquivalent(problem, interpretation, var_virtual2, var_TargetComm);
2248 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(problem,interpretation,var_Target);
2249}
2250// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBandUhf
2251private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2252 problem:LogicProblem, interpretation:PartialInterpretation,
2253 var_Comm)
2254{
2255 find interpretation(problem,interpretation);
2256 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2257 // Comm is exported
2258 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2259}
2260private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2261 problem:LogicProblem, interpretation:PartialInterpretation,
2262 var_Comm)
2263{
2264 find interpretation(problem,interpretation);
2265 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2266 // Comm is exported
2267 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2268}
2269private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf(
2270 problem:LogicProblem, interpretation:PartialInterpretation,
2271 var_Comm)
2272{
2273 find interpretation(problem,interpretation);
2274 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2275 // Comm is exported
2276 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm);
2277}
2278// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork
2279private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2280 problem:LogicProblem, interpretation:PartialInterpretation,
2281 var_Network)
2282{
2283 find interpretation(problem,interpretation);
2284 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2285 // Network is exported
2286 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2287}
2288private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2289 problem:LogicProblem, interpretation:PartialInterpretation,
2290 var_Network)
2291{
2292 find interpretation(problem,interpretation);
2293 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2294 // Network is exported
2295 find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2296}
2297private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork(
2298 problem:LogicProblem, interpretation:PartialInterpretation,
2299 var_Network)
2300{
2301 find interpretation(problem,interpretation);
2302 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2303 // Network is exported
2304 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_Network);
2305}
2306// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSatWithKaAntenna
2307private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2308 problem:LogicProblem, interpretation:PartialInterpretation,
2309 var_Spacecraft)
2310{
2311 find interpretation(problem,interpretation);
2312 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2313 // Spacecraft is exported
2314 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2315 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2316 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2317 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2318 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2319 neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2320}
2321private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2322 problem:LogicProblem, interpretation:PartialInterpretation,
2323 var_Spacecraft)
2324{
2325 find interpretation(problem,interpretation);
2326 find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2327 // Spacecraft is exported
2328 find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2329 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2330 find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2331 find mayEquivalent(problem, interpretation, var_virtual0, var_Comm);
2332 find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2333 neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2334}
2335private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(
2336 problem:LogicProblem, interpretation:PartialInterpretation,
2337 var_Spacecraft)
2338{
2339 find interpretation(problem,interpretation);
2340 find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft);
2341 // Spacecraft is exported
2342 find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft);
2343 find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0);
2344 find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0);
2345 find mustEquivalent(problem, interpretation, var_virtual0, var_Comm);
2346 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm);
2347 neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft);
2348}
2349// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries smallSat
2350private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2351 problem:LogicProblem, interpretation:PartialInterpretation,
2352 var_Sat)
2353{
2354 find interpretation(problem,interpretation);
2355 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2356 // Sat is exported
2357 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2358}
2359private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2360 problem:LogicProblem, interpretation:PartialInterpretation,
2361 var_Sat)
2362{
2363 find interpretation(problem,interpretation);
2364 find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2365 // Sat is exported
2366 find mayInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2367}
2368private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(
2369 problem:LogicProblem, interpretation:PartialInterpretation,
2370 var_Sat)
2371{
2372 find interpretation(problem,interpretation);
2373 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2374 // Sat is exported
2375 find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat);
2376}
2377
2378//////////
2379// 1.4 Containment Indexer
2380//////////
2381private pattern mustContains2(source: DefinedElement, target: DefinedElement) {
2382 find mustContains4(_,_,source,target);
2383}
2384
2385private pattern mustContains4(problem:LogicProblem, interpretation:PartialInterpretation,
2386 source: DefinedElement, target: DefinedElement)
2387 { find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,source,target); }or
2388
2389 { find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,source,target); }or
2390
2391 { find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,source,target); }or
2392
2393 { find mustInRelationpayload_reference_Spacecraft(problem,interpretation,source,target); }
2394
2395private pattern mustTransitiveContains(source,target) {
2396 find mustContains2+(source,target);
2397}
2398
2399//////////
2400// 2. Invalidation Indexers
2401//////////
2402// 2.1 Invalidated by WF Queries
2403//////////
2404pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2405 var_Element)
2406{
2407 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2408}
2409pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2410 var_Mission)
2411{
2412 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission);
2413}
2414pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2415 var_Spacecraft)
2416{
2417 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft);
2418}
2419pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2420 var_Spacecraft)
2421{
2422 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft);
2423}
2424pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation,
2425 var_Element)
2426{
2427 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2428}
2429pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2430 var_SourceSubsystem)
2431{
2432 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2433}
2434pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2435 var_Sat)
2436{
2437 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat);
2438}
2439pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation,
2440 var_Spacecraft)
2441{
2442 find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft);
2443}
2444
2445//////////
2446// 3. Unfinishedness Indexers
2447//////////
2448// 3.1 Unfinishedness Measured by Multiplicity
2449//////////
2450pattern unfinishedLowerMultiplicity_groundStationNetwork_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2451 find interpretation(problem,interpretation);
2452 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2453 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"groundStationNetwork reference ConstellationMission");
2454 find mustInstanceOfConstellationMission_class(problem,interpretation,object);
2455 numberOfExistingReferences == count find mustInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,object,_);
2456 check(numberOfExistingReferences < 1);
2457 missingMultiplicity == eval(1-numberOfExistingReferences);
2458}
2459pattern unfinishedLowerMultiplicity_spacecraft_reference_ConstellationMission(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2460 find interpretation(problem,interpretation);
2461 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2462 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"spacecraft reference ConstellationMission");
2463 find mustInstanceOfConstellationMission_class(problem,interpretation,object);
2464 numberOfExistingReferences == count find mustInRelationspacecraft_reference_ConstellationMission(problem,interpretation,object,_);
2465 check(numberOfExistingReferences < 2);
2466 missingMultiplicity == eval(2-numberOfExistingReferences);
2467}
2468pattern unfinishedLowerMultiplicity_commSubsystem_reference_CommunicatingElement(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) {
2469 find interpretation(problem,interpretation);
2470 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2471 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"commSubsystem reference CommunicatingElement");
2472 find mustInstanceOfCommunicatingElement_class(problem,interpretation,object);
2473 numberOfExistingReferences == count find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,object,_);
2474 check(numberOfExistingReferences < 1);
2475 missingMultiplicity == eval(1-numberOfExistingReferences);
2476}
2477
2478//////////
2479// 3.2 Unfinishedness Measured by WF Queries
2480//////////
2481pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem:LogicProblem, interpretation:PartialInterpretation,
2482 var_Element)
2483{
2484 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLinkDoesNotStartAtContainingElement(problem,interpretation,var_Element);
2485}
2486pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem:LogicProblem, interpretation:PartialInterpretation,
2487 var_Mission)
2488{
2489 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_notEnoughInterferometryPayloads(problem,interpretation,var_Mission);
2490}
2491pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2492 var_Spacecraft)
2493{
2494 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noLinkToGroundStation(problem,interpretation,var_Spacecraft);
2495}
2496pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem:LogicProblem, interpretation:PartialInterpretation,
2497 var_Spacecraft)
2498{
2499 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_noPotentialLinkToGroundStation(problem,interpretation,var_Spacecraft);
2500}
2501pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem:LogicProblem, interpretation:PartialInterpretation,
2502 var_Element)
2503{
2504 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop(problem,interpretation,var_Element);
2505}
2506pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem:LogicProblem, interpretation:PartialInterpretation,
2507 var_SourceSubsystem)
2508{
2509 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_SourceSubsystem);
2510}
2511pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation,
2512 var_Sat)
2513{
2514 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem,interpretation,var_Sat);
2515}
2516pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem:LogicProblem, interpretation:PartialInterpretation,
2517 var_Spacecraft)
2518{
2519 find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna(problem,interpretation,var_Spacecraft);
2520}
2521
2522//////////
2523// 4. Refinement Indexers
2524//////////
2525// 4.1 Object constructors
2526//////////
2527private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation)
2528{
2529 find interpretation(problem,interpretation);
2530 find mustInstanceOfCommunicatingElement_class(problem,interpretation,root);
2531 find mustExist(problem, interpretation, root);
2532}or{
2533 find interpretation(problem,interpretation);
2534 find mustInstanceOfConstellationMission_class(problem,interpretation,root);
2535 find mustExist(problem, interpretation, root);
2536}or{
2537 find interpretation(problem,interpretation);
2538 find mustInstanceOfInterferometryPayload_class(problem,interpretation,root);
2539 find mustExist(problem, interpretation, root);
2540}or{
2541 find interpretation(problem,interpretation);
2542 find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root);
2543 find mustExist(problem, interpretation, root);
2544}or{
2545 find interpretation(problem,interpretation);
2546 find mustInstanceOfCommSubsystem_class(problem,interpretation,root);
2547 find mustExist(problem, interpretation, root);
2548}or{
2549 find interpretation(problem,interpretation);
2550 find mustInstanceOfPayload_class(problem,interpretation,root);
2551 find mustExist(problem, interpretation, root);
2552}or{
2553 find interpretation(problem,interpretation);
2554 find mustInstanceOfCubeSat6U_class(problem,interpretation,root);
2555 find mustExist(problem, interpretation, root);
2556}or{
2557 find interpretation(problem,interpretation);
2558 find mustInstanceOfXCommSubsystem_class(problem,interpretation,root);
2559 find mustExist(problem, interpretation, root);
2560}or{
2561 find interpretation(problem,interpretation);
2562 find mustInstanceOfCubeSat3U_class(problem,interpretation,root);
2563 find mustExist(problem, interpretation, root);
2564}or{
2565 find interpretation(problem,interpretation);
2566 find mustInstanceOfKaCommSubsystem_class(problem,interpretation,root);
2567 find mustExist(problem, interpretation, root);
2568}or{
2569 find interpretation(problem,interpretation);
2570 find mustInstanceOfSpacecraft_class(problem,interpretation,root);
2571 find mustExist(problem, interpretation, root);
2572}or{
2573 find interpretation(problem,interpretation);
2574 find mustInstanceOfInterferometryMission_class(problem,interpretation,root);
2575 find mustExist(problem, interpretation, root);
2576}or{
2577 find interpretation(problem,interpretation);
2578 find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,root);
2579 find mustExist(problem, interpretation, root);
2580}or{
2581 find interpretation(problem,interpretation);
2582 find mustInstanceOfSmallSat_class(problem,interpretation,root);
2583 find mustExist(problem, interpretation, root);
2584}or{
2585 find interpretation(problem,interpretation);
2586 find mustInstanceOfCubeSat_class(problem,interpretation,root);
2587 find mustExist(problem, interpretation, root);
2588}or{
2589 find interpretation(problem,interpretation);
2590 find mustInstanceOfConstellationMission_class_DefinedPart(problem,interpretation,root);
2591 find mustExist(problem, interpretation, root);
2592}or{
2593 find interpretation(problem,interpretation);
2594 find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,root);
2595 find mustExist(problem, interpretation, root);
2596}or{
2597 find interpretation(problem,interpretation);
2598 find mustInstanceOfInterferometryMission_class_DefinedPart(problem,interpretation,root);
2599 find mustExist(problem, interpretation, root);
2600}or{
2601 find interpretation(problem,interpretation);
2602 find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,root);
2603 find mustExist(problem, interpretation, root);
2604}or{
2605 find interpretation(problem,interpretation);
2606 find mustInstanceOfCommunicatingElement_class_DefinedPart(problem,interpretation,root);
2607 find mustExist(problem, interpretation, root);
2608}or{
2609 find interpretation(problem,interpretation);
2610 find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,root);
2611 find mustExist(problem, interpretation, root);
2612}or{
2613 find interpretation(problem,interpretation);
2614 find mustInstanceOfGroundStationNetwork_class_DefinedPart(problem,interpretation,root);
2615 find mustExist(problem, interpretation, root);
2616}or{
2617 find interpretation(problem,interpretation);
2618 find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,root);
2619 find mustExist(problem, interpretation, root);
2620}or{
2621 find interpretation(problem,interpretation);
2622 find mustInstanceOfCommSubsystem_class_DefinedPart(problem,interpretation,root);
2623 find mustExist(problem, interpretation, root);
2624}or{
2625 find interpretation(problem,interpretation);
2626 find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2627 find mustExist(problem, interpretation, root);
2628}or{
2629 find interpretation(problem,interpretation);
2630 find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,root);
2631 find mustExist(problem, interpretation, root);
2632}or{
2633 find interpretation(problem,interpretation);
2634 find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2635 find mustExist(problem, interpretation, root);
2636}or{
2637 find interpretation(problem,interpretation);
2638 find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,root);
2639 find mustExist(problem, interpretation, root);
2640}or{
2641 find interpretation(problem,interpretation);
2642 find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,root);
2643 find mustExist(problem, interpretation, root);
2644}
2645pattern createObject_InterferometryPayload_class_by_payload_reference_Spacecraft(
2646 problem:LogicProblem, interpretation:PartialInterpretation,
2647 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2648 container:DefinedElement)
2649{
2650 find interpretation(problem,interpretation);
2651 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2652 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
2653 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2654 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"payload reference Spacecraft");
2655 find mustInstanceOfSpacecraft_class(problem,interpretation,container);
2656 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2657 find mayInRelationpayload_reference_Spacecraft(problem,interpretation,container,newObject);
2658 find mustExist(problem, interpretation, container);
2659 neg find mustExist(problem, interpretation, newObject);
2660}
2661pattern createObject_InterferometryPayload_class(
2662 problem:LogicProblem, interpretation:PartialInterpretation,
2663 typeInterpretation:PartialComplexTypeInterpretation)
2664{
2665 find interpretation(problem,interpretation);
2666 neg find hasElementInContainment(problem,interpretation);
2667 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2668 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryPayload class");
2669 find mayInstanceOfInterferometryPayload_class(problem,interpretation,newObject);
2670 find mayExist(problem, interpretation, newObject);
2671 neg find mustExist(problem, interpretation, newObject);
2672}
2673pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission(
2674 problem:LogicProblem, interpretation:PartialInterpretation,
2675 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2676 container:DefinedElement)
2677{
2678 find interpretation(problem,interpretation);
2679 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2680 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
2681 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2682 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2683 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2684 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
2685 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2686 find mustExist(problem, interpretation, container);
2687 neg find mustExist(problem, interpretation, newObject);
2688}
2689pattern createObject_CubeSat6U_class(
2690 problem:LogicProblem, interpretation:PartialInterpretation,
2691 typeInterpretation:PartialComplexTypeInterpretation)
2692{
2693 find interpretation(problem,interpretation);
2694 neg find hasElementInContainment(problem,interpretation);
2695 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2696 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class");
2697 find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject);
2698 find mayExist(problem, interpretation, newObject);
2699 neg find mustExist(problem, interpretation, newObject);
2700}
2701pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission(
2702 problem:LogicProblem, interpretation:PartialInterpretation,
2703 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2704 container:DefinedElement)
2705{
2706 find interpretation(problem,interpretation);
2707 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2708 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2709 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2710 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission");
2711 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2712 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2713 find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject);
2714 find mustExist(problem, interpretation, container);
2715 neg find mustExist(problem, interpretation, newObject);
2716}
2717pattern createObject_GroundStationNetwork_class_UndefinedPart(
2718 problem:LogicProblem, interpretation:PartialInterpretation,
2719 typeInterpretation:PartialComplexTypeInterpretation)
2720{
2721 find interpretation(problem,interpretation);
2722 neg find hasElementInContainment(problem,interpretation);
2723 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2724 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart");
2725 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject);
2726 find mayExist(problem, interpretation, newObject);
2727 neg find mustExist(problem, interpretation, newObject);
2728}
2729pattern createObject_UHFCommSubsystem_class_by_commSubsystem_reference_CommunicatingElement(
2730 problem:LogicProblem, interpretation:PartialInterpretation,
2731 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2732 container:DefinedElement)
2733{
2734 find interpretation(problem,interpretation);
2735 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2736 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
2737 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2738 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2739 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2740 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
2741 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2742 find mustExist(problem, interpretation, container);
2743 neg find mustExist(problem, interpretation, newObject);
2744}
2745pattern createObject_UHFCommSubsystem_class(
2746 problem:LogicProblem, interpretation:PartialInterpretation,
2747 typeInterpretation:PartialComplexTypeInterpretation)
2748{
2749 find interpretation(problem,interpretation);
2750 neg find hasElementInContainment(problem,interpretation);
2751 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2752 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class");
2753 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject);
2754 find mayExist(problem, interpretation, newObject);
2755 neg find mustExist(problem, interpretation, newObject);
2756}
2757pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission(
2758 problem:LogicProblem, interpretation:PartialInterpretation,
2759 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2760 container:DefinedElement)
2761{
2762 find interpretation(problem,interpretation);
2763 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2764 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2765 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2766 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2767 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2768 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2769 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2770 find mustExist(problem, interpretation, container);
2771 neg find mustExist(problem, interpretation, newObject);
2772}
2773pattern createObject_SmallSat_class(
2774 problem:LogicProblem, interpretation:PartialInterpretation,
2775 typeInterpretation:PartialComplexTypeInterpretation)
2776{
2777 find interpretation(problem,interpretation);
2778 neg find hasElementInContainment(problem,interpretation);
2779 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2780 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class");
2781 find mayInstanceOfSmallSat_class(problem,interpretation,newObject);
2782 find mayExist(problem, interpretation, newObject);
2783 neg find mustExist(problem, interpretation, newObject);
2784}
2785pattern createObject_KaCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2786 problem:LogicProblem, interpretation:PartialInterpretation,
2787 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2788 container:DefinedElement)
2789{
2790 find interpretation(problem,interpretation);
2791 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2792 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
2793 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2794 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2795 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2796 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2797 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2798 find mustExist(problem, interpretation, container);
2799 neg find mustExist(problem, interpretation, newObject);
2800}
2801pattern createObject_KaCommSubsystem_class_UndefinedPart(
2802 problem:LogicProblem, interpretation:PartialInterpretation,
2803 typeInterpretation:PartialComplexTypeInterpretation)
2804{
2805 find interpretation(problem,interpretation);
2806 neg find hasElementInContainment(problem,interpretation);
2807 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2808 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart");
2809 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2810 find mayExist(problem, interpretation, newObject);
2811 neg find mustExist(problem, interpretation, newObject);
2812}
2813pattern createObject_CubeSat3U_class_by_spacecraft_reference_ConstellationMission(
2814 problem:LogicProblem, interpretation:PartialInterpretation,
2815 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2816 container:DefinedElement)
2817{
2818 find interpretation(problem,interpretation);
2819 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2820 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
2821 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2822 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission");
2823 find mustInstanceOfConstellationMission_class(problem,interpretation,container);
2824 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
2825 find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject);
2826 find mustExist(problem, interpretation, container);
2827 neg find mustExist(problem, interpretation, newObject);
2828}
2829pattern createObject_CubeSat3U_class(
2830 problem:LogicProblem, interpretation:PartialInterpretation,
2831 typeInterpretation:PartialComplexTypeInterpretation)
2832{
2833 find interpretation(problem,interpretation);
2834 neg find hasElementInContainment(problem,interpretation);
2835 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2836 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class");
2837 find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject);
2838 find mayExist(problem, interpretation, newObject);
2839 neg find mustExist(problem, interpretation, newObject);
2840}
2841pattern createObject_XCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement(
2842 problem:LogicProblem, interpretation:PartialInterpretation,
2843 relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation,
2844 container:DefinedElement)
2845{
2846 find interpretation(problem,interpretation);
2847 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2848 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2849 PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation);
2850 PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement");
2851 find mustInstanceOfCommunicatingElement_class(problem,interpretation,container);
2852 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2853 find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject);
2854 find mustExist(problem, interpretation, container);
2855 neg find mustExist(problem, interpretation, newObject);
2856}
2857pattern createObject_XCommSubsystem_class_UndefinedPart(
2858 problem:LogicProblem, interpretation:PartialInterpretation,
2859 typeInterpretation:PartialComplexTypeInterpretation)
2860{
2861 find interpretation(problem,interpretation);
2862 neg find hasElementInContainment(problem,interpretation);
2863 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2864 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart");
2865 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject);
2866 find mayExist(problem, interpretation, newObject);
2867 neg find mustExist(problem, interpretation, newObject);
2868}
2869pattern createObject_InterferometryMission_class_UndefinedPart(
2870 problem:LogicProblem, interpretation:PartialInterpretation,
2871 typeInterpretation:PartialComplexTypeInterpretation)
2872{
2873 find interpretation(problem,interpretation);
2874 neg find hasElementInContainment(problem,interpretation);
2875 PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation);
2876 PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart");
2877 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject);
2878 find mayExist(problem, interpretation, newObject);
2879 neg find mustExist(problem, interpretation, newObject);
2880}
2881
2882//////////
2883// 4.2 Type refinement
2884//////////
2885pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2886 find interpretation(problem,interpretation);
2887 PartialInterpretation.newElements(interpretation,element);
2888 find mayInstanceOfInterferometryPayload_class(problem,interpretation,element);
2889 neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element);
2890 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2891 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2892 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2893}
2894pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2895 find interpretation(problem,interpretation);
2896 PartialInterpretation.newElements(interpretation,element);
2897 find mayInstanceOfCubeSat6U_class(problem,interpretation,element);
2898 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2899 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2900 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2901 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2902 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2903 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
2904 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2905}
2906pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2907 find interpretation(problem,interpretation);
2908 PartialInterpretation.newElements(interpretation,element);
2909 find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2910 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2911 neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element);
2912 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2913 neg find mustInstanceOfSpacecraft_class(problem,interpretation,element);
2914 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2915}
2916pattern refineTypeTo_UHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2917 find interpretation(problem,interpretation);
2918 PartialInterpretation.newElements(interpretation,element);
2919 find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2920 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2921 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2922 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
2923 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2924 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2925 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2926}
2927pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2928 find interpretation(problem,interpretation);
2929 PartialInterpretation.newElements(interpretation,element);
2930 find mayInstanceOfSmallSat_class(problem,interpretation,element);
2931 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2932 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2933 neg find mustInstanceOfCubeSat_class(problem,interpretation,element);
2934 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2935 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2936 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2937}
2938pattern refineTypeTo_KaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2939 find interpretation(problem,interpretation);
2940 PartialInterpretation.newElements(interpretation,element);
2941 find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2942 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2943 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2944 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2945 neg find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2946 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2947 neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element);
2948}
2949pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2950 find interpretation(problem,interpretation);
2951 PartialInterpretation.newElements(interpretation,element);
2952 find mayInstanceOfCubeSat3U_class(problem,interpretation,element);
2953 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2954 neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element);
2955 neg find mustInstanceOfSmallSat_class(problem,interpretation,element);
2956 neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element);
2957 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2958 neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element);
2959 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2960}
2961pattern refineTypeTo_XCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2962 find interpretation(problem,interpretation);
2963 PartialInterpretation.newElements(interpretation,element);
2964 find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2965 neg find mustInstanceOfConstellationMission_class(problem,interpretation,element);
2966 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2967 neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element);
2968 neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element);
2969 neg find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element);
2970 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2971}
2972pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) {
2973 find interpretation(problem,interpretation);
2974 PartialInterpretation.newElements(interpretation,element);
2975 find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
2976 neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element);
2977 neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element);
2978 neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element);
2979 neg find mustInstanceOfPayload_class(problem,interpretation,element);
2980}
2981
2982//////////
2983// 4.3 Relation refinement
2984//////////
2985pattern refineRelation_target_reference_CommSubsystem(
2986 problem:LogicProblem, interpretation:PartialInterpretation,
2987 relationIterpretation:PartialRelationInterpretation,
2988 from: DefinedElement, to: DefinedElement)
2989{
2990 find interpretation(problem,interpretation);
2991 PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation);
2992 PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"target reference CommSubsystem");
2993 find mustExist(problem, interpretation, from);
2994 find mustExist(problem, interpretation, to);
2995 find mustInstanceOfCommSubsystem_class(problem,interpretation,from);
2996 find mustInstanceOfCommSubsystem_class(problem,interpretation,to);
2997 find mayInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
2998 neg find mustInRelationtarget_reference_CommSubsystem(problem,interpretation,from,to);
2999}
3000
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
new file mode 100644
index 00000000..01b90968
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/run5/init.partialmodel
@@ -0,0 +1,147 @@
1<?xml version="1.0" encoding="ASCII"?>
2<partialinterpretation:PartialInterpretation xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:language="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language" xmlns:partialinterpretation="http://www.bme.hu/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage" minNewElements="32" maxNewElements="64">
3 <problem href="dummy.dummyext#//@problemConainer"/>
4 <partialrelationinterpretation>
5 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.0"/>
6 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
7 <param1 href="dummy.dummyext#//@problemConainer/@elements.0"/>
8 <param2 href="dummy.dummyext#//@problemConainer/@elements.1"/>
9 </relationlinks>
10 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.0/@parameters.0"/>
11 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.0/@parameters.1"/>
12 </partialrelationinterpretation>
13 <partialrelationinterpretation>
14 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.1"/>
15 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.1/@parameters.0"/>
16 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.1/@parameters.1"/>
17 </partialrelationinterpretation>
18 <partialrelationinterpretation>
19 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.2"/>
20 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
21 <param1 href="dummy.dummyext#//@problemConainer/@elements.1"/>
22 <param2 href="dummy.dummyext#//@problemConainer/@elements.2"/>
23 </relationlinks>
24 <relationlinks xsi:type="partialinterpretation:BinaryElementRelationLink">
25 <param1 href="dummy.dummyext#//@problemConainer/@elements.1"/>
26 <param2 href="dummy.dummyext#//@problemConainer/@elements.3"/>
27 </relationlinks>
28 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.2/@parameters.0"/>
29 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.2/@parameters.1"/>
30 </partialrelationinterpretation>
31 <partialrelationinterpretation>
32 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.3"/>
33 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.3/@parameters.0"/>
34 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.3/@parameters.1"/>
35 </partialrelationinterpretation>
36 <partialrelationinterpretation>
37 <interpretationOf href="dummy.dummyext#//@problemConainer/@relations.4"/>
38 <param1 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.4/@parameters.0"/>
39 <param2 xsi:type="language:ComplexTypeReference" href="dummy.dummyext#//@problemConainer/@relations.4/@parameters.1"/>
40 </partialrelationinterpretation>
41 <newElements xsi:type="partialinterpretation:BooleanElement" name="true" valueSet="true" value="true"/>
42 <newElements xsi:type="partialinterpretation:BooleanElement" name="false" valueSet="true"/>
43 <partialtypeinterpratation xsi:type="partialinterpretation:PartialBooleanInterpretation" elements="//@newElements.0 //@newElements.1"/>
44 <partialtypeinterpratation xsi:type="partialinterpretation:PartialIntegerInterpretation" elements="//@openWorldElements.0"/>
45 <partialtypeinterpratation xsi:type="partialinterpretation:PartialRealInterpretation" elements="//@openWorldElements.1"/>
46 <partialtypeinterpratation xsi:type="partialinterpretation:PartialStringInterpretation" elements="//@openWorldElements.2"/>
47 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.0">
48 <elements href="dummy.dummyext#//@problemConainer/@elements.0"/>
49 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.0"/>
50 </partialtypeinterpratation>
51 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.1" supertypeInterpretation="//@partialtypeinterpratation.4">
52 <elements href="dummy.dummyext#//@problemConainer/@elements.0"/>
53 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.1"/>
54 </partialtypeinterpratation>
55 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.2">
56 <elements href="dummy.dummyext#//@problemConainer/@elements.1"/>
57 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.2"/>
58 </partialtypeinterpratation>
59 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.3" supertypeInterpretation="//@partialtypeinterpratation.6">
60 <elements href="dummy.dummyext#//@problemConainer/@elements.1"/>
61 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.3"/>
62 </partialtypeinterpratation>
63 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.4" supertypeInterpretation="//@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
64 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.4"/>
65 </partialtypeinterpratation>
66 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.5">
67 <elements href="dummy.dummyext#//@problemConainer/@elements.2"/>
68 <elements href="dummy.dummyext#//@problemConainer/@elements.3"/>
69 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.5"/>
70 </partialtypeinterpratation>
71 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.6">
72 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.6"/>
73 </partialtypeinterpratation>
74 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.7" supertypeInterpretation="//@partialtypeinterpratation.10">
75 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.7"/>
76 </partialtypeinterpratation>
77 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.8" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
78 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.8"/>
79 </partialtypeinterpratation>
80 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.9" supertypeInterpretation="//@partialtypeinterpratation.15 //@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
81 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.9"/>
82 </partialtypeinterpratation>
83 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.10" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
84 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.10"/>
85 </partialtypeinterpratation>
86 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.11" supertypeInterpretation="//@partialtypeinterpratation.8 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
87 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.11"/>
88 </partialtypeinterpratation>
89 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.12" supertypeInterpretation="//@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
90 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.12"/>
91 </partialtypeinterpratation>
92 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.13" supertypeInterpretation="//@partialtypeinterpratation.9">
93 <elements href="dummy.dummyext#//@problemConainer/@elements.2"/>
94 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.13"/>
95 </partialtypeinterpratation>
96 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.14" supertypeInterpretation="//@partialtypeinterpratation.9">
97 <elements href="dummy.dummyext#//@problemConainer/@elements.3"/>
98 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.14"/>
99 </partialtypeinterpratation>
100 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.15" supertypeInterpretation="//@partialtypeinterpratation.4">
101 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.16"/>
102 </partialtypeinterpratation>
103 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.16" supertypeInterpretation="//@partialtypeinterpratation.5 //@partialtypeinterpratation.4 //@partialtypeinterpratation.19">
104 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.18"/>
105 </partialtypeinterpratation>
106 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.17" supertypeInterpretation="//@partialtypeinterpratation.6">
107 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.20"/>
108 </partialtypeinterpratation>
109 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.18" supertypeInterpretation="//@partialtypeinterpratation.7 //@partialtypeinterpratation.6 //@partialtypeinterpratation.21">
110 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.22"/>
111 </partialtypeinterpratation>
112 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.19" supertypeInterpretation="//@partialtypeinterpratation.9">
113 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.24"/>
114 </partialtypeinterpratation>
115 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.20" supertypeInterpretation="//@partialtypeinterpratation.17 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
116 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.26"/>
117 </partialtypeinterpratation>
118 <partialtypeinterpratation xsi:type="partialinterpretation:PartialComplexTypeInterpretation" scopes="//@scopes.21" supertypeInterpretation="//@partialtypeinterpratation.18 //@partialtypeinterpratation.9 //@partialtypeinterpratation.23">
119 <interpretationOf href="dummy.dummyext#//@problemConainer/@types.28"/>
120 </partialtypeinterpratation>
121 <openWorldElements xsi:type="partialinterpretation:IntegerElement" name="New Integers"/>
122 <openWorldElements xsi:type="partialinterpretation:RealElement" name="New Reals"/>
123 <openWorldElements xsi:type="partialinterpretation:StringElement" name="New Strings"/>
124 <openWorldElements name="New Objects"/>
125 <scopes targetTypeInterpretation="//@partialtypeinterpratation.4"/>
126 <scopes targetTypeInterpretation="//@partialtypeinterpratation.5"/>
127 <scopes targetTypeInterpretation="//@partialtypeinterpratation.6"/>
128 <scopes targetTypeInterpretation="//@partialtypeinterpratation.7"/>
129 <scopes targetTypeInterpretation="//@partialtypeinterpratation.8"/>
130 <scopes targetTypeInterpretation="//@partialtypeinterpratation.9"/>
131 <scopes targetTypeInterpretation="//@partialtypeinterpratation.10"/>
132 <scopes targetTypeInterpretation="//@partialtypeinterpratation.11"/>
133 <scopes targetTypeInterpretation="//@partialtypeinterpratation.12"/>
134 <scopes targetTypeInterpretation="//@partialtypeinterpratation.13"/>
135 <scopes targetTypeInterpretation="//@partialtypeinterpratation.14"/>
136 <scopes targetTypeInterpretation="//@partialtypeinterpratation.15"/>
137 <scopes targetTypeInterpretation="//@partialtypeinterpratation.16"/>
138 <scopes targetTypeInterpretation="//@partialtypeinterpratation.17"/>
139 <scopes targetTypeInterpretation="//@partialtypeinterpratation.18"/>
140 <scopes targetTypeInterpretation="//@partialtypeinterpratation.19"/>
141 <scopes targetTypeInterpretation="//@partialtypeinterpratation.20"/>
142 <scopes targetTypeInterpretation="//@partialtypeinterpratation.21"/>
143 <scopes targetTypeInterpretation="//@partialtypeinterpratation.22"/>
144 <scopes targetTypeInterpretation="//@partialtypeinterpratation.23"/>
145 <scopes targetTypeInterpretation="//@partialtypeinterpratation.24"/>
146 <scopes targetTypeInterpretation="//@partialtypeinterpratation.25"/>
147</partialinterpretation:PartialInterpretation>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/1.gml b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/1.gml
index 59a81169..01e93808 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/1.gml
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/1.gml
@@ -254,7 +254,7 @@ graph
254 text " 254 text "
255 CommunicatingElement class 255 CommunicatingElement class
256 Spacecraft class 256 Spacecraft class
257 CubeSat3U class 257 CubeSat6U class
258 CubeSat class 258 CubeSat class
259 CommunicatingElement class UndefinedPart 259 CommunicatingElement class UndefinedPart
260 " 260 "
@@ -310,6 +310,159 @@ graph
310 id 8 310 id 8
311 graphics 311 graphics
312 [ 312 [
313 w 269.5
314 h 68
315 type "rectangle"
316 fill "#FFFFFF"
317 fill2 "#FFFFFF"
318 outline "#000000"
319 ]
320 LabelGraphics
321 [
322 text "null"
323 outline "#000000"
324 fill "#FFFFFF"
325 fontSize 16
326 fontName "Monospace"
327 autoSizePolicy "node_width"
328 anchor "t"
329 borderDistance 0.0
330 ]
331 LabelGraphics
332 [
333 text "
334 CommSubsystem class
335 UHFCommSubsystem class
336 CommSubsystem class UndefinedPart
337 "
338 fontSize 14
339 fontName "Consolas"
340 alignment "left"
341 anchor "tl"
342 borderDistance 6
343 ]
344 ]
345
346 node
347 [
348 id 9
349 graphics
350 [
351 w 223.3
352 h 54
353 type "rectangle"
354 fill "#FFFFFF"
355 fill2 "#FFFFFF"
356 outline "#000000"
357 ]
358 LabelGraphics
359 [
360 text "null"
361 outline "#000000"
362 fill "#FFFFFF"
363 fontSize 16
364 fontName "Monospace"
365 autoSizePolicy "node_width"
366 anchor "t"
367 borderDistance 0.0
368 ]
369 LabelGraphics
370 [
371 text "
372 Payload class
373 InterferometryPayload class
374 "
375 fontSize 14
376 fontName "Consolas"
377 alignment "left"
378 anchor "tl"
379 borderDistance 6
380 ]
381 ]
382
383 node
384 [
385 id 10
386 graphics
387 [
388 w 323.40000000000003
389 h 96
390 type "rectangle"
391 fill "#FFFFFF"
392 fill2 "#FFFFFF"
393 outline "#000000"
394 ]
395 LabelGraphics
396 [
397 text "null"
398 outline "#000000"
399 fill "#FFFFFF"
400 fontSize 16
401 fontName "Monospace"
402 autoSizePolicy "node_width"
403 anchor "t"
404 borderDistance 0.0
405 ]
406 LabelGraphics
407 [
408 text "
409 CommunicatingElement class
410 Spacecraft class
411 CubeSat6U class
412 CubeSat class
413 CommunicatingElement class UndefinedPart
414 "
415 fontSize 14
416 fontName "Consolas"
417 alignment "left"
418 anchor "tl"
419 borderDistance 6
420 ]
421 ]
422
423 node
424 [
425 id 11
426 graphics
427 [
428 w 269.5
429 h 68
430 type "rectangle"
431 fill "#FFFFFF"
432 fill2 "#FFFFFF"
433 outline "#000000"
434 ]
435 LabelGraphics
436 [
437 text "null"
438 outline "#000000"
439 fill "#FFFFFF"
440 fontSize 16
441 fontName "Monospace"
442 autoSizePolicy "node_width"
443 anchor "t"
444 borderDistance 0.0
445 ]
446 LabelGraphics
447 [
448 text "
449 CommSubsystem class
450 UHFCommSubsystem class
451 CommSubsystem class UndefinedPart
452 "
453 fontSize 14
454 fontName "Consolas"
455 alignment "left"
456 anchor "tl"
457 borderDistance 6
458 ]
459 ]
460
461 node
462 [
463 id 12
464 graphics
465 [
313 w 277.20000000000005 466 w 277.20000000000005
314 h 82 467 h 82
315 type "rectangle" 468 type "rectangle"
@@ -346,10 +499,87 @@ graph
346 499
347 node 500 node
348 [ 501 [
349 id 9 502 id 13
503 graphics
504 [
505 w 223.3
506 h 54
507 type "rectangle"
508 fill "#FFFFFF"
509 fill2 "#FFFFFF"
510 outline "#000000"
511 ]
512 LabelGraphics
513 [
514 text "null"
515 outline "#000000"
516 fill "#FFFFFF"
517 fontSize 16
518 fontName "Monospace"
519 autoSizePolicy "node_width"
520 anchor "t"
521 borderDistance 0.0
522 ]
523 LabelGraphics
524 [
525 text "
526 Payload class
527 InterferometryPayload class
528 "
529 fontSize 14
530 fontName "Consolas"
531 alignment "left"
532 anchor "tl"
533 borderDistance 6
534 ]
535 ]
536
537 node
538 [
539 id 14
350 graphics 540 graphics
351 [ 541 [
352 w 323.40000000000003 542 w 323.40000000000003
543 h 96
544 type "rectangle"
545 fill "#FFFFFF"
546 fill2 "#FFFFFF"
547 outline "#000000"
548 ]
549 LabelGraphics
550 [
551 text "null"
552 outline "#000000"
553 fill "#FFFFFF"
554 fontSize 16
555 fontName "Monospace"
556 autoSizePolicy "node_width"
557 anchor "t"
558 borderDistance 0.0
559 ]
560 LabelGraphics
561 [
562 text "
563 CommunicatingElement class
564 Spacecraft class
565 CubeSat6U class
566 CubeSat class
567 CommunicatingElement class UndefinedPart
568 "
569 fontSize 14
570 fontName "Consolas"
571 alignment "left"
572 anchor "tl"
573 borderDistance 6
574 ]
575 ]
576
577 node
578 [
579 id 15
580 graphics
581 [
582 w 277.20000000000005
353 h 82 583 h 82
354 type "rectangle" 584 type "rectangle"
355 fill "#FFFFFF" 585 fill "#FFFFFF"
@@ -370,9 +600,124 @@ graph
370 LabelGraphics 600 LabelGraphics
371 [ 601 [
372 text " 602 text "
603 CommSubsystem class
604 XCommSubsystem class
605 CommSubsystem class UndefinedPart
606 XCommSubsystem class UndefinedPart
607 "
608 fontSize 14
609 fontName "Consolas"
610 alignment "left"
611 anchor "tl"
612 borderDistance 6
613 ]
614 ]
615
616 node
617 [
618 id 16
619 graphics
620 [
621 w 269.5
622 h 68
623 type "rectangle"
624 fill "#FFFFFF"
625 fill2 "#FFFFFF"
626 outline "#000000"
627 ]
628 LabelGraphics
629 [
630 text "null"
631 outline "#000000"
632 fill "#FFFFFF"
633 fontSize 16
634 fontName "Monospace"
635 autoSizePolicy "node_width"
636 anchor "t"
637 borderDistance 0.0
638 ]
639 LabelGraphics
640 [
641 text "
642 CommSubsystem class
643 UHFCommSubsystem class
644 CommSubsystem class UndefinedPart
645 "
646 fontSize 14
647 fontName "Consolas"
648 alignment "left"
649 anchor "tl"
650 borderDistance 6
651 ]
652 ]
653
654 node
655 [
656 id 17
657 graphics
658 [
659 w 223.3
660 h 54
661 type "rectangle"
662 fill "#FFFFFF"
663 fill2 "#FFFFFF"
664 outline "#000000"
665 ]
666 LabelGraphics
667 [
668 text "null"
669 outline "#000000"
670 fill "#FFFFFF"
671 fontSize 16
672 fontName "Monospace"
673 autoSizePolicy "node_width"
674 anchor "t"
675 borderDistance 0.0
676 ]
677 LabelGraphics
678 [
679 text "
680 Payload class
681 InterferometryPayload class
682 "
683 fontSize 14
684 fontName "Consolas"
685 alignment "left"
686 anchor "tl"
687 borderDistance 6
688 ]
689 ]
690
691 node
692 [
693 id 18
694 graphics
695 [
696 w 323.40000000000003
697 h 96
698 type "rectangle"
699 fill "#FFFFFF"
700 fill2 "#FFFFFF"
701 outline "#000000"
702 ]
703 LabelGraphics
704 [
705 text "null"
706 outline "#000000"
707 fill "#FFFFFF"
708 fontSize 16
709 fontName "Monospace"
710 autoSizePolicy "node_width"
711 anchor "t"
712 borderDistance 0.0
713 ]
714 LabelGraphics
715 [
716 text "
373 CommunicatingElement class 717 CommunicatingElement class
374 Spacecraft class 718 Spacecraft class
375 SmallSat class 719 CubeSat3U class
720 CubeSat class
376 CommunicatingElement class UndefinedPart 721 CommunicatingElement class UndefinedPart
377 " 722 "
378 fontSize 14 723 fontSize 14
@@ -385,7 +730,7 @@ graph
385 730
386 node 731 node
387 [ 732 [
388 id 10 733 id 19
389 graphics 734 graphics
390 [ 735 [
391 w 277.20000000000005 736 w 277.20000000000005
@@ -424,7 +769,46 @@ graph
424 769
425 node 770 node
426 [ 771 [
427 id 11 772 id 20
773 graphics
774 [
775 w 277.20000000000005
776 h 82
777 type "rectangle"
778 fill "#FFFFFF"
779 fill2 "#FFFFFF"
780 outline "#000000"
781 ]
782 LabelGraphics
783 [
784 text "null"
785 outline "#000000"
786 fill "#FFFFFF"
787 fontSize 16
788 fontName "Monospace"
789 autoSizePolicy "node_width"
790 anchor "t"
791 borderDistance 0.0
792 ]
793 LabelGraphics
794 [
795 text "
796 CommSubsystem class
797 XCommSubsystem class
798 CommSubsystem class UndefinedPart
799 XCommSubsystem class UndefinedPart
800 "
801 fontSize 14
802 fontName "Consolas"
803 alignment "left"
804 anchor "tl"
805 borderDistance 6
806 ]
807 ]
808
809 node
810 [
811 id 21
428 graphics 812 graphics
429 [ 813 [
430 w 223.3 814 w 223.3
@@ -461,7 +845,124 @@ graph
461 845
462 node 846 node
463 [ 847 [
464 id 12 848 id 22
849 graphics
850 [
851 w 323.40000000000003
852 h 96
853 type "rectangle"
854 fill "#FFFFFF"
855 fill2 "#FFFFFF"
856 outline "#000000"
857 ]
858 LabelGraphics
859 [
860 text "null"
861 outline "#000000"
862 fill "#FFFFFF"
863 fontSize 16
864 fontName "Monospace"
865 autoSizePolicy "node_width"
866 anchor "t"
867 borderDistance 0.0
868 ]
869 LabelGraphics
870 [
871 text "
872 CommunicatingElement class
873 Spacecraft class
874 CubeSat3U class
875 CubeSat class
876 CommunicatingElement class UndefinedPart
877 "
878 fontSize 14
879 fontName "Consolas"
880 alignment "left"
881 anchor "tl"
882 borderDistance 6
883 ]
884 ]
885
886 node
887 [
888 id 23
889 graphics
890 [
891 w 277.20000000000005
892 h 82
893 type "rectangle"
894 fill "#FFFFFF"
895 fill2 "#FFFFFF"
896 outline "#000000"
897 ]
898 LabelGraphics
899 [
900 text "null"
901 outline "#000000"
902 fill "#FFFFFF"
903 fontSize 16
904 fontName "Monospace"
905 autoSizePolicy "node_width"
906 anchor "t"
907 borderDistance 0.0
908 ]
909 LabelGraphics
910 [
911 text "
912 CommSubsystem class
913 XCommSubsystem class
914 CommSubsystem class UndefinedPart
915 XCommSubsystem class UndefinedPart
916 "
917 fontSize 14
918 fontName "Consolas"
919 alignment "left"
920 anchor "tl"
921 borderDistance 6
922 ]
923 ]
924
925 node
926 [
927 id 24
928 graphics
929 [
930 w 269.5
931 h 68
932 type "rectangle"
933 fill "#FFFFFF"
934 fill2 "#FFFFFF"
935 outline "#000000"
936 ]
937 LabelGraphics
938 [
939 text "null"
940 outline "#000000"
941 fill "#FFFFFF"
942 fontSize 16
943 fontName "Monospace"
944 autoSizePolicy "node_width"
945 anchor "t"
946 borderDistance 0.0
947 ]
948 LabelGraphics
949 [
950 text "
951 CommSubsystem class
952 UHFCommSubsystem class
953 CommSubsystem class UndefinedPart
954 "
955 fontSize 14
956 fontName "Consolas"
957 alignment "left"
958 anchor "tl"
959 borderDistance 6
960 ]
961 ]
962
963 node
964 [
965 id 25
465 graphics 966 graphics
466 [ 967 [
467 w 223.3 968 w 223.3
@@ -498,10 +999,124 @@ graph
498 999
499 node 1000 node
500 [ 1001 [
501 id 13 1002 id 26
1003 graphics
1004 [
1005 w 323.40000000000003
1006 h 82
1007 type "rectangle"
1008 fill "#FFFFFF"
1009 fill2 "#FFFFFF"
1010 outline "#000000"
1011 ]
1012 LabelGraphics
1013 [
1014 text "null"
1015 outline "#000000"
1016 fill "#FFFFFF"
1017 fontSize 16
1018 fontName "Monospace"
1019 autoSizePolicy "node_width"
1020 anchor "t"
1021 borderDistance 0.0
1022 ]
1023 LabelGraphics
1024 [
1025 text "
1026 CommunicatingElement class
1027 Spacecraft class
1028 SmallSat class
1029 CommunicatingElement class UndefinedPart
1030 "
1031 fontSize 14
1032 fontName "Consolas"
1033 alignment "left"
1034 anchor "tl"
1035 borderDistance 6
1036 ]
1037 ]
1038
1039 node
1040 [
1041 id 27
1042 graphics
1043 [
1044 w 269.5
1045 h 68
1046 type "rectangle"
1047 fill "#FFFFFF"
1048 fill2 "#FFFFFF"
1049 outline "#000000"
1050 ]
1051 LabelGraphics
1052 [
1053 text "null"
1054 outline "#000000"
1055 fill "#FFFFFF"
1056 fontSize 16
1057 fontName "Monospace"
1058 autoSizePolicy "node_width"
1059 anchor "t"
1060 borderDistance 0.0
1061 ]
1062 LabelGraphics
1063 [
1064 text "
1065 CommSubsystem class
1066 UHFCommSubsystem class
1067 CommSubsystem class UndefinedPart
1068 "
1069 fontSize 14
1070 fontName "Consolas"
1071 alignment "left"
1072 anchor "tl"
1073 borderDistance 6
1074 ]
1075 ]
1076
1077 node
1078 [
1079 id 28
1080 graphics
1081 [
1082 w 223.3
1083 h 54
1084 type "rectangle"
1085 fill "#FFFFFF"
1086 fill2 "#FFFFFF"
1087 outline "#000000"
1088 ]
1089 LabelGraphics
1090 [
1091 text "null"
1092 outline "#000000"
1093 fill "#FFFFFF"
1094 fontSize 16
1095 fontName "Monospace"
1096 autoSizePolicy "node_width"
1097 anchor "t"
1098 borderDistance 0.0
1099 ]
1100 LabelGraphics
1101 [
1102 text "
1103 Payload class
1104 InterferometryPayload class
1105 "
1106 fontSize 14
1107 fontName "Consolas"
1108 alignment "left"
1109 anchor "tl"
1110 borderDistance 6
1111 ]
1112 ]
1113
1114 node
1115 [
1116 id 29
502 graphics 1117 graphics
503 [ 1118 [
504 w 284.90000000000003 1119 w 277.20000000000005
505 h 82 1120 h 82
506 type "rectangle" 1121 type "rectangle"
507 fill "#FFFFFF" 1122 fill "#FFFFFF"
@@ -523,9 +1138,9 @@ graph
523 [ 1138 [
524 text " 1139 text "
525 CommSubsystem class 1140 CommSubsystem class
526 KaCommSubsystem class 1141 XCommSubsystem class
527 CommSubsystem class UndefinedPart 1142 CommSubsystem class UndefinedPart
528 KaCommSubsystem class UndefinedPart 1143 XCommSubsystem class UndefinedPart
529 " 1144 "
530 fontSize 14 1145 fontSize 14
531 fontName "Consolas" 1146 fontName "Consolas"
@@ -537,11 +1152,11 @@ graph
537 1152
538 node 1153 node
539 [ 1154 [
540 id 14 1155 id 30
541 graphics 1156 graphics
542 [ 1157 [
543 w 254.10000000000002 1158 w 323.40000000000003
544 h 40 1159 h 96
545 type "rectangle" 1160 type "rectangle"
546 fill "#FFFFFF" 1161 fill "#FFFFFF"
547 fill2 "#FFFFFF" 1162 fill2 "#FFFFFF"
@@ -561,7 +1176,11 @@ graph
561 LabelGraphics 1176 LabelGraphics
562 [ 1177 [
563 text " 1178 text "
564 DirectedCommunicationLink class 1179 CommunicatingElement class
1180 Spacecraft class
1181 CubeSat6U class
1182 CubeSat class
1183 CommunicatingElement class UndefinedPart
565 " 1184 "
566 fontSize 14 1185 fontSize 14
567 fontName "Consolas" 1186 fontName "Consolas"
@@ -573,11 +1192,11 @@ graph
573 1192
574 node 1193 node
575 [ 1194 [
576 id 15 1195 id 31
577 graphics 1196 graphics
578 [ 1197 [
579 w 254.10000000000002 1198 w 223.3
580 h 40 1199 h 54
581 type "rectangle" 1200 type "rectangle"
582 fill "#FFFFFF" 1201 fill "#FFFFFF"
583 fill2 "#FFFFFF" 1202 fill2 "#FFFFFF"
@@ -597,7 +1216,8 @@ graph
597 LabelGraphics 1216 LabelGraphics
598 [ 1217 [
599 text " 1218 text "
600 DirectedCommunicationLink class 1219 Payload class
1220 InterferometryPayload class
601 " 1221 "
602 fontSize 14 1222 fontSize 14
603 fontName "Consolas" 1223 fontName "Consolas"
@@ -609,7 +1229,238 @@ graph
609 1229
610 node 1230 node
611 [ 1231 [
612 id 16 1232 id 32
1233 graphics
1234 [
1235 w 277.20000000000005
1236 h 82
1237 type "rectangle"
1238 fill "#FFFFFF"
1239 fill2 "#FFFFFF"
1240 outline "#000000"
1241 ]
1242 LabelGraphics
1243 [
1244 text "null"
1245 outline "#000000"
1246 fill "#FFFFFF"
1247 fontSize 16
1248 fontName "Monospace"
1249 autoSizePolicy "node_width"
1250 anchor "t"
1251 borderDistance 0.0
1252 ]
1253 LabelGraphics
1254 [
1255 text "
1256 CommSubsystem class
1257 XCommSubsystem class
1258 CommSubsystem class UndefinedPart
1259 XCommSubsystem class UndefinedPart
1260 "
1261 fontSize 14
1262 fontName "Consolas"
1263 alignment "left"
1264 anchor "tl"
1265 borderDistance 6
1266 ]
1267 ]
1268
1269 node
1270 [
1271 id 33
1272 graphics
1273 [
1274 w 269.5
1275 h 68
1276 type "rectangle"
1277 fill "#FFFFFF"
1278 fill2 "#FFFFFF"
1279 outline "#000000"
1280 ]
1281 LabelGraphics
1282 [
1283 text "null"
1284 outline "#000000"
1285 fill "#FFFFFF"
1286 fontSize 16
1287 fontName "Monospace"
1288 autoSizePolicy "node_width"
1289 anchor "t"
1290 borderDistance 0.0
1291 ]
1292 LabelGraphics
1293 [
1294 text "
1295 CommSubsystem class
1296 UHFCommSubsystem class
1297 CommSubsystem class UndefinedPart
1298 "
1299 fontSize 14
1300 fontName "Consolas"
1301 alignment "left"
1302 anchor "tl"
1303 borderDistance 6
1304 ]
1305 ]
1306
1307 node
1308 [
1309 id 34
1310 graphics
1311 [
1312 w 323.40000000000003
1313 h 82
1314 type "rectangle"
1315 fill "#FFFFFF"
1316 fill2 "#FFFFFF"
1317 outline "#000000"
1318 ]
1319 LabelGraphics
1320 [
1321 text "null"
1322 outline "#000000"
1323 fill "#FFFFFF"
1324 fontSize 16
1325 fontName "Monospace"
1326 autoSizePolicy "node_width"
1327 anchor "t"
1328 borderDistance 0.0
1329 ]
1330 LabelGraphics
1331 [
1332 text "
1333 CommunicatingElement class
1334 Spacecraft class
1335 SmallSat class
1336 CommunicatingElement class UndefinedPart
1337 "
1338 fontSize 14
1339 fontName "Consolas"
1340 alignment "left"
1341 anchor "tl"
1342 borderDistance 6
1343 ]
1344 ]
1345
1346 node
1347 [
1348 id 35
1349 graphics
1350 [
1351 w 277.20000000000005
1352 h 82
1353 type "rectangle"
1354 fill "#FFFFFF"
1355 fill2 "#FFFFFF"
1356 outline "#000000"
1357 ]
1358 LabelGraphics
1359 [
1360 text "null"
1361 outline "#000000"
1362 fill "#FFFFFF"
1363 fontSize 16
1364 fontName "Monospace"
1365 autoSizePolicy "node_width"
1366 anchor "t"
1367 borderDistance 0.0
1368 ]
1369 LabelGraphics
1370 [
1371 text "
1372 CommSubsystem class
1373 XCommSubsystem class
1374 CommSubsystem class UndefinedPart
1375 XCommSubsystem class UndefinedPart
1376 "
1377 fontSize 14
1378 fontName "Consolas"
1379 alignment "left"
1380 anchor "tl"
1381 borderDistance 6
1382 ]
1383 ]
1384
1385 node
1386 [
1387 id 36
1388 graphics
1389 [
1390 w 277.20000000000005
1391 h 82
1392 type "rectangle"
1393 fill "#FFFFFF"
1394 fill2 "#FFFFFF"
1395 outline "#000000"
1396 ]
1397 LabelGraphics
1398 [
1399 text "null"
1400 outline "#000000"
1401 fill "#FFFFFF"
1402 fontSize 16
1403 fontName "Monospace"
1404 autoSizePolicy "node_width"
1405 anchor "t"
1406 borderDistance 0.0
1407 ]
1408 LabelGraphics
1409 [
1410 text "
1411 CommSubsystem class
1412 XCommSubsystem class
1413 CommSubsystem class UndefinedPart
1414 XCommSubsystem class UndefinedPart
1415 "
1416 fontSize 14
1417 fontName "Consolas"
1418 alignment "left"
1419 anchor "tl"
1420 borderDistance 6
1421 ]
1422 ]
1423
1424 node
1425 [
1426 id 37
1427 graphics
1428 [
1429 w 223.3
1430 h 54
1431 type "rectangle"
1432 fill "#FFFFFF"
1433 fill2 "#FFFFFF"
1434 outline "#000000"
1435 ]
1436 LabelGraphics
1437 [
1438 text "null"
1439 outline "#000000"
1440 fill "#FFFFFF"
1441 fontSize 16
1442 fontName "Monospace"
1443 autoSizePolicy "node_width"
1444 anchor "t"
1445 borderDistance 0.0
1446 ]
1447 LabelGraphics
1448 [
1449 text "
1450 Payload class
1451 InterferometryPayload class
1452 "
1453 fontSize 14
1454 fontName "Consolas"
1455 alignment "left"
1456 anchor "tl"
1457 borderDistance 6
1458 ]
1459 ]
1460
1461 node
1462 [
1463 id 38
613 graphics 1464 graphics
614 [ 1465 [
615 w 112.2 1466 w 112.2
@@ -644,7 +1495,7 @@ graph
644 1495
645 node 1496 node
646 [ 1497 [
647 id 17 1498 id 39
648 graphics 1499 graphics
649 [ 1500 [
650 w 85.80000000000001 1501 w 85.80000000000001
@@ -679,7 +1530,7 @@ graph
679 1530
680 node 1531 node
681 [ 1532 [
682 id 18 1533 id 40
683 graphics 1534 graphics
684 [ 1535 [
685 w 103.4 1536 w 103.4
@@ -714,7 +1565,7 @@ graph
714 1565
715 node 1566 node
716 [ 1567 [
717 id 19 1568 id 41
718 graphics 1569 graphics
719 [ 1570 [
720 w 103.4 1571 w 103.4
@@ -789,7 +1640,127 @@ graph
789 edge 1640 edge
790 [ 1641 [
791 source 0 1642 source 0
792 target 9 1643 target 10
1644 graphics
1645 [
1646 fill "#000000"
1647 width 3
1648 targetArrow "standard"
1649 ]
1650 LabelGraphics
1651 [
1652 text "spacecraft reference ConstellationMission"
1653 fontSize 14
1654 fontName "Consolas"
1655 configuration "AutoFlippingLabel"
1656 model "six_pos"
1657 position "thead"
1658 ]
1659 ]
1660 edge
1661 [
1662 source 0
1663 target 14
1664 graphics
1665 [
1666 fill "#000000"
1667 width 3
1668 targetArrow "standard"
1669 ]
1670 LabelGraphics
1671 [
1672 text "spacecraft reference ConstellationMission"
1673 fontSize 14
1674 fontName "Consolas"
1675 configuration "AutoFlippingLabel"
1676 model "six_pos"
1677 position "thead"
1678 ]
1679 ]
1680 edge
1681 [
1682 source 0
1683 target 18
1684 graphics
1685 [
1686 fill "#000000"
1687 width 3
1688 targetArrow "standard"
1689 ]
1690 LabelGraphics
1691 [
1692 text "spacecraft reference ConstellationMission"
1693 fontSize 14
1694 fontName "Consolas"
1695 configuration "AutoFlippingLabel"
1696 model "six_pos"
1697 position "thead"
1698 ]
1699 ]
1700 edge
1701 [
1702 source 0
1703 target 22
1704 graphics
1705 [
1706 fill "#000000"
1707 width 3
1708 targetArrow "standard"
1709 ]
1710 LabelGraphics
1711 [
1712 text "spacecraft reference ConstellationMission"
1713 fontSize 14
1714 fontName "Consolas"
1715 configuration "AutoFlippingLabel"
1716 model "six_pos"
1717 position "thead"
1718 ]
1719 ]
1720 edge
1721 [
1722 source 0
1723 target 26
1724 graphics
1725 [
1726 fill "#000000"
1727 width 3
1728 targetArrow "standard"
1729 ]
1730 LabelGraphics
1731 [
1732 text "spacecraft reference ConstellationMission"
1733 fontSize 14
1734 fontName "Consolas"
1735 configuration "AutoFlippingLabel"
1736 model "six_pos"
1737 position "thead"
1738 ]
1739 ]
1740 edge
1741 [
1742 source 0
1743 target 30
1744 graphics
1745 [
1746 fill "#000000"
1747 width 3
1748 targetArrow "standard"
1749 ]
1750 LabelGraphics
1751 [
1752 text "spacecraft reference ConstellationMission"
1753 fontSize 14
1754 fontName "Consolas"
1755 configuration "AutoFlippingLabel"
1756 model "six_pos"
1757 position "thead"
1758 ]
1759 ]
1760 edge
1761 [
1762 source 0
1763 target 34
793 graphics 1764 graphics
794 [ 1765 [
795 fill "#000000" 1766 fill "#000000"
@@ -888,8 +1859,8 @@ graph
888 ] 1859 ]
889 edge 1860 edge
890 [ 1861 [
891 source 9 1862 source 10
892 target 10 1863 target 11
893 graphics 1864 graphics
894 [ 1865 [
895 fill "#000000" 1866 fill "#000000"
@@ -908,8 +1879,8 @@ graph
908 ] 1879 ]
909 edge 1880 edge
910 [ 1881 [
911 source 9 1882 source 10
912 target 13 1883 target 12
913 graphics 1884 graphics
914 [ 1885 [
915 fill "#000000" 1886 fill "#000000"
@@ -928,8 +1899,8 @@ graph
928 ] 1899 ]
929 edge 1900 edge
930 [ 1901 [
931 source 9 1902 source 14
932 target 14 1903 target 15
933 graphics 1904 graphics
934 [ 1905 [
935 fill "#000000" 1906 fill "#000000"
@@ -938,7 +1909,7 @@ graph
938 ] 1909 ]
939 LabelGraphics 1910 LabelGraphics
940 [ 1911 [
941 text "communicationLink reference CommunicatingElement" 1912 text "commSubsystem reference CommunicatingElement"
942 fontSize 14 1913 fontSize 14
943 fontName "Consolas" 1914 fontName "Consolas"
944 configuration "AutoFlippingLabel" 1915 configuration "AutoFlippingLabel"
@@ -948,8 +1919,28 @@ graph
948 ] 1919 ]
949 edge 1920 edge
950 [ 1921 [
951 source 6 1922 source 14
952 target 15 1923 target 16
1924 graphics
1925 [
1926 fill "#000000"
1927 width 3
1928 targetArrow "standard"
1929 ]
1930 LabelGraphics
1931 [
1932 text "commSubsystem reference CommunicatingElement"
1933 fontSize 14
1934 fontName "Consolas"
1935 configuration "AutoFlippingLabel"
1936 model "six_pos"
1937 position "thead"
1938 ]
1939 ]
1940 edge
1941 [
1942 source 18
1943 target 19
953 graphics 1944 graphics
954 [ 1945 [
955 fill "#000000" 1946 fill "#000000"
@@ -958,7 +1949,187 @@ graph
958 ] 1949 ]
959 LabelGraphics 1950 LabelGraphics
960 [ 1951 [
961 text "communicationLink reference CommunicatingElement" 1952 text "commSubsystem reference CommunicatingElement"
1953 fontSize 14
1954 fontName "Consolas"
1955 configuration "AutoFlippingLabel"
1956 model "six_pos"
1957 position "thead"
1958 ]
1959 ]
1960 edge
1961 [
1962 source 18
1963 target 20
1964 graphics
1965 [
1966 fill "#000000"
1967 width 3
1968 targetArrow "standard"
1969 ]
1970 LabelGraphics
1971 [
1972 text "commSubsystem reference CommunicatingElement"
1973 fontSize 14
1974 fontName "Consolas"
1975 configuration "AutoFlippingLabel"
1976 model "six_pos"
1977 position "thead"
1978 ]
1979 ]
1980 edge
1981 [
1982 source 22
1983 target 23
1984 graphics
1985 [
1986 fill "#000000"
1987 width 3
1988 targetArrow "standard"
1989 ]
1990 LabelGraphics
1991 [
1992 text "commSubsystem reference CommunicatingElement"
1993 fontSize 14
1994 fontName "Consolas"
1995 configuration "AutoFlippingLabel"
1996 model "six_pos"
1997 position "thead"
1998 ]
1999 ]
2000 edge
2001 [
2002 source 22
2003 target 24
2004 graphics
2005 [
2006 fill "#000000"
2007 width 3
2008 targetArrow "standard"
2009 ]
2010 LabelGraphics
2011 [
2012 text "commSubsystem reference CommunicatingElement"
2013 fontSize 14
2014 fontName "Consolas"
2015 configuration "AutoFlippingLabel"
2016 model "six_pos"
2017 position "thead"
2018 ]
2019 ]
2020 edge
2021 [
2022 source 26
2023 target 27
2024 graphics
2025 [
2026 fill "#000000"
2027 width 3
2028 targetArrow "standard"
2029 ]
2030 LabelGraphics
2031 [
2032 text "commSubsystem reference CommunicatingElement"
2033 fontSize 14
2034 fontName "Consolas"
2035 configuration "AutoFlippingLabel"
2036 model "six_pos"
2037 position "thead"
2038 ]
2039 ]
2040 edge
2041 [
2042 source 26
2043 target 29
2044 graphics
2045 [
2046 fill "#000000"
2047 width 3
2048 targetArrow "standard"
2049 ]
2050 LabelGraphics
2051 [
2052 text "commSubsystem reference CommunicatingElement"
2053 fontSize 14
2054 fontName "Consolas"
2055 configuration "AutoFlippingLabel"
2056 model "six_pos"
2057 position "thead"
2058 ]
2059 ]
2060 edge
2061 [
2062 source 30
2063 target 32
2064 graphics
2065 [
2066 fill "#000000"
2067 width 3
2068 targetArrow "standard"
2069 ]
2070 LabelGraphics
2071 [
2072 text "commSubsystem reference CommunicatingElement"
2073 fontSize 14
2074 fontName "Consolas"
2075 configuration "AutoFlippingLabel"
2076 model "six_pos"
2077 position "thead"
2078 ]
2079 ]
2080 edge
2081 [
2082 source 30
2083 target 33
2084 graphics
2085 [
2086 fill "#000000"
2087 width 3
2088 targetArrow "standard"
2089 ]
2090 LabelGraphics
2091 [
2092 text "commSubsystem reference CommunicatingElement"
2093 fontSize 14
2094 fontName "Consolas"
2095 configuration "AutoFlippingLabel"
2096 model "six_pos"
2097 position "thead"
2098 ]
2099 ]
2100 edge
2101 [
2102 source 34
2103 target 35
2104 graphics
2105 [
2106 fill "#000000"
2107 width 3
2108 targetArrow "standard"
2109 ]
2110 LabelGraphics
2111 [
2112 text "commSubsystem reference CommunicatingElement"
2113 fontSize 14
2114 fontName "Consolas"
2115 configuration "AutoFlippingLabel"
2116 model "six_pos"
2117 position "thead"
2118 ]
2119 ]
2120 edge
2121 [
2122 source 34
2123 target 36
2124 graphics
2125 [
2126 fill "#000000"
2127 width 3
2128 targetArrow "standard"
2129 ]
2130 LabelGraphics
2131 [
2132 text "commSubsystem reference CommunicatingElement"
962 fontSize 14 2133 fontSize 14
963 fontName "Consolas" 2134 fontName "Consolas"
964 configuration "AutoFlippingLabel" 2135 configuration "AutoFlippingLabel"
@@ -969,7 +2140,7 @@ graph
969 edge 2140 edge
970 [ 2141 [
971 source 6 2142 source 6
972 target 11 2143 target 9
973 graphics 2144 graphics
974 [ 2145 [
975 fill "#000000" 2146 fill "#000000"
@@ -988,8 +2159,8 @@ graph
988 ] 2159 ]
989 edge 2160 edge
990 [ 2161 [
991 source 9 2162 source 10
992 target 12 2163 target 13
993 graphics 2164 graphics
994 [ 2165 [
995 fill "#000000" 2166 fill "#000000"
@@ -1009,15 +2180,16 @@ graph
1009 edge 2180 edge
1010 [ 2181 [
1011 source 14 2182 source 14
1012 target 13 2183 target 17
1013 graphics 2184 graphics
1014 [ 2185 [
1015 fill "#000000" 2186 fill "#000000"
2187 width 3
1016 targetArrow "standard" 2188 targetArrow "standard"
1017 ] 2189 ]
1018 LabelGraphics 2190 LabelGraphics
1019 [ 2191 [
1020 text "source reference DirectedCommunicationLink" 2192 text "payload reference Spacecraft"
1021 fontSize 14 2193 fontSize 14
1022 fontName "Consolas" 2194 fontName "Consolas"
1023 configuration "AutoFlippingLabel" 2195 configuration "AutoFlippingLabel"
@@ -1027,16 +2199,17 @@ graph
1027 ] 2199 ]
1028 edge 2200 edge
1029 [ 2201 [
1030 source 15 2202 source 18
1031 target 7 2203 target 21
1032 graphics 2204 graphics
1033 [ 2205 [
1034 fill "#000000" 2206 fill "#000000"
2207 width 3
1035 targetArrow "standard" 2208 targetArrow "standard"
1036 ] 2209 ]
1037 LabelGraphics 2210 LabelGraphics
1038 [ 2211 [
1039 text "source reference DirectedCommunicationLink" 2212 text "payload reference Spacecraft"
1040 fontSize 14 2213 fontSize 14
1041 fontName "Consolas" 2214 fontName "Consolas"
1042 configuration "AutoFlippingLabel" 2215 configuration "AutoFlippingLabel"
@@ -1046,8 +2219,88 @@ graph
1046 ] 2219 ]
1047 edge 2220 edge
1048 [ 2221 [
1049 source 14 2222 source 22
1050 target 3 2223 target 25
2224 graphics
2225 [
2226 fill "#000000"
2227 width 3
2228 targetArrow "standard"
2229 ]
2230 LabelGraphics
2231 [
2232 text "payload reference Spacecraft"
2233 fontSize 14
2234 fontName "Consolas"
2235 configuration "AutoFlippingLabel"
2236 model "six_pos"
2237 position "thead"
2238 ]
2239 ]
2240 edge
2241 [
2242 source 26
2243 target 28
2244 graphics
2245 [
2246 fill "#000000"
2247 width 3
2248 targetArrow "standard"
2249 ]
2250 LabelGraphics
2251 [
2252 text "payload reference Spacecraft"
2253 fontSize 14
2254 fontName "Consolas"
2255 configuration "AutoFlippingLabel"
2256 model "six_pos"
2257 position "thead"
2258 ]
2259 ]
2260 edge
2261 [
2262 source 30
2263 target 31
2264 graphics
2265 [
2266 fill "#000000"
2267 width 3
2268 targetArrow "standard"
2269 ]
2270 LabelGraphics
2271 [
2272 text "payload reference Spacecraft"
2273 fontSize 14
2274 fontName "Consolas"
2275 configuration "AutoFlippingLabel"
2276 model "six_pos"
2277 position "thead"
2278 ]
2279 ]
2280 edge
2281 [
2282 source 34
2283 target 37
2284 graphics
2285 [
2286 fill "#000000"
2287 width 3
2288 targetArrow "standard"
2289 ]
2290 LabelGraphics
2291 [
2292 text "payload reference Spacecraft"
2293 fontSize 14
2294 fontName "Consolas"
2295 configuration "AutoFlippingLabel"
2296 model "six_pos"
2297 position "thead"
2298 ]
2299 ]
2300 edge
2301 [
2302 source 7
2303 target 2
1051 graphics 2304 graphics
1052 [ 2305 [
1053 fill "#000000" 2306 fill "#000000"
@@ -1055,7 +2308,26 @@ graph
1055 ] 2308 ]
1056 LabelGraphics 2309 LabelGraphics
1057 [ 2310 [
1058 text "target reference DirectedCommunicationLink" 2311 text "target reference CommSubsystem"
2312 fontSize 14
2313 fontName "Consolas"
2314 configuration "AutoFlippingLabel"
2315 model "six_pos"
2316 position "thead"
2317 ]
2318 ]
2319 edge
2320 [
2321 source 11
2322 target 8
2323 graphics
2324 [
2325 fill "#000000"
2326 targetArrow "standard"
2327 ]
2328 LabelGraphics
2329 [
2330 text "target reference CommSubsystem"
1059 fontSize 14 2331 fontSize 14
1060 fontName "Consolas" 2332 fontName "Consolas"
1061 configuration "AutoFlippingLabel" 2333 configuration "AutoFlippingLabel"
@@ -1066,6 +2338,82 @@ graph
1066 edge 2338 edge
1067 [ 2339 [
1068 source 15 2340 source 15
2341 target 12
2342 graphics
2343 [
2344 fill "#000000"
2345 targetArrow "standard"
2346 ]
2347 LabelGraphics
2348 [
2349 text "target reference CommSubsystem"
2350 fontSize 14
2351 fontName "Consolas"
2352 configuration "AutoFlippingLabel"
2353 model "six_pos"
2354 position "thead"
2355 ]
2356 ]
2357 edge
2358 [
2359 source 19
2360 target 2
2361 graphics
2362 [
2363 fill "#000000"
2364 targetArrow "standard"
2365 ]
2366 LabelGraphics
2367 [
2368 text "target reference CommSubsystem"
2369 fontSize 14
2370 fontName "Consolas"
2371 configuration "AutoFlippingLabel"
2372 model "six_pos"
2373 position "thead"
2374 ]
2375 ]
2376 edge
2377 [
2378 source 23
2379 target 2
2380 graphics
2381 [
2382 fill "#000000"
2383 targetArrow "standard"
2384 ]
2385 LabelGraphics
2386 [
2387 text "target reference CommSubsystem"
2388 fontSize 14
2389 fontName "Consolas"
2390 configuration "AutoFlippingLabel"
2391 model "six_pos"
2392 position "thead"
2393 ]
2394 ]
2395 edge
2396 [
2397 source 29
2398 target 2
2399 graphics
2400 [
2401 fill "#000000"
2402 targetArrow "standard"
2403 ]
2404 LabelGraphics
2405 [
2406 text "target reference CommSubsystem"
2407 fontSize 14
2408 fontName "Consolas"
2409 configuration "AutoFlippingLabel"
2410 model "six_pos"
2411 position "thead"
2412 ]
2413 ]
2414 edge
2415 [
2416 source 32
1069 target 2 2417 target 2
1070 graphics 2418 graphics
1071 [ 2419 [
@@ -1074,7 +2422,26 @@ graph
1074 ] 2422 ]
1075 LabelGraphics 2423 LabelGraphics
1076 [ 2424 [
1077 text "target reference DirectedCommunicationLink" 2425 text "target reference CommSubsystem"
2426 fontSize 14
2427 fontName "Consolas"
2428 configuration "AutoFlippingLabel"
2429 model "six_pos"
2430 position "thead"
2431 ]
2432 ]
2433 edge
2434 [
2435 source 35
2436 target 15
2437 graphics
2438 [
2439 fill "#000000"
2440 targetArrow "standard"
2441 ]
2442 LabelGraphics
2443 [
2444 text "target reference CommSubsystem"
1078 fontSize 14 2445 fontSize 14
1079 fontName "Consolas" 2446 fontName "Consolas"
1080 configuration "AutoFlippingLabel" 2447 configuration "AutoFlippingLabel"
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/1.png b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/1.png
index bc4de349..01a1bfc5 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/1.png
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/1.png
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/1.xmi b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/1.xmi
index bf29d722..768c1d80 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/1.xmi
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/1.xmi
@@ -4,16 +4,44 @@
4 <commSubsystem xsi:type="satellite:KaCommSubsystem"/> 4 <commSubsystem xsi:type="satellite:KaCommSubsystem"/>
5 <commSubsystem xsi:type="satellite:XCommSubsystem"/> 5 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
6 </groundStationNetwork> 6 </groundStationNetwork>
7 <spacecraft xsi:type="satellite:SmallSat"> 7 <spacecraft xsi:type="satellite:CubeSat3U">
8 <commSubsystem xsi:type="satellite:KaCommSubsystem"/>
9 <commSubsystem xsi:type="satellite:XCommSubsystem"/> 8 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
10 <communicationLink source="//@spacecraft.0/@commSubsystem.0" target="//@groundStationNetwork/@commSubsystem.0"/> 9 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
11 <payload xsi:type="satellite:InterferometryPayload"/> 10 <payload xsi:type="satellite:InterferometryPayload"/>
12 </spacecraft> 11 </spacecraft>
13 <spacecraft xsi:type="satellite:CubeSat3U"> 12 <spacecraft xsi:type="satellite:CubeSat6U">
13 <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.4/@commSubsystem.0"/>
14 <commSubsystem xsi:type="satellite:XCommSubsystem"/> 14 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
15 <payload xsi:type="satellite:InterferometryPayload"/>
16 </spacecraft>
17 <spacecraft xsi:type="satellite:CubeSat6U">
18 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
19 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
20 <payload xsi:type="satellite:InterferometryPayload"/>
21 </spacecraft>
22 <spacecraft xsi:type="satellite:SmallSat">
23 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
24 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
25 <payload xsi:type="satellite:InterferometryPayload"/>
26 </spacecraft>
27 <spacecraft xsi:type="satellite:CubeSat6U">
28 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
29 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
30 <payload xsi:type="satellite:InterferometryPayload"/>
31 </spacecraft>
32 <spacecraft xsi:type="satellite:SmallSat">
33 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@spacecraft.7/@commSubsystem.0"/>
15 <commSubsystem xsi:type="satellite:XCommSubsystem"/> 34 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
16 <communicationLink source="//@spacecraft.1/@commSubsystem.0" target="//@groundStationNetwork/@commSubsystem.1"/> 35 <payload xsi:type="satellite:InterferometryPayload"/>
36 </spacecraft>
37 <spacecraft xsi:type="satellite:CubeSat3U">
38 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
39 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
40 <payload xsi:type="satellite:InterferometryPayload"/>
41 </spacecraft>
42 <spacecraft xsi:type="satellite:CubeSat6U">
43 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@spacecraft.1/@commSubsystem.1"/>
44 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
17 <payload xsi:type="satellite:InterferometryPayload"/> 45 <payload xsi:type="satellite:InterferometryPayload"/>
18 </spacecraft> 46 </spacecraft>
19</satellite:InterferometryMission> 47</satellite:InterferometryMission>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/2.gml b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/2.gml
new file mode 100644
index 00000000..bac655eb
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/2.gml
@@ -0,0 +1,2453 @@
1graph
2[
3 node
4 [
5 id 0
6 graphics
7 [
8 w 315.70000000000005
9 h 82
10 type "rectangle"
11 fill "#FFFFFF"
12 fill2 "#FFFFFF"
13 outline "#000000"
14 ]
15 LabelGraphics
16 [
17 text "o 1"
18 outline "#000000"
19 fill "#FFFFFF"
20 fontSize 16
21 fontName "Monospace"
22 autoSizePolicy "node_width"
23 anchor "t"
24 borderDistance 0.0
25 ]
26 LabelGraphics
27 [
28 text "
29 ConstellationMission class DefinedPart
30 InterferometryMission class DefinedPart
31 ConstellationMission class
32 InterferometryMission class
33 "
34 fontSize 14
35 fontName "Consolas"
36 alignment "left"
37 anchor "tl"
38 borderDistance 6
39 ]
40 ]
41
42 node
43 [
44 id 1
45 graphics
46 [
47 w 308.0
48 h 82
49 type "rectangle"
50 fill "#FFFFFF"
51 fill2 "#FFFFFF"
52 outline "#000000"
53 ]
54 LabelGraphics
55 [
56 text "o 2"
57 outline "#000000"
58 fill "#FFFFFF"
59 fontSize 16
60 fontName "Monospace"
61 autoSizePolicy "node_width"
62 anchor "t"
63 borderDistance 0.0
64 ]
65 LabelGraphics
66 [
67 text "
68 CommunicatingElement class DefinedPart
69 GroundStationNetwork class DefinedPart
70 CommunicatingElement class
71 GroundStationNetwork class
72 "
73 fontSize 14
74 fontName "Consolas"
75 alignment "left"
76 anchor "tl"
77 borderDistance 6
78 ]
79 ]
80
81 node
82 [
83 id 2
84 graphics
85 [
86 w 261.8
87 h 82
88 type "rectangle"
89 fill "#FFFFFF"
90 fill2 "#FFFFFF"
91 outline "#000000"
92 ]
93 LabelGraphics
94 [
95 text "o 3"
96 outline "#000000"
97 fill "#FFFFFF"
98 fontSize 16
99 fontName "Monospace"
100 autoSizePolicy "node_width"
101 anchor "t"
102 borderDistance 0.0
103 ]
104 LabelGraphics
105 [
106 text "
107 CommSubsystem class DefinedPart
108 XCommSubsystem class DefinedPart
109 CommSubsystem class
110 XCommSubsystem class
111 "
112 fontSize 14
113 fontName "Consolas"
114 alignment "left"
115 anchor "tl"
116 borderDistance 6
117 ]
118 ]
119
120 node
121 [
122 id 3
123 graphics
124 [
125 w 269.5
126 h 82
127 type "rectangle"
128 fill "#FFFFFF"
129 fill2 "#FFFFFF"
130 outline "#000000"
131 ]
132 LabelGraphics
133 [
134 text "o 4"
135 outline "#000000"
136 fill "#FFFFFF"
137 fontSize 16
138 fontName "Monospace"
139 autoSizePolicy "node_width"
140 anchor "t"
141 borderDistance 0.0
142 ]
143 LabelGraphics
144 [
145 text "
146 CommSubsystem class DefinedPart
147 KaCommSubsystem class DefinedPart
148 CommSubsystem class
149 KaCommSubsystem class
150 "
151 fontSize 14
152 fontName "Consolas"
153 alignment "left"
154 anchor "tl"
155 borderDistance 6
156 ]
157 ]
158
159 node
160 [
161 id 4
162 graphics
163 [
164 w 41.800000000000004
165 h 26
166 type "rectangle"
167 fill "#FFFFFF"
168 fill2 "#FFFFFF"
169 outline "#000000"
170 ]
171 LabelGraphics
172 [
173 text "true"
174 outline "#000000"
175 fill "#FFFFFF"
176 fontSize 16
177 fontName "Monospace"
178 autoSizePolicy "node_width"
179 anchor "t"
180 borderDistance 0.0
181 ]
182 LabelGraphics
183 [
184 text "
185 "
186 fontSize 14
187 fontName "Consolas"
188 alignment "left"
189 anchor "tl"
190 borderDistance 6
191 ]
192 ]
193
194 node
195 [
196 id 5
197 graphics
198 [
199 w 50.6
200 h 26
201 type "rectangle"
202 fill "#FFFFFF"
203 fill2 "#FFFFFF"
204 outline "#000000"
205 ]
206 LabelGraphics
207 [
208 text "false"
209 outline "#000000"
210 fill "#FFFFFF"
211 fontSize 16
212 fontName "Monospace"
213 autoSizePolicy "node_width"
214 anchor "t"
215 borderDistance 0.0
216 ]
217 LabelGraphics
218 [
219 text "
220 "
221 fontSize 14
222 fontName "Consolas"
223 alignment "left"
224 anchor "tl"
225 borderDistance 6
226 ]
227 ]
228
229 node
230 [
231 id 6
232 graphics
233 [
234 w 323.40000000000003
235 h 96
236 type "rectangle"
237 fill "#FFFFFF"
238 fill2 "#FFFFFF"
239 outline "#000000"
240 ]
241 LabelGraphics
242 [
243 text "null"
244 outline "#000000"
245 fill "#FFFFFF"
246 fontSize 16
247 fontName "Monospace"
248 autoSizePolicy "node_width"
249 anchor "t"
250 borderDistance 0.0
251 ]
252 LabelGraphics
253 [
254 text "
255 CommunicatingElement class
256 Spacecraft class
257 CubeSat6U class
258 CubeSat class
259 CommunicatingElement class UndefinedPart
260 "
261 fontSize 14
262 fontName "Consolas"
263 alignment "left"
264 anchor "tl"
265 borderDistance 6
266 ]
267 ]
268
269 node
270 [
271 id 7
272 graphics
273 [
274 w 277.20000000000005
275 h 82
276 type "rectangle"
277 fill "#FFFFFF"
278 fill2 "#FFFFFF"
279 outline "#000000"
280 ]
281 LabelGraphics
282 [
283 text "null"
284 outline "#000000"
285 fill "#FFFFFF"
286 fontSize 16
287 fontName "Monospace"
288 autoSizePolicy "node_width"
289 anchor "t"
290 borderDistance 0.0
291 ]
292 LabelGraphics
293 [
294 text "
295 CommSubsystem class
296 XCommSubsystem class
297 CommSubsystem class UndefinedPart
298 XCommSubsystem class UndefinedPart
299 "
300 fontSize 14
301 fontName "Consolas"
302 alignment "left"
303 anchor "tl"
304 borderDistance 6
305 ]
306 ]
307
308 node
309 [
310 id 8
311 graphics
312 [
313 w 269.5
314 h 68
315 type "rectangle"
316 fill "#FFFFFF"
317 fill2 "#FFFFFF"
318 outline "#000000"
319 ]
320 LabelGraphics
321 [
322 text "null"
323 outline "#000000"
324 fill "#FFFFFF"
325 fontSize 16
326 fontName "Monospace"
327 autoSizePolicy "node_width"
328 anchor "t"
329 borderDistance 0.0
330 ]
331 LabelGraphics
332 [
333 text "
334 CommSubsystem class
335 UHFCommSubsystem class
336 CommSubsystem class UndefinedPart
337 "
338 fontSize 14
339 fontName "Consolas"
340 alignment "left"
341 anchor "tl"
342 borderDistance 6
343 ]
344 ]
345
346 node
347 [
348 id 9
349 graphics
350 [
351 w 223.3
352 h 54
353 type "rectangle"
354 fill "#FFFFFF"
355 fill2 "#FFFFFF"
356 outline "#000000"
357 ]
358 LabelGraphics
359 [
360 text "null"
361 outline "#000000"
362 fill "#FFFFFF"
363 fontSize 16
364 fontName "Monospace"
365 autoSizePolicy "node_width"
366 anchor "t"
367 borderDistance 0.0
368 ]
369 LabelGraphics
370 [
371 text "
372 Payload class
373 InterferometryPayload class
374 "
375 fontSize 14
376 fontName "Consolas"
377 alignment "left"
378 anchor "tl"
379 borderDistance 6
380 ]
381 ]
382
383 node
384 [
385 id 10
386 graphics
387 [
388 w 323.40000000000003
389 h 96
390 type "rectangle"
391 fill "#FFFFFF"
392 fill2 "#FFFFFF"
393 outline "#000000"
394 ]
395 LabelGraphics
396 [
397 text "null"
398 outline "#000000"
399 fill "#FFFFFF"
400 fontSize 16
401 fontName "Monospace"
402 autoSizePolicy "node_width"
403 anchor "t"
404 borderDistance 0.0
405 ]
406 LabelGraphics
407 [
408 text "
409 CommunicatingElement class
410 Spacecraft class
411 CubeSat6U class
412 CubeSat class
413 CommunicatingElement class UndefinedPart
414 "
415 fontSize 14
416 fontName "Consolas"
417 alignment "left"
418 anchor "tl"
419 borderDistance 6
420 ]
421 ]
422
423 node
424 [
425 id 11
426 graphics
427 [
428 w 269.5
429 h 68
430 type "rectangle"
431 fill "#FFFFFF"
432 fill2 "#FFFFFF"
433 outline "#000000"
434 ]
435 LabelGraphics
436 [
437 text "null"
438 outline "#000000"
439 fill "#FFFFFF"
440 fontSize 16
441 fontName "Monospace"
442 autoSizePolicy "node_width"
443 anchor "t"
444 borderDistance 0.0
445 ]
446 LabelGraphics
447 [
448 text "
449 CommSubsystem class
450 UHFCommSubsystem class
451 CommSubsystem class UndefinedPart
452 "
453 fontSize 14
454 fontName "Consolas"
455 alignment "left"
456 anchor "tl"
457 borderDistance 6
458 ]
459 ]
460
461 node
462 [
463 id 12
464 graphics
465 [
466 w 277.20000000000005
467 h 82
468 type "rectangle"
469 fill "#FFFFFF"
470 fill2 "#FFFFFF"
471 outline "#000000"
472 ]
473 LabelGraphics
474 [
475 text "null"
476 outline "#000000"
477 fill "#FFFFFF"
478 fontSize 16
479 fontName "Monospace"
480 autoSizePolicy "node_width"
481 anchor "t"
482 borderDistance 0.0
483 ]
484 LabelGraphics
485 [
486 text "
487 CommSubsystem class
488 XCommSubsystem class
489 CommSubsystem class UndefinedPart
490 XCommSubsystem class UndefinedPart
491 "
492 fontSize 14
493 fontName "Consolas"
494 alignment "left"
495 anchor "tl"
496 borderDistance 6
497 ]
498 ]
499
500 node
501 [
502 id 13
503 graphics
504 [
505 w 223.3
506 h 54
507 type "rectangle"
508 fill "#FFFFFF"
509 fill2 "#FFFFFF"
510 outline "#000000"
511 ]
512 LabelGraphics
513 [
514 text "null"
515 outline "#000000"
516 fill "#FFFFFF"
517 fontSize 16
518 fontName "Monospace"
519 autoSizePolicy "node_width"
520 anchor "t"
521 borderDistance 0.0
522 ]
523 LabelGraphics
524 [
525 text "
526 Payload class
527 InterferometryPayload class
528 "
529 fontSize 14
530 fontName "Consolas"
531 alignment "left"
532 anchor "tl"
533 borderDistance 6
534 ]
535 ]
536
537 node
538 [
539 id 14
540 graphics
541 [
542 w 323.40000000000003
543 h 96
544 type "rectangle"
545 fill "#FFFFFF"
546 fill2 "#FFFFFF"
547 outline "#000000"
548 ]
549 LabelGraphics
550 [
551 text "null"
552 outline "#000000"
553 fill "#FFFFFF"
554 fontSize 16
555 fontName "Monospace"
556 autoSizePolicy "node_width"
557 anchor "t"
558 borderDistance 0.0
559 ]
560 LabelGraphics
561 [
562 text "
563 CommunicatingElement class
564 Spacecraft class
565 CubeSat6U class
566 CubeSat class
567 CommunicatingElement class UndefinedPart
568 "
569 fontSize 14
570 fontName "Consolas"
571 alignment "left"
572 anchor "tl"
573 borderDistance 6
574 ]
575 ]
576
577 node
578 [
579 id 15
580 graphics
581 [
582 w 277.20000000000005
583 h 82
584 type "rectangle"
585 fill "#FFFFFF"
586 fill2 "#FFFFFF"
587 outline "#000000"
588 ]
589 LabelGraphics
590 [
591 text "null"
592 outline "#000000"
593 fill "#FFFFFF"
594 fontSize 16
595 fontName "Monospace"
596 autoSizePolicy "node_width"
597 anchor "t"
598 borderDistance 0.0
599 ]
600 LabelGraphics
601 [
602 text "
603 CommSubsystem class
604 XCommSubsystem class
605 CommSubsystem class UndefinedPart
606 XCommSubsystem class UndefinedPart
607 "
608 fontSize 14
609 fontName "Consolas"
610 alignment "left"
611 anchor "tl"
612 borderDistance 6
613 ]
614 ]
615
616 node
617 [
618 id 16
619 graphics
620 [
621 w 269.5
622 h 68
623 type "rectangle"
624 fill "#FFFFFF"
625 fill2 "#FFFFFF"
626 outline "#000000"
627 ]
628 LabelGraphics
629 [
630 text "null"
631 outline "#000000"
632 fill "#FFFFFF"
633 fontSize 16
634 fontName "Monospace"
635 autoSizePolicy "node_width"
636 anchor "t"
637 borderDistance 0.0
638 ]
639 LabelGraphics
640 [
641 text "
642 CommSubsystem class
643 UHFCommSubsystem class
644 CommSubsystem class UndefinedPart
645 "
646 fontSize 14
647 fontName "Consolas"
648 alignment "left"
649 anchor "tl"
650 borderDistance 6
651 ]
652 ]
653
654 node
655 [
656 id 17
657 graphics
658 [
659 w 223.3
660 h 54
661 type "rectangle"
662 fill "#FFFFFF"
663 fill2 "#FFFFFF"
664 outline "#000000"
665 ]
666 LabelGraphics
667 [
668 text "null"
669 outline "#000000"
670 fill "#FFFFFF"
671 fontSize 16
672 fontName "Monospace"
673 autoSizePolicy "node_width"
674 anchor "t"
675 borderDistance 0.0
676 ]
677 LabelGraphics
678 [
679 text "
680 Payload class
681 InterferometryPayload class
682 "
683 fontSize 14
684 fontName "Consolas"
685 alignment "left"
686 anchor "tl"
687 borderDistance 6
688 ]
689 ]
690
691 node
692 [
693 id 18
694 graphics
695 [
696 w 323.40000000000003
697 h 96
698 type "rectangle"
699 fill "#FFFFFF"
700 fill2 "#FFFFFF"
701 outline "#000000"
702 ]
703 LabelGraphics
704 [
705 text "null"
706 outline "#000000"
707 fill "#FFFFFF"
708 fontSize 16
709 fontName "Monospace"
710 autoSizePolicy "node_width"
711 anchor "t"
712 borderDistance 0.0
713 ]
714 LabelGraphics
715 [
716 text "
717 CommunicatingElement class
718 Spacecraft class
719 CubeSat3U class
720 CubeSat class
721 CommunicatingElement class UndefinedPart
722 "
723 fontSize 14
724 fontName "Consolas"
725 alignment "left"
726 anchor "tl"
727 borderDistance 6
728 ]
729 ]
730
731 node
732 [
733 id 19
734 graphics
735 [
736 w 277.20000000000005
737 h 82
738 type "rectangle"
739 fill "#FFFFFF"
740 fill2 "#FFFFFF"
741 outline "#000000"
742 ]
743 LabelGraphics
744 [
745 text "null"
746 outline "#000000"
747 fill "#FFFFFF"
748 fontSize 16
749 fontName "Monospace"
750 autoSizePolicy "node_width"
751 anchor "t"
752 borderDistance 0.0
753 ]
754 LabelGraphics
755 [
756 text "
757 CommSubsystem class
758 XCommSubsystem class
759 CommSubsystem class UndefinedPart
760 XCommSubsystem class UndefinedPart
761 "
762 fontSize 14
763 fontName "Consolas"
764 alignment "left"
765 anchor "tl"
766 borderDistance 6
767 ]
768 ]
769
770 node
771 [
772 id 20
773 graphics
774 [
775 w 277.20000000000005
776 h 82
777 type "rectangle"
778 fill "#FFFFFF"
779 fill2 "#FFFFFF"
780 outline "#000000"
781 ]
782 LabelGraphics
783 [
784 text "null"
785 outline "#000000"
786 fill "#FFFFFF"
787 fontSize 16
788 fontName "Monospace"
789 autoSizePolicy "node_width"
790 anchor "t"
791 borderDistance 0.0
792 ]
793 LabelGraphics
794 [
795 text "
796 CommSubsystem class
797 XCommSubsystem class
798 CommSubsystem class UndefinedPart
799 XCommSubsystem class UndefinedPart
800 "
801 fontSize 14
802 fontName "Consolas"
803 alignment "left"
804 anchor "tl"
805 borderDistance 6
806 ]
807 ]
808
809 node
810 [
811 id 21
812 graphics
813 [
814 w 223.3
815 h 54
816 type "rectangle"
817 fill "#FFFFFF"
818 fill2 "#FFFFFF"
819 outline "#000000"
820 ]
821 LabelGraphics
822 [
823 text "null"
824 outline "#000000"
825 fill "#FFFFFF"
826 fontSize 16
827 fontName "Monospace"
828 autoSizePolicy "node_width"
829 anchor "t"
830 borderDistance 0.0
831 ]
832 LabelGraphics
833 [
834 text "
835 Payload class
836 InterferometryPayload class
837 "
838 fontSize 14
839 fontName "Consolas"
840 alignment "left"
841 anchor "tl"
842 borderDistance 6
843 ]
844 ]
845
846 node
847 [
848 id 22
849 graphics
850 [
851 w 323.40000000000003
852 h 96
853 type "rectangle"
854 fill "#FFFFFF"
855 fill2 "#FFFFFF"
856 outline "#000000"
857 ]
858 LabelGraphics
859 [
860 text "null"
861 outline "#000000"
862 fill "#FFFFFF"
863 fontSize 16
864 fontName "Monospace"
865 autoSizePolicy "node_width"
866 anchor "t"
867 borderDistance 0.0
868 ]
869 LabelGraphics
870 [
871 text "
872 CommunicatingElement class
873 Spacecraft class
874 CubeSat3U class
875 CubeSat class
876 CommunicatingElement class UndefinedPart
877 "
878 fontSize 14
879 fontName "Consolas"
880 alignment "left"
881 anchor "tl"
882 borderDistance 6
883 ]
884 ]
885
886 node
887 [
888 id 23
889 graphics
890 [
891 w 277.20000000000005
892 h 82
893 type "rectangle"
894 fill "#FFFFFF"
895 fill2 "#FFFFFF"
896 outline "#000000"
897 ]
898 LabelGraphics
899 [
900 text "null"
901 outline "#000000"
902 fill "#FFFFFF"
903 fontSize 16
904 fontName "Monospace"
905 autoSizePolicy "node_width"
906 anchor "t"
907 borderDistance 0.0
908 ]
909 LabelGraphics
910 [
911 text "
912 CommSubsystem class
913 XCommSubsystem class
914 CommSubsystem class UndefinedPart
915 XCommSubsystem class UndefinedPart
916 "
917 fontSize 14
918 fontName "Consolas"
919 alignment "left"
920 anchor "tl"
921 borderDistance 6
922 ]
923 ]
924
925 node
926 [
927 id 24
928 graphics
929 [
930 w 269.5
931 h 68
932 type "rectangle"
933 fill "#FFFFFF"
934 fill2 "#FFFFFF"
935 outline "#000000"
936 ]
937 LabelGraphics
938 [
939 text "null"
940 outline "#000000"
941 fill "#FFFFFF"
942 fontSize 16
943 fontName "Monospace"
944 autoSizePolicy "node_width"
945 anchor "t"
946 borderDistance 0.0
947 ]
948 LabelGraphics
949 [
950 text "
951 CommSubsystem class
952 UHFCommSubsystem class
953 CommSubsystem class UndefinedPart
954 "
955 fontSize 14
956 fontName "Consolas"
957 alignment "left"
958 anchor "tl"
959 borderDistance 6
960 ]
961 ]
962
963 node
964 [
965 id 25
966 graphics
967 [
968 w 223.3
969 h 54
970 type "rectangle"
971 fill "#FFFFFF"
972 fill2 "#FFFFFF"
973 outline "#000000"
974 ]
975 LabelGraphics
976 [
977 text "null"
978 outline "#000000"
979 fill "#FFFFFF"
980 fontSize 16
981 fontName "Monospace"
982 autoSizePolicy "node_width"
983 anchor "t"
984 borderDistance 0.0
985 ]
986 LabelGraphics
987 [
988 text "
989 Payload class
990 InterferometryPayload class
991 "
992 fontSize 14
993 fontName "Consolas"
994 alignment "left"
995 anchor "tl"
996 borderDistance 6
997 ]
998 ]
999
1000 node
1001 [
1002 id 26
1003 graphics
1004 [
1005 w 323.40000000000003
1006 h 82
1007 type "rectangle"
1008 fill "#FFFFFF"
1009 fill2 "#FFFFFF"
1010 outline "#000000"
1011 ]
1012 LabelGraphics
1013 [
1014 text "null"
1015 outline "#000000"
1016 fill "#FFFFFF"
1017 fontSize 16
1018 fontName "Monospace"
1019 autoSizePolicy "node_width"
1020 anchor "t"
1021 borderDistance 0.0
1022 ]
1023 LabelGraphics
1024 [
1025 text "
1026 CommunicatingElement class
1027 Spacecraft class
1028 SmallSat class
1029 CommunicatingElement class UndefinedPart
1030 "
1031 fontSize 14
1032 fontName "Consolas"
1033 alignment "left"
1034 anchor "tl"
1035 borderDistance 6
1036 ]
1037 ]
1038
1039 node
1040 [
1041 id 27
1042 graphics
1043 [
1044 w 269.5
1045 h 68
1046 type "rectangle"
1047 fill "#FFFFFF"
1048 fill2 "#FFFFFF"
1049 outline "#000000"
1050 ]
1051 LabelGraphics
1052 [
1053 text "null"
1054 outline "#000000"
1055 fill "#FFFFFF"
1056 fontSize 16
1057 fontName "Monospace"
1058 autoSizePolicy "node_width"
1059 anchor "t"
1060 borderDistance 0.0
1061 ]
1062 LabelGraphics
1063 [
1064 text "
1065 CommSubsystem class
1066 UHFCommSubsystem class
1067 CommSubsystem class UndefinedPart
1068 "
1069 fontSize 14
1070 fontName "Consolas"
1071 alignment "left"
1072 anchor "tl"
1073 borderDistance 6
1074 ]
1075 ]
1076
1077 node
1078 [
1079 id 28
1080 graphics
1081 [
1082 w 223.3
1083 h 54
1084 type "rectangle"
1085 fill "#FFFFFF"
1086 fill2 "#FFFFFF"
1087 outline "#000000"
1088 ]
1089 LabelGraphics
1090 [
1091 text "null"
1092 outline "#000000"
1093 fill "#FFFFFF"
1094 fontSize 16
1095 fontName "Monospace"
1096 autoSizePolicy "node_width"
1097 anchor "t"
1098 borderDistance 0.0
1099 ]
1100 LabelGraphics
1101 [
1102 text "
1103 Payload class
1104 InterferometryPayload class
1105 "
1106 fontSize 14
1107 fontName "Consolas"
1108 alignment "left"
1109 anchor "tl"
1110 borderDistance 6
1111 ]
1112 ]
1113
1114 node
1115 [
1116 id 29
1117 graphics
1118 [
1119 w 277.20000000000005
1120 h 82
1121 type "rectangle"
1122 fill "#FFFFFF"
1123 fill2 "#FFFFFF"
1124 outline "#000000"
1125 ]
1126 LabelGraphics
1127 [
1128 text "null"
1129 outline "#000000"
1130 fill "#FFFFFF"
1131 fontSize 16
1132 fontName "Monospace"
1133 autoSizePolicy "node_width"
1134 anchor "t"
1135 borderDistance 0.0
1136 ]
1137 LabelGraphics
1138 [
1139 text "
1140 CommSubsystem class
1141 XCommSubsystem class
1142 CommSubsystem class UndefinedPart
1143 XCommSubsystem class UndefinedPart
1144 "
1145 fontSize 14
1146 fontName "Consolas"
1147 alignment "left"
1148 anchor "tl"
1149 borderDistance 6
1150 ]
1151 ]
1152
1153 node
1154 [
1155 id 30
1156 graphics
1157 [
1158 w 323.40000000000003
1159 h 96
1160 type "rectangle"
1161 fill "#FFFFFF"
1162 fill2 "#FFFFFF"
1163 outline "#000000"
1164 ]
1165 LabelGraphics
1166 [
1167 text "null"
1168 outline "#000000"
1169 fill "#FFFFFF"
1170 fontSize 16
1171 fontName "Monospace"
1172 autoSizePolicy "node_width"
1173 anchor "t"
1174 borderDistance 0.0
1175 ]
1176 LabelGraphics
1177 [
1178 text "
1179 CommunicatingElement class
1180 Spacecraft class
1181 CubeSat6U class
1182 CubeSat class
1183 CommunicatingElement class UndefinedPart
1184 "
1185 fontSize 14
1186 fontName "Consolas"
1187 alignment "left"
1188 anchor "tl"
1189 borderDistance 6
1190 ]
1191 ]
1192
1193 node
1194 [
1195 id 31
1196 graphics
1197 [
1198 w 223.3
1199 h 54
1200 type "rectangle"
1201 fill "#FFFFFF"
1202 fill2 "#FFFFFF"
1203 outline "#000000"
1204 ]
1205 LabelGraphics
1206 [
1207 text "null"
1208 outline "#000000"
1209 fill "#FFFFFF"
1210 fontSize 16
1211 fontName "Monospace"
1212 autoSizePolicy "node_width"
1213 anchor "t"
1214 borderDistance 0.0
1215 ]
1216 LabelGraphics
1217 [
1218 text "
1219 Payload class
1220 InterferometryPayload class
1221 "
1222 fontSize 14
1223 fontName "Consolas"
1224 alignment "left"
1225 anchor "tl"
1226 borderDistance 6
1227 ]
1228 ]
1229
1230 node
1231 [
1232 id 32
1233 graphics
1234 [
1235 w 277.20000000000005
1236 h 82
1237 type "rectangle"
1238 fill "#FFFFFF"
1239 fill2 "#FFFFFF"
1240 outline "#000000"
1241 ]
1242 LabelGraphics
1243 [
1244 text "null"
1245 outline "#000000"
1246 fill "#FFFFFF"
1247 fontSize 16
1248 fontName "Monospace"
1249 autoSizePolicy "node_width"
1250 anchor "t"
1251 borderDistance 0.0
1252 ]
1253 LabelGraphics
1254 [
1255 text "
1256 CommSubsystem class
1257 XCommSubsystem class
1258 CommSubsystem class UndefinedPart
1259 XCommSubsystem class UndefinedPart
1260 "
1261 fontSize 14
1262 fontName "Consolas"
1263 alignment "left"
1264 anchor "tl"
1265 borderDistance 6
1266 ]
1267 ]
1268
1269 node
1270 [
1271 id 33
1272 graphics
1273 [
1274 w 269.5
1275 h 68
1276 type "rectangle"
1277 fill "#FFFFFF"
1278 fill2 "#FFFFFF"
1279 outline "#000000"
1280 ]
1281 LabelGraphics
1282 [
1283 text "null"
1284 outline "#000000"
1285 fill "#FFFFFF"
1286 fontSize 16
1287 fontName "Monospace"
1288 autoSizePolicy "node_width"
1289 anchor "t"
1290 borderDistance 0.0
1291 ]
1292 LabelGraphics
1293 [
1294 text "
1295 CommSubsystem class
1296 UHFCommSubsystem class
1297 CommSubsystem class UndefinedPart
1298 "
1299 fontSize 14
1300 fontName "Consolas"
1301 alignment "left"
1302 anchor "tl"
1303 borderDistance 6
1304 ]
1305 ]
1306
1307 node
1308 [
1309 id 34
1310 graphics
1311 [
1312 w 323.40000000000003
1313 h 82
1314 type "rectangle"
1315 fill "#FFFFFF"
1316 fill2 "#FFFFFF"
1317 outline "#000000"
1318 ]
1319 LabelGraphics
1320 [
1321 text "null"
1322 outline "#000000"
1323 fill "#FFFFFF"
1324 fontSize 16
1325 fontName "Monospace"
1326 autoSizePolicy "node_width"
1327 anchor "t"
1328 borderDistance 0.0
1329 ]
1330 LabelGraphics
1331 [
1332 text "
1333 CommunicatingElement class
1334 Spacecraft class
1335 SmallSat class
1336 CommunicatingElement class UndefinedPart
1337 "
1338 fontSize 14
1339 fontName "Consolas"
1340 alignment "left"
1341 anchor "tl"
1342 borderDistance 6
1343 ]
1344 ]
1345
1346 node
1347 [
1348 id 35
1349 graphics
1350 [
1351 w 277.20000000000005
1352 h 82
1353 type "rectangle"
1354 fill "#FFFFFF"
1355 fill2 "#FFFFFF"
1356 outline "#000000"
1357 ]
1358 LabelGraphics
1359 [
1360 text "null"
1361 outline "#000000"
1362 fill "#FFFFFF"
1363 fontSize 16
1364 fontName "Monospace"
1365 autoSizePolicy "node_width"
1366 anchor "t"
1367 borderDistance 0.0
1368 ]
1369 LabelGraphics
1370 [
1371 text "
1372 CommSubsystem class
1373 XCommSubsystem class
1374 CommSubsystem class UndefinedPart
1375 XCommSubsystem class UndefinedPart
1376 "
1377 fontSize 14
1378 fontName "Consolas"
1379 alignment "left"
1380 anchor "tl"
1381 borderDistance 6
1382 ]
1383 ]
1384
1385 node
1386 [
1387 id 36
1388 graphics
1389 [
1390 w 284.90000000000003
1391 h 82
1392 type "rectangle"
1393 fill "#FFFFFF"
1394 fill2 "#FFFFFF"
1395 outline "#000000"
1396 ]
1397 LabelGraphics
1398 [
1399 text "null"
1400 outline "#000000"
1401 fill "#FFFFFF"
1402 fontSize 16
1403 fontName "Monospace"
1404 autoSizePolicy "node_width"
1405 anchor "t"
1406 borderDistance 0.0
1407 ]
1408 LabelGraphics
1409 [
1410 text "
1411 CommSubsystem class
1412 KaCommSubsystem class
1413 CommSubsystem class UndefinedPart
1414 KaCommSubsystem class UndefinedPart
1415 "
1416 fontSize 14
1417 fontName "Consolas"
1418 alignment "left"
1419 anchor "tl"
1420 borderDistance 6
1421 ]
1422 ]
1423
1424 node
1425 [
1426 id 37
1427 graphics
1428 [
1429 w 223.3
1430 h 54
1431 type "rectangle"
1432 fill "#FFFFFF"
1433 fill2 "#FFFFFF"
1434 outline "#000000"
1435 ]
1436 LabelGraphics
1437 [
1438 text "null"
1439 outline "#000000"
1440 fill "#FFFFFF"
1441 fontSize 16
1442 fontName "Monospace"
1443 autoSizePolicy "node_width"
1444 anchor "t"
1445 borderDistance 0.0
1446 ]
1447 LabelGraphics
1448 [
1449 text "
1450 Payload class
1451 InterferometryPayload class
1452 "
1453 fontSize 14
1454 fontName "Consolas"
1455 alignment "left"
1456 anchor "tl"
1457 borderDistance 6
1458 ]
1459 ]
1460
1461 node
1462 [
1463 id 38
1464 graphics
1465 [
1466 w 112.2
1467 h 26
1468 type "rectangle"
1469 fill "#FFFFFF"
1470 fill2 "#FFFFFF"
1471 outline "#000000"
1472 ]
1473 LabelGraphics
1474 [
1475 text "New Integers"
1476 outline "#000000"
1477 fill "#FFFFFF"
1478 fontSize 16
1479 fontName "Monospace"
1480 autoSizePolicy "node_width"
1481 anchor "t"
1482 borderDistance 0.0
1483 ]
1484 LabelGraphics
1485 [
1486 text "
1487 "
1488 fontSize 14
1489 fontName "Consolas"
1490 alignment "left"
1491 anchor "tl"
1492 borderDistance 6
1493 ]
1494 ]
1495
1496 node
1497 [
1498 id 39
1499 graphics
1500 [
1501 w 85.80000000000001
1502 h 26
1503 type "rectangle"
1504 fill "#FFFFFF"
1505 fill2 "#FFFFFF"
1506 outline "#000000"
1507 ]
1508 LabelGraphics
1509 [
1510 text "New Reals"
1511 outline "#000000"
1512 fill "#FFFFFF"
1513 fontSize 16
1514 fontName "Monospace"
1515 autoSizePolicy "node_width"
1516 anchor "t"
1517 borderDistance 0.0
1518 ]
1519 LabelGraphics
1520 [
1521 text "
1522 "
1523 fontSize 14
1524 fontName "Consolas"
1525 alignment "left"
1526 anchor "tl"
1527 borderDistance 6
1528 ]
1529 ]
1530
1531 node
1532 [
1533 id 40
1534 graphics
1535 [
1536 w 103.4
1537 h 26
1538 type "rectangle"
1539 fill "#FFFFFF"
1540 fill2 "#FFFFFF"
1541 outline "#000000"
1542 ]
1543 LabelGraphics
1544 [
1545 text "New Strings"
1546 outline "#000000"
1547 fill "#FFFFFF"
1548 fontSize 16
1549 fontName "Monospace"
1550 autoSizePolicy "node_width"
1551 anchor "t"
1552 borderDistance 0.0
1553 ]
1554 LabelGraphics
1555 [
1556 text "
1557 "
1558 fontSize 14
1559 fontName "Consolas"
1560 alignment "left"
1561 anchor "tl"
1562 borderDistance 6
1563 ]
1564 ]
1565
1566 node
1567 [
1568 id 41
1569 graphics
1570 [
1571 w 103.4
1572 h 26
1573 type "rectangle"
1574 fill "#FFFFFF"
1575 fill2 "#FFFFFF"
1576 outline "#000000"
1577 ]
1578 LabelGraphics
1579 [
1580 text "New Objects"
1581 outline "#000000"
1582 fill "#FFFFFF"
1583 fontSize 16
1584 fontName "Monospace"
1585 autoSizePolicy "node_width"
1586 anchor "t"
1587 borderDistance 0.0
1588 ]
1589 LabelGraphics
1590 [
1591 text "
1592 "
1593 fontSize 14
1594 fontName "Consolas"
1595 alignment "left"
1596 anchor "tl"
1597 borderDistance 6
1598 ]
1599 ]
1600 edge
1601 [
1602 source 0
1603 target 1
1604 graphics
1605 [
1606 fill "#000000"
1607 width 3
1608 targetArrow "standard"
1609 ]
1610 LabelGraphics
1611 [
1612 text "groundStationNetwork reference ConstellationMission"
1613 fontSize 14
1614 fontName "Consolas"
1615 configuration "AutoFlippingLabel"
1616 model "six_pos"
1617 position "thead"
1618 ]
1619 ]
1620 edge
1621 [
1622 source 0
1623 target 6
1624 graphics
1625 [
1626 fill "#000000"
1627 width 3
1628 targetArrow "standard"
1629 ]
1630 LabelGraphics
1631 [
1632 text "spacecraft reference ConstellationMission"
1633 fontSize 14
1634 fontName "Consolas"
1635 configuration "AutoFlippingLabel"
1636 model "six_pos"
1637 position "thead"
1638 ]
1639 ]
1640 edge
1641 [
1642 source 0
1643 target 10
1644 graphics
1645 [
1646 fill "#000000"
1647 width 3
1648 targetArrow "standard"
1649 ]
1650 LabelGraphics
1651 [
1652 text "spacecraft reference ConstellationMission"
1653 fontSize 14
1654 fontName "Consolas"
1655 configuration "AutoFlippingLabel"
1656 model "six_pos"
1657 position "thead"
1658 ]
1659 ]
1660 edge
1661 [
1662 source 0
1663 target 14
1664 graphics
1665 [
1666 fill "#000000"
1667 width 3
1668 targetArrow "standard"
1669 ]
1670 LabelGraphics
1671 [
1672 text "spacecraft reference ConstellationMission"
1673 fontSize 14
1674 fontName "Consolas"
1675 configuration "AutoFlippingLabel"
1676 model "six_pos"
1677 position "thead"
1678 ]
1679 ]
1680 edge
1681 [
1682 source 0
1683 target 18
1684 graphics
1685 [
1686 fill "#000000"
1687 width 3
1688 targetArrow "standard"
1689 ]
1690 LabelGraphics
1691 [
1692 text "spacecraft reference ConstellationMission"
1693 fontSize 14
1694 fontName "Consolas"
1695 configuration "AutoFlippingLabel"
1696 model "six_pos"
1697 position "thead"
1698 ]
1699 ]
1700 edge
1701 [
1702 source 0
1703 target 22
1704 graphics
1705 [
1706 fill "#000000"
1707 width 3
1708 targetArrow "standard"
1709 ]
1710 LabelGraphics
1711 [
1712 text "spacecraft reference ConstellationMission"
1713 fontSize 14
1714 fontName "Consolas"
1715 configuration "AutoFlippingLabel"
1716 model "six_pos"
1717 position "thead"
1718 ]
1719 ]
1720 edge
1721 [
1722 source 0
1723 target 26
1724 graphics
1725 [
1726 fill "#000000"
1727 width 3
1728 targetArrow "standard"
1729 ]
1730 LabelGraphics
1731 [
1732 text "spacecraft reference ConstellationMission"
1733 fontSize 14
1734 fontName "Consolas"
1735 configuration "AutoFlippingLabel"
1736 model "six_pos"
1737 position "thead"
1738 ]
1739 ]
1740 edge
1741 [
1742 source 0
1743 target 30
1744 graphics
1745 [
1746 fill "#000000"
1747 width 3
1748 targetArrow "standard"
1749 ]
1750 LabelGraphics
1751 [
1752 text "spacecraft reference ConstellationMission"
1753 fontSize 14
1754 fontName "Consolas"
1755 configuration "AutoFlippingLabel"
1756 model "six_pos"
1757 position "thead"
1758 ]
1759 ]
1760 edge
1761 [
1762 source 0
1763 target 34
1764 graphics
1765 [
1766 fill "#000000"
1767 width 3
1768 targetArrow "standard"
1769 ]
1770 LabelGraphics
1771 [
1772 text "spacecraft reference ConstellationMission"
1773 fontSize 14
1774 fontName "Consolas"
1775 configuration "AutoFlippingLabel"
1776 model "six_pos"
1777 position "thead"
1778 ]
1779 ]
1780 edge
1781 [
1782 source 1
1783 target 2
1784 graphics
1785 [
1786 fill "#000000"
1787 width 3
1788 targetArrow "standard"
1789 ]
1790 LabelGraphics
1791 [
1792 text "commSubsystem reference CommunicatingElement"
1793 fontSize 14
1794 fontName "Consolas"
1795 configuration "AutoFlippingLabel"
1796 model "six_pos"
1797 position "thead"
1798 ]
1799 ]
1800 edge
1801 [
1802 source 1
1803 target 3
1804 graphics
1805 [
1806 fill "#000000"
1807 width 3
1808 targetArrow "standard"
1809 ]
1810 LabelGraphics
1811 [
1812 text "commSubsystem reference CommunicatingElement"
1813 fontSize 14
1814 fontName "Consolas"
1815 configuration "AutoFlippingLabel"
1816 model "six_pos"
1817 position "thead"
1818 ]
1819 ]
1820 edge
1821 [
1822 source 6
1823 target 7
1824 graphics
1825 [
1826 fill "#000000"
1827 width 3
1828 targetArrow "standard"
1829 ]
1830 LabelGraphics
1831 [
1832 text "commSubsystem reference CommunicatingElement"
1833 fontSize 14
1834 fontName "Consolas"
1835 configuration "AutoFlippingLabel"
1836 model "six_pos"
1837 position "thead"
1838 ]
1839 ]
1840 edge
1841 [
1842 source 6
1843 target 8
1844 graphics
1845 [
1846 fill "#000000"
1847 width 3
1848 targetArrow "standard"
1849 ]
1850 LabelGraphics
1851 [
1852 text "commSubsystem reference CommunicatingElement"
1853 fontSize 14
1854 fontName "Consolas"
1855 configuration "AutoFlippingLabel"
1856 model "six_pos"
1857 position "thead"
1858 ]
1859 ]
1860 edge
1861 [
1862 source 10
1863 target 11
1864 graphics
1865 [
1866 fill "#000000"
1867 width 3
1868 targetArrow "standard"
1869 ]
1870 LabelGraphics
1871 [
1872 text "commSubsystem reference CommunicatingElement"
1873 fontSize 14
1874 fontName "Consolas"
1875 configuration "AutoFlippingLabel"
1876 model "six_pos"
1877 position "thead"
1878 ]
1879 ]
1880 edge
1881 [
1882 source 10
1883 target 12
1884 graphics
1885 [
1886 fill "#000000"
1887 width 3
1888 targetArrow "standard"
1889 ]
1890 LabelGraphics
1891 [
1892 text "commSubsystem reference CommunicatingElement"
1893 fontSize 14
1894 fontName "Consolas"
1895 configuration "AutoFlippingLabel"
1896 model "six_pos"
1897 position "thead"
1898 ]
1899 ]
1900 edge
1901 [
1902 source 14
1903 target 15
1904 graphics
1905 [
1906 fill "#000000"
1907 width 3
1908 targetArrow "standard"
1909 ]
1910 LabelGraphics
1911 [
1912 text "commSubsystem reference CommunicatingElement"
1913 fontSize 14
1914 fontName "Consolas"
1915 configuration "AutoFlippingLabel"
1916 model "six_pos"
1917 position "thead"
1918 ]
1919 ]
1920 edge
1921 [
1922 source 14
1923 target 16
1924 graphics
1925 [
1926 fill "#000000"
1927 width 3
1928 targetArrow "standard"
1929 ]
1930 LabelGraphics
1931 [
1932 text "commSubsystem reference CommunicatingElement"
1933 fontSize 14
1934 fontName "Consolas"
1935 configuration "AutoFlippingLabel"
1936 model "six_pos"
1937 position "thead"
1938 ]
1939 ]
1940 edge
1941 [
1942 source 18
1943 target 19
1944 graphics
1945 [
1946 fill "#000000"
1947 width 3
1948 targetArrow "standard"
1949 ]
1950 LabelGraphics
1951 [
1952 text "commSubsystem reference CommunicatingElement"
1953 fontSize 14
1954 fontName "Consolas"
1955 configuration "AutoFlippingLabel"
1956 model "six_pos"
1957 position "thead"
1958 ]
1959 ]
1960 edge
1961 [
1962 source 18
1963 target 20
1964 graphics
1965 [
1966 fill "#000000"
1967 width 3
1968 targetArrow "standard"
1969 ]
1970 LabelGraphics
1971 [
1972 text "commSubsystem reference CommunicatingElement"
1973 fontSize 14
1974 fontName "Consolas"
1975 configuration "AutoFlippingLabel"
1976 model "six_pos"
1977 position "thead"
1978 ]
1979 ]
1980 edge
1981 [
1982 source 22
1983 target 23
1984 graphics
1985 [
1986 fill "#000000"
1987 width 3
1988 targetArrow "standard"
1989 ]
1990 LabelGraphics
1991 [
1992 text "commSubsystem reference CommunicatingElement"
1993 fontSize 14
1994 fontName "Consolas"
1995 configuration "AutoFlippingLabel"
1996 model "six_pos"
1997 position "thead"
1998 ]
1999 ]
2000 edge
2001 [
2002 source 22
2003 target 24
2004 graphics
2005 [
2006 fill "#000000"
2007 width 3
2008 targetArrow "standard"
2009 ]
2010 LabelGraphics
2011 [
2012 text "commSubsystem reference CommunicatingElement"
2013 fontSize 14
2014 fontName "Consolas"
2015 configuration "AutoFlippingLabel"
2016 model "six_pos"
2017 position "thead"
2018 ]
2019 ]
2020 edge
2021 [
2022 source 26
2023 target 27
2024 graphics
2025 [
2026 fill "#000000"
2027 width 3
2028 targetArrow "standard"
2029 ]
2030 LabelGraphics
2031 [
2032 text "commSubsystem reference CommunicatingElement"
2033 fontSize 14
2034 fontName "Consolas"
2035 configuration "AutoFlippingLabel"
2036 model "six_pos"
2037 position "thead"
2038 ]
2039 ]
2040 edge
2041 [
2042 source 26
2043 target 29
2044 graphics
2045 [
2046 fill "#000000"
2047 width 3
2048 targetArrow "standard"
2049 ]
2050 LabelGraphics
2051 [
2052 text "commSubsystem reference CommunicatingElement"
2053 fontSize 14
2054 fontName "Consolas"
2055 configuration "AutoFlippingLabel"
2056 model "six_pos"
2057 position "thead"
2058 ]
2059 ]
2060 edge
2061 [
2062 source 30
2063 target 32
2064 graphics
2065 [
2066 fill "#000000"
2067 width 3
2068 targetArrow "standard"
2069 ]
2070 LabelGraphics
2071 [
2072 text "commSubsystem reference CommunicatingElement"
2073 fontSize 14
2074 fontName "Consolas"
2075 configuration "AutoFlippingLabel"
2076 model "six_pos"
2077 position "thead"
2078 ]
2079 ]
2080 edge
2081 [
2082 source 30
2083 target 33
2084 graphics
2085 [
2086 fill "#000000"
2087 width 3
2088 targetArrow "standard"
2089 ]
2090 LabelGraphics
2091 [
2092 text "commSubsystem reference CommunicatingElement"
2093 fontSize 14
2094 fontName "Consolas"
2095 configuration "AutoFlippingLabel"
2096 model "six_pos"
2097 position "thead"
2098 ]
2099 ]
2100 edge
2101 [
2102 source 34
2103 target 35
2104 graphics
2105 [
2106 fill "#000000"
2107 width 3
2108 targetArrow "standard"
2109 ]
2110 LabelGraphics
2111 [
2112 text "commSubsystem reference CommunicatingElement"
2113 fontSize 14
2114 fontName "Consolas"
2115 configuration "AutoFlippingLabel"
2116 model "six_pos"
2117 position "thead"
2118 ]
2119 ]
2120 edge
2121 [
2122 source 34
2123 target 36
2124 graphics
2125 [
2126 fill "#000000"
2127 width 3
2128 targetArrow "standard"
2129 ]
2130 LabelGraphics
2131 [
2132 text "commSubsystem reference CommunicatingElement"
2133 fontSize 14
2134 fontName "Consolas"
2135 configuration "AutoFlippingLabel"
2136 model "six_pos"
2137 position "thead"
2138 ]
2139 ]
2140 edge
2141 [
2142 source 6
2143 target 9
2144 graphics
2145 [
2146 fill "#000000"
2147 width 3
2148 targetArrow "standard"
2149 ]
2150 LabelGraphics
2151 [
2152 text "payload reference Spacecraft"
2153 fontSize 14
2154 fontName "Consolas"
2155 configuration "AutoFlippingLabel"
2156 model "six_pos"
2157 position "thead"
2158 ]
2159 ]
2160 edge
2161 [
2162 source 10
2163 target 13
2164 graphics
2165 [
2166 fill "#000000"
2167 width 3
2168 targetArrow "standard"
2169 ]
2170 LabelGraphics
2171 [
2172 text "payload reference Spacecraft"
2173 fontSize 14
2174 fontName "Consolas"
2175 configuration "AutoFlippingLabel"
2176 model "six_pos"
2177 position "thead"
2178 ]
2179 ]
2180 edge
2181 [
2182 source 14
2183 target 17
2184 graphics
2185 [
2186 fill "#000000"
2187 width 3
2188 targetArrow "standard"
2189 ]
2190 LabelGraphics
2191 [
2192 text "payload reference Spacecraft"
2193 fontSize 14
2194 fontName "Consolas"
2195 configuration "AutoFlippingLabel"
2196 model "six_pos"
2197 position "thead"
2198 ]
2199 ]
2200 edge
2201 [
2202 source 18
2203 target 21
2204 graphics
2205 [
2206 fill "#000000"
2207 width 3
2208 targetArrow "standard"
2209 ]
2210 LabelGraphics
2211 [
2212 text "payload reference Spacecraft"
2213 fontSize 14
2214 fontName "Consolas"
2215 configuration "AutoFlippingLabel"
2216 model "six_pos"
2217 position "thead"
2218 ]
2219 ]
2220 edge
2221 [
2222 source 22
2223 target 25
2224 graphics
2225 [
2226 fill "#000000"
2227 width 3
2228 targetArrow "standard"
2229 ]
2230 LabelGraphics
2231 [
2232 text "payload reference Spacecraft"
2233 fontSize 14
2234 fontName "Consolas"
2235 configuration "AutoFlippingLabel"
2236 model "six_pos"
2237 position "thead"
2238 ]
2239 ]
2240 edge
2241 [
2242 source 26
2243 target 28
2244 graphics
2245 [
2246 fill "#000000"
2247 width 3
2248 targetArrow "standard"
2249 ]
2250 LabelGraphics
2251 [
2252 text "payload reference Spacecraft"
2253 fontSize 14
2254 fontName "Consolas"
2255 configuration "AutoFlippingLabel"
2256 model "six_pos"
2257 position "thead"
2258 ]
2259 ]
2260 edge
2261 [
2262 source 30
2263 target 31
2264 graphics
2265 [
2266 fill "#000000"
2267 width 3
2268 targetArrow "standard"
2269 ]
2270 LabelGraphics
2271 [
2272 text "payload reference Spacecraft"
2273 fontSize 14
2274 fontName "Consolas"
2275 configuration "AutoFlippingLabel"
2276 model "six_pos"
2277 position "thead"
2278 ]
2279 ]
2280 edge
2281 [
2282 source 34
2283 target 37
2284 graphics
2285 [
2286 fill "#000000"
2287 width 3
2288 targetArrow "standard"
2289 ]
2290 LabelGraphics
2291 [
2292 text "payload reference Spacecraft"
2293 fontSize 14
2294 fontName "Consolas"
2295 configuration "AutoFlippingLabel"
2296 model "six_pos"
2297 position "thead"
2298 ]
2299 ]
2300 edge
2301 [
2302 source 7
2303 target 2
2304 graphics
2305 [
2306 fill "#000000"
2307 targetArrow "standard"
2308 ]
2309 LabelGraphics
2310 [
2311 text "target reference CommSubsystem"
2312 fontSize 14
2313 fontName "Consolas"
2314 configuration "AutoFlippingLabel"
2315 model "six_pos"
2316 position "thead"
2317 ]
2318 ]
2319 edge
2320 [
2321 source 11
2322 target 8
2323 graphics
2324 [
2325 fill "#000000"
2326 targetArrow "standard"
2327 ]
2328 LabelGraphics
2329 [
2330 text "target reference CommSubsystem"
2331 fontSize 14
2332 fontName "Consolas"
2333 configuration "AutoFlippingLabel"
2334 model "six_pos"
2335 position "thead"
2336 ]
2337 ]
2338 edge
2339 [
2340 source 15
2341 target 12
2342 graphics
2343 [
2344 fill "#000000"
2345 targetArrow "standard"
2346 ]
2347 LabelGraphics
2348 [
2349 text "target reference CommSubsystem"
2350 fontSize 14
2351 fontName "Consolas"
2352 configuration "AutoFlippingLabel"
2353 model "six_pos"
2354 position "thead"
2355 ]
2356 ]
2357 edge
2358 [
2359 source 20
2360 target 2
2361 graphics
2362 [
2363 fill "#000000"
2364 targetArrow "standard"
2365 ]
2366 LabelGraphics
2367 [
2368 text "target reference CommSubsystem"
2369 fontSize 14
2370 fontName "Consolas"
2371 configuration "AutoFlippingLabel"
2372 model "six_pos"
2373 position "thead"
2374 ]
2375 ]
2376 edge
2377 [
2378 source 23
2379 target 2
2380 graphics
2381 [
2382 fill "#000000"
2383 targetArrow "standard"
2384 ]
2385 LabelGraphics
2386 [
2387 text "target reference CommSubsystem"
2388 fontSize 14
2389 fontName "Consolas"
2390 configuration "AutoFlippingLabel"
2391 model "six_pos"
2392 position "thead"
2393 ]
2394 ]
2395 edge
2396 [
2397 source 29
2398 target 2
2399 graphics
2400 [
2401 fill "#000000"
2402 targetArrow "standard"
2403 ]
2404 LabelGraphics
2405 [
2406 text "target reference CommSubsystem"
2407 fontSize 14
2408 fontName "Consolas"
2409 configuration "AutoFlippingLabel"
2410 model "six_pos"
2411 position "thead"
2412 ]
2413 ]
2414 edge
2415 [
2416 source 32
2417 target 2
2418 graphics
2419 [
2420 fill "#000000"
2421 targetArrow "standard"
2422 ]
2423 LabelGraphics
2424 [
2425 text "target reference CommSubsystem"
2426 fontSize 14
2427 fontName "Consolas"
2428 configuration "AutoFlippingLabel"
2429 model "six_pos"
2430 position "thead"
2431 ]
2432 ]
2433 edge
2434 [
2435 source 35
2436 target 15
2437 graphics
2438 [
2439 fill "#000000"
2440 targetArrow "standard"
2441 ]
2442 LabelGraphics
2443 [
2444 text "target reference CommSubsystem"
2445 fontSize 14
2446 fontName "Consolas"
2447 configuration "AutoFlippingLabel"
2448 model "six_pos"
2449 position "thead"
2450 ]
2451 ]
2452]
2453
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/2.png b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/2.png
new file mode 100644
index 00000000..e00c6b69
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/2.png
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/2.xmi b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/2.xmi
new file mode 100644
index 00000000..d67908e4
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/2.xmi
@@ -0,0 +1,47 @@
1<?xml version="1.0" encoding="ASCII"?>
2<satellite:InterferometryMission xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:satellite="http://www.example.org/satellite" xsi:schemaLocation="http://www.example.org/satellite model/satellite.ecore">
3 <groundStationNetwork>
4 <commSubsystem xsi:type="satellite:KaCommSubsystem"/>
5 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
6 </groundStationNetwork>
7 <spacecraft xsi:type="satellite:CubeSat3U">
8 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
9 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
10 <payload xsi:type="satellite:InterferometryPayload"/>
11 </spacecraft>
12 <spacecraft xsi:type="satellite:CubeSat3U">
13 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
14 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
15 <payload xsi:type="satellite:InterferometryPayload"/>
16 </spacecraft>
17 <spacecraft xsi:type="satellite:CubeSat6U">
18 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
19 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
20 <payload xsi:type="satellite:InterferometryPayload"/>
21 </spacecraft>
22 <spacecraft xsi:type="satellite:CubeSat6U">
23 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@spacecraft.6/@commSubsystem.1"/>
24 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
25 <payload xsi:type="satellite:InterferometryPayload"/>
26 </spacecraft>
27 <spacecraft xsi:type="satellite:SmallSat">
28 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
29 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
30 <payload xsi:type="satellite:InterferometryPayload"/>
31 </spacecraft>
32 <spacecraft xsi:type="satellite:CubeSat6U">
33 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
34 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
35 <payload xsi:type="satellite:InterferometryPayload"/>
36 </spacecraft>
37 <spacecraft xsi:type="satellite:CubeSat6U">
38 <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.2/@commSubsystem.0"/>
39 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
40 <payload xsi:type="satellite:InterferometryPayload"/>
41 </spacecraft>
42 <spacecraft xsi:type="satellite:SmallSat">
43 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@spacecraft.3/@commSubsystem.0"/>
44 <commSubsystem xsi:type="satellite:KaCommSubsystem"/>
45 <payload xsi:type="satellite:InterferometryPayload"/>
46 </spacecraft>
47</satellite:InterferometryMission>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/3.gml b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/3.gml
new file mode 100644
index 00000000..0e6ee88f
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/3.gml
@@ -0,0 +1,2452 @@
1graph
2[
3 node
4 [
5 id 0
6 graphics
7 [
8 w 315.70000000000005
9 h 82
10 type "rectangle"
11 fill "#FFFFFF"
12 fill2 "#FFFFFF"
13 outline "#000000"
14 ]
15 LabelGraphics
16 [
17 text "o 1"
18 outline "#000000"
19 fill "#FFFFFF"
20 fontSize 16
21 fontName "Monospace"
22 autoSizePolicy "node_width"
23 anchor "t"
24 borderDistance 0.0
25 ]
26 LabelGraphics
27 [
28 text "
29 ConstellationMission class DefinedPart
30 InterferometryMission class DefinedPart
31 ConstellationMission class
32 InterferometryMission class
33 "
34 fontSize 14
35 fontName "Consolas"
36 alignment "left"
37 anchor "tl"
38 borderDistance 6
39 ]
40 ]
41
42 node
43 [
44 id 1
45 graphics
46 [
47 w 308.0
48 h 82
49 type "rectangle"
50 fill "#FFFFFF"
51 fill2 "#FFFFFF"
52 outline "#000000"
53 ]
54 LabelGraphics
55 [
56 text "o 2"
57 outline "#000000"
58 fill "#FFFFFF"
59 fontSize 16
60 fontName "Monospace"
61 autoSizePolicy "node_width"
62 anchor "t"
63 borderDistance 0.0
64 ]
65 LabelGraphics
66 [
67 text "
68 CommunicatingElement class DefinedPart
69 GroundStationNetwork class DefinedPart
70 CommunicatingElement class
71 GroundStationNetwork class
72 "
73 fontSize 14
74 fontName "Consolas"
75 alignment "left"
76 anchor "tl"
77 borderDistance 6
78 ]
79 ]
80
81 node
82 [
83 id 2
84 graphics
85 [
86 w 261.8
87 h 82
88 type "rectangle"
89 fill "#FFFFFF"
90 fill2 "#FFFFFF"
91 outline "#000000"
92 ]
93 LabelGraphics
94 [
95 text "o 3"
96 outline "#000000"
97 fill "#FFFFFF"
98 fontSize 16
99 fontName "Monospace"
100 autoSizePolicy "node_width"
101 anchor "t"
102 borderDistance 0.0
103 ]
104 LabelGraphics
105 [
106 text "
107 CommSubsystem class DefinedPart
108 XCommSubsystem class DefinedPart
109 CommSubsystem class
110 XCommSubsystem class
111 "
112 fontSize 14
113 fontName "Consolas"
114 alignment "left"
115 anchor "tl"
116 borderDistance 6
117 ]
118 ]
119
120 node
121 [
122 id 3
123 graphics
124 [
125 w 269.5
126 h 82
127 type "rectangle"
128 fill "#FFFFFF"
129 fill2 "#FFFFFF"
130 outline "#000000"
131 ]
132 LabelGraphics
133 [
134 text "o 4"
135 outline "#000000"
136 fill "#FFFFFF"
137 fontSize 16
138 fontName "Monospace"
139 autoSizePolicy "node_width"
140 anchor "t"
141 borderDistance 0.0
142 ]
143 LabelGraphics
144 [
145 text "
146 CommSubsystem class DefinedPart
147 KaCommSubsystem class DefinedPart
148 CommSubsystem class
149 KaCommSubsystem class
150 "
151 fontSize 14
152 fontName "Consolas"
153 alignment "left"
154 anchor "tl"
155 borderDistance 6
156 ]
157 ]
158
159 node
160 [
161 id 4
162 graphics
163 [
164 w 41.800000000000004
165 h 26
166 type "rectangle"
167 fill "#FFFFFF"
168 fill2 "#FFFFFF"
169 outline "#000000"
170 ]
171 LabelGraphics
172 [
173 text "true"
174 outline "#000000"
175 fill "#FFFFFF"
176 fontSize 16
177 fontName "Monospace"
178 autoSizePolicy "node_width"
179 anchor "t"
180 borderDistance 0.0
181 ]
182 LabelGraphics
183 [
184 text "
185 "
186 fontSize 14
187 fontName "Consolas"
188 alignment "left"
189 anchor "tl"
190 borderDistance 6
191 ]
192 ]
193
194 node
195 [
196 id 5
197 graphics
198 [
199 w 50.6
200 h 26
201 type "rectangle"
202 fill "#FFFFFF"
203 fill2 "#FFFFFF"
204 outline "#000000"
205 ]
206 LabelGraphics
207 [
208 text "false"
209 outline "#000000"
210 fill "#FFFFFF"
211 fontSize 16
212 fontName "Monospace"
213 autoSizePolicy "node_width"
214 anchor "t"
215 borderDistance 0.0
216 ]
217 LabelGraphics
218 [
219 text "
220 "
221 fontSize 14
222 fontName "Consolas"
223 alignment "left"
224 anchor "tl"
225 borderDistance 6
226 ]
227 ]
228
229 node
230 [
231 id 6
232 graphics
233 [
234 w 323.40000000000003
235 h 96
236 type "rectangle"
237 fill "#FFFFFF"
238 fill2 "#FFFFFF"
239 outline "#000000"
240 ]
241 LabelGraphics
242 [
243 text "null"
244 outline "#000000"
245 fill "#FFFFFF"
246 fontSize 16
247 fontName "Monospace"
248 autoSizePolicy "node_width"
249 anchor "t"
250 borderDistance 0.0
251 ]
252 LabelGraphics
253 [
254 text "
255 CommunicatingElement class
256 Spacecraft class
257 CubeSat6U class
258 CubeSat class
259 CommunicatingElement class UndefinedPart
260 "
261 fontSize 14
262 fontName "Consolas"
263 alignment "left"
264 anchor "tl"
265 borderDistance 6
266 ]
267 ]
268
269 node
270 [
271 id 7
272 graphics
273 [
274 w 277.20000000000005
275 h 82
276 type "rectangle"
277 fill "#FFFFFF"
278 fill2 "#FFFFFF"
279 outline "#000000"
280 ]
281 LabelGraphics
282 [
283 text "null"
284 outline "#000000"
285 fill "#FFFFFF"
286 fontSize 16
287 fontName "Monospace"
288 autoSizePolicy "node_width"
289 anchor "t"
290 borderDistance 0.0
291 ]
292 LabelGraphics
293 [
294 text "
295 CommSubsystem class
296 XCommSubsystem class
297 CommSubsystem class UndefinedPart
298 XCommSubsystem class UndefinedPart
299 "
300 fontSize 14
301 fontName "Consolas"
302 alignment "left"
303 anchor "tl"
304 borderDistance 6
305 ]
306 ]
307
308 node
309 [
310 id 8
311 graphics
312 [
313 w 269.5
314 h 68
315 type "rectangle"
316 fill "#FFFFFF"
317 fill2 "#FFFFFF"
318 outline "#000000"
319 ]
320 LabelGraphics
321 [
322 text "null"
323 outline "#000000"
324 fill "#FFFFFF"
325 fontSize 16
326 fontName "Monospace"
327 autoSizePolicy "node_width"
328 anchor "t"
329 borderDistance 0.0
330 ]
331 LabelGraphics
332 [
333 text "
334 CommSubsystem class
335 UHFCommSubsystem class
336 CommSubsystem class UndefinedPart
337 "
338 fontSize 14
339 fontName "Consolas"
340 alignment "left"
341 anchor "tl"
342 borderDistance 6
343 ]
344 ]
345
346 node
347 [
348 id 9
349 graphics
350 [
351 w 223.3
352 h 54
353 type "rectangle"
354 fill "#FFFFFF"
355 fill2 "#FFFFFF"
356 outline "#000000"
357 ]
358 LabelGraphics
359 [
360 text "null"
361 outline "#000000"
362 fill "#FFFFFF"
363 fontSize 16
364 fontName "Monospace"
365 autoSizePolicy "node_width"
366 anchor "t"
367 borderDistance 0.0
368 ]
369 LabelGraphics
370 [
371 text "
372 Payload class
373 InterferometryPayload class
374 "
375 fontSize 14
376 fontName "Consolas"
377 alignment "left"
378 anchor "tl"
379 borderDistance 6
380 ]
381 ]
382
383 node
384 [
385 id 10
386 graphics
387 [
388 w 323.40000000000003
389 h 96
390 type "rectangle"
391 fill "#FFFFFF"
392 fill2 "#FFFFFF"
393 outline "#000000"
394 ]
395 LabelGraphics
396 [
397 text "null"
398 outline "#000000"
399 fill "#FFFFFF"
400 fontSize 16
401 fontName "Monospace"
402 autoSizePolicy "node_width"
403 anchor "t"
404 borderDistance 0.0
405 ]
406 LabelGraphics
407 [
408 text "
409 CommunicatingElement class
410 Spacecraft class
411 CubeSat6U class
412 CubeSat class
413 CommunicatingElement class UndefinedPart
414 "
415 fontSize 14
416 fontName "Consolas"
417 alignment "left"
418 anchor "tl"
419 borderDistance 6
420 ]
421 ]
422
423 node
424 [
425 id 11
426 graphics
427 [
428 w 269.5
429 h 68
430 type "rectangle"
431 fill "#FFFFFF"
432 fill2 "#FFFFFF"
433 outline "#000000"
434 ]
435 LabelGraphics
436 [
437 text "null"
438 outline "#000000"
439 fill "#FFFFFF"
440 fontSize 16
441 fontName "Monospace"
442 autoSizePolicy "node_width"
443 anchor "t"
444 borderDistance 0.0
445 ]
446 LabelGraphics
447 [
448 text "
449 CommSubsystem class
450 UHFCommSubsystem class
451 CommSubsystem class UndefinedPart
452 "
453 fontSize 14
454 fontName "Consolas"
455 alignment "left"
456 anchor "tl"
457 borderDistance 6
458 ]
459 ]
460
461 node
462 [
463 id 12
464 graphics
465 [
466 w 277.20000000000005
467 h 82
468 type "rectangle"
469 fill "#FFFFFF"
470 fill2 "#FFFFFF"
471 outline "#000000"
472 ]
473 LabelGraphics
474 [
475 text "null"
476 outline "#000000"
477 fill "#FFFFFF"
478 fontSize 16
479 fontName "Monospace"
480 autoSizePolicy "node_width"
481 anchor "t"
482 borderDistance 0.0
483 ]
484 LabelGraphics
485 [
486 text "
487 CommSubsystem class
488 XCommSubsystem class
489 CommSubsystem class UndefinedPart
490 XCommSubsystem class UndefinedPart
491 "
492 fontSize 14
493 fontName "Consolas"
494 alignment "left"
495 anchor "tl"
496 borderDistance 6
497 ]
498 ]
499
500 node
501 [
502 id 13
503 graphics
504 [
505 w 223.3
506 h 54
507 type "rectangle"
508 fill "#FFFFFF"
509 fill2 "#FFFFFF"
510 outline "#000000"
511 ]
512 LabelGraphics
513 [
514 text "null"
515 outline "#000000"
516 fill "#FFFFFF"
517 fontSize 16
518 fontName "Monospace"
519 autoSizePolicy "node_width"
520 anchor "t"
521 borderDistance 0.0
522 ]
523 LabelGraphics
524 [
525 text "
526 Payload class
527 InterferometryPayload class
528 "
529 fontSize 14
530 fontName "Consolas"
531 alignment "left"
532 anchor "tl"
533 borderDistance 6
534 ]
535 ]
536
537 node
538 [
539 id 14
540 graphics
541 [
542 w 323.40000000000003
543 h 96
544 type "rectangle"
545 fill "#FFFFFF"
546 fill2 "#FFFFFF"
547 outline "#000000"
548 ]
549 LabelGraphics
550 [
551 text "null"
552 outline "#000000"
553 fill "#FFFFFF"
554 fontSize 16
555 fontName "Monospace"
556 autoSizePolicy "node_width"
557 anchor "t"
558 borderDistance 0.0
559 ]
560 LabelGraphics
561 [
562 text "
563 CommunicatingElement class
564 Spacecraft class
565 CubeSat6U class
566 CubeSat class
567 CommunicatingElement class UndefinedPart
568 "
569 fontSize 14
570 fontName "Consolas"
571 alignment "left"
572 anchor "tl"
573 borderDistance 6
574 ]
575 ]
576
577 node
578 [
579 id 15
580 graphics
581 [
582 w 277.20000000000005
583 h 82
584 type "rectangle"
585 fill "#FFFFFF"
586 fill2 "#FFFFFF"
587 outline "#000000"
588 ]
589 LabelGraphics
590 [
591 text "null"
592 outline "#000000"
593 fill "#FFFFFF"
594 fontSize 16
595 fontName "Monospace"
596 autoSizePolicy "node_width"
597 anchor "t"
598 borderDistance 0.0
599 ]
600 LabelGraphics
601 [
602 text "
603 CommSubsystem class
604 XCommSubsystem class
605 CommSubsystem class UndefinedPart
606 XCommSubsystem class UndefinedPart
607 "
608 fontSize 14
609 fontName "Consolas"
610 alignment "left"
611 anchor "tl"
612 borderDistance 6
613 ]
614 ]
615
616 node
617 [
618 id 16
619 graphics
620 [
621 w 269.5
622 h 68
623 type "rectangle"
624 fill "#FFFFFF"
625 fill2 "#FFFFFF"
626 outline "#000000"
627 ]
628 LabelGraphics
629 [
630 text "null"
631 outline "#000000"
632 fill "#FFFFFF"
633 fontSize 16
634 fontName "Monospace"
635 autoSizePolicy "node_width"
636 anchor "t"
637 borderDistance 0.0
638 ]
639 LabelGraphics
640 [
641 text "
642 CommSubsystem class
643 UHFCommSubsystem class
644 CommSubsystem class UndefinedPart
645 "
646 fontSize 14
647 fontName "Consolas"
648 alignment "left"
649 anchor "tl"
650 borderDistance 6
651 ]
652 ]
653
654 node
655 [
656 id 17
657 graphics
658 [
659 w 223.3
660 h 54
661 type "rectangle"
662 fill "#FFFFFF"
663 fill2 "#FFFFFF"
664 outline "#000000"
665 ]
666 LabelGraphics
667 [
668 text "null"
669 outline "#000000"
670 fill "#FFFFFF"
671 fontSize 16
672 fontName "Monospace"
673 autoSizePolicy "node_width"
674 anchor "t"
675 borderDistance 0.0
676 ]
677 LabelGraphics
678 [
679 text "
680 Payload class
681 InterferometryPayload class
682 "
683 fontSize 14
684 fontName "Consolas"
685 alignment "left"
686 anchor "tl"
687 borderDistance 6
688 ]
689 ]
690
691 node
692 [
693 id 18
694 graphics
695 [
696 w 323.40000000000003
697 h 96
698 type "rectangle"
699 fill "#FFFFFF"
700 fill2 "#FFFFFF"
701 outline "#000000"
702 ]
703 LabelGraphics
704 [
705 text "null"
706 outline "#000000"
707 fill "#FFFFFF"
708 fontSize 16
709 fontName "Monospace"
710 autoSizePolicy "node_width"
711 anchor "t"
712 borderDistance 0.0
713 ]
714 LabelGraphics
715 [
716 text "
717 CommunicatingElement class
718 Spacecraft class
719 CubeSat3U class
720 CubeSat class
721 CommunicatingElement class UndefinedPart
722 "
723 fontSize 14
724 fontName "Consolas"
725 alignment "left"
726 anchor "tl"
727 borderDistance 6
728 ]
729 ]
730
731 node
732 [
733 id 19
734 graphics
735 [
736 w 277.20000000000005
737 h 82
738 type "rectangle"
739 fill "#FFFFFF"
740 fill2 "#FFFFFF"
741 outline "#000000"
742 ]
743 LabelGraphics
744 [
745 text "null"
746 outline "#000000"
747 fill "#FFFFFF"
748 fontSize 16
749 fontName "Monospace"
750 autoSizePolicy "node_width"
751 anchor "t"
752 borderDistance 0.0
753 ]
754 LabelGraphics
755 [
756 text "
757 CommSubsystem class
758 XCommSubsystem class
759 CommSubsystem class UndefinedPart
760 XCommSubsystem class UndefinedPart
761 "
762 fontSize 14
763 fontName "Consolas"
764 alignment "left"
765 anchor "tl"
766 borderDistance 6
767 ]
768 ]
769
770 node
771 [
772 id 20
773 graphics
774 [
775 w 277.20000000000005
776 h 82
777 type "rectangle"
778 fill "#FFFFFF"
779 fill2 "#FFFFFF"
780 outline "#000000"
781 ]
782 LabelGraphics
783 [
784 text "null"
785 outline "#000000"
786 fill "#FFFFFF"
787 fontSize 16
788 fontName "Monospace"
789 autoSizePolicy "node_width"
790 anchor "t"
791 borderDistance 0.0
792 ]
793 LabelGraphics
794 [
795 text "
796 CommSubsystem class
797 XCommSubsystem class
798 CommSubsystem class UndefinedPart
799 XCommSubsystem class UndefinedPart
800 "
801 fontSize 14
802 fontName "Consolas"
803 alignment "left"
804 anchor "tl"
805 borderDistance 6
806 ]
807 ]
808
809 node
810 [
811 id 21
812 graphics
813 [
814 w 223.3
815 h 54
816 type "rectangle"
817 fill "#FFFFFF"
818 fill2 "#FFFFFF"
819 outline "#000000"
820 ]
821 LabelGraphics
822 [
823 text "null"
824 outline "#000000"
825 fill "#FFFFFF"
826 fontSize 16
827 fontName "Monospace"
828 autoSizePolicy "node_width"
829 anchor "t"
830 borderDistance 0.0
831 ]
832 LabelGraphics
833 [
834 text "
835 Payload class
836 InterferometryPayload class
837 "
838 fontSize 14
839 fontName "Consolas"
840 alignment "left"
841 anchor "tl"
842 borderDistance 6
843 ]
844 ]
845
846 node
847 [
848 id 22
849 graphics
850 [
851 w 323.40000000000003
852 h 96
853 type "rectangle"
854 fill "#FFFFFF"
855 fill2 "#FFFFFF"
856 outline "#000000"
857 ]
858 LabelGraphics
859 [
860 text "null"
861 outline "#000000"
862 fill "#FFFFFF"
863 fontSize 16
864 fontName "Monospace"
865 autoSizePolicy "node_width"
866 anchor "t"
867 borderDistance 0.0
868 ]
869 LabelGraphics
870 [
871 text "
872 CommunicatingElement class
873 Spacecraft class
874 CubeSat3U class
875 CubeSat class
876 CommunicatingElement class UndefinedPart
877 "
878 fontSize 14
879 fontName "Consolas"
880 alignment "left"
881 anchor "tl"
882 borderDistance 6
883 ]
884 ]
885
886 node
887 [
888 id 23
889 graphics
890 [
891 w 277.20000000000005
892 h 82
893 type "rectangle"
894 fill "#FFFFFF"
895 fill2 "#FFFFFF"
896 outline "#000000"
897 ]
898 LabelGraphics
899 [
900 text "null"
901 outline "#000000"
902 fill "#FFFFFF"
903 fontSize 16
904 fontName "Monospace"
905 autoSizePolicy "node_width"
906 anchor "t"
907 borderDistance 0.0
908 ]
909 LabelGraphics
910 [
911 text "
912 CommSubsystem class
913 XCommSubsystem class
914 CommSubsystem class UndefinedPart
915 XCommSubsystem class UndefinedPart
916 "
917 fontSize 14
918 fontName "Consolas"
919 alignment "left"
920 anchor "tl"
921 borderDistance 6
922 ]
923 ]
924
925 node
926 [
927 id 24
928 graphics
929 [
930 w 269.5
931 h 68
932 type "rectangle"
933 fill "#FFFFFF"
934 fill2 "#FFFFFF"
935 outline "#000000"
936 ]
937 LabelGraphics
938 [
939 text "null"
940 outline "#000000"
941 fill "#FFFFFF"
942 fontSize 16
943 fontName "Monospace"
944 autoSizePolicy "node_width"
945 anchor "t"
946 borderDistance 0.0
947 ]
948 LabelGraphics
949 [
950 text "
951 CommSubsystem class
952 UHFCommSubsystem class
953 CommSubsystem class UndefinedPart
954 "
955 fontSize 14
956 fontName "Consolas"
957 alignment "left"
958 anchor "tl"
959 borderDistance 6
960 ]
961 ]
962
963 node
964 [
965 id 25
966 graphics
967 [
968 w 223.3
969 h 54
970 type "rectangle"
971 fill "#FFFFFF"
972 fill2 "#FFFFFF"
973 outline "#000000"
974 ]
975 LabelGraphics
976 [
977 text "null"
978 outline "#000000"
979 fill "#FFFFFF"
980 fontSize 16
981 fontName "Monospace"
982 autoSizePolicy "node_width"
983 anchor "t"
984 borderDistance 0.0
985 ]
986 LabelGraphics
987 [
988 text "
989 Payload class
990 InterferometryPayload class
991 "
992 fontSize 14
993 fontName "Consolas"
994 alignment "left"
995 anchor "tl"
996 borderDistance 6
997 ]
998 ]
999
1000 node
1001 [
1002 id 26
1003 graphics
1004 [
1005 w 323.40000000000003
1006 h 82
1007 type "rectangle"
1008 fill "#FFFFFF"
1009 fill2 "#FFFFFF"
1010 outline "#000000"
1011 ]
1012 LabelGraphics
1013 [
1014 text "null"
1015 outline "#000000"
1016 fill "#FFFFFF"
1017 fontSize 16
1018 fontName "Monospace"
1019 autoSizePolicy "node_width"
1020 anchor "t"
1021 borderDistance 0.0
1022 ]
1023 LabelGraphics
1024 [
1025 text "
1026 CommunicatingElement class
1027 Spacecraft class
1028 SmallSat class
1029 CommunicatingElement class UndefinedPart
1030 "
1031 fontSize 14
1032 fontName "Consolas"
1033 alignment "left"
1034 anchor "tl"
1035 borderDistance 6
1036 ]
1037 ]
1038
1039 node
1040 [
1041 id 27
1042 graphics
1043 [
1044 w 269.5
1045 h 68
1046 type "rectangle"
1047 fill "#FFFFFF"
1048 fill2 "#FFFFFF"
1049 outline "#000000"
1050 ]
1051 LabelGraphics
1052 [
1053 text "null"
1054 outline "#000000"
1055 fill "#FFFFFF"
1056 fontSize 16
1057 fontName "Monospace"
1058 autoSizePolicy "node_width"
1059 anchor "t"
1060 borderDistance 0.0
1061 ]
1062 LabelGraphics
1063 [
1064 text "
1065 CommSubsystem class
1066 UHFCommSubsystem class
1067 CommSubsystem class UndefinedPart
1068 "
1069 fontSize 14
1070 fontName "Consolas"
1071 alignment "left"
1072 anchor "tl"
1073 borderDistance 6
1074 ]
1075 ]
1076
1077 node
1078 [
1079 id 28
1080 graphics
1081 [
1082 w 223.3
1083 h 54
1084 type "rectangle"
1085 fill "#FFFFFF"
1086 fill2 "#FFFFFF"
1087 outline "#000000"
1088 ]
1089 LabelGraphics
1090 [
1091 text "null"
1092 outline "#000000"
1093 fill "#FFFFFF"
1094 fontSize 16
1095 fontName "Monospace"
1096 autoSizePolicy "node_width"
1097 anchor "t"
1098 borderDistance 0.0
1099 ]
1100 LabelGraphics
1101 [
1102 text "
1103 Payload class
1104 InterferometryPayload class
1105 "
1106 fontSize 14
1107 fontName "Consolas"
1108 alignment "left"
1109 anchor "tl"
1110 borderDistance 6
1111 ]
1112 ]
1113
1114 node
1115 [
1116 id 29
1117 graphics
1118 [
1119 w 277.20000000000005
1120 h 82
1121 type "rectangle"
1122 fill "#FFFFFF"
1123 fill2 "#FFFFFF"
1124 outline "#000000"
1125 ]
1126 LabelGraphics
1127 [
1128 text "null"
1129 outline "#000000"
1130 fill "#FFFFFF"
1131 fontSize 16
1132 fontName "Monospace"
1133 autoSizePolicy "node_width"
1134 anchor "t"
1135 borderDistance 0.0
1136 ]
1137 LabelGraphics
1138 [
1139 text "
1140 CommSubsystem class
1141 XCommSubsystem class
1142 CommSubsystem class UndefinedPart
1143 XCommSubsystem class UndefinedPart
1144 "
1145 fontSize 14
1146 fontName "Consolas"
1147 alignment "left"
1148 anchor "tl"
1149 borderDistance 6
1150 ]
1151 ]
1152
1153 node
1154 [
1155 id 30
1156 graphics
1157 [
1158 w 323.40000000000003
1159 h 96
1160 type "rectangle"
1161 fill "#FFFFFF"
1162 fill2 "#FFFFFF"
1163 outline "#000000"
1164 ]
1165 LabelGraphics
1166 [
1167 text "null"
1168 outline "#000000"
1169 fill "#FFFFFF"
1170 fontSize 16
1171 fontName "Monospace"
1172 autoSizePolicy "node_width"
1173 anchor "t"
1174 borderDistance 0.0
1175 ]
1176 LabelGraphics
1177 [
1178 text "
1179 CommunicatingElement class
1180 Spacecraft class
1181 CubeSat6U class
1182 CubeSat class
1183 CommunicatingElement class UndefinedPart
1184 "
1185 fontSize 14
1186 fontName "Consolas"
1187 alignment "left"
1188 anchor "tl"
1189 borderDistance 6
1190 ]
1191 ]
1192
1193 node
1194 [
1195 id 31
1196 graphics
1197 [
1198 w 223.3
1199 h 54
1200 type "rectangle"
1201 fill "#FFFFFF"
1202 fill2 "#FFFFFF"
1203 outline "#000000"
1204 ]
1205 LabelGraphics
1206 [
1207 text "null"
1208 outline "#000000"
1209 fill "#FFFFFF"
1210 fontSize 16
1211 fontName "Monospace"
1212 autoSizePolicy "node_width"
1213 anchor "t"
1214 borderDistance 0.0
1215 ]
1216 LabelGraphics
1217 [
1218 text "
1219 Payload class
1220 InterferometryPayload class
1221 "
1222 fontSize 14
1223 fontName "Consolas"
1224 alignment "left"
1225 anchor "tl"
1226 borderDistance 6
1227 ]
1228 ]
1229
1230 node
1231 [
1232 id 32
1233 graphics
1234 [
1235 w 277.20000000000005
1236 h 82
1237 type "rectangle"
1238 fill "#FFFFFF"
1239 fill2 "#FFFFFF"
1240 outline "#000000"
1241 ]
1242 LabelGraphics
1243 [
1244 text "null"
1245 outline "#000000"
1246 fill "#FFFFFF"
1247 fontSize 16
1248 fontName "Monospace"
1249 autoSizePolicy "node_width"
1250 anchor "t"
1251 borderDistance 0.0
1252 ]
1253 LabelGraphics
1254 [
1255 text "
1256 CommSubsystem class
1257 XCommSubsystem class
1258 CommSubsystem class UndefinedPart
1259 XCommSubsystem class UndefinedPart
1260 "
1261 fontSize 14
1262 fontName "Consolas"
1263 alignment "left"
1264 anchor "tl"
1265 borderDistance 6
1266 ]
1267 ]
1268
1269 node
1270 [
1271 id 33
1272 graphics
1273 [
1274 w 269.5
1275 h 68
1276 type "rectangle"
1277 fill "#FFFFFF"
1278 fill2 "#FFFFFF"
1279 outline "#000000"
1280 ]
1281 LabelGraphics
1282 [
1283 text "null"
1284 outline "#000000"
1285 fill "#FFFFFF"
1286 fontSize 16
1287 fontName "Monospace"
1288 autoSizePolicy "node_width"
1289 anchor "t"
1290 borderDistance 0.0
1291 ]
1292 LabelGraphics
1293 [
1294 text "
1295 CommSubsystem class
1296 UHFCommSubsystem class
1297 CommSubsystem class UndefinedPart
1298 "
1299 fontSize 14
1300 fontName "Consolas"
1301 alignment "left"
1302 anchor "tl"
1303 borderDistance 6
1304 ]
1305 ]
1306
1307 node
1308 [
1309 id 34
1310 graphics
1311 [
1312 w 323.40000000000003
1313 h 82
1314 type "rectangle"
1315 fill "#FFFFFF"
1316 fill2 "#FFFFFF"
1317 outline "#000000"
1318 ]
1319 LabelGraphics
1320 [
1321 text "null"
1322 outline "#000000"
1323 fill "#FFFFFF"
1324 fontSize 16
1325 fontName "Monospace"
1326 autoSizePolicy "node_width"
1327 anchor "t"
1328 borderDistance 0.0
1329 ]
1330 LabelGraphics
1331 [
1332 text "
1333 CommunicatingElement class
1334 Spacecraft class
1335 SmallSat class
1336 CommunicatingElement class UndefinedPart
1337 "
1338 fontSize 14
1339 fontName "Consolas"
1340 alignment "left"
1341 anchor "tl"
1342 borderDistance 6
1343 ]
1344 ]
1345
1346 node
1347 [
1348 id 35
1349 graphics
1350 [
1351 w 277.20000000000005
1352 h 82
1353 type "rectangle"
1354 fill "#FFFFFF"
1355 fill2 "#FFFFFF"
1356 outline "#000000"
1357 ]
1358 LabelGraphics
1359 [
1360 text "null"
1361 outline "#000000"
1362 fill "#FFFFFF"
1363 fontSize 16
1364 fontName "Monospace"
1365 autoSizePolicy "node_width"
1366 anchor "t"
1367 borderDistance 0.0
1368 ]
1369 LabelGraphics
1370 [
1371 text "
1372 CommSubsystem class
1373 XCommSubsystem class
1374 CommSubsystem class UndefinedPart
1375 XCommSubsystem class UndefinedPart
1376 "
1377 fontSize 14
1378 fontName "Consolas"
1379 alignment "left"
1380 anchor "tl"
1381 borderDistance 6
1382 ]
1383 ]
1384
1385 node
1386 [
1387 id 36
1388 graphics
1389 [
1390 w 223.3
1391 h 54
1392 type "rectangle"
1393 fill "#FFFFFF"
1394 fill2 "#FFFFFF"
1395 outline "#000000"
1396 ]
1397 LabelGraphics
1398 [
1399 text "null"
1400 outline "#000000"
1401 fill "#FFFFFF"
1402 fontSize 16
1403 fontName "Monospace"
1404 autoSizePolicy "node_width"
1405 anchor "t"
1406 borderDistance 0.0
1407 ]
1408 LabelGraphics
1409 [
1410 text "
1411 Payload class
1412 InterferometryPayload class
1413 "
1414 fontSize 14
1415 fontName "Consolas"
1416 alignment "left"
1417 anchor "tl"
1418 borderDistance 6
1419 ]
1420 ]
1421
1422 node
1423 [
1424 id 37
1425 graphics
1426 [
1427 w 269.5
1428 h 68
1429 type "rectangle"
1430 fill "#FFFFFF"
1431 fill2 "#FFFFFF"
1432 outline "#000000"
1433 ]
1434 LabelGraphics
1435 [
1436 text "null"
1437 outline "#000000"
1438 fill "#FFFFFF"
1439 fontSize 16
1440 fontName "Monospace"
1441 autoSizePolicy "node_width"
1442 anchor "t"
1443 borderDistance 0.0
1444 ]
1445 LabelGraphics
1446 [
1447 text "
1448 CommSubsystem class
1449 UHFCommSubsystem class
1450 CommSubsystem class UndefinedPart
1451 "
1452 fontSize 14
1453 fontName "Consolas"
1454 alignment "left"
1455 anchor "tl"
1456 borderDistance 6
1457 ]
1458 ]
1459
1460 node
1461 [
1462 id 38
1463 graphics
1464 [
1465 w 112.2
1466 h 26
1467 type "rectangle"
1468 fill "#FFFFFF"
1469 fill2 "#FFFFFF"
1470 outline "#000000"
1471 ]
1472 LabelGraphics
1473 [
1474 text "New Integers"
1475 outline "#000000"
1476 fill "#FFFFFF"
1477 fontSize 16
1478 fontName "Monospace"
1479 autoSizePolicy "node_width"
1480 anchor "t"
1481 borderDistance 0.0
1482 ]
1483 LabelGraphics
1484 [
1485 text "
1486 "
1487 fontSize 14
1488 fontName "Consolas"
1489 alignment "left"
1490 anchor "tl"
1491 borderDistance 6
1492 ]
1493 ]
1494
1495 node
1496 [
1497 id 39
1498 graphics
1499 [
1500 w 85.80000000000001
1501 h 26
1502 type "rectangle"
1503 fill "#FFFFFF"
1504 fill2 "#FFFFFF"
1505 outline "#000000"
1506 ]
1507 LabelGraphics
1508 [
1509 text "New Reals"
1510 outline "#000000"
1511 fill "#FFFFFF"
1512 fontSize 16
1513 fontName "Monospace"
1514 autoSizePolicy "node_width"
1515 anchor "t"
1516 borderDistance 0.0
1517 ]
1518 LabelGraphics
1519 [
1520 text "
1521 "
1522 fontSize 14
1523 fontName "Consolas"
1524 alignment "left"
1525 anchor "tl"
1526 borderDistance 6
1527 ]
1528 ]
1529
1530 node
1531 [
1532 id 40
1533 graphics
1534 [
1535 w 103.4
1536 h 26
1537 type "rectangle"
1538 fill "#FFFFFF"
1539 fill2 "#FFFFFF"
1540 outline "#000000"
1541 ]
1542 LabelGraphics
1543 [
1544 text "New Strings"
1545 outline "#000000"
1546 fill "#FFFFFF"
1547 fontSize 16
1548 fontName "Monospace"
1549 autoSizePolicy "node_width"
1550 anchor "t"
1551 borderDistance 0.0
1552 ]
1553 LabelGraphics
1554 [
1555 text "
1556 "
1557 fontSize 14
1558 fontName "Consolas"
1559 alignment "left"
1560 anchor "tl"
1561 borderDistance 6
1562 ]
1563 ]
1564
1565 node
1566 [
1567 id 41
1568 graphics
1569 [
1570 w 103.4
1571 h 26
1572 type "rectangle"
1573 fill "#FFFFFF"
1574 fill2 "#FFFFFF"
1575 outline "#000000"
1576 ]
1577 LabelGraphics
1578 [
1579 text "New Objects"
1580 outline "#000000"
1581 fill "#FFFFFF"
1582 fontSize 16
1583 fontName "Monospace"
1584 autoSizePolicy "node_width"
1585 anchor "t"
1586 borderDistance 0.0
1587 ]
1588 LabelGraphics
1589 [
1590 text "
1591 "
1592 fontSize 14
1593 fontName "Consolas"
1594 alignment "left"
1595 anchor "tl"
1596 borderDistance 6
1597 ]
1598 ]
1599 edge
1600 [
1601 source 0
1602 target 1
1603 graphics
1604 [
1605 fill "#000000"
1606 width 3
1607 targetArrow "standard"
1608 ]
1609 LabelGraphics
1610 [
1611 text "groundStationNetwork reference ConstellationMission"
1612 fontSize 14
1613 fontName "Consolas"
1614 configuration "AutoFlippingLabel"
1615 model "six_pos"
1616 position "thead"
1617 ]
1618 ]
1619 edge
1620 [
1621 source 0
1622 target 6
1623 graphics
1624 [
1625 fill "#000000"
1626 width 3
1627 targetArrow "standard"
1628 ]
1629 LabelGraphics
1630 [
1631 text "spacecraft reference ConstellationMission"
1632 fontSize 14
1633 fontName "Consolas"
1634 configuration "AutoFlippingLabel"
1635 model "six_pos"
1636 position "thead"
1637 ]
1638 ]
1639 edge
1640 [
1641 source 0
1642 target 10
1643 graphics
1644 [
1645 fill "#000000"
1646 width 3
1647 targetArrow "standard"
1648 ]
1649 LabelGraphics
1650 [
1651 text "spacecraft reference ConstellationMission"
1652 fontSize 14
1653 fontName "Consolas"
1654 configuration "AutoFlippingLabel"
1655 model "six_pos"
1656 position "thead"
1657 ]
1658 ]
1659 edge
1660 [
1661 source 0
1662 target 14
1663 graphics
1664 [
1665 fill "#000000"
1666 width 3
1667 targetArrow "standard"
1668 ]
1669 LabelGraphics
1670 [
1671 text "spacecraft reference ConstellationMission"
1672 fontSize 14
1673 fontName "Consolas"
1674 configuration "AutoFlippingLabel"
1675 model "six_pos"
1676 position "thead"
1677 ]
1678 ]
1679 edge
1680 [
1681 source 0
1682 target 18
1683 graphics
1684 [
1685 fill "#000000"
1686 width 3
1687 targetArrow "standard"
1688 ]
1689 LabelGraphics
1690 [
1691 text "spacecraft reference ConstellationMission"
1692 fontSize 14
1693 fontName "Consolas"
1694 configuration "AutoFlippingLabel"
1695 model "six_pos"
1696 position "thead"
1697 ]
1698 ]
1699 edge
1700 [
1701 source 0
1702 target 22
1703 graphics
1704 [
1705 fill "#000000"
1706 width 3
1707 targetArrow "standard"
1708 ]
1709 LabelGraphics
1710 [
1711 text "spacecraft reference ConstellationMission"
1712 fontSize 14
1713 fontName "Consolas"
1714 configuration "AutoFlippingLabel"
1715 model "six_pos"
1716 position "thead"
1717 ]
1718 ]
1719 edge
1720 [
1721 source 0
1722 target 26
1723 graphics
1724 [
1725 fill "#000000"
1726 width 3
1727 targetArrow "standard"
1728 ]
1729 LabelGraphics
1730 [
1731 text "spacecraft reference ConstellationMission"
1732 fontSize 14
1733 fontName "Consolas"
1734 configuration "AutoFlippingLabel"
1735 model "six_pos"
1736 position "thead"
1737 ]
1738 ]
1739 edge
1740 [
1741 source 0
1742 target 30
1743 graphics
1744 [
1745 fill "#000000"
1746 width 3
1747 targetArrow "standard"
1748 ]
1749 LabelGraphics
1750 [
1751 text "spacecraft reference ConstellationMission"
1752 fontSize 14
1753 fontName "Consolas"
1754 configuration "AutoFlippingLabel"
1755 model "six_pos"
1756 position "thead"
1757 ]
1758 ]
1759 edge
1760 [
1761 source 0
1762 target 34
1763 graphics
1764 [
1765 fill "#000000"
1766 width 3
1767 targetArrow "standard"
1768 ]
1769 LabelGraphics
1770 [
1771 text "spacecraft reference ConstellationMission"
1772 fontSize 14
1773 fontName "Consolas"
1774 configuration "AutoFlippingLabel"
1775 model "six_pos"
1776 position "thead"
1777 ]
1778 ]
1779 edge
1780 [
1781 source 1
1782 target 2
1783 graphics
1784 [
1785 fill "#000000"
1786 width 3
1787 targetArrow "standard"
1788 ]
1789 LabelGraphics
1790 [
1791 text "commSubsystem reference CommunicatingElement"
1792 fontSize 14
1793 fontName "Consolas"
1794 configuration "AutoFlippingLabel"
1795 model "six_pos"
1796 position "thead"
1797 ]
1798 ]
1799 edge
1800 [
1801 source 1
1802 target 3
1803 graphics
1804 [
1805 fill "#000000"
1806 width 3
1807 targetArrow "standard"
1808 ]
1809 LabelGraphics
1810 [
1811 text "commSubsystem reference CommunicatingElement"
1812 fontSize 14
1813 fontName "Consolas"
1814 configuration "AutoFlippingLabel"
1815 model "six_pos"
1816 position "thead"
1817 ]
1818 ]
1819 edge
1820 [
1821 source 6
1822 target 7
1823 graphics
1824 [
1825 fill "#000000"
1826 width 3
1827 targetArrow "standard"
1828 ]
1829 LabelGraphics
1830 [
1831 text "commSubsystem reference CommunicatingElement"
1832 fontSize 14
1833 fontName "Consolas"
1834 configuration "AutoFlippingLabel"
1835 model "six_pos"
1836 position "thead"
1837 ]
1838 ]
1839 edge
1840 [
1841 source 6
1842 target 8
1843 graphics
1844 [
1845 fill "#000000"
1846 width 3
1847 targetArrow "standard"
1848 ]
1849 LabelGraphics
1850 [
1851 text "commSubsystem reference CommunicatingElement"
1852 fontSize 14
1853 fontName "Consolas"
1854 configuration "AutoFlippingLabel"
1855 model "six_pos"
1856 position "thead"
1857 ]
1858 ]
1859 edge
1860 [
1861 source 10
1862 target 11
1863 graphics
1864 [
1865 fill "#000000"
1866 width 3
1867 targetArrow "standard"
1868 ]
1869 LabelGraphics
1870 [
1871 text "commSubsystem reference CommunicatingElement"
1872 fontSize 14
1873 fontName "Consolas"
1874 configuration "AutoFlippingLabel"
1875 model "six_pos"
1876 position "thead"
1877 ]
1878 ]
1879 edge
1880 [
1881 source 10
1882 target 12
1883 graphics
1884 [
1885 fill "#000000"
1886 width 3
1887 targetArrow "standard"
1888 ]
1889 LabelGraphics
1890 [
1891 text "commSubsystem reference CommunicatingElement"
1892 fontSize 14
1893 fontName "Consolas"
1894 configuration "AutoFlippingLabel"
1895 model "six_pos"
1896 position "thead"
1897 ]
1898 ]
1899 edge
1900 [
1901 source 14
1902 target 15
1903 graphics
1904 [
1905 fill "#000000"
1906 width 3
1907 targetArrow "standard"
1908 ]
1909 LabelGraphics
1910 [
1911 text "commSubsystem reference CommunicatingElement"
1912 fontSize 14
1913 fontName "Consolas"
1914 configuration "AutoFlippingLabel"
1915 model "six_pos"
1916 position "thead"
1917 ]
1918 ]
1919 edge
1920 [
1921 source 14
1922 target 16
1923 graphics
1924 [
1925 fill "#000000"
1926 width 3
1927 targetArrow "standard"
1928 ]
1929 LabelGraphics
1930 [
1931 text "commSubsystem reference CommunicatingElement"
1932 fontSize 14
1933 fontName "Consolas"
1934 configuration "AutoFlippingLabel"
1935 model "six_pos"
1936 position "thead"
1937 ]
1938 ]
1939 edge
1940 [
1941 source 18
1942 target 19
1943 graphics
1944 [
1945 fill "#000000"
1946 width 3
1947 targetArrow "standard"
1948 ]
1949 LabelGraphics
1950 [
1951 text "commSubsystem reference CommunicatingElement"
1952 fontSize 14
1953 fontName "Consolas"
1954 configuration "AutoFlippingLabel"
1955 model "six_pos"
1956 position "thead"
1957 ]
1958 ]
1959 edge
1960 [
1961 source 18
1962 target 20
1963 graphics
1964 [
1965 fill "#000000"
1966 width 3
1967 targetArrow "standard"
1968 ]
1969 LabelGraphics
1970 [
1971 text "commSubsystem reference CommunicatingElement"
1972 fontSize 14
1973 fontName "Consolas"
1974 configuration "AutoFlippingLabel"
1975 model "six_pos"
1976 position "thead"
1977 ]
1978 ]
1979 edge
1980 [
1981 source 22
1982 target 23
1983 graphics
1984 [
1985 fill "#000000"
1986 width 3
1987 targetArrow "standard"
1988 ]
1989 LabelGraphics
1990 [
1991 text "commSubsystem reference CommunicatingElement"
1992 fontSize 14
1993 fontName "Consolas"
1994 configuration "AutoFlippingLabel"
1995 model "six_pos"
1996 position "thead"
1997 ]
1998 ]
1999 edge
2000 [
2001 source 22
2002 target 24
2003 graphics
2004 [
2005 fill "#000000"
2006 width 3
2007 targetArrow "standard"
2008 ]
2009 LabelGraphics
2010 [
2011 text "commSubsystem reference CommunicatingElement"
2012 fontSize 14
2013 fontName "Consolas"
2014 configuration "AutoFlippingLabel"
2015 model "six_pos"
2016 position "thead"
2017 ]
2018 ]
2019 edge
2020 [
2021 source 26
2022 target 27
2023 graphics
2024 [
2025 fill "#000000"
2026 width 3
2027 targetArrow "standard"
2028 ]
2029 LabelGraphics
2030 [
2031 text "commSubsystem reference CommunicatingElement"
2032 fontSize 14
2033 fontName "Consolas"
2034 configuration "AutoFlippingLabel"
2035 model "six_pos"
2036 position "thead"
2037 ]
2038 ]
2039 edge
2040 [
2041 source 26
2042 target 29
2043 graphics
2044 [
2045 fill "#000000"
2046 width 3
2047 targetArrow "standard"
2048 ]
2049 LabelGraphics
2050 [
2051 text "commSubsystem reference CommunicatingElement"
2052 fontSize 14
2053 fontName "Consolas"
2054 configuration "AutoFlippingLabel"
2055 model "six_pos"
2056 position "thead"
2057 ]
2058 ]
2059 edge
2060 [
2061 source 30
2062 target 32
2063 graphics
2064 [
2065 fill "#000000"
2066 width 3
2067 targetArrow "standard"
2068 ]
2069 LabelGraphics
2070 [
2071 text "commSubsystem reference CommunicatingElement"
2072 fontSize 14
2073 fontName "Consolas"
2074 configuration "AutoFlippingLabel"
2075 model "six_pos"
2076 position "thead"
2077 ]
2078 ]
2079 edge
2080 [
2081 source 30
2082 target 33
2083 graphics
2084 [
2085 fill "#000000"
2086 width 3
2087 targetArrow "standard"
2088 ]
2089 LabelGraphics
2090 [
2091 text "commSubsystem reference CommunicatingElement"
2092 fontSize 14
2093 fontName "Consolas"
2094 configuration "AutoFlippingLabel"
2095 model "six_pos"
2096 position "thead"
2097 ]
2098 ]
2099 edge
2100 [
2101 source 34
2102 target 35
2103 graphics
2104 [
2105 fill "#000000"
2106 width 3
2107 targetArrow "standard"
2108 ]
2109 LabelGraphics
2110 [
2111 text "commSubsystem reference CommunicatingElement"
2112 fontSize 14
2113 fontName "Consolas"
2114 configuration "AutoFlippingLabel"
2115 model "six_pos"
2116 position "thead"
2117 ]
2118 ]
2119 edge
2120 [
2121 source 34
2122 target 37
2123 graphics
2124 [
2125 fill "#000000"
2126 width 3
2127 targetArrow "standard"
2128 ]
2129 LabelGraphics
2130 [
2131 text "commSubsystem reference CommunicatingElement"
2132 fontSize 14
2133 fontName "Consolas"
2134 configuration "AutoFlippingLabel"
2135 model "six_pos"
2136 position "thead"
2137 ]
2138 ]
2139 edge
2140 [
2141 source 6
2142 target 9
2143 graphics
2144 [
2145 fill "#000000"
2146 width 3
2147 targetArrow "standard"
2148 ]
2149 LabelGraphics
2150 [
2151 text "payload reference Spacecraft"
2152 fontSize 14
2153 fontName "Consolas"
2154 configuration "AutoFlippingLabel"
2155 model "six_pos"
2156 position "thead"
2157 ]
2158 ]
2159 edge
2160 [
2161 source 10
2162 target 13
2163 graphics
2164 [
2165 fill "#000000"
2166 width 3
2167 targetArrow "standard"
2168 ]
2169 LabelGraphics
2170 [
2171 text "payload reference Spacecraft"
2172 fontSize 14
2173 fontName "Consolas"
2174 configuration "AutoFlippingLabel"
2175 model "six_pos"
2176 position "thead"
2177 ]
2178 ]
2179 edge
2180 [
2181 source 14
2182 target 17
2183 graphics
2184 [
2185 fill "#000000"
2186 width 3
2187 targetArrow "standard"
2188 ]
2189 LabelGraphics
2190 [
2191 text "payload reference Spacecraft"
2192 fontSize 14
2193 fontName "Consolas"
2194 configuration "AutoFlippingLabel"
2195 model "six_pos"
2196 position "thead"
2197 ]
2198 ]
2199 edge
2200 [
2201 source 18
2202 target 21
2203 graphics
2204 [
2205 fill "#000000"
2206 width 3
2207 targetArrow "standard"
2208 ]
2209 LabelGraphics
2210 [
2211 text "payload reference Spacecraft"
2212 fontSize 14
2213 fontName "Consolas"
2214 configuration "AutoFlippingLabel"
2215 model "six_pos"
2216 position "thead"
2217 ]
2218 ]
2219 edge
2220 [
2221 source 22
2222 target 25
2223 graphics
2224 [
2225 fill "#000000"
2226 width 3
2227 targetArrow "standard"
2228 ]
2229 LabelGraphics
2230 [
2231 text "payload reference Spacecraft"
2232 fontSize 14
2233 fontName "Consolas"
2234 configuration "AutoFlippingLabel"
2235 model "six_pos"
2236 position "thead"
2237 ]
2238 ]
2239 edge
2240 [
2241 source 26
2242 target 28
2243 graphics
2244 [
2245 fill "#000000"
2246 width 3
2247 targetArrow "standard"
2248 ]
2249 LabelGraphics
2250 [
2251 text "payload reference Spacecraft"
2252 fontSize 14
2253 fontName "Consolas"
2254 configuration "AutoFlippingLabel"
2255 model "six_pos"
2256 position "thead"
2257 ]
2258 ]
2259 edge
2260 [
2261 source 30
2262 target 31
2263 graphics
2264 [
2265 fill "#000000"
2266 width 3
2267 targetArrow "standard"
2268 ]
2269 LabelGraphics
2270 [
2271 text "payload reference Spacecraft"
2272 fontSize 14
2273 fontName "Consolas"
2274 configuration "AutoFlippingLabel"
2275 model "six_pos"
2276 position "thead"
2277 ]
2278 ]
2279 edge
2280 [
2281 source 34
2282 target 36
2283 graphics
2284 [
2285 fill "#000000"
2286 width 3
2287 targetArrow "standard"
2288 ]
2289 LabelGraphics
2290 [
2291 text "payload reference Spacecraft"
2292 fontSize 14
2293 fontName "Consolas"
2294 configuration "AutoFlippingLabel"
2295 model "six_pos"
2296 position "thead"
2297 ]
2298 ]
2299 edge
2300 [
2301 source 7
2302 target 2
2303 graphics
2304 [
2305 fill "#000000"
2306 targetArrow "standard"
2307 ]
2308 LabelGraphics
2309 [
2310 text "target reference CommSubsystem"
2311 fontSize 14
2312 fontName "Consolas"
2313 configuration "AutoFlippingLabel"
2314 model "six_pos"
2315 position "thead"
2316 ]
2317 ]
2318 edge
2319 [
2320 source 11
2321 target 8
2322 graphics
2323 [
2324 fill "#000000"
2325 targetArrow "standard"
2326 ]
2327 LabelGraphics
2328 [
2329 text "target reference CommSubsystem"
2330 fontSize 14
2331 fontName "Consolas"
2332 configuration "AutoFlippingLabel"
2333 model "six_pos"
2334 position "thead"
2335 ]
2336 ]
2337 edge
2338 [
2339 source 15
2340 target 12
2341 graphics
2342 [
2343 fill "#000000"
2344 targetArrow "standard"
2345 ]
2346 LabelGraphics
2347 [
2348 text "target reference CommSubsystem"
2349 fontSize 14
2350 fontName "Consolas"
2351 configuration "AutoFlippingLabel"
2352 model "six_pos"
2353 position "thead"
2354 ]
2355 ]
2356 edge
2357 [
2358 source 20
2359 target 2
2360 graphics
2361 [
2362 fill "#000000"
2363 targetArrow "standard"
2364 ]
2365 LabelGraphics
2366 [
2367 text "target reference CommSubsystem"
2368 fontSize 14
2369 fontName "Consolas"
2370 configuration "AutoFlippingLabel"
2371 model "six_pos"
2372 position "thead"
2373 ]
2374 ]
2375 edge
2376 [
2377 source 23
2378 target 2
2379 graphics
2380 [
2381 fill "#000000"
2382 targetArrow "standard"
2383 ]
2384 LabelGraphics
2385 [
2386 text "target reference CommSubsystem"
2387 fontSize 14
2388 fontName "Consolas"
2389 configuration "AutoFlippingLabel"
2390 model "six_pos"
2391 position "thead"
2392 ]
2393 ]
2394 edge
2395 [
2396 source 29
2397 target 2
2398 graphics
2399 [
2400 fill "#000000"
2401 targetArrow "standard"
2402 ]
2403 LabelGraphics
2404 [
2405 text "target reference CommSubsystem"
2406 fontSize 14
2407 fontName "Consolas"
2408 configuration "AutoFlippingLabel"
2409 model "six_pos"
2410 position "thead"
2411 ]
2412 ]
2413 edge
2414 [
2415 source 32
2416 target 2
2417 graphics
2418 [
2419 fill "#000000"
2420 targetArrow "standard"
2421 ]
2422 LabelGraphics
2423 [
2424 text "target reference CommSubsystem"
2425 fontSize 14
2426 fontName "Consolas"
2427 configuration "AutoFlippingLabel"
2428 model "six_pos"
2429 position "thead"
2430 ]
2431 ]
2432 edge
2433 [
2434 source 35
2435 target 15
2436 graphics
2437 [
2438 fill "#000000"
2439 targetArrow "standard"
2440 ]
2441 LabelGraphics
2442 [
2443 text "target reference CommSubsystem"
2444 fontSize 14
2445 fontName "Consolas"
2446 configuration "AutoFlippingLabel"
2447 model "six_pos"
2448 position "thead"
2449 ]
2450 ]
2451]
2452
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/3.png b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/3.png
new file mode 100644
index 00000000..be6b7b8c
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/3.png
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/3.xmi b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/3.xmi
new file mode 100644
index 00000000..72ac5fe8
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/3.xmi
@@ -0,0 +1,47 @@
1<?xml version="1.0" encoding="ASCII"?>
2<satellite:InterferometryMission xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:satellite="http://www.example.org/satellite" xsi:schemaLocation="http://www.example.org/satellite model/satellite.ecore">
3 <groundStationNetwork>
4 <commSubsystem xsi:type="satellite:KaCommSubsystem"/>
5 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
6 </groundStationNetwork>
7 <spacecraft xsi:type="satellite:CubeSat3U">
8 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
9 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
10 <payload xsi:type="satellite:InterferometryPayload"/>
11 </spacecraft>
12 <spacecraft xsi:type="satellite:CubeSat3U">
13 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
14 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
15 <payload xsi:type="satellite:InterferometryPayload"/>
16 </spacecraft>
17 <spacecraft xsi:type="satellite:CubeSat6U">
18 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
19 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
20 <payload xsi:type="satellite:InterferometryPayload"/>
21 </spacecraft>
22 <spacecraft xsi:type="satellite:CubeSat6U">
23 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@spacecraft.6/@commSubsystem.1"/>
24 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
25 <payload xsi:type="satellite:InterferometryPayload"/>
26 </spacecraft>
27 <spacecraft xsi:type="satellite:SmallSat">
28 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
29 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
30 <payload xsi:type="satellite:InterferometryPayload"/>
31 </spacecraft>
32 <spacecraft xsi:type="satellite:CubeSat6U">
33 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
34 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
35 <payload xsi:type="satellite:InterferometryPayload"/>
36 </spacecraft>
37 <spacecraft xsi:type="satellite:CubeSat6U">
38 <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.2/@commSubsystem.0"/>
39 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
40 <payload xsi:type="satellite:InterferometryPayload"/>
41 </spacecraft>
42 <spacecraft xsi:type="satellite:SmallSat">
43 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@spacecraft.3/@commSubsystem.0"/>
44 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
45 <payload xsi:type="satellite:InterferometryPayload"/>
46 </spacecraft>
47</satellite:InterferometryMission>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/4.gml b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/4.gml
new file mode 100644
index 00000000..ffc846cb
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/4.gml
@@ -0,0 +1,2452 @@
1graph
2[
3 node
4 [
5 id 0
6 graphics
7 [
8 w 315.70000000000005
9 h 82
10 type "rectangle"
11 fill "#FFFFFF"
12 fill2 "#FFFFFF"
13 outline "#000000"
14 ]
15 LabelGraphics
16 [
17 text "o 1"
18 outline "#000000"
19 fill "#FFFFFF"
20 fontSize 16
21 fontName "Monospace"
22 autoSizePolicy "node_width"
23 anchor "t"
24 borderDistance 0.0
25 ]
26 LabelGraphics
27 [
28 text "
29 ConstellationMission class DefinedPart
30 InterferometryMission class DefinedPart
31 ConstellationMission class
32 InterferometryMission class
33 "
34 fontSize 14
35 fontName "Consolas"
36 alignment "left"
37 anchor "tl"
38 borderDistance 6
39 ]
40 ]
41
42 node
43 [
44 id 1
45 graphics
46 [
47 w 308.0
48 h 82
49 type "rectangle"
50 fill "#FFFFFF"
51 fill2 "#FFFFFF"
52 outline "#000000"
53 ]
54 LabelGraphics
55 [
56 text "o 2"
57 outline "#000000"
58 fill "#FFFFFF"
59 fontSize 16
60 fontName "Monospace"
61 autoSizePolicy "node_width"
62 anchor "t"
63 borderDistance 0.0
64 ]
65 LabelGraphics
66 [
67 text "
68 CommunicatingElement class DefinedPart
69 GroundStationNetwork class DefinedPart
70 CommunicatingElement class
71 GroundStationNetwork class
72 "
73 fontSize 14
74 fontName "Consolas"
75 alignment "left"
76 anchor "tl"
77 borderDistance 6
78 ]
79 ]
80
81 node
82 [
83 id 2
84 graphics
85 [
86 w 261.8
87 h 82
88 type "rectangle"
89 fill "#FFFFFF"
90 fill2 "#FFFFFF"
91 outline "#000000"
92 ]
93 LabelGraphics
94 [
95 text "o 3"
96 outline "#000000"
97 fill "#FFFFFF"
98 fontSize 16
99 fontName "Monospace"
100 autoSizePolicy "node_width"
101 anchor "t"
102 borderDistance 0.0
103 ]
104 LabelGraphics
105 [
106 text "
107 CommSubsystem class DefinedPart
108 XCommSubsystem class DefinedPart
109 CommSubsystem class
110 XCommSubsystem class
111 "
112 fontSize 14
113 fontName "Consolas"
114 alignment "left"
115 anchor "tl"
116 borderDistance 6
117 ]
118 ]
119
120 node
121 [
122 id 3
123 graphics
124 [
125 w 269.5
126 h 82
127 type "rectangle"
128 fill "#FFFFFF"
129 fill2 "#FFFFFF"
130 outline "#000000"
131 ]
132 LabelGraphics
133 [
134 text "o 4"
135 outline "#000000"
136 fill "#FFFFFF"
137 fontSize 16
138 fontName "Monospace"
139 autoSizePolicy "node_width"
140 anchor "t"
141 borderDistance 0.0
142 ]
143 LabelGraphics
144 [
145 text "
146 CommSubsystem class DefinedPart
147 KaCommSubsystem class DefinedPart
148 CommSubsystem class
149 KaCommSubsystem class
150 "
151 fontSize 14
152 fontName "Consolas"
153 alignment "left"
154 anchor "tl"
155 borderDistance 6
156 ]
157 ]
158
159 node
160 [
161 id 4
162 graphics
163 [
164 w 41.800000000000004
165 h 26
166 type "rectangle"
167 fill "#FFFFFF"
168 fill2 "#FFFFFF"
169 outline "#000000"
170 ]
171 LabelGraphics
172 [
173 text "true"
174 outline "#000000"
175 fill "#FFFFFF"
176 fontSize 16
177 fontName "Monospace"
178 autoSizePolicy "node_width"
179 anchor "t"
180 borderDistance 0.0
181 ]
182 LabelGraphics
183 [
184 text "
185 "
186 fontSize 14
187 fontName "Consolas"
188 alignment "left"
189 anchor "tl"
190 borderDistance 6
191 ]
192 ]
193
194 node
195 [
196 id 5
197 graphics
198 [
199 w 50.6
200 h 26
201 type "rectangle"
202 fill "#FFFFFF"
203 fill2 "#FFFFFF"
204 outline "#000000"
205 ]
206 LabelGraphics
207 [
208 text "false"
209 outline "#000000"
210 fill "#FFFFFF"
211 fontSize 16
212 fontName "Monospace"
213 autoSizePolicy "node_width"
214 anchor "t"
215 borderDistance 0.0
216 ]
217 LabelGraphics
218 [
219 text "
220 "
221 fontSize 14
222 fontName "Consolas"
223 alignment "left"
224 anchor "tl"
225 borderDistance 6
226 ]
227 ]
228
229 node
230 [
231 id 6
232 graphics
233 [
234 w 323.40000000000003
235 h 96
236 type "rectangle"
237 fill "#FFFFFF"
238 fill2 "#FFFFFF"
239 outline "#000000"
240 ]
241 LabelGraphics
242 [
243 text "null"
244 outline "#000000"
245 fill "#FFFFFF"
246 fontSize 16
247 fontName "Monospace"
248 autoSizePolicy "node_width"
249 anchor "t"
250 borderDistance 0.0
251 ]
252 LabelGraphics
253 [
254 text "
255 CommunicatingElement class
256 Spacecraft class
257 CubeSat6U class
258 CubeSat class
259 CommunicatingElement class UndefinedPart
260 "
261 fontSize 14
262 fontName "Consolas"
263 alignment "left"
264 anchor "tl"
265 borderDistance 6
266 ]
267 ]
268
269 node
270 [
271 id 7
272 graphics
273 [
274 w 277.20000000000005
275 h 82
276 type "rectangle"
277 fill "#FFFFFF"
278 fill2 "#FFFFFF"
279 outline "#000000"
280 ]
281 LabelGraphics
282 [
283 text "null"
284 outline "#000000"
285 fill "#FFFFFF"
286 fontSize 16
287 fontName "Monospace"
288 autoSizePolicy "node_width"
289 anchor "t"
290 borderDistance 0.0
291 ]
292 LabelGraphics
293 [
294 text "
295 CommSubsystem class
296 XCommSubsystem class
297 CommSubsystem class UndefinedPart
298 XCommSubsystem class UndefinedPart
299 "
300 fontSize 14
301 fontName "Consolas"
302 alignment "left"
303 anchor "tl"
304 borderDistance 6
305 ]
306 ]
307
308 node
309 [
310 id 8
311 graphics
312 [
313 w 269.5
314 h 68
315 type "rectangle"
316 fill "#FFFFFF"
317 fill2 "#FFFFFF"
318 outline "#000000"
319 ]
320 LabelGraphics
321 [
322 text "null"
323 outline "#000000"
324 fill "#FFFFFF"
325 fontSize 16
326 fontName "Monospace"
327 autoSizePolicy "node_width"
328 anchor "t"
329 borderDistance 0.0
330 ]
331 LabelGraphics
332 [
333 text "
334 CommSubsystem class
335 UHFCommSubsystem class
336 CommSubsystem class UndefinedPart
337 "
338 fontSize 14
339 fontName "Consolas"
340 alignment "left"
341 anchor "tl"
342 borderDistance 6
343 ]
344 ]
345
346 node
347 [
348 id 9
349 graphics
350 [
351 w 223.3
352 h 54
353 type "rectangle"
354 fill "#FFFFFF"
355 fill2 "#FFFFFF"
356 outline "#000000"
357 ]
358 LabelGraphics
359 [
360 text "null"
361 outline "#000000"
362 fill "#FFFFFF"
363 fontSize 16
364 fontName "Monospace"
365 autoSizePolicy "node_width"
366 anchor "t"
367 borderDistance 0.0
368 ]
369 LabelGraphics
370 [
371 text "
372 Payload class
373 InterferometryPayload class
374 "
375 fontSize 14
376 fontName "Consolas"
377 alignment "left"
378 anchor "tl"
379 borderDistance 6
380 ]
381 ]
382
383 node
384 [
385 id 10
386 graphics
387 [
388 w 323.40000000000003
389 h 96
390 type "rectangle"
391 fill "#FFFFFF"
392 fill2 "#FFFFFF"
393 outline "#000000"
394 ]
395 LabelGraphics
396 [
397 text "null"
398 outline "#000000"
399 fill "#FFFFFF"
400 fontSize 16
401 fontName "Monospace"
402 autoSizePolicy "node_width"
403 anchor "t"
404 borderDistance 0.0
405 ]
406 LabelGraphics
407 [
408 text "
409 CommunicatingElement class
410 Spacecraft class
411 CubeSat6U class
412 CubeSat class
413 CommunicatingElement class UndefinedPart
414 "
415 fontSize 14
416 fontName "Consolas"
417 alignment "left"
418 anchor "tl"
419 borderDistance 6
420 ]
421 ]
422
423 node
424 [
425 id 11
426 graphics
427 [
428 w 269.5
429 h 68
430 type "rectangle"
431 fill "#FFFFFF"
432 fill2 "#FFFFFF"
433 outline "#000000"
434 ]
435 LabelGraphics
436 [
437 text "null"
438 outline "#000000"
439 fill "#FFFFFF"
440 fontSize 16
441 fontName "Monospace"
442 autoSizePolicy "node_width"
443 anchor "t"
444 borderDistance 0.0
445 ]
446 LabelGraphics
447 [
448 text "
449 CommSubsystem class
450 UHFCommSubsystem class
451 CommSubsystem class UndefinedPart
452 "
453 fontSize 14
454 fontName "Consolas"
455 alignment "left"
456 anchor "tl"
457 borderDistance 6
458 ]
459 ]
460
461 node
462 [
463 id 12
464 graphics
465 [
466 w 277.20000000000005
467 h 82
468 type "rectangle"
469 fill "#FFFFFF"
470 fill2 "#FFFFFF"
471 outline "#000000"
472 ]
473 LabelGraphics
474 [
475 text "null"
476 outline "#000000"
477 fill "#FFFFFF"
478 fontSize 16
479 fontName "Monospace"
480 autoSizePolicy "node_width"
481 anchor "t"
482 borderDistance 0.0
483 ]
484 LabelGraphics
485 [
486 text "
487 CommSubsystem class
488 XCommSubsystem class
489 CommSubsystem class UndefinedPart
490 XCommSubsystem class UndefinedPart
491 "
492 fontSize 14
493 fontName "Consolas"
494 alignment "left"
495 anchor "tl"
496 borderDistance 6
497 ]
498 ]
499
500 node
501 [
502 id 13
503 graphics
504 [
505 w 223.3
506 h 54
507 type "rectangle"
508 fill "#FFFFFF"
509 fill2 "#FFFFFF"
510 outline "#000000"
511 ]
512 LabelGraphics
513 [
514 text "null"
515 outline "#000000"
516 fill "#FFFFFF"
517 fontSize 16
518 fontName "Monospace"
519 autoSizePolicy "node_width"
520 anchor "t"
521 borderDistance 0.0
522 ]
523 LabelGraphics
524 [
525 text "
526 Payload class
527 InterferometryPayload class
528 "
529 fontSize 14
530 fontName "Consolas"
531 alignment "left"
532 anchor "tl"
533 borderDistance 6
534 ]
535 ]
536
537 node
538 [
539 id 14
540 graphics
541 [
542 w 323.40000000000003
543 h 96
544 type "rectangle"
545 fill "#FFFFFF"
546 fill2 "#FFFFFF"
547 outline "#000000"
548 ]
549 LabelGraphics
550 [
551 text "null"
552 outline "#000000"
553 fill "#FFFFFF"
554 fontSize 16
555 fontName "Monospace"
556 autoSizePolicy "node_width"
557 anchor "t"
558 borderDistance 0.0
559 ]
560 LabelGraphics
561 [
562 text "
563 CommunicatingElement class
564 Spacecraft class
565 CubeSat6U class
566 CubeSat class
567 CommunicatingElement class UndefinedPart
568 "
569 fontSize 14
570 fontName "Consolas"
571 alignment "left"
572 anchor "tl"
573 borderDistance 6
574 ]
575 ]
576
577 node
578 [
579 id 15
580 graphics
581 [
582 w 277.20000000000005
583 h 82
584 type "rectangle"
585 fill "#FFFFFF"
586 fill2 "#FFFFFF"
587 outline "#000000"
588 ]
589 LabelGraphics
590 [
591 text "null"
592 outline "#000000"
593 fill "#FFFFFF"
594 fontSize 16
595 fontName "Monospace"
596 autoSizePolicy "node_width"
597 anchor "t"
598 borderDistance 0.0
599 ]
600 LabelGraphics
601 [
602 text "
603 CommSubsystem class
604 XCommSubsystem class
605 CommSubsystem class UndefinedPart
606 XCommSubsystem class UndefinedPart
607 "
608 fontSize 14
609 fontName "Consolas"
610 alignment "left"
611 anchor "tl"
612 borderDistance 6
613 ]
614 ]
615
616 node
617 [
618 id 16
619 graphics
620 [
621 w 269.5
622 h 68
623 type "rectangle"
624 fill "#FFFFFF"
625 fill2 "#FFFFFF"
626 outline "#000000"
627 ]
628 LabelGraphics
629 [
630 text "null"
631 outline "#000000"
632 fill "#FFFFFF"
633 fontSize 16
634 fontName "Monospace"
635 autoSizePolicy "node_width"
636 anchor "t"
637 borderDistance 0.0
638 ]
639 LabelGraphics
640 [
641 text "
642 CommSubsystem class
643 UHFCommSubsystem class
644 CommSubsystem class UndefinedPart
645 "
646 fontSize 14
647 fontName "Consolas"
648 alignment "left"
649 anchor "tl"
650 borderDistance 6
651 ]
652 ]
653
654 node
655 [
656 id 17
657 graphics
658 [
659 w 223.3
660 h 54
661 type "rectangle"
662 fill "#FFFFFF"
663 fill2 "#FFFFFF"
664 outline "#000000"
665 ]
666 LabelGraphics
667 [
668 text "null"
669 outline "#000000"
670 fill "#FFFFFF"
671 fontSize 16
672 fontName "Monospace"
673 autoSizePolicy "node_width"
674 anchor "t"
675 borderDistance 0.0
676 ]
677 LabelGraphics
678 [
679 text "
680 Payload class
681 InterferometryPayload class
682 "
683 fontSize 14
684 fontName "Consolas"
685 alignment "left"
686 anchor "tl"
687 borderDistance 6
688 ]
689 ]
690
691 node
692 [
693 id 18
694 graphics
695 [
696 w 323.40000000000003
697 h 96
698 type "rectangle"
699 fill "#FFFFFF"
700 fill2 "#FFFFFF"
701 outline "#000000"
702 ]
703 LabelGraphics
704 [
705 text "null"
706 outline "#000000"
707 fill "#FFFFFF"
708 fontSize 16
709 fontName "Monospace"
710 autoSizePolicy "node_width"
711 anchor "t"
712 borderDistance 0.0
713 ]
714 LabelGraphics
715 [
716 text "
717 CommunicatingElement class
718 Spacecraft class
719 CubeSat3U class
720 CubeSat class
721 CommunicatingElement class UndefinedPart
722 "
723 fontSize 14
724 fontName "Consolas"
725 alignment "left"
726 anchor "tl"
727 borderDistance 6
728 ]
729 ]
730
731 node
732 [
733 id 19
734 graphics
735 [
736 w 277.20000000000005
737 h 82
738 type "rectangle"
739 fill "#FFFFFF"
740 fill2 "#FFFFFF"
741 outline "#000000"
742 ]
743 LabelGraphics
744 [
745 text "null"
746 outline "#000000"
747 fill "#FFFFFF"
748 fontSize 16
749 fontName "Monospace"
750 autoSizePolicy "node_width"
751 anchor "t"
752 borderDistance 0.0
753 ]
754 LabelGraphics
755 [
756 text "
757 CommSubsystem class
758 XCommSubsystem class
759 CommSubsystem class UndefinedPart
760 XCommSubsystem class UndefinedPart
761 "
762 fontSize 14
763 fontName "Consolas"
764 alignment "left"
765 anchor "tl"
766 borderDistance 6
767 ]
768 ]
769
770 node
771 [
772 id 20
773 graphics
774 [
775 w 277.20000000000005
776 h 82
777 type "rectangle"
778 fill "#FFFFFF"
779 fill2 "#FFFFFF"
780 outline "#000000"
781 ]
782 LabelGraphics
783 [
784 text "null"
785 outline "#000000"
786 fill "#FFFFFF"
787 fontSize 16
788 fontName "Monospace"
789 autoSizePolicy "node_width"
790 anchor "t"
791 borderDistance 0.0
792 ]
793 LabelGraphics
794 [
795 text "
796 CommSubsystem class
797 XCommSubsystem class
798 CommSubsystem class UndefinedPart
799 XCommSubsystem class UndefinedPart
800 "
801 fontSize 14
802 fontName "Consolas"
803 alignment "left"
804 anchor "tl"
805 borderDistance 6
806 ]
807 ]
808
809 node
810 [
811 id 21
812 graphics
813 [
814 w 223.3
815 h 54
816 type "rectangle"
817 fill "#FFFFFF"
818 fill2 "#FFFFFF"
819 outline "#000000"
820 ]
821 LabelGraphics
822 [
823 text "null"
824 outline "#000000"
825 fill "#FFFFFF"
826 fontSize 16
827 fontName "Monospace"
828 autoSizePolicy "node_width"
829 anchor "t"
830 borderDistance 0.0
831 ]
832 LabelGraphics
833 [
834 text "
835 Payload class
836 InterferometryPayload class
837 "
838 fontSize 14
839 fontName "Consolas"
840 alignment "left"
841 anchor "tl"
842 borderDistance 6
843 ]
844 ]
845
846 node
847 [
848 id 22
849 graphics
850 [
851 w 323.40000000000003
852 h 96
853 type "rectangle"
854 fill "#FFFFFF"
855 fill2 "#FFFFFF"
856 outline "#000000"
857 ]
858 LabelGraphics
859 [
860 text "null"
861 outline "#000000"
862 fill "#FFFFFF"
863 fontSize 16
864 fontName "Monospace"
865 autoSizePolicy "node_width"
866 anchor "t"
867 borderDistance 0.0
868 ]
869 LabelGraphics
870 [
871 text "
872 CommunicatingElement class
873 Spacecraft class
874 CubeSat3U class
875 CubeSat class
876 CommunicatingElement class UndefinedPart
877 "
878 fontSize 14
879 fontName "Consolas"
880 alignment "left"
881 anchor "tl"
882 borderDistance 6
883 ]
884 ]
885
886 node
887 [
888 id 23
889 graphics
890 [
891 w 277.20000000000005
892 h 82
893 type "rectangle"
894 fill "#FFFFFF"
895 fill2 "#FFFFFF"
896 outline "#000000"
897 ]
898 LabelGraphics
899 [
900 text "null"
901 outline "#000000"
902 fill "#FFFFFF"
903 fontSize 16
904 fontName "Monospace"
905 autoSizePolicy "node_width"
906 anchor "t"
907 borderDistance 0.0
908 ]
909 LabelGraphics
910 [
911 text "
912 CommSubsystem class
913 XCommSubsystem class
914 CommSubsystem class UndefinedPart
915 XCommSubsystem class UndefinedPart
916 "
917 fontSize 14
918 fontName "Consolas"
919 alignment "left"
920 anchor "tl"
921 borderDistance 6
922 ]
923 ]
924
925 node
926 [
927 id 24
928 graphics
929 [
930 w 269.5
931 h 68
932 type "rectangle"
933 fill "#FFFFFF"
934 fill2 "#FFFFFF"
935 outline "#000000"
936 ]
937 LabelGraphics
938 [
939 text "null"
940 outline "#000000"
941 fill "#FFFFFF"
942 fontSize 16
943 fontName "Monospace"
944 autoSizePolicy "node_width"
945 anchor "t"
946 borderDistance 0.0
947 ]
948 LabelGraphics
949 [
950 text "
951 CommSubsystem class
952 UHFCommSubsystem class
953 CommSubsystem class UndefinedPart
954 "
955 fontSize 14
956 fontName "Consolas"
957 alignment "left"
958 anchor "tl"
959 borderDistance 6
960 ]
961 ]
962
963 node
964 [
965 id 25
966 graphics
967 [
968 w 223.3
969 h 54
970 type "rectangle"
971 fill "#FFFFFF"
972 fill2 "#FFFFFF"
973 outline "#000000"
974 ]
975 LabelGraphics
976 [
977 text "null"
978 outline "#000000"
979 fill "#FFFFFF"
980 fontSize 16
981 fontName "Monospace"
982 autoSizePolicy "node_width"
983 anchor "t"
984 borderDistance 0.0
985 ]
986 LabelGraphics
987 [
988 text "
989 Payload class
990 InterferometryPayload class
991 "
992 fontSize 14
993 fontName "Consolas"
994 alignment "left"
995 anchor "tl"
996 borderDistance 6
997 ]
998 ]
999
1000 node
1001 [
1002 id 26
1003 graphics
1004 [
1005 w 323.40000000000003
1006 h 82
1007 type "rectangle"
1008 fill "#FFFFFF"
1009 fill2 "#FFFFFF"
1010 outline "#000000"
1011 ]
1012 LabelGraphics
1013 [
1014 text "null"
1015 outline "#000000"
1016 fill "#FFFFFF"
1017 fontSize 16
1018 fontName "Monospace"
1019 autoSizePolicy "node_width"
1020 anchor "t"
1021 borderDistance 0.0
1022 ]
1023 LabelGraphics
1024 [
1025 text "
1026 CommunicatingElement class
1027 Spacecraft class
1028 SmallSat class
1029 CommunicatingElement class UndefinedPart
1030 "
1031 fontSize 14
1032 fontName "Consolas"
1033 alignment "left"
1034 anchor "tl"
1035 borderDistance 6
1036 ]
1037 ]
1038
1039 node
1040 [
1041 id 27
1042 graphics
1043 [
1044 w 269.5
1045 h 68
1046 type "rectangle"
1047 fill "#FFFFFF"
1048 fill2 "#FFFFFF"
1049 outline "#000000"
1050 ]
1051 LabelGraphics
1052 [
1053 text "null"
1054 outline "#000000"
1055 fill "#FFFFFF"
1056 fontSize 16
1057 fontName "Monospace"
1058 autoSizePolicy "node_width"
1059 anchor "t"
1060 borderDistance 0.0
1061 ]
1062 LabelGraphics
1063 [
1064 text "
1065 CommSubsystem class
1066 UHFCommSubsystem class
1067 CommSubsystem class UndefinedPart
1068 "
1069 fontSize 14
1070 fontName "Consolas"
1071 alignment "left"
1072 anchor "tl"
1073 borderDistance 6
1074 ]
1075 ]
1076
1077 node
1078 [
1079 id 28
1080 graphics
1081 [
1082 w 223.3
1083 h 54
1084 type "rectangle"
1085 fill "#FFFFFF"
1086 fill2 "#FFFFFF"
1087 outline "#000000"
1088 ]
1089 LabelGraphics
1090 [
1091 text "null"
1092 outline "#000000"
1093 fill "#FFFFFF"
1094 fontSize 16
1095 fontName "Monospace"
1096 autoSizePolicy "node_width"
1097 anchor "t"
1098 borderDistance 0.0
1099 ]
1100 LabelGraphics
1101 [
1102 text "
1103 Payload class
1104 InterferometryPayload class
1105 "
1106 fontSize 14
1107 fontName "Consolas"
1108 alignment "left"
1109 anchor "tl"
1110 borderDistance 6
1111 ]
1112 ]
1113
1114 node
1115 [
1116 id 29
1117 graphics
1118 [
1119 w 277.20000000000005
1120 h 82
1121 type "rectangle"
1122 fill "#FFFFFF"
1123 fill2 "#FFFFFF"
1124 outline "#000000"
1125 ]
1126 LabelGraphics
1127 [
1128 text "null"
1129 outline "#000000"
1130 fill "#FFFFFF"
1131 fontSize 16
1132 fontName "Monospace"
1133 autoSizePolicy "node_width"
1134 anchor "t"
1135 borderDistance 0.0
1136 ]
1137 LabelGraphics
1138 [
1139 text "
1140 CommSubsystem class
1141 XCommSubsystem class
1142 CommSubsystem class UndefinedPart
1143 XCommSubsystem class UndefinedPart
1144 "
1145 fontSize 14
1146 fontName "Consolas"
1147 alignment "left"
1148 anchor "tl"
1149 borderDistance 6
1150 ]
1151 ]
1152
1153 node
1154 [
1155 id 30
1156 graphics
1157 [
1158 w 323.40000000000003
1159 h 96
1160 type "rectangle"
1161 fill "#FFFFFF"
1162 fill2 "#FFFFFF"
1163 outline "#000000"
1164 ]
1165 LabelGraphics
1166 [
1167 text "null"
1168 outline "#000000"
1169 fill "#FFFFFF"
1170 fontSize 16
1171 fontName "Monospace"
1172 autoSizePolicy "node_width"
1173 anchor "t"
1174 borderDistance 0.0
1175 ]
1176 LabelGraphics
1177 [
1178 text "
1179 CommunicatingElement class
1180 Spacecraft class
1181 CubeSat6U class
1182 CubeSat class
1183 CommunicatingElement class UndefinedPart
1184 "
1185 fontSize 14
1186 fontName "Consolas"
1187 alignment "left"
1188 anchor "tl"
1189 borderDistance 6
1190 ]
1191 ]
1192
1193 node
1194 [
1195 id 31
1196 graphics
1197 [
1198 w 223.3
1199 h 54
1200 type "rectangle"
1201 fill "#FFFFFF"
1202 fill2 "#FFFFFF"
1203 outline "#000000"
1204 ]
1205 LabelGraphics
1206 [
1207 text "null"
1208 outline "#000000"
1209 fill "#FFFFFF"
1210 fontSize 16
1211 fontName "Monospace"
1212 autoSizePolicy "node_width"
1213 anchor "t"
1214 borderDistance 0.0
1215 ]
1216 LabelGraphics
1217 [
1218 text "
1219 Payload class
1220 InterferometryPayload class
1221 "
1222 fontSize 14
1223 fontName "Consolas"
1224 alignment "left"
1225 anchor "tl"
1226 borderDistance 6
1227 ]
1228 ]
1229
1230 node
1231 [
1232 id 32
1233 graphics
1234 [
1235 w 277.20000000000005
1236 h 82
1237 type "rectangle"
1238 fill "#FFFFFF"
1239 fill2 "#FFFFFF"
1240 outline "#000000"
1241 ]
1242 LabelGraphics
1243 [
1244 text "null"
1245 outline "#000000"
1246 fill "#FFFFFF"
1247 fontSize 16
1248 fontName "Monospace"
1249 autoSizePolicy "node_width"
1250 anchor "t"
1251 borderDistance 0.0
1252 ]
1253 LabelGraphics
1254 [
1255 text "
1256 CommSubsystem class
1257 XCommSubsystem class
1258 CommSubsystem class UndefinedPart
1259 XCommSubsystem class UndefinedPart
1260 "
1261 fontSize 14
1262 fontName "Consolas"
1263 alignment "left"
1264 anchor "tl"
1265 borderDistance 6
1266 ]
1267 ]
1268
1269 node
1270 [
1271 id 33
1272 graphics
1273 [
1274 w 269.5
1275 h 68
1276 type "rectangle"
1277 fill "#FFFFFF"
1278 fill2 "#FFFFFF"
1279 outline "#000000"
1280 ]
1281 LabelGraphics
1282 [
1283 text "null"
1284 outline "#000000"
1285 fill "#FFFFFF"
1286 fontSize 16
1287 fontName "Monospace"
1288 autoSizePolicy "node_width"
1289 anchor "t"
1290 borderDistance 0.0
1291 ]
1292 LabelGraphics
1293 [
1294 text "
1295 CommSubsystem class
1296 UHFCommSubsystem class
1297 CommSubsystem class UndefinedPart
1298 "
1299 fontSize 14
1300 fontName "Consolas"
1301 alignment "left"
1302 anchor "tl"
1303 borderDistance 6
1304 ]
1305 ]
1306
1307 node
1308 [
1309 id 34
1310 graphics
1311 [
1312 w 323.40000000000003
1313 h 82
1314 type "rectangle"
1315 fill "#FFFFFF"
1316 fill2 "#FFFFFF"
1317 outline "#000000"
1318 ]
1319 LabelGraphics
1320 [
1321 text "null"
1322 outline "#000000"
1323 fill "#FFFFFF"
1324 fontSize 16
1325 fontName "Monospace"
1326 autoSizePolicy "node_width"
1327 anchor "t"
1328 borderDistance 0.0
1329 ]
1330 LabelGraphics
1331 [
1332 text "
1333 CommunicatingElement class
1334 Spacecraft class
1335 SmallSat class
1336 CommunicatingElement class UndefinedPart
1337 "
1338 fontSize 14
1339 fontName "Consolas"
1340 alignment "left"
1341 anchor "tl"
1342 borderDistance 6
1343 ]
1344 ]
1345
1346 node
1347 [
1348 id 35
1349 graphics
1350 [
1351 w 284.90000000000003
1352 h 82
1353 type "rectangle"
1354 fill "#FFFFFF"
1355 fill2 "#FFFFFF"
1356 outline "#000000"
1357 ]
1358 LabelGraphics
1359 [
1360 text "null"
1361 outline "#000000"
1362 fill "#FFFFFF"
1363 fontSize 16
1364 fontName "Monospace"
1365 autoSizePolicy "node_width"
1366 anchor "t"
1367 borderDistance 0.0
1368 ]
1369 LabelGraphics
1370 [
1371 text "
1372 CommSubsystem class
1373 KaCommSubsystem class
1374 CommSubsystem class UndefinedPart
1375 KaCommSubsystem class UndefinedPart
1376 "
1377 fontSize 14
1378 fontName "Consolas"
1379 alignment "left"
1380 anchor "tl"
1381 borderDistance 6
1382 ]
1383 ]
1384
1385 node
1386 [
1387 id 36
1388 graphics
1389 [
1390 w 269.5
1391 h 68
1392 type "rectangle"
1393 fill "#FFFFFF"
1394 fill2 "#FFFFFF"
1395 outline "#000000"
1396 ]
1397 LabelGraphics
1398 [
1399 text "null"
1400 outline "#000000"
1401 fill "#FFFFFF"
1402 fontSize 16
1403 fontName "Monospace"
1404 autoSizePolicy "node_width"
1405 anchor "t"
1406 borderDistance 0.0
1407 ]
1408 LabelGraphics
1409 [
1410 text "
1411 CommSubsystem class
1412 UHFCommSubsystem class
1413 CommSubsystem class UndefinedPart
1414 "
1415 fontSize 14
1416 fontName "Consolas"
1417 alignment "left"
1418 anchor "tl"
1419 borderDistance 6
1420 ]
1421 ]
1422
1423 node
1424 [
1425 id 37
1426 graphics
1427 [
1428 w 223.3
1429 h 54
1430 type "rectangle"
1431 fill "#FFFFFF"
1432 fill2 "#FFFFFF"
1433 outline "#000000"
1434 ]
1435 LabelGraphics
1436 [
1437 text "null"
1438 outline "#000000"
1439 fill "#FFFFFF"
1440 fontSize 16
1441 fontName "Monospace"
1442 autoSizePolicy "node_width"
1443 anchor "t"
1444 borderDistance 0.0
1445 ]
1446 LabelGraphics
1447 [
1448 text "
1449 Payload class
1450 InterferometryPayload class
1451 "
1452 fontSize 14
1453 fontName "Consolas"
1454 alignment "left"
1455 anchor "tl"
1456 borderDistance 6
1457 ]
1458 ]
1459
1460 node
1461 [
1462 id 38
1463 graphics
1464 [
1465 w 112.2
1466 h 26
1467 type "rectangle"
1468 fill "#FFFFFF"
1469 fill2 "#FFFFFF"
1470 outline "#000000"
1471 ]
1472 LabelGraphics
1473 [
1474 text "New Integers"
1475 outline "#000000"
1476 fill "#FFFFFF"
1477 fontSize 16
1478 fontName "Monospace"
1479 autoSizePolicy "node_width"
1480 anchor "t"
1481 borderDistance 0.0
1482 ]
1483 LabelGraphics
1484 [
1485 text "
1486 "
1487 fontSize 14
1488 fontName "Consolas"
1489 alignment "left"
1490 anchor "tl"
1491 borderDistance 6
1492 ]
1493 ]
1494
1495 node
1496 [
1497 id 39
1498 graphics
1499 [
1500 w 85.80000000000001
1501 h 26
1502 type "rectangle"
1503 fill "#FFFFFF"
1504 fill2 "#FFFFFF"
1505 outline "#000000"
1506 ]
1507 LabelGraphics
1508 [
1509 text "New Reals"
1510 outline "#000000"
1511 fill "#FFFFFF"
1512 fontSize 16
1513 fontName "Monospace"
1514 autoSizePolicy "node_width"
1515 anchor "t"
1516 borderDistance 0.0
1517 ]
1518 LabelGraphics
1519 [
1520 text "
1521 "
1522 fontSize 14
1523 fontName "Consolas"
1524 alignment "left"
1525 anchor "tl"
1526 borderDistance 6
1527 ]
1528 ]
1529
1530 node
1531 [
1532 id 40
1533 graphics
1534 [
1535 w 103.4
1536 h 26
1537 type "rectangle"
1538 fill "#FFFFFF"
1539 fill2 "#FFFFFF"
1540 outline "#000000"
1541 ]
1542 LabelGraphics
1543 [
1544 text "New Strings"
1545 outline "#000000"
1546 fill "#FFFFFF"
1547 fontSize 16
1548 fontName "Monospace"
1549 autoSizePolicy "node_width"
1550 anchor "t"
1551 borderDistance 0.0
1552 ]
1553 LabelGraphics
1554 [
1555 text "
1556 "
1557 fontSize 14
1558 fontName "Consolas"
1559 alignment "left"
1560 anchor "tl"
1561 borderDistance 6
1562 ]
1563 ]
1564
1565 node
1566 [
1567 id 41
1568 graphics
1569 [
1570 w 103.4
1571 h 26
1572 type "rectangle"
1573 fill "#FFFFFF"
1574 fill2 "#FFFFFF"
1575 outline "#000000"
1576 ]
1577 LabelGraphics
1578 [
1579 text "New Objects"
1580 outline "#000000"
1581 fill "#FFFFFF"
1582 fontSize 16
1583 fontName "Monospace"
1584 autoSizePolicy "node_width"
1585 anchor "t"
1586 borderDistance 0.0
1587 ]
1588 LabelGraphics
1589 [
1590 text "
1591 "
1592 fontSize 14
1593 fontName "Consolas"
1594 alignment "left"
1595 anchor "tl"
1596 borderDistance 6
1597 ]
1598 ]
1599 edge
1600 [
1601 source 0
1602 target 1
1603 graphics
1604 [
1605 fill "#000000"
1606 width 3
1607 targetArrow "standard"
1608 ]
1609 LabelGraphics
1610 [
1611 text "groundStationNetwork reference ConstellationMission"
1612 fontSize 14
1613 fontName "Consolas"
1614 configuration "AutoFlippingLabel"
1615 model "six_pos"
1616 position "thead"
1617 ]
1618 ]
1619 edge
1620 [
1621 source 0
1622 target 6
1623 graphics
1624 [
1625 fill "#000000"
1626 width 3
1627 targetArrow "standard"
1628 ]
1629 LabelGraphics
1630 [
1631 text "spacecraft reference ConstellationMission"
1632 fontSize 14
1633 fontName "Consolas"
1634 configuration "AutoFlippingLabel"
1635 model "six_pos"
1636 position "thead"
1637 ]
1638 ]
1639 edge
1640 [
1641 source 0
1642 target 10
1643 graphics
1644 [
1645 fill "#000000"
1646 width 3
1647 targetArrow "standard"
1648 ]
1649 LabelGraphics
1650 [
1651 text "spacecraft reference ConstellationMission"
1652 fontSize 14
1653 fontName "Consolas"
1654 configuration "AutoFlippingLabel"
1655 model "six_pos"
1656 position "thead"
1657 ]
1658 ]
1659 edge
1660 [
1661 source 0
1662 target 14
1663 graphics
1664 [
1665 fill "#000000"
1666 width 3
1667 targetArrow "standard"
1668 ]
1669 LabelGraphics
1670 [
1671 text "spacecraft reference ConstellationMission"
1672 fontSize 14
1673 fontName "Consolas"
1674 configuration "AutoFlippingLabel"
1675 model "six_pos"
1676 position "thead"
1677 ]
1678 ]
1679 edge
1680 [
1681 source 0
1682 target 18
1683 graphics
1684 [
1685 fill "#000000"
1686 width 3
1687 targetArrow "standard"
1688 ]
1689 LabelGraphics
1690 [
1691 text "spacecraft reference ConstellationMission"
1692 fontSize 14
1693 fontName "Consolas"
1694 configuration "AutoFlippingLabel"
1695 model "six_pos"
1696 position "thead"
1697 ]
1698 ]
1699 edge
1700 [
1701 source 0
1702 target 22
1703 graphics
1704 [
1705 fill "#000000"
1706 width 3
1707 targetArrow "standard"
1708 ]
1709 LabelGraphics
1710 [
1711 text "spacecraft reference ConstellationMission"
1712 fontSize 14
1713 fontName "Consolas"
1714 configuration "AutoFlippingLabel"
1715 model "six_pos"
1716 position "thead"
1717 ]
1718 ]
1719 edge
1720 [
1721 source 0
1722 target 26
1723 graphics
1724 [
1725 fill "#000000"
1726 width 3
1727 targetArrow "standard"
1728 ]
1729 LabelGraphics
1730 [
1731 text "spacecraft reference ConstellationMission"
1732 fontSize 14
1733 fontName "Consolas"
1734 configuration "AutoFlippingLabel"
1735 model "six_pos"
1736 position "thead"
1737 ]
1738 ]
1739 edge
1740 [
1741 source 0
1742 target 30
1743 graphics
1744 [
1745 fill "#000000"
1746 width 3
1747 targetArrow "standard"
1748 ]
1749 LabelGraphics
1750 [
1751 text "spacecraft reference ConstellationMission"
1752 fontSize 14
1753 fontName "Consolas"
1754 configuration "AutoFlippingLabel"
1755 model "six_pos"
1756 position "thead"
1757 ]
1758 ]
1759 edge
1760 [
1761 source 0
1762 target 34
1763 graphics
1764 [
1765 fill "#000000"
1766 width 3
1767 targetArrow "standard"
1768 ]
1769 LabelGraphics
1770 [
1771 text "spacecraft reference ConstellationMission"
1772 fontSize 14
1773 fontName "Consolas"
1774 configuration "AutoFlippingLabel"
1775 model "six_pos"
1776 position "thead"
1777 ]
1778 ]
1779 edge
1780 [
1781 source 1
1782 target 2
1783 graphics
1784 [
1785 fill "#000000"
1786 width 3
1787 targetArrow "standard"
1788 ]
1789 LabelGraphics
1790 [
1791 text "commSubsystem reference CommunicatingElement"
1792 fontSize 14
1793 fontName "Consolas"
1794 configuration "AutoFlippingLabel"
1795 model "six_pos"
1796 position "thead"
1797 ]
1798 ]
1799 edge
1800 [
1801 source 1
1802 target 3
1803 graphics
1804 [
1805 fill "#000000"
1806 width 3
1807 targetArrow "standard"
1808 ]
1809 LabelGraphics
1810 [
1811 text "commSubsystem reference CommunicatingElement"
1812 fontSize 14
1813 fontName "Consolas"
1814 configuration "AutoFlippingLabel"
1815 model "six_pos"
1816 position "thead"
1817 ]
1818 ]
1819 edge
1820 [
1821 source 6
1822 target 7
1823 graphics
1824 [
1825 fill "#000000"
1826 width 3
1827 targetArrow "standard"
1828 ]
1829 LabelGraphics
1830 [
1831 text "commSubsystem reference CommunicatingElement"
1832 fontSize 14
1833 fontName "Consolas"
1834 configuration "AutoFlippingLabel"
1835 model "six_pos"
1836 position "thead"
1837 ]
1838 ]
1839 edge
1840 [
1841 source 6
1842 target 8
1843 graphics
1844 [
1845 fill "#000000"
1846 width 3
1847 targetArrow "standard"
1848 ]
1849 LabelGraphics
1850 [
1851 text "commSubsystem reference CommunicatingElement"
1852 fontSize 14
1853 fontName "Consolas"
1854 configuration "AutoFlippingLabel"
1855 model "six_pos"
1856 position "thead"
1857 ]
1858 ]
1859 edge
1860 [
1861 source 10
1862 target 11
1863 graphics
1864 [
1865 fill "#000000"
1866 width 3
1867 targetArrow "standard"
1868 ]
1869 LabelGraphics
1870 [
1871 text "commSubsystem reference CommunicatingElement"
1872 fontSize 14
1873 fontName "Consolas"
1874 configuration "AutoFlippingLabel"
1875 model "six_pos"
1876 position "thead"
1877 ]
1878 ]
1879 edge
1880 [
1881 source 10
1882 target 12
1883 graphics
1884 [
1885 fill "#000000"
1886 width 3
1887 targetArrow "standard"
1888 ]
1889 LabelGraphics
1890 [
1891 text "commSubsystem reference CommunicatingElement"
1892 fontSize 14
1893 fontName "Consolas"
1894 configuration "AutoFlippingLabel"
1895 model "six_pos"
1896 position "thead"
1897 ]
1898 ]
1899 edge
1900 [
1901 source 14
1902 target 15
1903 graphics
1904 [
1905 fill "#000000"
1906 width 3
1907 targetArrow "standard"
1908 ]
1909 LabelGraphics
1910 [
1911 text "commSubsystem reference CommunicatingElement"
1912 fontSize 14
1913 fontName "Consolas"
1914 configuration "AutoFlippingLabel"
1915 model "six_pos"
1916 position "thead"
1917 ]
1918 ]
1919 edge
1920 [
1921 source 14
1922 target 16
1923 graphics
1924 [
1925 fill "#000000"
1926 width 3
1927 targetArrow "standard"
1928 ]
1929 LabelGraphics
1930 [
1931 text "commSubsystem reference CommunicatingElement"
1932 fontSize 14
1933 fontName "Consolas"
1934 configuration "AutoFlippingLabel"
1935 model "six_pos"
1936 position "thead"
1937 ]
1938 ]
1939 edge
1940 [
1941 source 18
1942 target 19
1943 graphics
1944 [
1945 fill "#000000"
1946 width 3
1947 targetArrow "standard"
1948 ]
1949 LabelGraphics
1950 [
1951 text "commSubsystem reference CommunicatingElement"
1952 fontSize 14
1953 fontName "Consolas"
1954 configuration "AutoFlippingLabel"
1955 model "six_pos"
1956 position "thead"
1957 ]
1958 ]
1959 edge
1960 [
1961 source 18
1962 target 20
1963 graphics
1964 [
1965 fill "#000000"
1966 width 3
1967 targetArrow "standard"
1968 ]
1969 LabelGraphics
1970 [
1971 text "commSubsystem reference CommunicatingElement"
1972 fontSize 14
1973 fontName "Consolas"
1974 configuration "AutoFlippingLabel"
1975 model "six_pos"
1976 position "thead"
1977 ]
1978 ]
1979 edge
1980 [
1981 source 22
1982 target 23
1983 graphics
1984 [
1985 fill "#000000"
1986 width 3
1987 targetArrow "standard"
1988 ]
1989 LabelGraphics
1990 [
1991 text "commSubsystem reference CommunicatingElement"
1992 fontSize 14
1993 fontName "Consolas"
1994 configuration "AutoFlippingLabel"
1995 model "six_pos"
1996 position "thead"
1997 ]
1998 ]
1999 edge
2000 [
2001 source 22
2002 target 24
2003 graphics
2004 [
2005 fill "#000000"
2006 width 3
2007 targetArrow "standard"
2008 ]
2009 LabelGraphics
2010 [
2011 text "commSubsystem reference CommunicatingElement"
2012 fontSize 14
2013 fontName "Consolas"
2014 configuration "AutoFlippingLabel"
2015 model "six_pos"
2016 position "thead"
2017 ]
2018 ]
2019 edge
2020 [
2021 source 26
2022 target 27
2023 graphics
2024 [
2025 fill "#000000"
2026 width 3
2027 targetArrow "standard"
2028 ]
2029 LabelGraphics
2030 [
2031 text "commSubsystem reference CommunicatingElement"
2032 fontSize 14
2033 fontName "Consolas"
2034 configuration "AutoFlippingLabel"
2035 model "six_pos"
2036 position "thead"
2037 ]
2038 ]
2039 edge
2040 [
2041 source 26
2042 target 29
2043 graphics
2044 [
2045 fill "#000000"
2046 width 3
2047 targetArrow "standard"
2048 ]
2049 LabelGraphics
2050 [
2051 text "commSubsystem reference CommunicatingElement"
2052 fontSize 14
2053 fontName "Consolas"
2054 configuration "AutoFlippingLabel"
2055 model "six_pos"
2056 position "thead"
2057 ]
2058 ]
2059 edge
2060 [
2061 source 30
2062 target 32
2063 graphics
2064 [
2065 fill "#000000"
2066 width 3
2067 targetArrow "standard"
2068 ]
2069 LabelGraphics
2070 [
2071 text "commSubsystem reference CommunicatingElement"
2072 fontSize 14
2073 fontName "Consolas"
2074 configuration "AutoFlippingLabel"
2075 model "six_pos"
2076 position "thead"
2077 ]
2078 ]
2079 edge
2080 [
2081 source 30
2082 target 33
2083 graphics
2084 [
2085 fill "#000000"
2086 width 3
2087 targetArrow "standard"
2088 ]
2089 LabelGraphics
2090 [
2091 text "commSubsystem reference CommunicatingElement"
2092 fontSize 14
2093 fontName "Consolas"
2094 configuration "AutoFlippingLabel"
2095 model "six_pos"
2096 position "thead"
2097 ]
2098 ]
2099 edge
2100 [
2101 source 34
2102 target 35
2103 graphics
2104 [
2105 fill "#000000"
2106 width 3
2107 targetArrow "standard"
2108 ]
2109 LabelGraphics
2110 [
2111 text "commSubsystem reference CommunicatingElement"
2112 fontSize 14
2113 fontName "Consolas"
2114 configuration "AutoFlippingLabel"
2115 model "six_pos"
2116 position "thead"
2117 ]
2118 ]
2119 edge
2120 [
2121 source 34
2122 target 36
2123 graphics
2124 [
2125 fill "#000000"
2126 width 3
2127 targetArrow "standard"
2128 ]
2129 LabelGraphics
2130 [
2131 text "commSubsystem reference CommunicatingElement"
2132 fontSize 14
2133 fontName "Consolas"
2134 configuration "AutoFlippingLabel"
2135 model "six_pos"
2136 position "thead"
2137 ]
2138 ]
2139 edge
2140 [
2141 source 6
2142 target 9
2143 graphics
2144 [
2145 fill "#000000"
2146 width 3
2147 targetArrow "standard"
2148 ]
2149 LabelGraphics
2150 [
2151 text "payload reference Spacecraft"
2152 fontSize 14
2153 fontName "Consolas"
2154 configuration "AutoFlippingLabel"
2155 model "six_pos"
2156 position "thead"
2157 ]
2158 ]
2159 edge
2160 [
2161 source 10
2162 target 13
2163 graphics
2164 [
2165 fill "#000000"
2166 width 3
2167 targetArrow "standard"
2168 ]
2169 LabelGraphics
2170 [
2171 text "payload reference Spacecraft"
2172 fontSize 14
2173 fontName "Consolas"
2174 configuration "AutoFlippingLabel"
2175 model "six_pos"
2176 position "thead"
2177 ]
2178 ]
2179 edge
2180 [
2181 source 14
2182 target 17
2183 graphics
2184 [
2185 fill "#000000"
2186 width 3
2187 targetArrow "standard"
2188 ]
2189 LabelGraphics
2190 [
2191 text "payload reference Spacecraft"
2192 fontSize 14
2193 fontName "Consolas"
2194 configuration "AutoFlippingLabel"
2195 model "six_pos"
2196 position "thead"
2197 ]
2198 ]
2199 edge
2200 [
2201 source 18
2202 target 21
2203 graphics
2204 [
2205 fill "#000000"
2206 width 3
2207 targetArrow "standard"
2208 ]
2209 LabelGraphics
2210 [
2211 text "payload reference Spacecraft"
2212 fontSize 14
2213 fontName "Consolas"
2214 configuration "AutoFlippingLabel"
2215 model "six_pos"
2216 position "thead"
2217 ]
2218 ]
2219 edge
2220 [
2221 source 22
2222 target 25
2223 graphics
2224 [
2225 fill "#000000"
2226 width 3
2227 targetArrow "standard"
2228 ]
2229 LabelGraphics
2230 [
2231 text "payload reference Spacecraft"
2232 fontSize 14
2233 fontName "Consolas"
2234 configuration "AutoFlippingLabel"
2235 model "six_pos"
2236 position "thead"
2237 ]
2238 ]
2239 edge
2240 [
2241 source 26
2242 target 28
2243 graphics
2244 [
2245 fill "#000000"
2246 width 3
2247 targetArrow "standard"
2248 ]
2249 LabelGraphics
2250 [
2251 text "payload reference Spacecraft"
2252 fontSize 14
2253 fontName "Consolas"
2254 configuration "AutoFlippingLabel"
2255 model "six_pos"
2256 position "thead"
2257 ]
2258 ]
2259 edge
2260 [
2261 source 30
2262 target 31
2263 graphics
2264 [
2265 fill "#000000"
2266 width 3
2267 targetArrow "standard"
2268 ]
2269 LabelGraphics
2270 [
2271 text "payload reference Spacecraft"
2272 fontSize 14
2273 fontName "Consolas"
2274 configuration "AutoFlippingLabel"
2275 model "six_pos"
2276 position "thead"
2277 ]
2278 ]
2279 edge
2280 [
2281 source 34
2282 target 37
2283 graphics
2284 [
2285 fill "#000000"
2286 width 3
2287 targetArrow "standard"
2288 ]
2289 LabelGraphics
2290 [
2291 text "payload reference Spacecraft"
2292 fontSize 14
2293 fontName "Consolas"
2294 configuration "AutoFlippingLabel"
2295 model "six_pos"
2296 position "thead"
2297 ]
2298 ]
2299 edge
2300 [
2301 source 7
2302 target 2
2303 graphics
2304 [
2305 fill "#000000"
2306 targetArrow "standard"
2307 ]
2308 LabelGraphics
2309 [
2310 text "target reference CommSubsystem"
2311 fontSize 14
2312 fontName "Consolas"
2313 configuration "AutoFlippingLabel"
2314 model "six_pos"
2315 position "thead"
2316 ]
2317 ]
2318 edge
2319 [
2320 source 11
2321 target 8
2322 graphics
2323 [
2324 fill "#000000"
2325 targetArrow "standard"
2326 ]
2327 LabelGraphics
2328 [
2329 text "target reference CommSubsystem"
2330 fontSize 14
2331 fontName "Consolas"
2332 configuration "AutoFlippingLabel"
2333 model "six_pos"
2334 position "thead"
2335 ]
2336 ]
2337 edge
2338 [
2339 source 15
2340 target 12
2341 graphics
2342 [
2343 fill "#000000"
2344 targetArrow "standard"
2345 ]
2346 LabelGraphics
2347 [
2348 text "target reference CommSubsystem"
2349 fontSize 14
2350 fontName "Consolas"
2351 configuration "AutoFlippingLabel"
2352 model "six_pos"
2353 position "thead"
2354 ]
2355 ]
2356 edge
2357 [
2358 source 19
2359 target 2
2360 graphics
2361 [
2362 fill "#000000"
2363 targetArrow "standard"
2364 ]
2365 LabelGraphics
2366 [
2367 text "target reference CommSubsystem"
2368 fontSize 14
2369 fontName "Consolas"
2370 configuration "AutoFlippingLabel"
2371 model "six_pos"
2372 position "thead"
2373 ]
2374 ]
2375 edge
2376 [
2377 source 23
2378 target 2
2379 graphics
2380 [
2381 fill "#000000"
2382 targetArrow "standard"
2383 ]
2384 LabelGraphics
2385 [
2386 text "target reference CommSubsystem"
2387 fontSize 14
2388 fontName "Consolas"
2389 configuration "AutoFlippingLabel"
2390 model "six_pos"
2391 position "thead"
2392 ]
2393 ]
2394 edge
2395 [
2396 source 29
2397 target 2
2398 graphics
2399 [
2400 fill "#000000"
2401 targetArrow "standard"
2402 ]
2403 LabelGraphics
2404 [
2405 text "target reference CommSubsystem"
2406 fontSize 14
2407 fontName "Consolas"
2408 configuration "AutoFlippingLabel"
2409 model "six_pos"
2410 position "thead"
2411 ]
2412 ]
2413 edge
2414 [
2415 source 32
2416 target 2
2417 graphics
2418 [
2419 fill "#000000"
2420 targetArrow "standard"
2421 ]
2422 LabelGraphics
2423 [
2424 text "target reference CommSubsystem"
2425 fontSize 14
2426 fontName "Consolas"
2427 configuration "AutoFlippingLabel"
2428 model "six_pos"
2429 position "thead"
2430 ]
2431 ]
2432 edge
2433 [
2434 source 36
2435 target 11
2436 graphics
2437 [
2438 fill "#000000"
2439 targetArrow "standard"
2440 ]
2441 LabelGraphics
2442 [
2443 text "target reference CommSubsystem"
2444 fontSize 14
2445 fontName "Consolas"
2446 configuration "AutoFlippingLabel"
2447 model "six_pos"
2448 position "thead"
2449 ]
2450 ]
2451]
2452
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/4.png b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/4.png
new file mode 100644
index 00000000..36561a94
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/4.png
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/4.xmi b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/4.xmi
new file mode 100644
index 00000000..b3b122fa
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/4.xmi
@@ -0,0 +1,47 @@
1<?xml version="1.0" encoding="ASCII"?>
2<satellite:InterferometryMission xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:satellite="http://www.example.org/satellite" xsi:schemaLocation="http://www.example.org/satellite model/satellite.ecore">
3 <groundStationNetwork>
4 <commSubsystem xsi:type="satellite:KaCommSubsystem"/>
5 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
6 </groundStationNetwork>
7 <spacecraft xsi:type="satellite:CubeSat6U">
8 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@spacecraft.6/@commSubsystem.1"/>
9 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
10 <payload xsi:type="satellite:InterferometryPayload"/>
11 </spacecraft>
12 <spacecraft xsi:type="satellite:CubeSat3U">
13 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
14 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
15 <payload xsi:type="satellite:InterferometryPayload"/>
16 </spacecraft>
17 <spacecraft xsi:type="satellite:SmallSat">
18 <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.6/@commSubsystem.0"/>
19 <commSubsystem xsi:type="satellite:KaCommSubsystem"/>
20 <payload xsi:type="satellite:InterferometryPayload"/>
21 </spacecraft>
22 <spacecraft xsi:type="satellite:SmallSat">
23 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
24 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
25 <payload xsi:type="satellite:InterferometryPayload"/>
26 </spacecraft>
27 <spacecraft xsi:type="satellite:CubeSat6U">
28 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
29 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
30 <payload xsi:type="satellite:InterferometryPayload"/>
31 </spacecraft>
32 <spacecraft xsi:type="satellite:CubeSat6U">
33 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
34 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
35 <payload xsi:type="satellite:InterferometryPayload"/>
36 </spacecraft>
37 <spacecraft xsi:type="satellite:CubeSat6U">
38 <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.4/@commSubsystem.0"/>
39 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
40 <payload xsi:type="satellite:InterferometryPayload"/>
41 </spacecraft>
42 <spacecraft xsi:type="satellite:CubeSat3U">
43 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
44 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
45 <payload xsi:type="satellite:InterferometryPayload"/>
46 </spacecraft>
47</satellite:InterferometryMission>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/5.gml b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/5.gml
new file mode 100644
index 00000000..ad569d2a
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/5.gml
@@ -0,0 +1,2452 @@
1graph
2[
3 node
4 [
5 id 0
6 graphics
7 [
8 w 315.70000000000005
9 h 82
10 type "rectangle"
11 fill "#FFFFFF"
12 fill2 "#FFFFFF"
13 outline "#000000"
14 ]
15 LabelGraphics
16 [
17 text "o 1"
18 outline "#000000"
19 fill "#FFFFFF"
20 fontSize 16
21 fontName "Monospace"
22 autoSizePolicy "node_width"
23 anchor "t"
24 borderDistance 0.0
25 ]
26 LabelGraphics
27 [
28 text "
29 ConstellationMission class DefinedPart
30 InterferometryMission class DefinedPart
31 ConstellationMission class
32 InterferometryMission class
33 "
34 fontSize 14
35 fontName "Consolas"
36 alignment "left"
37 anchor "tl"
38 borderDistance 6
39 ]
40 ]
41
42 node
43 [
44 id 1
45 graphics
46 [
47 w 308.0
48 h 82
49 type "rectangle"
50 fill "#FFFFFF"
51 fill2 "#FFFFFF"
52 outline "#000000"
53 ]
54 LabelGraphics
55 [
56 text "o 2"
57 outline "#000000"
58 fill "#FFFFFF"
59 fontSize 16
60 fontName "Monospace"
61 autoSizePolicy "node_width"
62 anchor "t"
63 borderDistance 0.0
64 ]
65 LabelGraphics
66 [
67 text "
68 CommunicatingElement class DefinedPart
69 GroundStationNetwork class DefinedPart
70 CommunicatingElement class
71 GroundStationNetwork class
72 "
73 fontSize 14
74 fontName "Consolas"
75 alignment "left"
76 anchor "tl"
77 borderDistance 6
78 ]
79 ]
80
81 node
82 [
83 id 2
84 graphics
85 [
86 w 261.8
87 h 82
88 type "rectangle"
89 fill "#FFFFFF"
90 fill2 "#FFFFFF"
91 outline "#000000"
92 ]
93 LabelGraphics
94 [
95 text "o 3"
96 outline "#000000"
97 fill "#FFFFFF"
98 fontSize 16
99 fontName "Monospace"
100 autoSizePolicy "node_width"
101 anchor "t"
102 borderDistance 0.0
103 ]
104 LabelGraphics
105 [
106 text "
107 CommSubsystem class DefinedPart
108 XCommSubsystem class DefinedPart
109 CommSubsystem class
110 XCommSubsystem class
111 "
112 fontSize 14
113 fontName "Consolas"
114 alignment "left"
115 anchor "tl"
116 borderDistance 6
117 ]
118 ]
119
120 node
121 [
122 id 3
123 graphics
124 [
125 w 269.5
126 h 82
127 type "rectangle"
128 fill "#FFFFFF"
129 fill2 "#FFFFFF"
130 outline "#000000"
131 ]
132 LabelGraphics
133 [
134 text "o 4"
135 outline "#000000"
136 fill "#FFFFFF"
137 fontSize 16
138 fontName "Monospace"
139 autoSizePolicy "node_width"
140 anchor "t"
141 borderDistance 0.0
142 ]
143 LabelGraphics
144 [
145 text "
146 CommSubsystem class DefinedPart
147 KaCommSubsystem class DefinedPart
148 CommSubsystem class
149 KaCommSubsystem class
150 "
151 fontSize 14
152 fontName "Consolas"
153 alignment "left"
154 anchor "tl"
155 borderDistance 6
156 ]
157 ]
158
159 node
160 [
161 id 4
162 graphics
163 [
164 w 41.800000000000004
165 h 26
166 type "rectangle"
167 fill "#FFFFFF"
168 fill2 "#FFFFFF"
169 outline "#000000"
170 ]
171 LabelGraphics
172 [
173 text "true"
174 outline "#000000"
175 fill "#FFFFFF"
176 fontSize 16
177 fontName "Monospace"
178 autoSizePolicy "node_width"
179 anchor "t"
180 borderDistance 0.0
181 ]
182 LabelGraphics
183 [
184 text "
185 "
186 fontSize 14
187 fontName "Consolas"
188 alignment "left"
189 anchor "tl"
190 borderDistance 6
191 ]
192 ]
193
194 node
195 [
196 id 5
197 graphics
198 [
199 w 50.6
200 h 26
201 type "rectangle"
202 fill "#FFFFFF"
203 fill2 "#FFFFFF"
204 outline "#000000"
205 ]
206 LabelGraphics
207 [
208 text "false"
209 outline "#000000"
210 fill "#FFFFFF"
211 fontSize 16
212 fontName "Monospace"
213 autoSizePolicy "node_width"
214 anchor "t"
215 borderDistance 0.0
216 ]
217 LabelGraphics
218 [
219 text "
220 "
221 fontSize 14
222 fontName "Consolas"
223 alignment "left"
224 anchor "tl"
225 borderDistance 6
226 ]
227 ]
228
229 node
230 [
231 id 6
232 graphics
233 [
234 w 323.40000000000003
235 h 96
236 type "rectangle"
237 fill "#FFFFFF"
238 fill2 "#FFFFFF"
239 outline "#000000"
240 ]
241 LabelGraphics
242 [
243 text "null"
244 outline "#000000"
245 fill "#FFFFFF"
246 fontSize 16
247 fontName "Monospace"
248 autoSizePolicy "node_width"
249 anchor "t"
250 borderDistance 0.0
251 ]
252 LabelGraphics
253 [
254 text "
255 CommunicatingElement class
256 Spacecraft class
257 CubeSat6U class
258 CubeSat class
259 CommunicatingElement class UndefinedPart
260 "
261 fontSize 14
262 fontName "Consolas"
263 alignment "left"
264 anchor "tl"
265 borderDistance 6
266 ]
267 ]
268
269 node
270 [
271 id 7
272 graphics
273 [
274 w 277.20000000000005
275 h 82
276 type "rectangle"
277 fill "#FFFFFF"
278 fill2 "#FFFFFF"
279 outline "#000000"
280 ]
281 LabelGraphics
282 [
283 text "null"
284 outline "#000000"
285 fill "#FFFFFF"
286 fontSize 16
287 fontName "Monospace"
288 autoSizePolicy "node_width"
289 anchor "t"
290 borderDistance 0.0
291 ]
292 LabelGraphics
293 [
294 text "
295 CommSubsystem class
296 XCommSubsystem class
297 CommSubsystem class UndefinedPart
298 XCommSubsystem class UndefinedPart
299 "
300 fontSize 14
301 fontName "Consolas"
302 alignment "left"
303 anchor "tl"
304 borderDistance 6
305 ]
306 ]
307
308 node
309 [
310 id 8
311 graphics
312 [
313 w 269.5
314 h 68
315 type "rectangle"
316 fill "#FFFFFF"
317 fill2 "#FFFFFF"
318 outline "#000000"
319 ]
320 LabelGraphics
321 [
322 text "null"
323 outline "#000000"
324 fill "#FFFFFF"
325 fontSize 16
326 fontName "Monospace"
327 autoSizePolicy "node_width"
328 anchor "t"
329 borderDistance 0.0
330 ]
331 LabelGraphics
332 [
333 text "
334 CommSubsystem class
335 UHFCommSubsystem class
336 CommSubsystem class UndefinedPart
337 "
338 fontSize 14
339 fontName "Consolas"
340 alignment "left"
341 anchor "tl"
342 borderDistance 6
343 ]
344 ]
345
346 node
347 [
348 id 9
349 graphics
350 [
351 w 223.3
352 h 54
353 type "rectangle"
354 fill "#FFFFFF"
355 fill2 "#FFFFFF"
356 outline "#000000"
357 ]
358 LabelGraphics
359 [
360 text "null"
361 outline "#000000"
362 fill "#FFFFFF"
363 fontSize 16
364 fontName "Monospace"
365 autoSizePolicy "node_width"
366 anchor "t"
367 borderDistance 0.0
368 ]
369 LabelGraphics
370 [
371 text "
372 Payload class
373 InterferometryPayload class
374 "
375 fontSize 14
376 fontName "Consolas"
377 alignment "left"
378 anchor "tl"
379 borderDistance 6
380 ]
381 ]
382
383 node
384 [
385 id 10
386 graphics
387 [
388 w 323.40000000000003
389 h 96
390 type "rectangle"
391 fill "#FFFFFF"
392 fill2 "#FFFFFF"
393 outline "#000000"
394 ]
395 LabelGraphics
396 [
397 text "null"
398 outline "#000000"
399 fill "#FFFFFF"
400 fontSize 16
401 fontName "Monospace"
402 autoSizePolicy "node_width"
403 anchor "t"
404 borderDistance 0.0
405 ]
406 LabelGraphics
407 [
408 text "
409 CommunicatingElement class
410 Spacecraft class
411 CubeSat6U class
412 CubeSat class
413 CommunicatingElement class UndefinedPart
414 "
415 fontSize 14
416 fontName "Consolas"
417 alignment "left"
418 anchor "tl"
419 borderDistance 6
420 ]
421 ]
422
423 node
424 [
425 id 11
426 graphics
427 [
428 w 269.5
429 h 68
430 type "rectangle"
431 fill "#FFFFFF"
432 fill2 "#FFFFFF"
433 outline "#000000"
434 ]
435 LabelGraphics
436 [
437 text "null"
438 outline "#000000"
439 fill "#FFFFFF"
440 fontSize 16
441 fontName "Monospace"
442 autoSizePolicy "node_width"
443 anchor "t"
444 borderDistance 0.0
445 ]
446 LabelGraphics
447 [
448 text "
449 CommSubsystem class
450 UHFCommSubsystem class
451 CommSubsystem class UndefinedPart
452 "
453 fontSize 14
454 fontName "Consolas"
455 alignment "left"
456 anchor "tl"
457 borderDistance 6
458 ]
459 ]
460
461 node
462 [
463 id 12
464 graphics
465 [
466 w 277.20000000000005
467 h 82
468 type "rectangle"
469 fill "#FFFFFF"
470 fill2 "#FFFFFF"
471 outline "#000000"
472 ]
473 LabelGraphics
474 [
475 text "null"
476 outline "#000000"
477 fill "#FFFFFF"
478 fontSize 16
479 fontName "Monospace"
480 autoSizePolicy "node_width"
481 anchor "t"
482 borderDistance 0.0
483 ]
484 LabelGraphics
485 [
486 text "
487 CommSubsystem class
488 XCommSubsystem class
489 CommSubsystem class UndefinedPart
490 XCommSubsystem class UndefinedPart
491 "
492 fontSize 14
493 fontName "Consolas"
494 alignment "left"
495 anchor "tl"
496 borderDistance 6
497 ]
498 ]
499
500 node
501 [
502 id 13
503 graphics
504 [
505 w 223.3
506 h 54
507 type "rectangle"
508 fill "#FFFFFF"
509 fill2 "#FFFFFF"
510 outline "#000000"
511 ]
512 LabelGraphics
513 [
514 text "null"
515 outline "#000000"
516 fill "#FFFFFF"
517 fontSize 16
518 fontName "Monospace"
519 autoSizePolicy "node_width"
520 anchor "t"
521 borderDistance 0.0
522 ]
523 LabelGraphics
524 [
525 text "
526 Payload class
527 InterferometryPayload class
528 "
529 fontSize 14
530 fontName "Consolas"
531 alignment "left"
532 anchor "tl"
533 borderDistance 6
534 ]
535 ]
536
537 node
538 [
539 id 14
540 graphics
541 [
542 w 323.40000000000003
543 h 96
544 type "rectangle"
545 fill "#FFFFFF"
546 fill2 "#FFFFFF"
547 outline "#000000"
548 ]
549 LabelGraphics
550 [
551 text "null"
552 outline "#000000"
553 fill "#FFFFFF"
554 fontSize 16
555 fontName "Monospace"
556 autoSizePolicy "node_width"
557 anchor "t"
558 borderDistance 0.0
559 ]
560 LabelGraphics
561 [
562 text "
563 CommunicatingElement class
564 Spacecraft class
565 CubeSat6U class
566 CubeSat class
567 CommunicatingElement class UndefinedPart
568 "
569 fontSize 14
570 fontName "Consolas"
571 alignment "left"
572 anchor "tl"
573 borderDistance 6
574 ]
575 ]
576
577 node
578 [
579 id 15
580 graphics
581 [
582 w 277.20000000000005
583 h 82
584 type "rectangle"
585 fill "#FFFFFF"
586 fill2 "#FFFFFF"
587 outline "#000000"
588 ]
589 LabelGraphics
590 [
591 text "null"
592 outline "#000000"
593 fill "#FFFFFF"
594 fontSize 16
595 fontName "Monospace"
596 autoSizePolicy "node_width"
597 anchor "t"
598 borderDistance 0.0
599 ]
600 LabelGraphics
601 [
602 text "
603 CommSubsystem class
604 XCommSubsystem class
605 CommSubsystem class UndefinedPart
606 XCommSubsystem class UndefinedPart
607 "
608 fontSize 14
609 fontName "Consolas"
610 alignment "left"
611 anchor "tl"
612 borderDistance 6
613 ]
614 ]
615
616 node
617 [
618 id 16
619 graphics
620 [
621 w 269.5
622 h 68
623 type "rectangle"
624 fill "#FFFFFF"
625 fill2 "#FFFFFF"
626 outline "#000000"
627 ]
628 LabelGraphics
629 [
630 text "null"
631 outline "#000000"
632 fill "#FFFFFF"
633 fontSize 16
634 fontName "Monospace"
635 autoSizePolicy "node_width"
636 anchor "t"
637 borderDistance 0.0
638 ]
639 LabelGraphics
640 [
641 text "
642 CommSubsystem class
643 UHFCommSubsystem class
644 CommSubsystem class UndefinedPart
645 "
646 fontSize 14
647 fontName "Consolas"
648 alignment "left"
649 anchor "tl"
650 borderDistance 6
651 ]
652 ]
653
654 node
655 [
656 id 17
657 graphics
658 [
659 w 223.3
660 h 54
661 type "rectangle"
662 fill "#FFFFFF"
663 fill2 "#FFFFFF"
664 outline "#000000"
665 ]
666 LabelGraphics
667 [
668 text "null"
669 outline "#000000"
670 fill "#FFFFFF"
671 fontSize 16
672 fontName "Monospace"
673 autoSizePolicy "node_width"
674 anchor "t"
675 borderDistance 0.0
676 ]
677 LabelGraphics
678 [
679 text "
680 Payload class
681 InterferometryPayload class
682 "
683 fontSize 14
684 fontName "Consolas"
685 alignment "left"
686 anchor "tl"
687 borderDistance 6
688 ]
689 ]
690
691 node
692 [
693 id 18
694 graphics
695 [
696 w 323.40000000000003
697 h 96
698 type "rectangle"
699 fill "#FFFFFF"
700 fill2 "#FFFFFF"
701 outline "#000000"
702 ]
703 LabelGraphics
704 [
705 text "null"
706 outline "#000000"
707 fill "#FFFFFF"
708 fontSize 16
709 fontName "Monospace"
710 autoSizePolicy "node_width"
711 anchor "t"
712 borderDistance 0.0
713 ]
714 LabelGraphics
715 [
716 text "
717 CommunicatingElement class
718 Spacecraft class
719 CubeSat3U class
720 CubeSat class
721 CommunicatingElement class UndefinedPart
722 "
723 fontSize 14
724 fontName "Consolas"
725 alignment "left"
726 anchor "tl"
727 borderDistance 6
728 ]
729 ]
730
731 node
732 [
733 id 19
734 graphics
735 [
736 w 277.20000000000005
737 h 82
738 type "rectangle"
739 fill "#FFFFFF"
740 fill2 "#FFFFFF"
741 outline "#000000"
742 ]
743 LabelGraphics
744 [
745 text "null"
746 outline "#000000"
747 fill "#FFFFFF"
748 fontSize 16
749 fontName "Monospace"
750 autoSizePolicy "node_width"
751 anchor "t"
752 borderDistance 0.0
753 ]
754 LabelGraphics
755 [
756 text "
757 CommSubsystem class
758 XCommSubsystem class
759 CommSubsystem class UndefinedPart
760 XCommSubsystem class UndefinedPart
761 "
762 fontSize 14
763 fontName "Consolas"
764 alignment "left"
765 anchor "tl"
766 borderDistance 6
767 ]
768 ]
769
770 node
771 [
772 id 20
773 graphics
774 [
775 w 277.20000000000005
776 h 82
777 type "rectangle"
778 fill "#FFFFFF"
779 fill2 "#FFFFFF"
780 outline "#000000"
781 ]
782 LabelGraphics
783 [
784 text "null"
785 outline "#000000"
786 fill "#FFFFFF"
787 fontSize 16
788 fontName "Monospace"
789 autoSizePolicy "node_width"
790 anchor "t"
791 borderDistance 0.0
792 ]
793 LabelGraphics
794 [
795 text "
796 CommSubsystem class
797 XCommSubsystem class
798 CommSubsystem class UndefinedPart
799 XCommSubsystem class UndefinedPart
800 "
801 fontSize 14
802 fontName "Consolas"
803 alignment "left"
804 anchor "tl"
805 borderDistance 6
806 ]
807 ]
808
809 node
810 [
811 id 21
812 graphics
813 [
814 w 223.3
815 h 54
816 type "rectangle"
817 fill "#FFFFFF"
818 fill2 "#FFFFFF"
819 outline "#000000"
820 ]
821 LabelGraphics
822 [
823 text "null"
824 outline "#000000"
825 fill "#FFFFFF"
826 fontSize 16
827 fontName "Monospace"
828 autoSizePolicy "node_width"
829 anchor "t"
830 borderDistance 0.0
831 ]
832 LabelGraphics
833 [
834 text "
835 Payload class
836 InterferometryPayload class
837 "
838 fontSize 14
839 fontName "Consolas"
840 alignment "left"
841 anchor "tl"
842 borderDistance 6
843 ]
844 ]
845
846 node
847 [
848 id 22
849 graphics
850 [
851 w 323.40000000000003
852 h 96
853 type "rectangle"
854 fill "#FFFFFF"
855 fill2 "#FFFFFF"
856 outline "#000000"
857 ]
858 LabelGraphics
859 [
860 text "null"
861 outline "#000000"
862 fill "#FFFFFF"
863 fontSize 16
864 fontName "Monospace"
865 autoSizePolicy "node_width"
866 anchor "t"
867 borderDistance 0.0
868 ]
869 LabelGraphics
870 [
871 text "
872 CommunicatingElement class
873 Spacecraft class
874 CubeSat3U class
875 CubeSat class
876 CommunicatingElement class UndefinedPart
877 "
878 fontSize 14
879 fontName "Consolas"
880 alignment "left"
881 anchor "tl"
882 borderDistance 6
883 ]
884 ]
885
886 node
887 [
888 id 23
889 graphics
890 [
891 w 277.20000000000005
892 h 82
893 type "rectangle"
894 fill "#FFFFFF"
895 fill2 "#FFFFFF"
896 outline "#000000"
897 ]
898 LabelGraphics
899 [
900 text "null"
901 outline "#000000"
902 fill "#FFFFFF"
903 fontSize 16
904 fontName "Monospace"
905 autoSizePolicy "node_width"
906 anchor "t"
907 borderDistance 0.0
908 ]
909 LabelGraphics
910 [
911 text "
912 CommSubsystem class
913 XCommSubsystem class
914 CommSubsystem class UndefinedPart
915 XCommSubsystem class UndefinedPart
916 "
917 fontSize 14
918 fontName "Consolas"
919 alignment "left"
920 anchor "tl"
921 borderDistance 6
922 ]
923 ]
924
925 node
926 [
927 id 24
928 graphics
929 [
930 w 269.5
931 h 68
932 type "rectangle"
933 fill "#FFFFFF"
934 fill2 "#FFFFFF"
935 outline "#000000"
936 ]
937 LabelGraphics
938 [
939 text "null"
940 outline "#000000"
941 fill "#FFFFFF"
942 fontSize 16
943 fontName "Monospace"
944 autoSizePolicy "node_width"
945 anchor "t"
946 borderDistance 0.0
947 ]
948 LabelGraphics
949 [
950 text "
951 CommSubsystem class
952 UHFCommSubsystem class
953 CommSubsystem class UndefinedPart
954 "
955 fontSize 14
956 fontName "Consolas"
957 alignment "left"
958 anchor "tl"
959 borderDistance 6
960 ]
961 ]
962
963 node
964 [
965 id 25
966 graphics
967 [
968 w 223.3
969 h 54
970 type "rectangle"
971 fill "#FFFFFF"
972 fill2 "#FFFFFF"
973 outline "#000000"
974 ]
975 LabelGraphics
976 [
977 text "null"
978 outline "#000000"
979 fill "#FFFFFF"
980 fontSize 16
981 fontName "Monospace"
982 autoSizePolicy "node_width"
983 anchor "t"
984 borderDistance 0.0
985 ]
986 LabelGraphics
987 [
988 text "
989 Payload class
990 InterferometryPayload class
991 "
992 fontSize 14
993 fontName "Consolas"
994 alignment "left"
995 anchor "tl"
996 borderDistance 6
997 ]
998 ]
999
1000 node
1001 [
1002 id 26
1003 graphics
1004 [
1005 w 323.40000000000003
1006 h 82
1007 type "rectangle"
1008 fill "#FFFFFF"
1009 fill2 "#FFFFFF"
1010 outline "#000000"
1011 ]
1012 LabelGraphics
1013 [
1014 text "null"
1015 outline "#000000"
1016 fill "#FFFFFF"
1017 fontSize 16
1018 fontName "Monospace"
1019 autoSizePolicy "node_width"
1020 anchor "t"
1021 borderDistance 0.0
1022 ]
1023 LabelGraphics
1024 [
1025 text "
1026 CommunicatingElement class
1027 Spacecraft class
1028 SmallSat class
1029 CommunicatingElement class UndefinedPart
1030 "
1031 fontSize 14
1032 fontName "Consolas"
1033 alignment "left"
1034 anchor "tl"
1035 borderDistance 6
1036 ]
1037 ]
1038
1039 node
1040 [
1041 id 27
1042 graphics
1043 [
1044 w 269.5
1045 h 68
1046 type "rectangle"
1047 fill "#FFFFFF"
1048 fill2 "#FFFFFF"
1049 outline "#000000"
1050 ]
1051 LabelGraphics
1052 [
1053 text "null"
1054 outline "#000000"
1055 fill "#FFFFFF"
1056 fontSize 16
1057 fontName "Monospace"
1058 autoSizePolicy "node_width"
1059 anchor "t"
1060 borderDistance 0.0
1061 ]
1062 LabelGraphics
1063 [
1064 text "
1065 CommSubsystem class
1066 UHFCommSubsystem class
1067 CommSubsystem class UndefinedPart
1068 "
1069 fontSize 14
1070 fontName "Consolas"
1071 alignment "left"
1072 anchor "tl"
1073 borderDistance 6
1074 ]
1075 ]
1076
1077 node
1078 [
1079 id 28
1080 graphics
1081 [
1082 w 223.3
1083 h 54
1084 type "rectangle"
1085 fill "#FFFFFF"
1086 fill2 "#FFFFFF"
1087 outline "#000000"
1088 ]
1089 LabelGraphics
1090 [
1091 text "null"
1092 outline "#000000"
1093 fill "#FFFFFF"
1094 fontSize 16
1095 fontName "Monospace"
1096 autoSizePolicy "node_width"
1097 anchor "t"
1098 borderDistance 0.0
1099 ]
1100 LabelGraphics
1101 [
1102 text "
1103 Payload class
1104 InterferometryPayload class
1105 "
1106 fontSize 14
1107 fontName "Consolas"
1108 alignment "left"
1109 anchor "tl"
1110 borderDistance 6
1111 ]
1112 ]
1113
1114 node
1115 [
1116 id 29
1117 graphics
1118 [
1119 w 277.20000000000005
1120 h 82
1121 type "rectangle"
1122 fill "#FFFFFF"
1123 fill2 "#FFFFFF"
1124 outline "#000000"
1125 ]
1126 LabelGraphics
1127 [
1128 text "null"
1129 outline "#000000"
1130 fill "#FFFFFF"
1131 fontSize 16
1132 fontName "Monospace"
1133 autoSizePolicy "node_width"
1134 anchor "t"
1135 borderDistance 0.0
1136 ]
1137 LabelGraphics
1138 [
1139 text "
1140 CommSubsystem class
1141 XCommSubsystem class
1142 CommSubsystem class UndefinedPart
1143 XCommSubsystem class UndefinedPart
1144 "
1145 fontSize 14
1146 fontName "Consolas"
1147 alignment "left"
1148 anchor "tl"
1149 borderDistance 6
1150 ]
1151 ]
1152
1153 node
1154 [
1155 id 30
1156 graphics
1157 [
1158 w 323.40000000000003
1159 h 96
1160 type "rectangle"
1161 fill "#FFFFFF"
1162 fill2 "#FFFFFF"
1163 outline "#000000"
1164 ]
1165 LabelGraphics
1166 [
1167 text "null"
1168 outline "#000000"
1169 fill "#FFFFFF"
1170 fontSize 16
1171 fontName "Monospace"
1172 autoSizePolicy "node_width"
1173 anchor "t"
1174 borderDistance 0.0
1175 ]
1176 LabelGraphics
1177 [
1178 text "
1179 CommunicatingElement class
1180 Spacecraft class
1181 CubeSat6U class
1182 CubeSat class
1183 CommunicatingElement class UndefinedPart
1184 "
1185 fontSize 14
1186 fontName "Consolas"
1187 alignment "left"
1188 anchor "tl"
1189 borderDistance 6
1190 ]
1191 ]
1192
1193 node
1194 [
1195 id 31
1196 graphics
1197 [
1198 w 223.3
1199 h 54
1200 type "rectangle"
1201 fill "#FFFFFF"
1202 fill2 "#FFFFFF"
1203 outline "#000000"
1204 ]
1205 LabelGraphics
1206 [
1207 text "null"
1208 outline "#000000"
1209 fill "#FFFFFF"
1210 fontSize 16
1211 fontName "Monospace"
1212 autoSizePolicy "node_width"
1213 anchor "t"
1214 borderDistance 0.0
1215 ]
1216 LabelGraphics
1217 [
1218 text "
1219 Payload class
1220 InterferometryPayload class
1221 "
1222 fontSize 14
1223 fontName "Consolas"
1224 alignment "left"
1225 anchor "tl"
1226 borderDistance 6
1227 ]
1228 ]
1229
1230 node
1231 [
1232 id 32
1233 graphics
1234 [
1235 w 277.20000000000005
1236 h 82
1237 type "rectangle"
1238 fill "#FFFFFF"
1239 fill2 "#FFFFFF"
1240 outline "#000000"
1241 ]
1242 LabelGraphics
1243 [
1244 text "null"
1245 outline "#000000"
1246 fill "#FFFFFF"
1247 fontSize 16
1248 fontName "Monospace"
1249 autoSizePolicy "node_width"
1250 anchor "t"
1251 borderDistance 0.0
1252 ]
1253 LabelGraphics
1254 [
1255 text "
1256 CommSubsystem class
1257 XCommSubsystem class
1258 CommSubsystem class UndefinedPart
1259 XCommSubsystem class UndefinedPart
1260 "
1261 fontSize 14
1262 fontName "Consolas"
1263 alignment "left"
1264 anchor "tl"
1265 borderDistance 6
1266 ]
1267 ]
1268
1269 node
1270 [
1271 id 33
1272 graphics
1273 [
1274 w 269.5
1275 h 68
1276 type "rectangle"
1277 fill "#FFFFFF"
1278 fill2 "#FFFFFF"
1279 outline "#000000"
1280 ]
1281 LabelGraphics
1282 [
1283 text "null"
1284 outline "#000000"
1285 fill "#FFFFFF"
1286 fontSize 16
1287 fontName "Monospace"
1288 autoSizePolicy "node_width"
1289 anchor "t"
1290 borderDistance 0.0
1291 ]
1292 LabelGraphics
1293 [
1294 text "
1295 CommSubsystem class
1296 UHFCommSubsystem class
1297 CommSubsystem class UndefinedPart
1298 "
1299 fontSize 14
1300 fontName "Consolas"
1301 alignment "left"
1302 anchor "tl"
1303 borderDistance 6
1304 ]
1305 ]
1306
1307 node
1308 [
1309 id 34
1310 graphics
1311 [
1312 w 323.40000000000003
1313 h 82
1314 type "rectangle"
1315 fill "#FFFFFF"
1316 fill2 "#FFFFFF"
1317 outline "#000000"
1318 ]
1319 LabelGraphics
1320 [
1321 text "null"
1322 outline "#000000"
1323 fill "#FFFFFF"
1324 fontSize 16
1325 fontName "Monospace"
1326 autoSizePolicy "node_width"
1327 anchor "t"
1328 borderDistance 0.0
1329 ]
1330 LabelGraphics
1331 [
1332 text "
1333 CommunicatingElement class
1334 Spacecraft class
1335 SmallSat class
1336 CommunicatingElement class UndefinedPart
1337 "
1338 fontSize 14
1339 fontName "Consolas"
1340 alignment "left"
1341 anchor "tl"
1342 borderDistance 6
1343 ]
1344 ]
1345
1346 node
1347 [
1348 id 35
1349 graphics
1350 [
1351 w 284.90000000000003
1352 h 82
1353 type "rectangle"
1354 fill "#FFFFFF"
1355 fill2 "#FFFFFF"
1356 outline "#000000"
1357 ]
1358 LabelGraphics
1359 [
1360 text "null"
1361 outline "#000000"
1362 fill "#FFFFFF"
1363 fontSize 16
1364 fontName "Monospace"
1365 autoSizePolicy "node_width"
1366 anchor "t"
1367 borderDistance 0.0
1368 ]
1369 LabelGraphics
1370 [
1371 text "
1372 CommSubsystem class
1373 KaCommSubsystem class
1374 CommSubsystem class UndefinedPart
1375 KaCommSubsystem class UndefinedPart
1376 "
1377 fontSize 14
1378 fontName "Consolas"
1379 alignment "left"
1380 anchor "tl"
1381 borderDistance 6
1382 ]
1383 ]
1384
1385 node
1386 [
1387 id 36
1388 graphics
1389 [
1390 w 269.5
1391 h 68
1392 type "rectangle"
1393 fill "#FFFFFF"
1394 fill2 "#FFFFFF"
1395 outline "#000000"
1396 ]
1397 LabelGraphics
1398 [
1399 text "null"
1400 outline "#000000"
1401 fill "#FFFFFF"
1402 fontSize 16
1403 fontName "Monospace"
1404 autoSizePolicy "node_width"
1405 anchor "t"
1406 borderDistance 0.0
1407 ]
1408 LabelGraphics
1409 [
1410 text "
1411 CommSubsystem class
1412 UHFCommSubsystem class
1413 CommSubsystem class UndefinedPart
1414 "
1415 fontSize 14
1416 fontName "Consolas"
1417 alignment "left"
1418 anchor "tl"
1419 borderDistance 6
1420 ]
1421 ]
1422
1423 node
1424 [
1425 id 37
1426 graphics
1427 [
1428 w 223.3
1429 h 54
1430 type "rectangle"
1431 fill "#FFFFFF"
1432 fill2 "#FFFFFF"
1433 outline "#000000"
1434 ]
1435 LabelGraphics
1436 [
1437 text "null"
1438 outline "#000000"
1439 fill "#FFFFFF"
1440 fontSize 16
1441 fontName "Monospace"
1442 autoSizePolicy "node_width"
1443 anchor "t"
1444 borderDistance 0.0
1445 ]
1446 LabelGraphics
1447 [
1448 text "
1449 Payload class
1450 InterferometryPayload class
1451 "
1452 fontSize 14
1453 fontName "Consolas"
1454 alignment "left"
1455 anchor "tl"
1456 borderDistance 6
1457 ]
1458 ]
1459
1460 node
1461 [
1462 id 38
1463 graphics
1464 [
1465 w 112.2
1466 h 26
1467 type "rectangle"
1468 fill "#FFFFFF"
1469 fill2 "#FFFFFF"
1470 outline "#000000"
1471 ]
1472 LabelGraphics
1473 [
1474 text "New Integers"
1475 outline "#000000"
1476 fill "#FFFFFF"
1477 fontSize 16
1478 fontName "Monospace"
1479 autoSizePolicy "node_width"
1480 anchor "t"
1481 borderDistance 0.0
1482 ]
1483 LabelGraphics
1484 [
1485 text "
1486 "
1487 fontSize 14
1488 fontName "Consolas"
1489 alignment "left"
1490 anchor "tl"
1491 borderDistance 6
1492 ]
1493 ]
1494
1495 node
1496 [
1497 id 39
1498 graphics
1499 [
1500 w 85.80000000000001
1501 h 26
1502 type "rectangle"
1503 fill "#FFFFFF"
1504 fill2 "#FFFFFF"
1505 outline "#000000"
1506 ]
1507 LabelGraphics
1508 [
1509 text "New Reals"
1510 outline "#000000"
1511 fill "#FFFFFF"
1512 fontSize 16
1513 fontName "Monospace"
1514 autoSizePolicy "node_width"
1515 anchor "t"
1516 borderDistance 0.0
1517 ]
1518 LabelGraphics
1519 [
1520 text "
1521 "
1522 fontSize 14
1523 fontName "Consolas"
1524 alignment "left"
1525 anchor "tl"
1526 borderDistance 6
1527 ]
1528 ]
1529
1530 node
1531 [
1532 id 40
1533 graphics
1534 [
1535 w 103.4
1536 h 26
1537 type "rectangle"
1538 fill "#FFFFFF"
1539 fill2 "#FFFFFF"
1540 outline "#000000"
1541 ]
1542 LabelGraphics
1543 [
1544 text "New Strings"
1545 outline "#000000"
1546 fill "#FFFFFF"
1547 fontSize 16
1548 fontName "Monospace"
1549 autoSizePolicy "node_width"
1550 anchor "t"
1551 borderDistance 0.0
1552 ]
1553 LabelGraphics
1554 [
1555 text "
1556 "
1557 fontSize 14
1558 fontName "Consolas"
1559 alignment "left"
1560 anchor "tl"
1561 borderDistance 6
1562 ]
1563 ]
1564
1565 node
1566 [
1567 id 41
1568 graphics
1569 [
1570 w 103.4
1571 h 26
1572 type "rectangle"
1573 fill "#FFFFFF"
1574 fill2 "#FFFFFF"
1575 outline "#000000"
1576 ]
1577 LabelGraphics
1578 [
1579 text "New Objects"
1580 outline "#000000"
1581 fill "#FFFFFF"
1582 fontSize 16
1583 fontName "Monospace"
1584 autoSizePolicy "node_width"
1585 anchor "t"
1586 borderDistance 0.0
1587 ]
1588 LabelGraphics
1589 [
1590 text "
1591 "
1592 fontSize 14
1593 fontName "Consolas"
1594 alignment "left"
1595 anchor "tl"
1596 borderDistance 6
1597 ]
1598 ]
1599 edge
1600 [
1601 source 0
1602 target 1
1603 graphics
1604 [
1605 fill "#000000"
1606 width 3
1607 targetArrow "standard"
1608 ]
1609 LabelGraphics
1610 [
1611 text "groundStationNetwork reference ConstellationMission"
1612 fontSize 14
1613 fontName "Consolas"
1614 configuration "AutoFlippingLabel"
1615 model "six_pos"
1616 position "thead"
1617 ]
1618 ]
1619 edge
1620 [
1621 source 0
1622 target 6
1623 graphics
1624 [
1625 fill "#000000"
1626 width 3
1627 targetArrow "standard"
1628 ]
1629 LabelGraphics
1630 [
1631 text "spacecraft reference ConstellationMission"
1632 fontSize 14
1633 fontName "Consolas"
1634 configuration "AutoFlippingLabel"
1635 model "six_pos"
1636 position "thead"
1637 ]
1638 ]
1639 edge
1640 [
1641 source 0
1642 target 10
1643 graphics
1644 [
1645 fill "#000000"
1646 width 3
1647 targetArrow "standard"
1648 ]
1649 LabelGraphics
1650 [
1651 text "spacecraft reference ConstellationMission"
1652 fontSize 14
1653 fontName "Consolas"
1654 configuration "AutoFlippingLabel"
1655 model "six_pos"
1656 position "thead"
1657 ]
1658 ]
1659 edge
1660 [
1661 source 0
1662 target 14
1663 graphics
1664 [
1665 fill "#000000"
1666 width 3
1667 targetArrow "standard"
1668 ]
1669 LabelGraphics
1670 [
1671 text "spacecraft reference ConstellationMission"
1672 fontSize 14
1673 fontName "Consolas"
1674 configuration "AutoFlippingLabel"
1675 model "six_pos"
1676 position "thead"
1677 ]
1678 ]
1679 edge
1680 [
1681 source 0
1682 target 18
1683 graphics
1684 [
1685 fill "#000000"
1686 width 3
1687 targetArrow "standard"
1688 ]
1689 LabelGraphics
1690 [
1691 text "spacecraft reference ConstellationMission"
1692 fontSize 14
1693 fontName "Consolas"
1694 configuration "AutoFlippingLabel"
1695 model "six_pos"
1696 position "thead"
1697 ]
1698 ]
1699 edge
1700 [
1701 source 0
1702 target 22
1703 graphics
1704 [
1705 fill "#000000"
1706 width 3
1707 targetArrow "standard"
1708 ]
1709 LabelGraphics
1710 [
1711 text "spacecraft reference ConstellationMission"
1712 fontSize 14
1713 fontName "Consolas"
1714 configuration "AutoFlippingLabel"
1715 model "six_pos"
1716 position "thead"
1717 ]
1718 ]
1719 edge
1720 [
1721 source 0
1722 target 26
1723 graphics
1724 [
1725 fill "#000000"
1726 width 3
1727 targetArrow "standard"
1728 ]
1729 LabelGraphics
1730 [
1731 text "spacecraft reference ConstellationMission"
1732 fontSize 14
1733 fontName "Consolas"
1734 configuration "AutoFlippingLabel"
1735 model "six_pos"
1736 position "thead"
1737 ]
1738 ]
1739 edge
1740 [
1741 source 0
1742 target 30
1743 graphics
1744 [
1745 fill "#000000"
1746 width 3
1747 targetArrow "standard"
1748 ]
1749 LabelGraphics
1750 [
1751 text "spacecraft reference ConstellationMission"
1752 fontSize 14
1753 fontName "Consolas"
1754 configuration "AutoFlippingLabel"
1755 model "six_pos"
1756 position "thead"
1757 ]
1758 ]
1759 edge
1760 [
1761 source 0
1762 target 34
1763 graphics
1764 [
1765 fill "#000000"
1766 width 3
1767 targetArrow "standard"
1768 ]
1769 LabelGraphics
1770 [
1771 text "spacecraft reference ConstellationMission"
1772 fontSize 14
1773 fontName "Consolas"
1774 configuration "AutoFlippingLabel"
1775 model "six_pos"
1776 position "thead"
1777 ]
1778 ]
1779 edge
1780 [
1781 source 1
1782 target 2
1783 graphics
1784 [
1785 fill "#000000"
1786 width 3
1787 targetArrow "standard"
1788 ]
1789 LabelGraphics
1790 [
1791 text "commSubsystem reference CommunicatingElement"
1792 fontSize 14
1793 fontName "Consolas"
1794 configuration "AutoFlippingLabel"
1795 model "six_pos"
1796 position "thead"
1797 ]
1798 ]
1799 edge
1800 [
1801 source 1
1802 target 3
1803 graphics
1804 [
1805 fill "#000000"
1806 width 3
1807 targetArrow "standard"
1808 ]
1809 LabelGraphics
1810 [
1811 text "commSubsystem reference CommunicatingElement"
1812 fontSize 14
1813 fontName "Consolas"
1814 configuration "AutoFlippingLabel"
1815 model "six_pos"
1816 position "thead"
1817 ]
1818 ]
1819 edge
1820 [
1821 source 6
1822 target 7
1823 graphics
1824 [
1825 fill "#000000"
1826 width 3
1827 targetArrow "standard"
1828 ]
1829 LabelGraphics
1830 [
1831 text "commSubsystem reference CommunicatingElement"
1832 fontSize 14
1833 fontName "Consolas"
1834 configuration "AutoFlippingLabel"
1835 model "six_pos"
1836 position "thead"
1837 ]
1838 ]
1839 edge
1840 [
1841 source 6
1842 target 8
1843 graphics
1844 [
1845 fill "#000000"
1846 width 3
1847 targetArrow "standard"
1848 ]
1849 LabelGraphics
1850 [
1851 text "commSubsystem reference CommunicatingElement"
1852 fontSize 14
1853 fontName "Consolas"
1854 configuration "AutoFlippingLabel"
1855 model "six_pos"
1856 position "thead"
1857 ]
1858 ]
1859 edge
1860 [
1861 source 10
1862 target 11
1863 graphics
1864 [
1865 fill "#000000"
1866 width 3
1867 targetArrow "standard"
1868 ]
1869 LabelGraphics
1870 [
1871 text "commSubsystem reference CommunicatingElement"
1872 fontSize 14
1873 fontName "Consolas"
1874 configuration "AutoFlippingLabel"
1875 model "six_pos"
1876 position "thead"
1877 ]
1878 ]
1879 edge
1880 [
1881 source 10
1882 target 12
1883 graphics
1884 [
1885 fill "#000000"
1886 width 3
1887 targetArrow "standard"
1888 ]
1889 LabelGraphics
1890 [
1891 text "commSubsystem reference CommunicatingElement"
1892 fontSize 14
1893 fontName "Consolas"
1894 configuration "AutoFlippingLabel"
1895 model "six_pos"
1896 position "thead"
1897 ]
1898 ]
1899 edge
1900 [
1901 source 14
1902 target 15
1903 graphics
1904 [
1905 fill "#000000"
1906 width 3
1907 targetArrow "standard"
1908 ]
1909 LabelGraphics
1910 [
1911 text "commSubsystem reference CommunicatingElement"
1912 fontSize 14
1913 fontName "Consolas"
1914 configuration "AutoFlippingLabel"
1915 model "six_pos"
1916 position "thead"
1917 ]
1918 ]
1919 edge
1920 [
1921 source 14
1922 target 16
1923 graphics
1924 [
1925 fill "#000000"
1926 width 3
1927 targetArrow "standard"
1928 ]
1929 LabelGraphics
1930 [
1931 text "commSubsystem reference CommunicatingElement"
1932 fontSize 14
1933 fontName "Consolas"
1934 configuration "AutoFlippingLabel"
1935 model "six_pos"
1936 position "thead"
1937 ]
1938 ]
1939 edge
1940 [
1941 source 18
1942 target 19
1943 graphics
1944 [
1945 fill "#000000"
1946 width 3
1947 targetArrow "standard"
1948 ]
1949 LabelGraphics
1950 [
1951 text "commSubsystem reference CommunicatingElement"
1952 fontSize 14
1953 fontName "Consolas"
1954 configuration "AutoFlippingLabel"
1955 model "six_pos"
1956 position "thead"
1957 ]
1958 ]
1959 edge
1960 [
1961 source 18
1962 target 20
1963 graphics
1964 [
1965 fill "#000000"
1966 width 3
1967 targetArrow "standard"
1968 ]
1969 LabelGraphics
1970 [
1971 text "commSubsystem reference CommunicatingElement"
1972 fontSize 14
1973 fontName "Consolas"
1974 configuration "AutoFlippingLabel"
1975 model "six_pos"
1976 position "thead"
1977 ]
1978 ]
1979 edge
1980 [
1981 source 22
1982 target 23
1983 graphics
1984 [
1985 fill "#000000"
1986 width 3
1987 targetArrow "standard"
1988 ]
1989 LabelGraphics
1990 [
1991 text "commSubsystem reference CommunicatingElement"
1992 fontSize 14
1993 fontName "Consolas"
1994 configuration "AutoFlippingLabel"
1995 model "six_pos"
1996 position "thead"
1997 ]
1998 ]
1999 edge
2000 [
2001 source 22
2002 target 24
2003 graphics
2004 [
2005 fill "#000000"
2006 width 3
2007 targetArrow "standard"
2008 ]
2009 LabelGraphics
2010 [
2011 text "commSubsystem reference CommunicatingElement"
2012 fontSize 14
2013 fontName "Consolas"
2014 configuration "AutoFlippingLabel"
2015 model "six_pos"
2016 position "thead"
2017 ]
2018 ]
2019 edge
2020 [
2021 source 26
2022 target 27
2023 graphics
2024 [
2025 fill "#000000"
2026 width 3
2027 targetArrow "standard"
2028 ]
2029 LabelGraphics
2030 [
2031 text "commSubsystem reference CommunicatingElement"
2032 fontSize 14
2033 fontName "Consolas"
2034 configuration "AutoFlippingLabel"
2035 model "six_pos"
2036 position "thead"
2037 ]
2038 ]
2039 edge
2040 [
2041 source 26
2042 target 29
2043 graphics
2044 [
2045 fill "#000000"
2046 width 3
2047 targetArrow "standard"
2048 ]
2049 LabelGraphics
2050 [
2051 text "commSubsystem reference CommunicatingElement"
2052 fontSize 14
2053 fontName "Consolas"
2054 configuration "AutoFlippingLabel"
2055 model "six_pos"
2056 position "thead"
2057 ]
2058 ]
2059 edge
2060 [
2061 source 30
2062 target 32
2063 graphics
2064 [
2065 fill "#000000"
2066 width 3
2067 targetArrow "standard"
2068 ]
2069 LabelGraphics
2070 [
2071 text "commSubsystem reference CommunicatingElement"
2072 fontSize 14
2073 fontName "Consolas"
2074 configuration "AutoFlippingLabel"
2075 model "six_pos"
2076 position "thead"
2077 ]
2078 ]
2079 edge
2080 [
2081 source 30
2082 target 33
2083 graphics
2084 [
2085 fill "#000000"
2086 width 3
2087 targetArrow "standard"
2088 ]
2089 LabelGraphics
2090 [
2091 text "commSubsystem reference CommunicatingElement"
2092 fontSize 14
2093 fontName "Consolas"
2094 configuration "AutoFlippingLabel"
2095 model "six_pos"
2096 position "thead"
2097 ]
2098 ]
2099 edge
2100 [
2101 source 34
2102 target 35
2103 graphics
2104 [
2105 fill "#000000"
2106 width 3
2107 targetArrow "standard"
2108 ]
2109 LabelGraphics
2110 [
2111 text "commSubsystem reference CommunicatingElement"
2112 fontSize 14
2113 fontName "Consolas"
2114 configuration "AutoFlippingLabel"
2115 model "six_pos"
2116 position "thead"
2117 ]
2118 ]
2119 edge
2120 [
2121 source 34
2122 target 36
2123 graphics
2124 [
2125 fill "#000000"
2126 width 3
2127 targetArrow "standard"
2128 ]
2129 LabelGraphics
2130 [
2131 text "commSubsystem reference CommunicatingElement"
2132 fontSize 14
2133 fontName "Consolas"
2134 configuration "AutoFlippingLabel"
2135 model "six_pos"
2136 position "thead"
2137 ]
2138 ]
2139 edge
2140 [
2141 source 6
2142 target 9
2143 graphics
2144 [
2145 fill "#000000"
2146 width 3
2147 targetArrow "standard"
2148 ]
2149 LabelGraphics
2150 [
2151 text "payload reference Spacecraft"
2152 fontSize 14
2153 fontName "Consolas"
2154 configuration "AutoFlippingLabel"
2155 model "six_pos"
2156 position "thead"
2157 ]
2158 ]
2159 edge
2160 [
2161 source 10
2162 target 13
2163 graphics
2164 [
2165 fill "#000000"
2166 width 3
2167 targetArrow "standard"
2168 ]
2169 LabelGraphics
2170 [
2171 text "payload reference Spacecraft"
2172 fontSize 14
2173 fontName "Consolas"
2174 configuration "AutoFlippingLabel"
2175 model "six_pos"
2176 position "thead"
2177 ]
2178 ]
2179 edge
2180 [
2181 source 14
2182 target 17
2183 graphics
2184 [
2185 fill "#000000"
2186 width 3
2187 targetArrow "standard"
2188 ]
2189 LabelGraphics
2190 [
2191 text "payload reference Spacecraft"
2192 fontSize 14
2193 fontName "Consolas"
2194 configuration "AutoFlippingLabel"
2195 model "six_pos"
2196 position "thead"
2197 ]
2198 ]
2199 edge
2200 [
2201 source 18
2202 target 21
2203 graphics
2204 [
2205 fill "#000000"
2206 width 3
2207 targetArrow "standard"
2208 ]
2209 LabelGraphics
2210 [
2211 text "payload reference Spacecraft"
2212 fontSize 14
2213 fontName "Consolas"
2214 configuration "AutoFlippingLabel"
2215 model "six_pos"
2216 position "thead"
2217 ]
2218 ]
2219 edge
2220 [
2221 source 22
2222 target 25
2223 graphics
2224 [
2225 fill "#000000"
2226 width 3
2227 targetArrow "standard"
2228 ]
2229 LabelGraphics
2230 [
2231 text "payload reference Spacecraft"
2232 fontSize 14
2233 fontName "Consolas"
2234 configuration "AutoFlippingLabel"
2235 model "six_pos"
2236 position "thead"
2237 ]
2238 ]
2239 edge
2240 [
2241 source 26
2242 target 28
2243 graphics
2244 [
2245 fill "#000000"
2246 width 3
2247 targetArrow "standard"
2248 ]
2249 LabelGraphics
2250 [
2251 text "payload reference Spacecraft"
2252 fontSize 14
2253 fontName "Consolas"
2254 configuration "AutoFlippingLabel"
2255 model "six_pos"
2256 position "thead"
2257 ]
2258 ]
2259 edge
2260 [
2261 source 30
2262 target 31
2263 graphics
2264 [
2265 fill "#000000"
2266 width 3
2267 targetArrow "standard"
2268 ]
2269 LabelGraphics
2270 [
2271 text "payload reference Spacecraft"
2272 fontSize 14
2273 fontName "Consolas"
2274 configuration "AutoFlippingLabel"
2275 model "six_pos"
2276 position "thead"
2277 ]
2278 ]
2279 edge
2280 [
2281 source 34
2282 target 37
2283 graphics
2284 [
2285 fill "#000000"
2286 width 3
2287 targetArrow "standard"
2288 ]
2289 LabelGraphics
2290 [
2291 text "payload reference Spacecraft"
2292 fontSize 14
2293 fontName "Consolas"
2294 configuration "AutoFlippingLabel"
2295 model "six_pos"
2296 position "thead"
2297 ]
2298 ]
2299 edge
2300 [
2301 source 7
2302 target 2
2303 graphics
2304 [
2305 fill "#000000"
2306 targetArrow "standard"
2307 ]
2308 LabelGraphics
2309 [
2310 text "target reference CommSubsystem"
2311 fontSize 14
2312 fontName "Consolas"
2313 configuration "AutoFlippingLabel"
2314 model "six_pos"
2315 position "thead"
2316 ]
2317 ]
2318 edge
2319 [
2320 source 11
2321 target 8
2322 graphics
2323 [
2324 fill "#000000"
2325 targetArrow "standard"
2326 ]
2327 LabelGraphics
2328 [
2329 text "target reference CommSubsystem"
2330 fontSize 14
2331 fontName "Consolas"
2332 configuration "AutoFlippingLabel"
2333 model "six_pos"
2334 position "thead"
2335 ]
2336 ]
2337 edge
2338 [
2339 source 15
2340 target 12
2341 graphics
2342 [
2343 fill "#000000"
2344 targetArrow "standard"
2345 ]
2346 LabelGraphics
2347 [
2348 text "target reference CommSubsystem"
2349 fontSize 14
2350 fontName "Consolas"
2351 configuration "AutoFlippingLabel"
2352 model "six_pos"
2353 position "thead"
2354 ]
2355 ]
2356 edge
2357 [
2358 source 19
2359 target 2
2360 graphics
2361 [
2362 fill "#000000"
2363 targetArrow "standard"
2364 ]
2365 LabelGraphics
2366 [
2367 text "target reference CommSubsystem"
2368 fontSize 14
2369 fontName "Consolas"
2370 configuration "AutoFlippingLabel"
2371 model "six_pos"
2372 position "thead"
2373 ]
2374 ]
2375 edge
2376 [
2377 source 23
2378 target 2
2379 graphics
2380 [
2381 fill "#000000"
2382 targetArrow "standard"
2383 ]
2384 LabelGraphics
2385 [
2386 text "target reference CommSubsystem"
2387 fontSize 14
2388 fontName "Consolas"
2389 configuration "AutoFlippingLabel"
2390 model "six_pos"
2391 position "thead"
2392 ]
2393 ]
2394 edge
2395 [
2396 source 29
2397 target 2
2398 graphics
2399 [
2400 fill "#000000"
2401 targetArrow "standard"
2402 ]
2403 LabelGraphics
2404 [
2405 text "target reference CommSubsystem"
2406 fontSize 14
2407 fontName "Consolas"
2408 configuration "AutoFlippingLabel"
2409 model "six_pos"
2410 position "thead"
2411 ]
2412 ]
2413 edge
2414 [
2415 source 32
2416 target 2
2417 graphics
2418 [
2419 fill "#000000"
2420 targetArrow "standard"
2421 ]
2422 LabelGraphics
2423 [
2424 text "target reference CommSubsystem"
2425 fontSize 14
2426 fontName "Consolas"
2427 configuration "AutoFlippingLabel"
2428 model "six_pos"
2429 position "thead"
2430 ]
2431 ]
2432 edge
2433 [
2434 source 36
2435 target 16
2436 graphics
2437 [
2438 fill "#000000"
2439 targetArrow "standard"
2440 ]
2441 LabelGraphics
2442 [
2443 text "target reference CommSubsystem"
2444 fontSize 14
2445 fontName "Consolas"
2446 configuration "AutoFlippingLabel"
2447 model "six_pos"
2448 position "thead"
2449 ]
2450 ]
2451]
2452
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/5.png b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/5.png
new file mode 100644
index 00000000..70dfad68
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/5.png
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/5.xmi b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/5.xmi
new file mode 100644
index 00000000..9b2a9ea1
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/5.xmi
@@ -0,0 +1,47 @@
1<?xml version="1.0" encoding="ASCII"?>
2<satellite:InterferometryMission xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:satellite="http://www.example.org/satellite" xsi:schemaLocation="http://www.example.org/satellite model/satellite.ecore">
3 <groundStationNetwork>
4 <commSubsystem xsi:type="satellite:KaCommSubsystem"/>
5 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
6 </groundStationNetwork>
7 <spacecraft xsi:type="satellite:CubeSat6U">
8 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@spacecraft.6/@commSubsystem.1"/>
9 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
10 <payload xsi:type="satellite:InterferometryPayload"/>
11 </spacecraft>
12 <spacecraft xsi:type="satellite:CubeSat3U">
13 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
14 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
15 <payload xsi:type="satellite:InterferometryPayload"/>
16 </spacecraft>
17 <spacecraft xsi:type="satellite:SmallSat">
18 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
19 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
20 <payload xsi:type="satellite:InterferometryPayload"/>
21 </spacecraft>
22 <spacecraft xsi:type="satellite:SmallSat">
23 <commSubsystem xsi:type="satellite:KaCommSubsystem"/>
24 <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.0/@commSubsystem.1"/>
25 <payload xsi:type="satellite:InterferometryPayload"/>
26 </spacecraft>
27 <spacecraft xsi:type="satellite:CubeSat6U">
28 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
29 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
30 <payload xsi:type="satellite:InterferometryPayload"/>
31 </spacecraft>
32 <spacecraft xsi:type="satellite:CubeSat6U">
33 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
34 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
35 <payload xsi:type="satellite:InterferometryPayload"/>
36 </spacecraft>
37 <spacecraft xsi:type="satellite:CubeSat6U">
38 <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.4/@commSubsystem.0"/>
39 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
40 <payload xsi:type="satellite:InterferometryPayload"/>
41 </spacecraft>
42 <spacecraft xsi:type="satellite:CubeSat3U">
43 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
44 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
45 <payload xsi:type="satellite:InterferometryPayload"/>
46 </spacecraft>
47</satellite:InterferometryMission>
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
new file mode 100644
index 00000000..de337fc2
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run1/1_1.gml
@@ -0,0 +1,2450 @@
1graph
2[
3 node
4 [
5 id 0
6 graphics
7 [
8 w 315.70000000000005
9 h 82
10 type "rectangle"
11 fill "#FFFFFF"
12 fill2 "#FFFFFF"
13 outline "#000000"
14 ]
15 LabelGraphics
16 [
17 text "o 1"
18 outline "#000000"
19 fill "#FFFFFF"
20 fontSize 16
21 fontName "Monospace"
22 autoSizePolicy "node_width"
23 anchor "t"
24 borderDistance 0.0
25 ]
26 LabelGraphics
27 [
28 text "
29 ConstellationMission class DefinedPart
30 InterferometryMission class DefinedPart
31 ConstellationMission class
32 InterferometryMission class
33 "
34 fontSize 14
35 fontName "Consolas"
36 alignment "left"
37 anchor "tl"
38 borderDistance 6
39 ]
40 ]
41
42 node
43 [
44 id 1
45 graphics
46 [
47 w 308.0
48 h 82
49 type "rectangle"
50 fill "#FFFFFF"
51 fill2 "#FFFFFF"
52 outline "#000000"
53 ]
54 LabelGraphics
55 [
56 text "o 2"
57 outline "#000000"
58 fill "#FFFFFF"
59 fontSize 16
60 fontName "Monospace"
61 autoSizePolicy "node_width"
62 anchor "t"
63 borderDistance 0.0
64 ]
65 LabelGraphics
66 [
67 text "
68 CommunicatingElement class DefinedPart
69 GroundStationNetwork class DefinedPart
70 CommunicatingElement class
71 GroundStationNetwork class
72 "
73 fontSize 14
74 fontName "Consolas"
75 alignment "left"
76 anchor "tl"
77 borderDistance 6
78 ]
79 ]
80
81 node
82 [
83 id 2
84 graphics
85 [
86 w 261.8
87 h 82
88 type "rectangle"
89 fill "#FFFFFF"
90 fill2 "#FFFFFF"
91 outline "#000000"
92 ]
93 LabelGraphics
94 [
95 text "o 3"
96 outline "#000000"
97 fill "#FFFFFF"
98 fontSize 16
99 fontName "Monospace"
100 autoSizePolicy "node_width"
101 anchor "t"
102 borderDistance 0.0
103 ]
104 LabelGraphics
105 [
106 text "
107 CommSubsystem class DefinedPart
108 XCommSubsystem class DefinedPart
109 CommSubsystem class
110 XCommSubsystem class
111 "
112 fontSize 14
113 fontName "Consolas"
114 alignment "left"
115 anchor "tl"
116 borderDistance 6
117 ]
118 ]
119
120 node
121 [
122 id 3
123 graphics
124 [
125 w 269.5
126 h 82
127 type "rectangle"
128 fill "#FFFFFF"
129 fill2 "#FFFFFF"
130 outline "#000000"
131 ]
132 LabelGraphics
133 [
134 text "o 4"
135 outline "#000000"
136 fill "#FFFFFF"
137 fontSize 16
138 fontName "Monospace"
139 autoSizePolicy "node_width"
140 anchor "t"
141 borderDistance 0.0
142 ]
143 LabelGraphics
144 [
145 text "
146 CommSubsystem class DefinedPart
147 KaCommSubsystem class DefinedPart
148 CommSubsystem class
149 KaCommSubsystem class
150 "
151 fontSize 14
152 fontName "Consolas"
153 alignment "left"
154 anchor "tl"
155 borderDistance 6
156 ]
157 ]
158
159 node
160 [
161 id 4
162 graphics
163 [
164 w 41.800000000000004
165 h 26
166 type "rectangle"
167 fill "#FFFFFF"
168 fill2 "#FFFFFF"
169 outline "#000000"
170 ]
171 LabelGraphics
172 [
173 text "true"
174 outline "#000000"
175 fill "#FFFFFF"
176 fontSize 16
177 fontName "Monospace"
178 autoSizePolicy "node_width"
179 anchor "t"
180 borderDistance 0.0
181 ]
182 LabelGraphics
183 [
184 text "
185 "
186 fontSize 14
187 fontName "Consolas"
188 alignment "left"
189 anchor "tl"
190 borderDistance 6
191 ]
192 ]
193
194 node
195 [
196 id 5
197 graphics
198 [
199 w 50.6
200 h 26
201 type "rectangle"
202 fill "#FFFFFF"
203 fill2 "#FFFFFF"
204 outline "#000000"
205 ]
206 LabelGraphics
207 [
208 text "false"
209 outline "#000000"
210 fill "#FFFFFF"
211 fontSize 16
212 fontName "Monospace"
213 autoSizePolicy "node_width"
214 anchor "t"
215 borderDistance 0.0
216 ]
217 LabelGraphics
218 [
219 text "
220 "
221 fontSize 14
222 fontName "Consolas"
223 alignment "left"
224 anchor "tl"
225 borderDistance 6
226 ]
227 ]
228
229 node
230 [
231 id 6
232 graphics
233 [
234 w 323.40000000000003
235 h 82
236 type "rectangle"
237 fill "#FFFFFF"
238 fill2 "#FFFFFF"
239 outline "#000000"
240 ]
241 LabelGraphics
242 [
243 text "null"
244 outline "#000000"
245 fill "#FFFFFF"
246 fontSize 16
247 fontName "Monospace"
248 autoSizePolicy "node_width"
249 anchor "t"
250 borderDistance 0.0
251 ]
252 LabelGraphics
253 [
254 text "
255 CommunicatingElement class
256 Spacecraft class
257 SmallSat class
258 CommunicatingElement class UndefinedPart
259 "
260 fontSize 14
261 fontName "Consolas"
262 alignment "left"
263 anchor "tl"
264 borderDistance 6
265 ]
266 ]
267
268 node
269 [
270 id 7
271 graphics
272 [
273 w 269.5
274 h 68
275 type "rectangle"
276 fill "#FFFFFF"
277 fill2 "#FFFFFF"
278 outline "#000000"
279 ]
280 LabelGraphics
281 [
282 text "null"
283 outline "#000000"
284 fill "#FFFFFF"
285 fontSize 16
286 fontName "Monospace"
287 autoSizePolicy "node_width"
288 anchor "t"
289 borderDistance 0.0
290 ]
291 LabelGraphics
292 [
293 text "
294 CommSubsystem class
295 UHFCommSubsystem class
296 CommSubsystem class UndefinedPart
297 "
298 fontSize 14
299 fontName "Consolas"
300 alignment "left"
301 anchor "tl"
302 borderDistance 6
303 ]
304 ]
305
306 node
307 [
308 id 8
309 graphics
310 [
311 w 223.3
312 h 54
313 type "rectangle"
314 fill "#FFFFFF"
315 fill2 "#FFFFFF"
316 outline "#000000"
317 ]
318 LabelGraphics
319 [
320 text "null"
321 outline "#000000"
322 fill "#FFFFFF"
323 fontSize 16
324 fontName "Monospace"
325 autoSizePolicy "node_width"
326 anchor "t"
327 borderDistance 0.0
328 ]
329 LabelGraphics
330 [
331 text "
332 Payload class
333 InterferometryPayload class
334 "
335 fontSize 14
336 fontName "Consolas"
337 alignment "left"
338 anchor "tl"
339 borderDistance 6
340 ]
341 ]
342
343 node
344 [
345 id 9
346 graphics
347 [
348 w 277.20000000000005
349 h 82
350 type "rectangle"
351 fill "#FFFFFF"
352 fill2 "#FFFFFF"
353 outline "#000000"
354 ]
355 LabelGraphics
356 [
357 text "null"
358 outline "#000000"
359 fill "#FFFFFF"
360 fontSize 16
361 fontName "Monospace"
362 autoSizePolicy "node_width"
363 anchor "t"
364 borderDistance 0.0
365 ]
366 LabelGraphics
367 [
368 text "
369 CommSubsystem class
370 XCommSubsystem class
371 CommSubsystem class UndefinedPart
372 XCommSubsystem class UndefinedPart
373 "
374 fontSize 14
375 fontName "Consolas"
376 alignment "left"
377 anchor "tl"
378 borderDistance 6
379 ]
380 ]
381
382 node
383 [
384 id 10
385 graphics
386 [
387 w 323.40000000000003
388 h 96
389 type "rectangle"
390 fill "#FFFFFF"
391 fill2 "#FFFFFF"
392 outline "#000000"
393 ]
394 LabelGraphics
395 [
396 text "null"
397 outline "#000000"
398 fill "#FFFFFF"
399 fontSize 16
400 fontName "Monospace"
401 autoSizePolicy "node_width"
402 anchor "t"
403 borderDistance 0.0
404 ]
405 LabelGraphics
406 [
407 text "
408 CommunicatingElement class
409 Spacecraft class
410 CubeSat6U class
411 CubeSat class
412 CommunicatingElement class UndefinedPart
413 "
414 fontSize 14
415 fontName "Consolas"
416 alignment "left"
417 anchor "tl"
418 borderDistance 6
419 ]
420 ]
421
422 node
423 [
424 id 11
425 graphics
426 [
427 w 277.20000000000005
428 h 82
429 type "rectangle"
430 fill "#FFFFFF"
431 fill2 "#FFFFFF"
432 outline "#000000"
433 ]
434 LabelGraphics
435 [
436 text "null"
437 outline "#000000"
438 fill "#FFFFFF"
439 fontSize 16
440 fontName "Monospace"
441 autoSizePolicy "node_width"
442 anchor "t"
443 borderDistance 0.0
444 ]
445 LabelGraphics
446 [
447 text "
448 CommSubsystem class
449 XCommSubsystem class
450 CommSubsystem class UndefinedPart
451 XCommSubsystem class UndefinedPart
452 "
453 fontSize 14
454 fontName "Consolas"
455 alignment "left"
456 anchor "tl"
457 borderDistance 6
458 ]
459 ]
460
461 node
462 [
463 id 12
464 graphics
465 [
466 w 269.5
467 h 68
468 type "rectangle"
469 fill "#FFFFFF"
470 fill2 "#FFFFFF"
471 outline "#000000"
472 ]
473 LabelGraphics
474 [
475 text "null"
476 outline "#000000"
477 fill "#FFFFFF"
478 fontSize 16
479 fontName "Monospace"
480 autoSizePolicy "node_width"
481 anchor "t"
482 borderDistance 0.0
483 ]
484 LabelGraphics
485 [
486 text "
487 CommSubsystem class
488 UHFCommSubsystem class
489 CommSubsystem class UndefinedPart
490 "
491 fontSize 14
492 fontName "Consolas"
493 alignment "left"
494 anchor "tl"
495 borderDistance 6
496 ]
497 ]
498
499 node
500 [
501 id 13
502 graphics
503 [
504 w 223.3
505 h 54
506 type "rectangle"
507 fill "#FFFFFF"
508 fill2 "#FFFFFF"
509 outline "#000000"
510 ]
511 LabelGraphics
512 [
513 text "null"
514 outline "#000000"
515 fill "#FFFFFF"
516 fontSize 16
517 fontName "Monospace"
518 autoSizePolicy "node_width"
519 anchor "t"
520 borderDistance 0.0
521 ]
522 LabelGraphics
523 [
524 text "
525 Payload class
526 InterferometryPayload class
527 "
528 fontSize 14
529 fontName "Consolas"
530 alignment "left"
531 anchor "tl"
532 borderDistance 6
533 ]
534 ]
535
536 node
537 [
538 id 14
539 graphics
540 [
541 w 323.40000000000003
542 h 82
543 type "rectangle"
544 fill "#FFFFFF"
545 fill2 "#FFFFFF"
546 outline "#000000"
547 ]
548 LabelGraphics
549 [
550 text "null"
551 outline "#000000"
552 fill "#FFFFFF"
553 fontSize 16
554 fontName "Monospace"
555 autoSizePolicy "node_width"
556 anchor "t"
557 borderDistance 0.0
558 ]
559 LabelGraphics
560 [
561 text "
562 CommunicatingElement class
563 Spacecraft class
564 SmallSat class
565 CommunicatingElement class UndefinedPart
566 "
567 fontSize 14
568 fontName "Consolas"
569 alignment "left"
570 anchor "tl"
571 borderDistance 6
572 ]
573 ]
574
575 node
576 [
577 id 15
578 graphics
579 [
580 w 277.20000000000005
581 h 82
582 type "rectangle"
583 fill "#FFFFFF"
584 fill2 "#FFFFFF"
585 outline "#000000"
586 ]
587 LabelGraphics
588 [
589 text "null"
590 outline "#000000"
591 fill "#FFFFFF"
592 fontSize 16
593 fontName "Monospace"
594 autoSizePolicy "node_width"
595 anchor "t"
596 borderDistance 0.0
597 ]
598 LabelGraphics
599 [
600 text "
601 CommSubsystem class
602 XCommSubsystem class
603 CommSubsystem class UndefinedPart
604 XCommSubsystem class UndefinedPart
605 "
606 fontSize 14
607 fontName "Consolas"
608 alignment "left"
609 anchor "tl"
610 borderDistance 6
611 ]
612 ]
613
614 node
615 [
616 id 16
617 graphics
618 [
619 w 223.3
620 h 54
621 type "rectangle"
622 fill "#FFFFFF"
623 fill2 "#FFFFFF"
624 outline "#000000"
625 ]
626 LabelGraphics
627 [
628 text "null"
629 outline "#000000"
630 fill "#FFFFFF"
631 fontSize 16
632 fontName "Monospace"
633 autoSizePolicy "node_width"
634 anchor "t"
635 borderDistance 0.0
636 ]
637 LabelGraphics
638 [
639 text "
640 Payload class
641 InterferometryPayload class
642 "
643 fontSize 14
644 fontName "Consolas"
645 alignment "left"
646 anchor "tl"
647 borderDistance 6
648 ]
649 ]
650
651 node
652 [
653 id 17
654 graphics
655 [
656 w 277.20000000000005
657 h 82
658 type "rectangle"
659 fill "#FFFFFF"
660 fill2 "#FFFFFF"
661 outline "#000000"
662 ]
663 LabelGraphics
664 [
665 text "null"
666 outline "#000000"
667 fill "#FFFFFF"
668 fontSize 16
669 fontName "Monospace"
670 autoSizePolicy "node_width"
671 anchor "t"
672 borderDistance 0.0
673 ]
674 LabelGraphics
675 [
676 text "
677 CommSubsystem class
678 XCommSubsystem class
679 CommSubsystem class UndefinedPart
680 XCommSubsystem class UndefinedPart
681 "
682 fontSize 14
683 fontName "Consolas"
684 alignment "left"
685 anchor "tl"
686 borderDistance 6
687 ]
688 ]
689
690 node
691 [
692 id 18
693 graphics
694 [
695 w 323.40000000000003
696 h 96
697 type "rectangle"
698 fill "#FFFFFF"
699 fill2 "#FFFFFF"
700 outline "#000000"
701 ]
702 LabelGraphics
703 [
704 text "null"
705 outline "#000000"
706 fill "#FFFFFF"
707 fontSize 16
708 fontName "Monospace"
709 autoSizePolicy "node_width"
710 anchor "t"
711 borderDistance 0.0
712 ]
713 LabelGraphics
714 [
715 text "
716 CommunicatingElement class
717 Spacecraft class
718 CubeSat3U class
719 CubeSat class
720 CommunicatingElement class UndefinedPart
721 "
722 fontSize 14
723 fontName "Consolas"
724 alignment "left"
725 anchor "tl"
726 borderDistance 6
727 ]
728 ]
729
730 node
731 [
732 id 19
733 graphics
734 [
735 w 269.5
736 h 68
737 type "rectangle"
738 fill "#FFFFFF"
739 fill2 "#FFFFFF"
740 outline "#000000"
741 ]
742 LabelGraphics
743 [
744 text "null"
745 outline "#000000"
746 fill "#FFFFFF"
747 fontSize 16
748 fontName "Monospace"
749 autoSizePolicy "node_width"
750 anchor "t"
751 borderDistance 0.0
752 ]
753 LabelGraphics
754 [
755 text "
756 CommSubsystem class
757 UHFCommSubsystem class
758 CommSubsystem class UndefinedPart
759 "
760 fontSize 14
761 fontName "Consolas"
762 alignment "left"
763 anchor "tl"
764 borderDistance 6
765 ]
766 ]
767
768 node
769 [
770 id 20
771 graphics
772 [
773 w 269.5
774 h 68
775 type "rectangle"
776 fill "#FFFFFF"
777 fill2 "#FFFFFF"
778 outline "#000000"
779 ]
780 LabelGraphics
781 [
782 text "null"
783 outline "#000000"
784 fill "#FFFFFF"
785 fontSize 16
786 fontName "Monospace"
787 autoSizePolicy "node_width"
788 anchor "t"
789 borderDistance 0.0
790 ]
791 LabelGraphics
792 [
793 text "
794 CommSubsystem class
795 UHFCommSubsystem class
796 CommSubsystem class UndefinedPart
797 "
798 fontSize 14
799 fontName "Consolas"
800 alignment "left"
801 anchor "tl"
802 borderDistance 6
803 ]
804 ]
805
806 node
807 [
808 id 21
809 graphics
810 [
811 w 223.3
812 h 54
813 type "rectangle"
814 fill "#FFFFFF"
815 fill2 "#FFFFFF"
816 outline "#000000"
817 ]
818 LabelGraphics
819 [
820 text "null"
821 outline "#000000"
822 fill "#FFFFFF"
823 fontSize 16
824 fontName "Monospace"
825 autoSizePolicy "node_width"
826 anchor "t"
827 borderDistance 0.0
828 ]
829 LabelGraphics
830 [
831 text "
832 Payload class
833 InterferometryPayload class
834 "
835 fontSize 14
836 fontName "Consolas"
837 alignment "left"
838 anchor "tl"
839 borderDistance 6
840 ]
841 ]
842
843 node
844 [
845 id 22
846 graphics
847 [
848 w 323.40000000000003
849 h 82
850 type "rectangle"
851 fill "#FFFFFF"
852 fill2 "#FFFFFF"
853 outline "#000000"
854 ]
855 LabelGraphics
856 [
857 text "null"
858 outline "#000000"
859 fill "#FFFFFF"
860 fontSize 16
861 fontName "Monospace"
862 autoSizePolicy "node_width"
863 anchor "t"
864 borderDistance 0.0
865 ]
866 LabelGraphics
867 [
868 text "
869 CommunicatingElement class
870 Spacecraft class
871 SmallSat class
872 CommunicatingElement class UndefinedPart
873 "
874 fontSize 14
875 fontName "Consolas"
876 alignment "left"
877 anchor "tl"
878 borderDistance 6
879 ]
880 ]
881
882 node
883 [
884 id 23
885 graphics
886 [
887 w 277.20000000000005
888 h 82
889 type "rectangle"
890 fill "#FFFFFF"
891 fill2 "#FFFFFF"
892 outline "#000000"
893 ]
894 LabelGraphics
895 [
896 text "null"
897 outline "#000000"
898 fill "#FFFFFF"
899 fontSize 16
900 fontName "Monospace"
901 autoSizePolicy "node_width"
902 anchor "t"
903 borderDistance 0.0
904 ]
905 LabelGraphics
906 [
907 text "
908 CommSubsystem class
909 XCommSubsystem class
910 CommSubsystem class UndefinedPart
911 XCommSubsystem class UndefinedPart
912 "
913 fontSize 14
914 fontName "Consolas"
915 alignment "left"
916 anchor "tl"
917 borderDistance 6
918 ]
919 ]
920
921 node
922 [
923 id 24
924 graphics
925 [
926 w 277.20000000000005
927 h 82
928 type "rectangle"
929 fill "#FFFFFF"
930 fill2 "#FFFFFF"
931 outline "#000000"
932 ]
933 LabelGraphics
934 [
935 text "null"
936 outline "#000000"
937 fill "#FFFFFF"
938 fontSize 16
939 fontName "Monospace"
940 autoSizePolicy "node_width"
941 anchor "t"
942 borderDistance 0.0
943 ]
944 LabelGraphics
945 [
946 text "
947 CommSubsystem class
948 XCommSubsystem class
949 CommSubsystem class UndefinedPart
950 XCommSubsystem class UndefinedPart
951 "
952 fontSize 14
953 fontName "Consolas"
954 alignment "left"
955 anchor "tl"
956 borderDistance 6
957 ]
958 ]
959
960 node
961 [
962 id 25
963 graphics
964 [
965 w 223.3
966 h 54
967 type "rectangle"
968 fill "#FFFFFF"
969 fill2 "#FFFFFF"
970 outline "#000000"
971 ]
972 LabelGraphics
973 [
974 text "null"
975 outline "#000000"
976 fill "#FFFFFF"
977 fontSize 16
978 fontName "Monospace"
979 autoSizePolicy "node_width"
980 anchor "t"
981 borderDistance 0.0
982 ]
983 LabelGraphics
984 [
985 text "
986 Payload class
987 InterferometryPayload class
988 "
989 fontSize 14
990 fontName "Consolas"
991 alignment "left"
992 anchor "tl"
993 borderDistance 6
994 ]
995 ]
996
997 node
998 [
999 id 26
1000 graphics
1001 [
1002 w 323.40000000000003
1003 h 82
1004 type "rectangle"
1005 fill "#FFFFFF"
1006 fill2 "#FFFFFF"
1007 outline "#000000"
1008 ]
1009 LabelGraphics
1010 [
1011 text "null"
1012 outline "#000000"
1013 fill "#FFFFFF"
1014 fontSize 16
1015 fontName "Monospace"
1016 autoSizePolicy "node_width"
1017 anchor "t"
1018 borderDistance 0.0
1019 ]
1020 LabelGraphics
1021 [
1022 text "
1023 CommunicatingElement class
1024 Spacecraft class
1025 SmallSat class
1026 CommunicatingElement class UndefinedPart
1027 "
1028 fontSize 14
1029 fontName "Consolas"
1030 alignment "left"
1031 anchor "tl"
1032 borderDistance 6
1033 ]
1034 ]
1035
1036 node
1037 [
1038 id 27
1039 graphics
1040 [
1041 w 277.20000000000005
1042 h 82
1043 type "rectangle"
1044 fill "#FFFFFF"
1045 fill2 "#FFFFFF"
1046 outline "#000000"
1047 ]
1048 LabelGraphics
1049 [
1050 text "null"
1051 outline "#000000"
1052 fill "#FFFFFF"
1053 fontSize 16
1054 fontName "Monospace"
1055 autoSizePolicy "node_width"
1056 anchor "t"
1057 borderDistance 0.0
1058 ]
1059 LabelGraphics
1060 [
1061 text "
1062 CommSubsystem class
1063 XCommSubsystem class
1064 CommSubsystem class UndefinedPart
1065 XCommSubsystem class UndefinedPart
1066 "
1067 fontSize 14
1068 fontName "Consolas"
1069 alignment "left"
1070 anchor "tl"
1071 borderDistance 6
1072 ]
1073 ]
1074
1075 node
1076 [
1077 id 28
1078 graphics
1079 [
1080 w 223.3
1081 h 54
1082 type "rectangle"
1083 fill "#FFFFFF"
1084 fill2 "#FFFFFF"
1085 outline "#000000"
1086 ]
1087 LabelGraphics
1088 [
1089 text "null"
1090 outline "#000000"
1091 fill "#FFFFFF"
1092 fontSize 16
1093 fontName "Monospace"
1094 autoSizePolicy "node_width"
1095 anchor "t"
1096 borderDistance 0.0
1097 ]
1098 LabelGraphics
1099 [
1100 text "
1101 Payload class
1102 InterferometryPayload class
1103 "
1104 fontSize 14
1105 fontName "Consolas"
1106 alignment "left"
1107 anchor "tl"
1108 borderDistance 6
1109 ]
1110 ]
1111
1112 node
1113 [
1114 id 29
1115 graphics
1116 [
1117 w 284.90000000000003
1118 h 82
1119 type "rectangle"
1120 fill "#FFFFFF"
1121 fill2 "#FFFFFF"
1122 outline "#000000"
1123 ]
1124 LabelGraphics
1125 [
1126 text "null"
1127 outline "#000000"
1128 fill "#FFFFFF"
1129 fontSize 16
1130 fontName "Monospace"
1131 autoSizePolicy "node_width"
1132 anchor "t"
1133 borderDistance 0.0
1134 ]
1135 LabelGraphics
1136 [
1137 text "
1138 CommSubsystem class
1139 KaCommSubsystem class
1140 CommSubsystem class UndefinedPart
1141 KaCommSubsystem class UndefinedPart
1142 "
1143 fontSize 14
1144 fontName "Consolas"
1145 alignment "left"
1146 anchor "tl"
1147 borderDistance 6
1148 ]
1149 ]
1150
1151 node
1152 [
1153 id 30
1154 graphics
1155 [
1156 w 323.40000000000003
1157 h 96
1158 type "rectangle"
1159 fill "#FFFFFF"
1160 fill2 "#FFFFFF"
1161 outline "#000000"
1162 ]
1163 LabelGraphics
1164 [
1165 text "null"
1166 outline "#000000"
1167 fill "#FFFFFF"
1168 fontSize 16
1169 fontName "Monospace"
1170 autoSizePolicy "node_width"
1171 anchor "t"
1172 borderDistance 0.0
1173 ]
1174 LabelGraphics
1175 [
1176 text "
1177 CommunicatingElement class
1178 Spacecraft class
1179 CubeSat3U class
1180 CubeSat class
1181 CommunicatingElement class UndefinedPart
1182 "
1183 fontSize 14
1184 fontName "Consolas"
1185 alignment "left"
1186 anchor "tl"
1187 borderDistance 6
1188 ]
1189 ]
1190
1191 node
1192 [
1193 id 31
1194 graphics
1195 [
1196 w 269.5
1197 h 68
1198 type "rectangle"
1199 fill "#FFFFFF"
1200 fill2 "#FFFFFF"
1201 outline "#000000"
1202 ]
1203 LabelGraphics
1204 [
1205 text "null"
1206 outline "#000000"
1207 fill "#FFFFFF"
1208 fontSize 16
1209 fontName "Monospace"
1210 autoSizePolicy "node_width"
1211 anchor "t"
1212 borderDistance 0.0
1213 ]
1214 LabelGraphics
1215 [
1216 text "
1217 CommSubsystem class
1218 UHFCommSubsystem class
1219 CommSubsystem class UndefinedPart
1220 "
1221 fontSize 14
1222 fontName "Consolas"
1223 alignment "left"
1224 anchor "tl"
1225 borderDistance 6
1226 ]
1227 ]
1228
1229 node
1230 [
1231 id 32
1232 graphics
1233 [
1234 w 223.3
1235 h 54
1236 type "rectangle"
1237 fill "#FFFFFF"
1238 fill2 "#FFFFFF"
1239 outline "#000000"
1240 ]
1241 LabelGraphics
1242 [
1243 text "null"
1244 outline "#000000"
1245 fill "#FFFFFF"
1246 fontSize 16
1247 fontName "Monospace"
1248 autoSizePolicy "node_width"
1249 anchor "t"
1250 borderDistance 0.0
1251 ]
1252 LabelGraphics
1253 [
1254 text "
1255 Payload class
1256 InterferometryPayload class
1257 "
1258 fontSize 14
1259 fontName "Consolas"
1260 alignment "left"
1261 anchor "tl"
1262 borderDistance 6
1263 ]
1264 ]
1265
1266 node
1267 [
1268 id 33
1269 graphics
1270 [
1271 w 269.5
1272 h 68
1273 type "rectangle"
1274 fill "#FFFFFF"
1275 fill2 "#FFFFFF"
1276 outline "#000000"
1277 ]
1278 LabelGraphics
1279 [
1280 text "null"
1281 outline "#000000"
1282 fill "#FFFFFF"
1283 fontSize 16
1284 fontName "Monospace"
1285 autoSizePolicy "node_width"
1286 anchor "t"
1287 borderDistance 0.0
1288 ]
1289 LabelGraphics
1290 [
1291 text "
1292 CommSubsystem class
1293 UHFCommSubsystem class
1294 CommSubsystem class UndefinedPart
1295 "
1296 fontSize 14
1297 fontName "Consolas"
1298 alignment "left"
1299 anchor "tl"
1300 borderDistance 6
1301 ]
1302 ]
1303
1304 node
1305 [
1306 id 34
1307 graphics
1308 [
1309 w 323.40000000000003
1310 h 82
1311 type "rectangle"
1312 fill "#FFFFFF"
1313 fill2 "#FFFFFF"
1314 outline "#000000"
1315 ]
1316 LabelGraphics
1317 [
1318 text "null"
1319 outline "#000000"
1320 fill "#FFFFFF"
1321 fontSize 16
1322 fontName "Monospace"
1323 autoSizePolicy "node_width"
1324 anchor "t"
1325 borderDistance 0.0
1326 ]
1327 LabelGraphics
1328 [
1329 text "
1330 CommunicatingElement class
1331 Spacecraft class
1332 SmallSat class
1333 CommunicatingElement class UndefinedPart
1334 "
1335 fontSize 14
1336 fontName "Consolas"
1337 alignment "left"
1338 anchor "tl"
1339 borderDistance 6
1340 ]
1341 ]
1342
1343 node
1344 [
1345 id 35
1346 graphics
1347 [
1348 w 277.20000000000005
1349 h 82
1350 type "rectangle"
1351 fill "#FFFFFF"
1352 fill2 "#FFFFFF"
1353 outline "#000000"
1354 ]
1355 LabelGraphics
1356 [
1357 text "null"
1358 outline "#000000"
1359 fill "#FFFFFF"
1360 fontSize 16
1361 fontName "Monospace"
1362 autoSizePolicy "node_width"
1363 anchor "t"
1364 borderDistance 0.0
1365 ]
1366 LabelGraphics
1367 [
1368 text "
1369 CommSubsystem class
1370 XCommSubsystem class
1371 CommSubsystem class UndefinedPart
1372 XCommSubsystem class UndefinedPart
1373 "
1374 fontSize 14
1375 fontName "Consolas"
1376 alignment "left"
1377 anchor "tl"
1378 borderDistance 6
1379 ]
1380 ]
1381
1382 node
1383 [
1384 id 36
1385 graphics
1386 [
1387 w 223.3
1388 h 54
1389 type "rectangle"
1390 fill "#FFFFFF"
1391 fill2 "#FFFFFF"
1392 outline "#000000"
1393 ]
1394 LabelGraphics
1395 [
1396 text "null"
1397 outline "#000000"
1398 fill "#FFFFFF"
1399 fontSize 16
1400 fontName "Monospace"
1401 autoSizePolicy "node_width"
1402 anchor "t"
1403 borderDistance 0.0
1404 ]
1405 LabelGraphics
1406 [
1407 text "
1408 Payload class
1409 InterferometryPayload class
1410 "
1411 fontSize 14
1412 fontName "Consolas"
1413 alignment "left"
1414 anchor "tl"
1415 borderDistance 6
1416 ]
1417 ]
1418
1419 node
1420 [
1421 id 37
1422 graphics
1423 [
1424 w 284.90000000000003
1425 h 82
1426 type "rectangle"
1427 fill "#FFFFFF"
1428 fill2 "#FFFFFF"
1429 outline "#000000"
1430 ]
1431 LabelGraphics
1432 [
1433 text "null"
1434 outline "#000000"
1435 fill "#FFFFFF"
1436 fontSize 16
1437 fontName "Monospace"
1438 autoSizePolicy "node_width"
1439 anchor "t"
1440 borderDistance 0.0
1441 ]
1442 LabelGraphics
1443 [
1444 text "
1445 CommSubsystem class
1446 KaCommSubsystem class
1447 CommSubsystem class UndefinedPart
1448 KaCommSubsystem class UndefinedPart
1449 "
1450 fontSize 14
1451 fontName "Consolas"
1452 alignment "left"
1453 anchor "tl"
1454 borderDistance 6
1455 ]
1456 ]
1457
1458 node
1459 [
1460 id 38
1461 graphics
1462 [
1463 w 112.2
1464 h 26
1465 type "rectangle"
1466 fill "#FFFFFF"
1467 fill2 "#FFFFFF"
1468 outline "#000000"
1469 ]
1470 LabelGraphics
1471 [
1472 text "New Integers"
1473 outline "#000000"
1474 fill "#FFFFFF"
1475 fontSize 16
1476 fontName "Monospace"
1477 autoSizePolicy "node_width"
1478 anchor "t"
1479 borderDistance 0.0
1480 ]
1481 LabelGraphics
1482 [
1483 text "
1484 "
1485 fontSize 14
1486 fontName "Consolas"
1487 alignment "left"
1488 anchor "tl"
1489 borderDistance 6
1490 ]
1491 ]
1492
1493 node
1494 [
1495 id 39
1496 graphics
1497 [
1498 w 85.80000000000001
1499 h 26
1500 type "rectangle"
1501 fill "#FFFFFF"
1502 fill2 "#FFFFFF"
1503 outline "#000000"
1504 ]
1505 LabelGraphics
1506 [
1507 text "New Reals"
1508 outline "#000000"
1509 fill "#FFFFFF"
1510 fontSize 16
1511 fontName "Monospace"
1512 autoSizePolicy "node_width"
1513 anchor "t"
1514 borderDistance 0.0
1515 ]
1516 LabelGraphics
1517 [
1518 text "
1519 "
1520 fontSize 14
1521 fontName "Consolas"
1522 alignment "left"
1523 anchor "tl"
1524 borderDistance 6
1525 ]
1526 ]
1527
1528 node
1529 [
1530 id 40
1531 graphics
1532 [
1533 w 103.4
1534 h 26
1535 type "rectangle"
1536 fill "#FFFFFF"
1537 fill2 "#FFFFFF"
1538 outline "#000000"
1539 ]
1540 LabelGraphics
1541 [
1542 text "New Strings"
1543 outline "#000000"
1544 fill "#FFFFFF"
1545 fontSize 16
1546 fontName "Monospace"
1547 autoSizePolicy "node_width"
1548 anchor "t"
1549 borderDistance 0.0
1550 ]
1551 LabelGraphics
1552 [
1553 text "
1554 "
1555 fontSize 14
1556 fontName "Consolas"
1557 alignment "left"
1558 anchor "tl"
1559 borderDistance 6
1560 ]
1561 ]
1562
1563 node
1564 [
1565 id 41
1566 graphics
1567 [
1568 w 103.4
1569 h 26
1570 type "rectangle"
1571 fill "#FFFFFF"
1572 fill2 "#FFFFFF"
1573 outline "#000000"
1574 ]
1575 LabelGraphics
1576 [
1577 text "New Objects"
1578 outline "#000000"
1579 fill "#FFFFFF"
1580 fontSize 16
1581 fontName "Monospace"
1582 autoSizePolicy "node_width"
1583 anchor "t"
1584 borderDistance 0.0
1585 ]
1586 LabelGraphics
1587 [
1588 text "
1589 "
1590 fontSize 14
1591 fontName "Consolas"
1592 alignment "left"
1593 anchor "tl"
1594 borderDistance 6
1595 ]
1596 ]
1597 edge
1598 [
1599 source 0
1600 target 1
1601 graphics
1602 [
1603 fill "#000000"
1604 width 3
1605 targetArrow "standard"
1606 ]
1607 LabelGraphics
1608 [
1609 text "groundStationNetwork reference ConstellationMission"
1610 fontSize 14
1611 fontName "Consolas"
1612 configuration "AutoFlippingLabel"
1613 model "six_pos"
1614 position "thead"
1615 ]
1616 ]
1617 edge
1618 [
1619 source 0
1620 target 6
1621 graphics
1622 [
1623 fill "#000000"
1624 width 3
1625 targetArrow "standard"
1626 ]
1627 LabelGraphics
1628 [
1629 text "spacecraft reference ConstellationMission"
1630 fontSize 14
1631 fontName "Consolas"
1632 configuration "AutoFlippingLabel"
1633 model "six_pos"
1634 position "thead"
1635 ]
1636 ]
1637 edge
1638 [
1639 source 0
1640 target 10
1641 graphics
1642 [
1643 fill "#000000"
1644 width 3
1645 targetArrow "standard"
1646 ]
1647 LabelGraphics
1648 [
1649 text "spacecraft reference ConstellationMission"
1650 fontSize 14
1651 fontName "Consolas"
1652 configuration "AutoFlippingLabel"
1653 model "six_pos"
1654 position "thead"
1655 ]
1656 ]
1657 edge
1658 [
1659 source 0
1660 target 14
1661 graphics
1662 [
1663 fill "#000000"
1664 width 3
1665 targetArrow "standard"
1666 ]
1667 LabelGraphics
1668 [
1669 text "spacecraft reference ConstellationMission"
1670 fontSize 14
1671 fontName "Consolas"
1672 configuration "AutoFlippingLabel"
1673 model "six_pos"
1674 position "thead"
1675 ]
1676 ]
1677 edge
1678 [
1679 source 0
1680 target 18
1681 graphics
1682 [
1683 fill "#000000"
1684 width 3
1685 targetArrow "standard"
1686 ]
1687 LabelGraphics
1688 [
1689 text "spacecraft reference ConstellationMission"
1690 fontSize 14
1691 fontName "Consolas"
1692 configuration "AutoFlippingLabel"
1693 model "six_pos"
1694 position "thead"
1695 ]
1696 ]
1697 edge
1698 [
1699 source 0
1700 target 22
1701 graphics
1702 [
1703 fill "#000000"
1704 width 3
1705 targetArrow "standard"
1706 ]
1707 LabelGraphics
1708 [
1709 text "spacecraft reference ConstellationMission"
1710 fontSize 14
1711 fontName "Consolas"
1712 configuration "AutoFlippingLabel"
1713 model "six_pos"
1714 position "thead"
1715 ]
1716 ]
1717 edge
1718 [
1719 source 0
1720 target 26
1721 graphics
1722 [
1723 fill "#000000"
1724 width 3
1725 targetArrow "standard"
1726 ]
1727 LabelGraphics
1728 [
1729 text "spacecraft reference ConstellationMission"
1730 fontSize 14
1731 fontName "Consolas"
1732 configuration "AutoFlippingLabel"
1733 model "six_pos"
1734 position "thead"
1735 ]
1736 ]
1737 edge
1738 [
1739 source 0
1740 target 30
1741 graphics
1742 [
1743 fill "#000000"
1744 width 3
1745 targetArrow "standard"
1746 ]
1747 LabelGraphics
1748 [
1749 text "spacecraft reference ConstellationMission"
1750 fontSize 14
1751 fontName "Consolas"
1752 configuration "AutoFlippingLabel"
1753 model "six_pos"
1754 position "thead"
1755 ]
1756 ]
1757 edge
1758 [
1759 source 0
1760 target 34
1761 graphics
1762 [
1763 fill "#000000"
1764 width 3
1765 targetArrow "standard"
1766 ]
1767 LabelGraphics
1768 [
1769 text "spacecraft reference ConstellationMission"
1770 fontSize 14
1771 fontName "Consolas"
1772 configuration "AutoFlippingLabel"
1773 model "six_pos"
1774 position "thead"
1775 ]
1776 ]
1777 edge
1778 [
1779 source 1
1780 target 2
1781 graphics
1782 [
1783 fill "#000000"
1784 width 3
1785 targetArrow "standard"
1786 ]
1787 LabelGraphics
1788 [
1789 text "commSubsystem reference CommunicatingElement"
1790 fontSize 14
1791 fontName "Consolas"
1792 configuration "AutoFlippingLabel"
1793 model "six_pos"
1794 position "thead"
1795 ]
1796 ]
1797 edge
1798 [
1799 source 1
1800 target 3
1801 graphics
1802 [
1803 fill "#000000"
1804 width 3
1805 targetArrow "standard"
1806 ]
1807 LabelGraphics
1808 [
1809 text "commSubsystem reference CommunicatingElement"
1810 fontSize 14
1811 fontName "Consolas"
1812 configuration "AutoFlippingLabel"
1813 model "six_pos"
1814 position "thead"
1815 ]
1816 ]
1817 edge
1818 [
1819 source 6
1820 target 7
1821 graphics
1822 [
1823 fill "#000000"
1824 width 3
1825 targetArrow "standard"
1826 ]
1827 LabelGraphics
1828 [
1829 text "commSubsystem reference CommunicatingElement"
1830 fontSize 14
1831 fontName "Consolas"
1832 configuration "AutoFlippingLabel"
1833 model "six_pos"
1834 position "thead"
1835 ]
1836 ]
1837 edge
1838 [
1839 source 6
1840 target 9
1841 graphics
1842 [
1843 fill "#000000"
1844 width 3
1845 targetArrow "standard"
1846 ]
1847 LabelGraphics
1848 [
1849 text "commSubsystem reference CommunicatingElement"
1850 fontSize 14
1851 fontName "Consolas"
1852 configuration "AutoFlippingLabel"
1853 model "six_pos"
1854 position "thead"
1855 ]
1856 ]
1857 edge
1858 [
1859 source 10
1860 target 11
1861 graphics
1862 [
1863 fill "#000000"
1864 width 3
1865 targetArrow "standard"
1866 ]
1867 LabelGraphics
1868 [
1869 text "commSubsystem reference CommunicatingElement"
1870 fontSize 14
1871 fontName "Consolas"
1872 configuration "AutoFlippingLabel"
1873 model "six_pos"
1874 position "thead"
1875 ]
1876 ]
1877 edge
1878 [
1879 source 10
1880 target 12
1881 graphics
1882 [
1883 fill "#000000"
1884 width 3
1885 targetArrow "standard"
1886 ]
1887 LabelGraphics
1888 [
1889 text "commSubsystem reference CommunicatingElement"
1890 fontSize 14
1891 fontName "Consolas"
1892 configuration "AutoFlippingLabel"
1893 model "six_pos"
1894 position "thead"
1895 ]
1896 ]
1897 edge
1898 [
1899 source 14
1900 target 15
1901 graphics
1902 [
1903 fill "#000000"
1904 width 3
1905 targetArrow "standard"
1906 ]
1907 LabelGraphics
1908 [
1909 text "commSubsystem reference CommunicatingElement"
1910 fontSize 14
1911 fontName "Consolas"
1912 configuration "AutoFlippingLabel"
1913 model "six_pos"
1914 position "thead"
1915 ]
1916 ]
1917 edge
1918 [
1919 source 14
1920 target 17
1921 graphics
1922 [
1923 fill "#000000"
1924 width 3
1925 targetArrow "standard"
1926 ]
1927 LabelGraphics
1928 [
1929 text "commSubsystem reference CommunicatingElement"
1930 fontSize 14
1931 fontName "Consolas"
1932 configuration "AutoFlippingLabel"
1933 model "six_pos"
1934 position "thead"
1935 ]
1936 ]
1937 edge
1938 [
1939 source 18
1940 target 19
1941 graphics
1942 [
1943 fill "#000000"
1944 width 3
1945 targetArrow "standard"
1946 ]
1947 LabelGraphics
1948 [
1949 text "commSubsystem reference CommunicatingElement"
1950 fontSize 14
1951 fontName "Consolas"
1952 configuration "AutoFlippingLabel"
1953 model "six_pos"
1954 position "thead"
1955 ]
1956 ]
1957 edge
1958 [
1959 source 18
1960 target 20
1961 graphics
1962 [
1963 fill "#000000"
1964 width 3
1965 targetArrow "standard"
1966 ]
1967 LabelGraphics
1968 [
1969 text "commSubsystem reference CommunicatingElement"
1970 fontSize 14
1971 fontName "Consolas"
1972 configuration "AutoFlippingLabel"
1973 model "six_pos"
1974 position "thead"
1975 ]
1976 ]
1977 edge
1978 [
1979 source 22
1980 target 23
1981 graphics
1982 [
1983 fill "#000000"
1984 width 3
1985 targetArrow "standard"
1986 ]
1987 LabelGraphics
1988 [
1989 text "commSubsystem reference CommunicatingElement"
1990 fontSize 14
1991 fontName "Consolas"
1992 configuration "AutoFlippingLabel"
1993 model "six_pos"
1994 position "thead"
1995 ]
1996 ]
1997 edge
1998 [
1999 source 22
2000 target 24
2001 graphics
2002 [
2003 fill "#000000"
2004 width 3
2005 targetArrow "standard"
2006 ]
2007 LabelGraphics
2008 [
2009 text "commSubsystem reference CommunicatingElement"
2010 fontSize 14
2011 fontName "Consolas"
2012 configuration "AutoFlippingLabel"
2013 model "six_pos"
2014 position "thead"
2015 ]
2016 ]
2017 edge
2018 [
2019 source 26
2020 target 27
2021 graphics
2022 [
2023 fill "#000000"
2024 width 3
2025 targetArrow "standard"
2026 ]
2027 LabelGraphics
2028 [
2029 text "commSubsystem reference CommunicatingElement"
2030 fontSize 14
2031 fontName "Consolas"
2032 configuration "AutoFlippingLabel"
2033 model "six_pos"
2034 position "thead"
2035 ]
2036 ]
2037 edge
2038 [
2039 source 26
2040 target 29
2041 graphics
2042 [
2043 fill "#000000"
2044 width 3
2045 targetArrow "standard"
2046 ]
2047 LabelGraphics
2048 [
2049 text "commSubsystem reference CommunicatingElement"
2050 fontSize 14
2051 fontName "Consolas"
2052 configuration "AutoFlippingLabel"
2053 model "six_pos"
2054 position "thead"
2055 ]
2056 ]
2057 edge
2058 [
2059 source 30
2060 target 31
2061 graphics
2062 [
2063 fill "#000000"
2064 width 3
2065 targetArrow "standard"
2066 ]
2067 LabelGraphics
2068 [
2069 text "commSubsystem reference CommunicatingElement"
2070 fontSize 14
2071 fontName "Consolas"
2072 configuration "AutoFlippingLabel"
2073 model "six_pos"
2074 position "thead"
2075 ]
2076 ]
2077 edge
2078 [
2079 source 30
2080 target 33
2081 graphics
2082 [
2083 fill "#000000"
2084 width 3
2085 targetArrow "standard"
2086 ]
2087 LabelGraphics
2088 [
2089 text "commSubsystem reference CommunicatingElement"
2090 fontSize 14
2091 fontName "Consolas"
2092 configuration "AutoFlippingLabel"
2093 model "six_pos"
2094 position "thead"
2095 ]
2096 ]
2097 edge
2098 [
2099 source 34
2100 target 35
2101 graphics
2102 [
2103 fill "#000000"
2104 width 3
2105 targetArrow "standard"
2106 ]
2107 LabelGraphics
2108 [
2109 text "commSubsystem reference CommunicatingElement"
2110 fontSize 14
2111 fontName "Consolas"
2112 configuration "AutoFlippingLabel"
2113 model "six_pos"
2114 position "thead"
2115 ]
2116 ]
2117 edge
2118 [
2119 source 34
2120 target 37
2121 graphics
2122 [
2123 fill "#000000"
2124 width 3
2125 targetArrow "standard"
2126 ]
2127 LabelGraphics
2128 [
2129 text "commSubsystem reference CommunicatingElement"
2130 fontSize 14
2131 fontName "Consolas"
2132 configuration "AutoFlippingLabel"
2133 model "six_pos"
2134 position "thead"
2135 ]
2136 ]
2137 edge
2138 [
2139 source 6
2140 target 8
2141 graphics
2142 [
2143 fill "#000000"
2144 width 3
2145 targetArrow "standard"
2146 ]
2147 LabelGraphics
2148 [
2149 text "payload reference Spacecraft"
2150 fontSize 14
2151 fontName "Consolas"
2152 configuration "AutoFlippingLabel"
2153 model "six_pos"
2154 position "thead"
2155 ]
2156 ]
2157 edge
2158 [
2159 source 10
2160 target 13
2161 graphics
2162 [
2163 fill "#000000"
2164 width 3
2165 targetArrow "standard"
2166 ]
2167 LabelGraphics
2168 [
2169 text "payload reference Spacecraft"
2170 fontSize 14
2171 fontName "Consolas"
2172 configuration "AutoFlippingLabel"
2173 model "six_pos"
2174 position "thead"
2175 ]
2176 ]
2177 edge
2178 [
2179 source 14
2180 target 16
2181 graphics
2182 [
2183 fill "#000000"
2184 width 3
2185 targetArrow "standard"
2186 ]
2187 LabelGraphics
2188 [
2189 text "payload reference Spacecraft"
2190 fontSize 14
2191 fontName "Consolas"
2192 configuration "AutoFlippingLabel"
2193 model "six_pos"
2194 position "thead"
2195 ]
2196 ]
2197 edge
2198 [
2199 source 18
2200 target 21
2201 graphics
2202 [
2203 fill "#000000"
2204 width 3
2205 targetArrow "standard"
2206 ]
2207 LabelGraphics
2208 [
2209 text "payload reference Spacecraft"
2210 fontSize 14
2211 fontName "Consolas"
2212 configuration "AutoFlippingLabel"
2213 model "six_pos"
2214 position "thead"
2215 ]
2216 ]
2217 edge
2218 [
2219 source 22
2220 target 25
2221 graphics
2222 [
2223 fill "#000000"
2224 width 3
2225 targetArrow "standard"
2226 ]
2227 LabelGraphics
2228 [
2229 text "payload reference Spacecraft"
2230 fontSize 14
2231 fontName "Consolas"
2232 configuration "AutoFlippingLabel"
2233 model "six_pos"
2234 position "thead"
2235 ]
2236 ]
2237 edge
2238 [
2239 source 26
2240 target 28
2241 graphics
2242 [
2243 fill "#000000"
2244 width 3
2245 targetArrow "standard"
2246 ]
2247 LabelGraphics
2248 [
2249 text "payload reference Spacecraft"
2250 fontSize 14
2251 fontName "Consolas"
2252 configuration "AutoFlippingLabel"
2253 model "six_pos"
2254 position "thead"
2255 ]
2256 ]
2257 edge
2258 [
2259 source 30
2260 target 32
2261 graphics
2262 [
2263 fill "#000000"
2264 width 3
2265 targetArrow "standard"
2266 ]
2267 LabelGraphics
2268 [
2269 text "payload reference Spacecraft"
2270 fontSize 14
2271 fontName "Consolas"
2272 configuration "AutoFlippingLabel"
2273 model "six_pos"
2274 position "thead"
2275 ]
2276 ]
2277 edge
2278 [
2279 source 34
2280 target 36
2281 graphics
2282 [
2283 fill "#000000"
2284 width 3
2285 targetArrow "standard"
2286 ]
2287 LabelGraphics
2288 [
2289 text "payload reference Spacecraft"
2290 fontSize 14
2291 fontName "Consolas"
2292 configuration "AutoFlippingLabel"
2293 model "six_pos"
2294 position "thead"
2295 ]
2296 ]
2297 edge
2298 [
2299 source 9
2300 target 2
2301 graphics
2302 [
2303 fill "#000000"
2304 targetArrow "standard"
2305 ]
2306 LabelGraphics
2307 [
2308 text "target reference CommSubsystem"
2309 fontSize 14
2310 fontName "Consolas"
2311 configuration "AutoFlippingLabel"
2312 model "six_pos"
2313 position "thead"
2314 ]
2315 ]
2316 edge
2317 [
2318 source 11
2319 target 2
2320 graphics
2321 [
2322 fill "#000000"
2323 targetArrow "standard"
2324 ]
2325 LabelGraphics
2326 [
2327 text "target reference CommSubsystem"
2328 fontSize 14
2329 fontName "Consolas"
2330 configuration "AutoFlippingLabel"
2331 model "six_pos"
2332 position "thead"
2333 ]
2334 ]
2335 edge
2336 [
2337 source 15
2338 target 9
2339 graphics
2340 [
2341 fill "#000000"
2342 targetArrow "standard"
2343 ]
2344 LabelGraphics
2345 [
2346 text "target reference CommSubsystem"
2347 fontSize 14
2348 fontName "Consolas"
2349 configuration "AutoFlippingLabel"
2350 model "six_pos"
2351 position "thead"
2352 ]
2353 ]
2354 edge
2355 [
2356 source 20
2357 target 7
2358 graphics
2359 [
2360 fill "#000000"
2361 targetArrow "standard"
2362 ]
2363 LabelGraphics
2364 [
2365 text "target reference CommSubsystem"
2366 fontSize 14
2367 fontName "Consolas"
2368 configuration "AutoFlippingLabel"
2369 model "six_pos"
2370 position "thead"
2371 ]
2372 ]
2373 edge
2374 [
2375 source 23
2376 target 15
2377 graphics
2378 [
2379 fill "#000000"
2380 targetArrow "standard"
2381 ]
2382 LabelGraphics
2383 [
2384 text "target reference CommSubsystem"
2385 fontSize 14
2386 fontName "Consolas"
2387 configuration "AutoFlippingLabel"
2388 model "six_pos"
2389 position "thead"
2390 ]
2391 ]
2392 edge
2393 [
2394 source 27
2395 target 24
2396 graphics
2397 [
2398 fill "#000000"
2399 targetArrow "standard"
2400 ]
2401 LabelGraphics
2402 [
2403 text "target reference CommSubsystem"
2404 fontSize 14
2405 fontName "Consolas"
2406 configuration "AutoFlippingLabel"
2407 model "six_pos"
2408 position "thead"
2409 ]
2410 ]
2411 edge
2412 [
2413 source 31
2414 target 19
2415 graphics
2416 [
2417 fill "#000000"
2418 targetArrow "standard"
2419 ]
2420 LabelGraphics
2421 [
2422 text "target reference CommSubsystem"
2423 fontSize 14
2424 fontName "Consolas"
2425 configuration "AutoFlippingLabel"
2426 model "six_pos"
2427 position "thead"
2428 ]
2429 ]
2430 edge
2431 [
2432 source 35
2433 target 2
2434 graphics
2435 [
2436 fill "#000000"
2437 targetArrow "standard"
2438 ]
2439 LabelGraphics
2440 [
2441 text "target reference CommSubsystem"
2442 fontSize 14
2443 fontName "Consolas"
2444 configuration "AutoFlippingLabel"
2445 model "six_pos"
2446 position "thead"
2447 ]
2448 ]
2449]
2450
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
new file mode 100644
index 00000000..5585b413
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run1/1_1.png
Binary files 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
new file mode 100644
index 00000000..5f4f1251
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run1/1_1.xmi
@@ -0,0 +1,47 @@
1<?xml version="1.0" encoding="ASCII"?>
2<satellite:InterferometryMission xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:satellite="http://www.example.org/satellite" xsi:schemaLocation="http://www.example.org/satellite model/satellite.ecore">
3 <groundStationNetwork>
4 <commSubsystem xsi:type="satellite:KaCommSubsystem"/>
5 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
6 </groundStationNetwork>
7 <spacecraft xsi:type="satellite:CubeSat3U">
8 <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.5/@commSubsystem.1"/>
9 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
10 <payload xsi:type="satellite:InterferometryPayload"/>
11 </spacecraft>
12 <spacecraft xsi:type="satellite:SmallSat">
13 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
14 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
15 <payload xsi:type="satellite:InterferometryPayload"/>
16 </spacecraft>
17 <spacecraft xsi:type="satellite:SmallSat">
18 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
19 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@spacecraft.3/@commSubsystem.1"/>
20 <payload xsi:type="satellite:InterferometryPayload"/>
21 </spacecraft>
22 <spacecraft xsi:type="satellite:SmallSat">
23 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
24 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@spacecraft.1/@commSubsystem.0"/>
25 <payload xsi:type="satellite:InterferometryPayload"/>
26 </spacecraft>
27 <spacecraft xsi:type="satellite:CubeSat6U">
28 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
29 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
30 <payload xsi:type="satellite:InterferometryPayload"/>
31 </spacecraft>
32 <spacecraft xsi:type="satellite:CubeSat3U">
33 <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.1/@commSubsystem.1"/>
34 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
35 <payload xsi:type="satellite:InterferometryPayload"/>
36 </spacecraft>
37 <spacecraft xsi:type="satellite:SmallSat">
38 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@spacecraft.2/@commSubsystem.0"/>
39 <commSubsystem xsi:type="satellite:KaCommSubsystem"/>
40 <payload xsi:type="satellite:InterferometryPayload"/>
41 </spacecraft>
42 <spacecraft xsi:type="satellite:SmallSat">
43 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
44 <commSubsystem xsi:type="satellite:KaCommSubsystem"/>
45 <payload xsi:type="satellite:InterferometryPayload"/>
46 </spacecraft>
47</satellite:InterferometryMission>
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
new file mode 100644
index 00000000..8520105c
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run2/2_1.gml
@@ -0,0 +1,2450 @@
1graph
2[
3 node
4 [
5 id 0
6 graphics
7 [
8 w 315.70000000000005
9 h 82
10 type "rectangle"
11 fill "#FFFFFF"
12 fill2 "#FFFFFF"
13 outline "#000000"
14 ]
15 LabelGraphics
16 [
17 text "o 1"
18 outline "#000000"
19 fill "#FFFFFF"
20 fontSize 16
21 fontName "Monospace"
22 autoSizePolicy "node_width"
23 anchor "t"
24 borderDistance 0.0
25 ]
26 LabelGraphics
27 [
28 text "
29 ConstellationMission class DefinedPart
30 InterferometryMission class DefinedPart
31 ConstellationMission class
32 InterferometryMission class
33 "
34 fontSize 14
35 fontName "Consolas"
36 alignment "left"
37 anchor "tl"
38 borderDistance 6
39 ]
40 ]
41
42 node
43 [
44 id 1
45 graphics
46 [
47 w 308.0
48 h 82
49 type "rectangle"
50 fill "#FFFFFF"
51 fill2 "#FFFFFF"
52 outline "#000000"
53 ]
54 LabelGraphics
55 [
56 text "o 2"
57 outline "#000000"
58 fill "#FFFFFF"
59 fontSize 16
60 fontName "Monospace"
61 autoSizePolicy "node_width"
62 anchor "t"
63 borderDistance 0.0
64 ]
65 LabelGraphics
66 [
67 text "
68 CommunicatingElement class DefinedPart
69 GroundStationNetwork class DefinedPart
70 CommunicatingElement class
71 GroundStationNetwork class
72 "
73 fontSize 14
74 fontName "Consolas"
75 alignment "left"
76 anchor "tl"
77 borderDistance 6
78 ]
79 ]
80
81 node
82 [
83 id 2
84 graphics
85 [
86 w 261.8
87 h 82
88 type "rectangle"
89 fill "#FFFFFF"
90 fill2 "#FFFFFF"
91 outline "#000000"
92 ]
93 LabelGraphics
94 [
95 text "o 3"
96 outline "#000000"
97 fill "#FFFFFF"
98 fontSize 16
99 fontName "Monospace"
100 autoSizePolicy "node_width"
101 anchor "t"
102 borderDistance 0.0
103 ]
104 LabelGraphics
105 [
106 text "
107 CommSubsystem class DefinedPart
108 XCommSubsystem class DefinedPart
109 CommSubsystem class
110 XCommSubsystem class
111 "
112 fontSize 14
113 fontName "Consolas"
114 alignment "left"
115 anchor "tl"
116 borderDistance 6
117 ]
118 ]
119
120 node
121 [
122 id 3
123 graphics
124 [
125 w 269.5
126 h 82
127 type "rectangle"
128 fill "#FFFFFF"
129 fill2 "#FFFFFF"
130 outline "#000000"
131 ]
132 LabelGraphics
133 [
134 text "o 4"
135 outline "#000000"
136 fill "#FFFFFF"
137 fontSize 16
138 fontName "Monospace"
139 autoSizePolicy "node_width"
140 anchor "t"
141 borderDistance 0.0
142 ]
143 LabelGraphics
144 [
145 text "
146 CommSubsystem class DefinedPart
147 KaCommSubsystem class DefinedPart
148 CommSubsystem class
149 KaCommSubsystem class
150 "
151 fontSize 14
152 fontName "Consolas"
153 alignment "left"
154 anchor "tl"
155 borderDistance 6
156 ]
157 ]
158
159 node
160 [
161 id 4
162 graphics
163 [
164 w 41.800000000000004
165 h 26
166 type "rectangle"
167 fill "#FFFFFF"
168 fill2 "#FFFFFF"
169 outline "#000000"
170 ]
171 LabelGraphics
172 [
173 text "true"
174 outline "#000000"
175 fill "#FFFFFF"
176 fontSize 16
177 fontName "Monospace"
178 autoSizePolicy "node_width"
179 anchor "t"
180 borderDistance 0.0
181 ]
182 LabelGraphics
183 [
184 text "
185 "
186 fontSize 14
187 fontName "Consolas"
188 alignment "left"
189 anchor "tl"
190 borderDistance 6
191 ]
192 ]
193
194 node
195 [
196 id 5
197 graphics
198 [
199 w 50.6
200 h 26
201 type "rectangle"
202 fill "#FFFFFF"
203 fill2 "#FFFFFF"
204 outline "#000000"
205 ]
206 LabelGraphics
207 [
208 text "false"
209 outline "#000000"
210 fill "#FFFFFF"
211 fontSize 16
212 fontName "Monospace"
213 autoSizePolicy "node_width"
214 anchor "t"
215 borderDistance 0.0
216 ]
217 LabelGraphics
218 [
219 text "
220 "
221 fontSize 14
222 fontName "Consolas"
223 alignment "left"
224 anchor "tl"
225 borderDistance 6
226 ]
227 ]
228
229 node
230 [
231 id 6
232 graphics
233 [
234 w 323.40000000000003
235 h 82
236 type "rectangle"
237 fill "#FFFFFF"
238 fill2 "#FFFFFF"
239 outline "#000000"
240 ]
241 LabelGraphics
242 [
243 text "null"
244 outline "#000000"
245 fill "#FFFFFF"
246 fontSize 16
247 fontName "Monospace"
248 autoSizePolicy "node_width"
249 anchor "t"
250 borderDistance 0.0
251 ]
252 LabelGraphics
253 [
254 text "
255 CommunicatingElement class
256 Spacecraft class
257 SmallSat class
258 CommunicatingElement class UndefinedPart
259 "
260 fontSize 14
261 fontName "Consolas"
262 alignment "left"
263 anchor "tl"
264 borderDistance 6
265 ]
266 ]
267
268 node
269 [
270 id 7
271 graphics
272 [
273 w 269.5
274 h 68
275 type "rectangle"
276 fill "#FFFFFF"
277 fill2 "#FFFFFF"
278 outline "#000000"
279 ]
280 LabelGraphics
281 [
282 text "null"
283 outline "#000000"
284 fill "#FFFFFF"
285 fontSize 16
286 fontName "Monospace"
287 autoSizePolicy "node_width"
288 anchor "t"
289 borderDistance 0.0
290 ]
291 LabelGraphics
292 [
293 text "
294 CommSubsystem class
295 UHFCommSubsystem class
296 CommSubsystem class UndefinedPart
297 "
298 fontSize 14
299 fontName "Consolas"
300 alignment "left"
301 anchor "tl"
302 borderDistance 6
303 ]
304 ]
305
306 node
307 [
308 id 8
309 graphics
310 [
311 w 223.3
312 h 54
313 type "rectangle"
314 fill "#FFFFFF"
315 fill2 "#FFFFFF"
316 outline "#000000"
317 ]
318 LabelGraphics
319 [
320 text "null"
321 outline "#000000"
322 fill "#FFFFFF"
323 fontSize 16
324 fontName "Monospace"
325 autoSizePolicy "node_width"
326 anchor "t"
327 borderDistance 0.0
328 ]
329 LabelGraphics
330 [
331 text "
332 Payload class
333 InterferometryPayload class
334 "
335 fontSize 14
336 fontName "Consolas"
337 alignment "left"
338 anchor "tl"
339 borderDistance 6
340 ]
341 ]
342
343 node
344 [
345 id 9
346 graphics
347 [
348 w 284.90000000000003
349 h 82
350 type "rectangle"
351 fill "#FFFFFF"
352 fill2 "#FFFFFF"
353 outline "#000000"
354 ]
355 LabelGraphics
356 [
357 text "null"
358 outline "#000000"
359 fill "#FFFFFF"
360 fontSize 16
361 fontName "Monospace"
362 autoSizePolicy "node_width"
363 anchor "t"
364 borderDistance 0.0
365 ]
366 LabelGraphics
367 [
368 text "
369 CommSubsystem class
370 KaCommSubsystem class
371 CommSubsystem class UndefinedPart
372 KaCommSubsystem class UndefinedPart
373 "
374 fontSize 14
375 fontName "Consolas"
376 alignment "left"
377 anchor "tl"
378 borderDistance 6
379 ]
380 ]
381
382 node
383 [
384 id 10
385 graphics
386 [
387 w 323.40000000000003
388 h 96
389 type "rectangle"
390 fill "#FFFFFF"
391 fill2 "#FFFFFF"
392 outline "#000000"
393 ]
394 LabelGraphics
395 [
396 text "null"
397 outline "#000000"
398 fill "#FFFFFF"
399 fontSize 16
400 fontName "Monospace"
401 autoSizePolicy "node_width"
402 anchor "t"
403 borderDistance 0.0
404 ]
405 LabelGraphics
406 [
407 text "
408 CommunicatingElement class
409 Spacecraft class
410 CubeSat3U class
411 CubeSat class
412 CommunicatingElement class UndefinedPart
413 "
414 fontSize 14
415 fontName "Consolas"
416 alignment "left"
417 anchor "tl"
418 borderDistance 6
419 ]
420 ]
421
422 node
423 [
424 id 11
425 graphics
426 [
427 w 269.5
428 h 68
429 type "rectangle"
430 fill "#FFFFFF"
431 fill2 "#FFFFFF"
432 outline "#000000"
433 ]
434 LabelGraphics
435 [
436 text "null"
437 outline "#000000"
438 fill "#FFFFFF"
439 fontSize 16
440 fontName "Monospace"
441 autoSizePolicy "node_width"
442 anchor "t"
443 borderDistance 0.0
444 ]
445 LabelGraphics
446 [
447 text "
448 CommSubsystem class
449 UHFCommSubsystem class
450 CommSubsystem class UndefinedPart
451 "
452 fontSize 14
453 fontName "Consolas"
454 alignment "left"
455 anchor "tl"
456 borderDistance 6
457 ]
458 ]
459
460 node
461 [
462 id 12
463 graphics
464 [
465 w 269.5
466 h 68
467 type "rectangle"
468 fill "#FFFFFF"
469 fill2 "#FFFFFF"
470 outline "#000000"
471 ]
472 LabelGraphics
473 [
474 text "null"
475 outline "#000000"
476 fill "#FFFFFF"
477 fontSize 16
478 fontName "Monospace"
479 autoSizePolicy "node_width"
480 anchor "t"
481 borderDistance 0.0
482 ]
483 LabelGraphics
484 [
485 text "
486 CommSubsystem class
487 UHFCommSubsystem class
488 CommSubsystem class UndefinedPart
489 "
490 fontSize 14
491 fontName "Consolas"
492 alignment "left"
493 anchor "tl"
494 borderDistance 6
495 ]
496 ]
497
498 node
499 [
500 id 13
501 graphics
502 [
503 w 223.3
504 h 54
505 type "rectangle"
506 fill "#FFFFFF"
507 fill2 "#FFFFFF"
508 outline "#000000"
509 ]
510 LabelGraphics
511 [
512 text "null"
513 outline "#000000"
514 fill "#FFFFFF"
515 fontSize 16
516 fontName "Monospace"
517 autoSizePolicy "node_width"
518 anchor "t"
519 borderDistance 0.0
520 ]
521 LabelGraphics
522 [
523 text "
524 Payload class
525 InterferometryPayload class
526 "
527 fontSize 14
528 fontName "Consolas"
529 alignment "left"
530 anchor "tl"
531 borderDistance 6
532 ]
533 ]
534
535 node
536 [
537 id 14
538 graphics
539 [
540 w 323.40000000000003
541 h 96
542 type "rectangle"
543 fill "#FFFFFF"
544 fill2 "#FFFFFF"
545 outline "#000000"
546 ]
547 LabelGraphics
548 [
549 text "null"
550 outline "#000000"
551 fill "#FFFFFF"
552 fontSize 16
553 fontName "Monospace"
554 autoSizePolicy "node_width"
555 anchor "t"
556 borderDistance 0.0
557 ]
558 LabelGraphics
559 [
560 text "
561 CommunicatingElement class
562 Spacecraft class
563 CubeSat3U class
564 CubeSat class
565 CommunicatingElement class UndefinedPart
566 "
567 fontSize 14
568 fontName "Consolas"
569 alignment "left"
570 anchor "tl"
571 borderDistance 6
572 ]
573 ]
574
575 node
576 [
577 id 15
578 graphics
579 [
580 w 223.3
581 h 54
582 type "rectangle"
583 fill "#FFFFFF"
584 fill2 "#FFFFFF"
585 outline "#000000"
586 ]
587 LabelGraphics
588 [
589 text "null"
590 outline "#000000"
591 fill "#FFFFFF"
592 fontSize 16
593 fontName "Monospace"
594 autoSizePolicy "node_width"
595 anchor "t"
596 borderDistance 0.0
597 ]
598 LabelGraphics
599 [
600 text "
601 Payload class
602 InterferometryPayload class
603 "
604 fontSize 14
605 fontName "Consolas"
606 alignment "left"
607 anchor "tl"
608 borderDistance 6
609 ]
610 ]
611
612 node
613 [
614 id 16
615 graphics
616 [
617 w 277.20000000000005
618 h 82
619 type "rectangle"
620 fill "#FFFFFF"
621 fill2 "#FFFFFF"
622 outline "#000000"
623 ]
624 LabelGraphics
625 [
626 text "null"
627 outline "#000000"
628 fill "#FFFFFF"
629 fontSize 16
630 fontName "Monospace"
631 autoSizePolicy "node_width"
632 anchor "t"
633 borderDistance 0.0
634 ]
635 LabelGraphics
636 [
637 text "
638 CommSubsystem class
639 XCommSubsystem class
640 CommSubsystem class UndefinedPart
641 XCommSubsystem class UndefinedPart
642 "
643 fontSize 14
644 fontName "Consolas"
645 alignment "left"
646 anchor "tl"
647 borderDistance 6
648 ]
649 ]
650
651 node
652 [
653 id 17
654 graphics
655 [
656 w 269.5
657 h 68
658 type "rectangle"
659 fill "#FFFFFF"
660 fill2 "#FFFFFF"
661 outline "#000000"
662 ]
663 LabelGraphics
664 [
665 text "null"
666 outline "#000000"
667 fill "#FFFFFF"
668 fontSize 16
669 fontName "Monospace"
670 autoSizePolicy "node_width"
671 anchor "t"
672 borderDistance 0.0
673 ]
674 LabelGraphics
675 [
676 text "
677 CommSubsystem class
678 UHFCommSubsystem class
679 CommSubsystem class UndefinedPart
680 "
681 fontSize 14
682 fontName "Consolas"
683 alignment "left"
684 anchor "tl"
685 borderDistance 6
686 ]
687 ]
688
689 node
690 [
691 id 18
692 graphics
693 [
694 w 323.40000000000003
695 h 96
696 type "rectangle"
697 fill "#FFFFFF"
698 fill2 "#FFFFFF"
699 outline "#000000"
700 ]
701 LabelGraphics
702 [
703 text "null"
704 outline "#000000"
705 fill "#FFFFFF"
706 fontSize 16
707 fontName "Monospace"
708 autoSizePolicy "node_width"
709 anchor "t"
710 borderDistance 0.0
711 ]
712 LabelGraphics
713 [
714 text "
715 CommunicatingElement class
716 Spacecraft class
717 CubeSat3U class
718 CubeSat class
719 CommunicatingElement class UndefinedPart
720 "
721 fontSize 14
722 fontName "Consolas"
723 alignment "left"
724 anchor "tl"
725 borderDistance 6
726 ]
727 ]
728
729 node
730 [
731 id 19
732 graphics
733 [
734 w 277.20000000000005
735 h 82
736 type "rectangle"
737 fill "#FFFFFF"
738 fill2 "#FFFFFF"
739 outline "#000000"
740 ]
741 LabelGraphics
742 [
743 text "null"
744 outline "#000000"
745 fill "#FFFFFF"
746 fontSize 16
747 fontName "Monospace"
748 autoSizePolicy "node_width"
749 anchor "t"
750 borderDistance 0.0
751 ]
752 LabelGraphics
753 [
754 text "
755 CommSubsystem class
756 XCommSubsystem class
757 CommSubsystem class UndefinedPart
758 XCommSubsystem class UndefinedPart
759 "
760 fontSize 14
761 fontName "Consolas"
762 alignment "left"
763 anchor "tl"
764 borderDistance 6
765 ]
766 ]
767
768 node
769 [
770 id 20
771 graphics
772 [
773 w 223.3
774 h 54
775 type "rectangle"
776 fill "#FFFFFF"
777 fill2 "#FFFFFF"
778 outline "#000000"
779 ]
780 LabelGraphics
781 [
782 text "null"
783 outline "#000000"
784 fill "#FFFFFF"
785 fontSize 16
786 fontName "Monospace"
787 autoSizePolicy "node_width"
788 anchor "t"
789 borderDistance 0.0
790 ]
791 LabelGraphics
792 [
793 text "
794 Payload class
795 InterferometryPayload class
796 "
797 fontSize 14
798 fontName "Consolas"
799 alignment "left"
800 anchor "tl"
801 borderDistance 6
802 ]
803 ]
804
805 node
806 [
807 id 21
808 graphics
809 [
810 w 277.20000000000005
811 h 82
812 type "rectangle"
813 fill "#FFFFFF"
814 fill2 "#FFFFFF"
815 outline "#000000"
816 ]
817 LabelGraphics
818 [
819 text "null"
820 outline "#000000"
821 fill "#FFFFFF"
822 fontSize 16
823 fontName "Monospace"
824 autoSizePolicy "node_width"
825 anchor "t"
826 borderDistance 0.0
827 ]
828 LabelGraphics
829 [
830 text "
831 CommSubsystem class
832 XCommSubsystem class
833 CommSubsystem class UndefinedPart
834 XCommSubsystem class UndefinedPart
835 "
836 fontSize 14
837 fontName "Consolas"
838 alignment "left"
839 anchor "tl"
840 borderDistance 6
841 ]
842 ]
843
844 node
845 [
846 id 22
847 graphics
848 [
849 w 323.40000000000003
850 h 82
851 type "rectangle"
852 fill "#FFFFFF"
853 fill2 "#FFFFFF"
854 outline "#000000"
855 ]
856 LabelGraphics
857 [
858 text "null"
859 outline "#000000"
860 fill "#FFFFFF"
861 fontSize 16
862 fontName "Monospace"
863 autoSizePolicy "node_width"
864 anchor "t"
865 borderDistance 0.0
866 ]
867 LabelGraphics
868 [
869 text "
870 CommunicatingElement class
871 Spacecraft class
872 SmallSat class
873 CommunicatingElement class UndefinedPart
874 "
875 fontSize 14
876 fontName "Consolas"
877 alignment "left"
878 anchor "tl"
879 borderDistance 6
880 ]
881 ]
882
883 node
884 [
885 id 23
886 graphics
887 [
888 w 284.90000000000003
889 h 82
890 type "rectangle"
891 fill "#FFFFFF"
892 fill2 "#FFFFFF"
893 outline "#000000"
894 ]
895 LabelGraphics
896 [
897 text "null"
898 outline "#000000"
899 fill "#FFFFFF"
900 fontSize 16
901 fontName "Monospace"
902 autoSizePolicy "node_width"
903 anchor "t"
904 borderDistance 0.0
905 ]
906 LabelGraphics
907 [
908 text "
909 CommSubsystem class
910 KaCommSubsystem class
911 CommSubsystem class UndefinedPart
912 KaCommSubsystem class UndefinedPart
913 "
914 fontSize 14
915 fontName "Consolas"
916 alignment "left"
917 anchor "tl"
918 borderDistance 6
919 ]
920 ]
921
922 node
923 [
924 id 24
925 graphics
926 [
927 w 277.20000000000005
928 h 82
929 type "rectangle"
930 fill "#FFFFFF"
931 fill2 "#FFFFFF"
932 outline "#000000"
933 ]
934 LabelGraphics
935 [
936 text "null"
937 outline "#000000"
938 fill "#FFFFFF"
939 fontSize 16
940 fontName "Monospace"
941 autoSizePolicy "node_width"
942 anchor "t"
943 borderDistance 0.0
944 ]
945 LabelGraphics
946 [
947 text "
948 CommSubsystem class
949 XCommSubsystem class
950 CommSubsystem class UndefinedPart
951 XCommSubsystem class UndefinedPart
952 "
953 fontSize 14
954 fontName "Consolas"
955 alignment "left"
956 anchor "tl"
957 borderDistance 6
958 ]
959 ]
960
961 node
962 [
963 id 25
964 graphics
965 [
966 w 223.3
967 h 54
968 type "rectangle"
969 fill "#FFFFFF"
970 fill2 "#FFFFFF"
971 outline "#000000"
972 ]
973 LabelGraphics
974 [
975 text "null"
976 outline "#000000"
977 fill "#FFFFFF"
978 fontSize 16
979 fontName "Monospace"
980 autoSizePolicy "node_width"
981 anchor "t"
982 borderDistance 0.0
983 ]
984 LabelGraphics
985 [
986 text "
987 Payload class
988 InterferometryPayload class
989 "
990 fontSize 14
991 fontName "Consolas"
992 alignment "left"
993 anchor "tl"
994 borderDistance 6
995 ]
996 ]
997
998 node
999 [
1000 id 26
1001 graphics
1002 [
1003 w 323.40000000000003
1004 h 96
1005 type "rectangle"
1006 fill "#FFFFFF"
1007 fill2 "#FFFFFF"
1008 outline "#000000"
1009 ]
1010 LabelGraphics
1011 [
1012 text "null"
1013 outline "#000000"
1014 fill "#FFFFFF"
1015 fontSize 16
1016 fontName "Monospace"
1017 autoSizePolicy "node_width"
1018 anchor "t"
1019 borderDistance 0.0
1020 ]
1021 LabelGraphics
1022 [
1023 text "
1024 CommunicatingElement class
1025 Spacecraft class
1026 CubeSat6U class
1027 CubeSat class
1028 CommunicatingElement class UndefinedPart
1029 "
1030 fontSize 14
1031 fontName "Consolas"
1032 alignment "left"
1033 anchor "tl"
1034 borderDistance 6
1035 ]
1036 ]
1037
1038 node
1039 [
1040 id 27
1041 graphics
1042 [
1043 w 269.5
1044 h 68
1045 type "rectangle"
1046 fill "#FFFFFF"
1047 fill2 "#FFFFFF"
1048 outline "#000000"
1049 ]
1050 LabelGraphics
1051 [
1052 text "null"
1053 outline "#000000"
1054 fill "#FFFFFF"
1055 fontSize 16
1056 fontName "Monospace"
1057 autoSizePolicy "node_width"
1058 anchor "t"
1059 borderDistance 0.0
1060 ]
1061 LabelGraphics
1062 [
1063 text "
1064 CommSubsystem class
1065 UHFCommSubsystem class
1066 CommSubsystem class UndefinedPart
1067 "
1068 fontSize 14
1069 fontName "Consolas"
1070 alignment "left"
1071 anchor "tl"
1072 borderDistance 6
1073 ]
1074 ]
1075
1076 node
1077 [
1078 id 28
1079 graphics
1080 [
1081 w 269.5
1082 h 68
1083 type "rectangle"
1084 fill "#FFFFFF"
1085 fill2 "#FFFFFF"
1086 outline "#000000"
1087 ]
1088 LabelGraphics
1089 [
1090 text "null"
1091 outline "#000000"
1092 fill "#FFFFFF"
1093 fontSize 16
1094 fontName "Monospace"
1095 autoSizePolicy "node_width"
1096 anchor "t"
1097 borderDistance 0.0
1098 ]
1099 LabelGraphics
1100 [
1101 text "
1102 CommSubsystem class
1103 UHFCommSubsystem class
1104 CommSubsystem class UndefinedPart
1105 "
1106 fontSize 14
1107 fontName "Consolas"
1108 alignment "left"
1109 anchor "tl"
1110 borderDistance 6
1111 ]
1112 ]
1113
1114 node
1115 [
1116 id 29
1117 graphics
1118 [
1119 w 223.3
1120 h 54
1121 type "rectangle"
1122 fill "#FFFFFF"
1123 fill2 "#FFFFFF"
1124 outline "#000000"
1125 ]
1126 LabelGraphics
1127 [
1128 text "null"
1129 outline "#000000"
1130 fill "#FFFFFF"
1131 fontSize 16
1132 fontName "Monospace"
1133 autoSizePolicy "node_width"
1134 anchor "t"
1135 borderDistance 0.0
1136 ]
1137 LabelGraphics
1138 [
1139 text "
1140 Payload class
1141 InterferometryPayload class
1142 "
1143 fontSize 14
1144 fontName "Consolas"
1145 alignment "left"
1146 anchor "tl"
1147 borderDistance 6
1148 ]
1149 ]
1150
1151 node
1152 [
1153 id 30
1154 graphics
1155 [
1156 w 323.40000000000003
1157 h 96
1158 type "rectangle"
1159 fill "#FFFFFF"
1160 fill2 "#FFFFFF"
1161 outline "#000000"
1162 ]
1163 LabelGraphics
1164 [
1165 text "null"
1166 outline "#000000"
1167 fill "#FFFFFF"
1168 fontSize 16
1169 fontName "Monospace"
1170 autoSizePolicy "node_width"
1171 anchor "t"
1172 borderDistance 0.0
1173 ]
1174 LabelGraphics
1175 [
1176 text "
1177 CommunicatingElement class
1178 Spacecraft class
1179 CubeSat6U class
1180 CubeSat class
1181 CommunicatingElement class UndefinedPart
1182 "
1183 fontSize 14
1184 fontName "Consolas"
1185 alignment "left"
1186 anchor "tl"
1187 borderDistance 6
1188 ]
1189 ]
1190
1191 node
1192 [
1193 id 31
1194 graphics
1195 [
1196 w 269.5
1197 h 68
1198 type "rectangle"
1199 fill "#FFFFFF"
1200 fill2 "#FFFFFF"
1201 outline "#000000"
1202 ]
1203 LabelGraphics
1204 [
1205 text "null"
1206 outline "#000000"
1207 fill "#FFFFFF"
1208 fontSize 16
1209 fontName "Monospace"
1210 autoSizePolicy "node_width"
1211 anchor "t"
1212 borderDistance 0.0
1213 ]
1214 LabelGraphics
1215 [
1216 text "
1217 CommSubsystem class
1218 UHFCommSubsystem class
1219 CommSubsystem class UndefinedPart
1220 "
1221 fontSize 14
1222 fontName "Consolas"
1223 alignment "left"
1224 anchor "tl"
1225 borderDistance 6
1226 ]
1227 ]
1228
1229 node
1230 [
1231 id 32
1232 graphics
1233 [
1234 w 277.20000000000005
1235 h 82
1236 type "rectangle"
1237 fill "#FFFFFF"
1238 fill2 "#FFFFFF"
1239 outline "#000000"
1240 ]
1241 LabelGraphics
1242 [
1243 text "null"
1244 outline "#000000"
1245 fill "#FFFFFF"
1246 fontSize 16
1247 fontName "Monospace"
1248 autoSizePolicy "node_width"
1249 anchor "t"
1250 borderDistance 0.0
1251 ]
1252 LabelGraphics
1253 [
1254 text "
1255 CommSubsystem class
1256 XCommSubsystem class
1257 CommSubsystem class UndefinedPart
1258 XCommSubsystem class UndefinedPart
1259 "
1260 fontSize 14
1261 fontName "Consolas"
1262 alignment "left"
1263 anchor "tl"
1264 borderDistance 6
1265 ]
1266 ]
1267
1268 node
1269 [
1270 id 33
1271 graphics
1272 [
1273 w 223.3
1274 h 54
1275 type "rectangle"
1276 fill "#FFFFFF"
1277 fill2 "#FFFFFF"
1278 outline "#000000"
1279 ]
1280 LabelGraphics
1281 [
1282 text "null"
1283 outline "#000000"
1284 fill "#FFFFFF"
1285 fontSize 16
1286 fontName "Monospace"
1287 autoSizePolicy "node_width"
1288 anchor "t"
1289 borderDistance 0.0
1290 ]
1291 LabelGraphics
1292 [
1293 text "
1294 Payload class
1295 InterferometryPayload class
1296 "
1297 fontSize 14
1298 fontName "Consolas"
1299 alignment "left"
1300 anchor "tl"
1301 borderDistance 6
1302 ]
1303 ]
1304
1305 node
1306 [
1307 id 34
1308 graphics
1309 [
1310 w 323.40000000000003
1311 h 82
1312 type "rectangle"
1313 fill "#FFFFFF"
1314 fill2 "#FFFFFF"
1315 outline "#000000"
1316 ]
1317 LabelGraphics
1318 [
1319 text "null"
1320 outline "#000000"
1321 fill "#FFFFFF"
1322 fontSize 16
1323 fontName "Monospace"
1324 autoSizePolicy "node_width"
1325 anchor "t"
1326 borderDistance 0.0
1327 ]
1328 LabelGraphics
1329 [
1330 text "
1331 CommunicatingElement class
1332 Spacecraft class
1333 SmallSat class
1334 CommunicatingElement class UndefinedPart
1335 "
1336 fontSize 14
1337 fontName "Consolas"
1338 alignment "left"
1339 anchor "tl"
1340 borderDistance 6
1341 ]
1342 ]
1343
1344 node
1345 [
1346 id 35
1347 graphics
1348 [
1349 w 284.90000000000003
1350 h 82
1351 type "rectangle"
1352 fill "#FFFFFF"
1353 fill2 "#FFFFFF"
1354 outline "#000000"
1355 ]
1356 LabelGraphics
1357 [
1358 text "null"
1359 outline "#000000"
1360 fill "#FFFFFF"
1361 fontSize 16
1362 fontName "Monospace"
1363 autoSizePolicy "node_width"
1364 anchor "t"
1365 borderDistance 0.0
1366 ]
1367 LabelGraphics
1368 [
1369 text "
1370 CommSubsystem class
1371 KaCommSubsystem class
1372 CommSubsystem class UndefinedPart
1373 KaCommSubsystem class UndefinedPart
1374 "
1375 fontSize 14
1376 fontName "Consolas"
1377 alignment "left"
1378 anchor "tl"
1379 borderDistance 6
1380 ]
1381 ]
1382
1383 node
1384 [
1385 id 36
1386 graphics
1387 [
1388 w 223.3
1389 h 54
1390 type "rectangle"
1391 fill "#FFFFFF"
1392 fill2 "#FFFFFF"
1393 outline "#000000"
1394 ]
1395 LabelGraphics
1396 [
1397 text "null"
1398 outline "#000000"
1399 fill "#FFFFFF"
1400 fontSize 16
1401 fontName "Monospace"
1402 autoSizePolicy "node_width"
1403 anchor "t"
1404 borderDistance 0.0
1405 ]
1406 LabelGraphics
1407 [
1408 text "
1409 Payload class
1410 InterferometryPayload class
1411 "
1412 fontSize 14
1413 fontName "Consolas"
1414 alignment "left"
1415 anchor "tl"
1416 borderDistance 6
1417 ]
1418 ]
1419
1420 node
1421 [
1422 id 37
1423 graphics
1424 [
1425 w 269.5
1426 h 68
1427 type "rectangle"
1428 fill "#FFFFFF"
1429 fill2 "#FFFFFF"
1430 outline "#000000"
1431 ]
1432 LabelGraphics
1433 [
1434 text "null"
1435 outline "#000000"
1436 fill "#FFFFFF"
1437 fontSize 16
1438 fontName "Monospace"
1439 autoSizePolicy "node_width"
1440 anchor "t"
1441 borderDistance 0.0
1442 ]
1443 LabelGraphics
1444 [
1445 text "
1446 CommSubsystem class
1447 UHFCommSubsystem class
1448 CommSubsystem class UndefinedPart
1449 "
1450 fontSize 14
1451 fontName "Consolas"
1452 alignment "left"
1453 anchor "tl"
1454 borderDistance 6
1455 ]
1456 ]
1457
1458 node
1459 [
1460 id 38
1461 graphics
1462 [
1463 w 112.2
1464 h 26
1465 type "rectangle"
1466 fill "#FFFFFF"
1467 fill2 "#FFFFFF"
1468 outline "#000000"
1469 ]
1470 LabelGraphics
1471 [
1472 text "New Integers"
1473 outline "#000000"
1474 fill "#FFFFFF"
1475 fontSize 16
1476 fontName "Monospace"
1477 autoSizePolicy "node_width"
1478 anchor "t"
1479 borderDistance 0.0
1480 ]
1481 LabelGraphics
1482 [
1483 text "
1484 "
1485 fontSize 14
1486 fontName "Consolas"
1487 alignment "left"
1488 anchor "tl"
1489 borderDistance 6
1490 ]
1491 ]
1492
1493 node
1494 [
1495 id 39
1496 graphics
1497 [
1498 w 85.80000000000001
1499 h 26
1500 type "rectangle"
1501 fill "#FFFFFF"
1502 fill2 "#FFFFFF"
1503 outline "#000000"
1504 ]
1505 LabelGraphics
1506 [
1507 text "New Reals"
1508 outline "#000000"
1509 fill "#FFFFFF"
1510 fontSize 16
1511 fontName "Monospace"
1512 autoSizePolicy "node_width"
1513 anchor "t"
1514 borderDistance 0.0
1515 ]
1516 LabelGraphics
1517 [
1518 text "
1519 "
1520 fontSize 14
1521 fontName "Consolas"
1522 alignment "left"
1523 anchor "tl"
1524 borderDistance 6
1525 ]
1526 ]
1527
1528 node
1529 [
1530 id 40
1531 graphics
1532 [
1533 w 103.4
1534 h 26
1535 type "rectangle"
1536 fill "#FFFFFF"
1537 fill2 "#FFFFFF"
1538 outline "#000000"
1539 ]
1540 LabelGraphics
1541 [
1542 text "New Strings"
1543 outline "#000000"
1544 fill "#FFFFFF"
1545 fontSize 16
1546 fontName "Monospace"
1547 autoSizePolicy "node_width"
1548 anchor "t"
1549 borderDistance 0.0
1550 ]
1551 LabelGraphics
1552 [
1553 text "
1554 "
1555 fontSize 14
1556 fontName "Consolas"
1557 alignment "left"
1558 anchor "tl"
1559 borderDistance 6
1560 ]
1561 ]
1562
1563 node
1564 [
1565 id 41
1566 graphics
1567 [
1568 w 103.4
1569 h 26
1570 type "rectangle"
1571 fill "#FFFFFF"
1572 fill2 "#FFFFFF"
1573 outline "#000000"
1574 ]
1575 LabelGraphics
1576 [
1577 text "New Objects"
1578 outline "#000000"
1579 fill "#FFFFFF"
1580 fontSize 16
1581 fontName "Monospace"
1582 autoSizePolicy "node_width"
1583 anchor "t"
1584 borderDistance 0.0
1585 ]
1586 LabelGraphics
1587 [
1588 text "
1589 "
1590 fontSize 14
1591 fontName "Consolas"
1592 alignment "left"
1593 anchor "tl"
1594 borderDistance 6
1595 ]
1596 ]
1597 edge
1598 [
1599 source 0
1600 target 1
1601 graphics
1602 [
1603 fill "#000000"
1604 width 3
1605 targetArrow "standard"
1606 ]
1607 LabelGraphics
1608 [
1609 text "groundStationNetwork reference ConstellationMission"
1610 fontSize 14
1611 fontName "Consolas"
1612 configuration "AutoFlippingLabel"
1613 model "six_pos"
1614 position "thead"
1615 ]
1616 ]
1617 edge
1618 [
1619 source 0
1620 target 6
1621 graphics
1622 [
1623 fill "#000000"
1624 width 3
1625 targetArrow "standard"
1626 ]
1627 LabelGraphics
1628 [
1629 text "spacecraft reference ConstellationMission"
1630 fontSize 14
1631 fontName "Consolas"
1632 configuration "AutoFlippingLabel"
1633 model "six_pos"
1634 position "thead"
1635 ]
1636 ]
1637 edge
1638 [
1639 source 0
1640 target 10
1641 graphics
1642 [
1643 fill "#000000"
1644 width 3
1645 targetArrow "standard"
1646 ]
1647 LabelGraphics
1648 [
1649 text "spacecraft reference ConstellationMission"
1650 fontSize 14
1651 fontName "Consolas"
1652 configuration "AutoFlippingLabel"
1653 model "six_pos"
1654 position "thead"
1655 ]
1656 ]
1657 edge
1658 [
1659 source 0
1660 target 14
1661 graphics
1662 [
1663 fill "#000000"
1664 width 3
1665 targetArrow "standard"
1666 ]
1667 LabelGraphics
1668 [
1669 text "spacecraft reference ConstellationMission"
1670 fontSize 14
1671 fontName "Consolas"
1672 configuration "AutoFlippingLabel"
1673 model "six_pos"
1674 position "thead"
1675 ]
1676 ]
1677 edge
1678 [
1679 source 0
1680 target 18
1681 graphics
1682 [
1683 fill "#000000"
1684 width 3
1685 targetArrow "standard"
1686 ]
1687 LabelGraphics
1688 [
1689 text "spacecraft reference ConstellationMission"
1690 fontSize 14
1691 fontName "Consolas"
1692 configuration "AutoFlippingLabel"
1693 model "six_pos"
1694 position "thead"
1695 ]
1696 ]
1697 edge
1698 [
1699 source 0
1700 target 22
1701 graphics
1702 [
1703 fill "#000000"
1704 width 3
1705 targetArrow "standard"
1706 ]
1707 LabelGraphics
1708 [
1709 text "spacecraft reference ConstellationMission"
1710 fontSize 14
1711 fontName "Consolas"
1712 configuration "AutoFlippingLabel"
1713 model "six_pos"
1714 position "thead"
1715 ]
1716 ]
1717 edge
1718 [
1719 source 0
1720 target 26
1721 graphics
1722 [
1723 fill "#000000"
1724 width 3
1725 targetArrow "standard"
1726 ]
1727 LabelGraphics
1728 [
1729 text "spacecraft reference ConstellationMission"
1730 fontSize 14
1731 fontName "Consolas"
1732 configuration "AutoFlippingLabel"
1733 model "six_pos"
1734 position "thead"
1735 ]
1736 ]
1737 edge
1738 [
1739 source 0
1740 target 30
1741 graphics
1742 [
1743 fill "#000000"
1744 width 3
1745 targetArrow "standard"
1746 ]
1747 LabelGraphics
1748 [
1749 text "spacecraft reference ConstellationMission"
1750 fontSize 14
1751 fontName "Consolas"
1752 configuration "AutoFlippingLabel"
1753 model "six_pos"
1754 position "thead"
1755 ]
1756 ]
1757 edge
1758 [
1759 source 0
1760 target 34
1761 graphics
1762 [
1763 fill "#000000"
1764 width 3
1765 targetArrow "standard"
1766 ]
1767 LabelGraphics
1768 [
1769 text "spacecraft reference ConstellationMission"
1770 fontSize 14
1771 fontName "Consolas"
1772 configuration "AutoFlippingLabel"
1773 model "six_pos"
1774 position "thead"
1775 ]
1776 ]
1777 edge
1778 [
1779 source 1
1780 target 2
1781 graphics
1782 [
1783 fill "#000000"
1784 width 3
1785 targetArrow "standard"
1786 ]
1787 LabelGraphics
1788 [
1789 text "commSubsystem reference CommunicatingElement"
1790 fontSize 14
1791 fontName "Consolas"
1792 configuration "AutoFlippingLabel"
1793 model "six_pos"
1794 position "thead"
1795 ]
1796 ]
1797 edge
1798 [
1799 source 1
1800 target 3
1801 graphics
1802 [
1803 fill "#000000"
1804 width 3
1805 targetArrow "standard"
1806 ]
1807 LabelGraphics
1808 [
1809 text "commSubsystem reference CommunicatingElement"
1810 fontSize 14
1811 fontName "Consolas"
1812 configuration "AutoFlippingLabel"
1813 model "six_pos"
1814 position "thead"
1815 ]
1816 ]
1817 edge
1818 [
1819 source 6
1820 target 7
1821 graphics
1822 [
1823 fill "#000000"
1824 width 3
1825 targetArrow "standard"
1826 ]
1827 LabelGraphics
1828 [
1829 text "commSubsystem reference CommunicatingElement"
1830 fontSize 14
1831 fontName "Consolas"
1832 configuration "AutoFlippingLabel"
1833 model "six_pos"
1834 position "thead"
1835 ]
1836 ]
1837 edge
1838 [
1839 source 6
1840 target 9
1841 graphics
1842 [
1843 fill "#000000"
1844 width 3
1845 targetArrow "standard"
1846 ]
1847 LabelGraphics
1848 [
1849 text "commSubsystem reference CommunicatingElement"
1850 fontSize 14
1851 fontName "Consolas"
1852 configuration "AutoFlippingLabel"
1853 model "six_pos"
1854 position "thead"
1855 ]
1856 ]
1857 edge
1858 [
1859 source 10
1860 target 11
1861 graphics
1862 [
1863 fill "#000000"
1864 width 3
1865 targetArrow "standard"
1866 ]
1867 LabelGraphics
1868 [
1869 text "commSubsystem reference CommunicatingElement"
1870 fontSize 14
1871 fontName "Consolas"
1872 configuration "AutoFlippingLabel"
1873 model "six_pos"
1874 position "thead"
1875 ]
1876 ]
1877 edge
1878 [
1879 source 10
1880 target 12
1881 graphics
1882 [
1883 fill "#000000"
1884 width 3
1885 targetArrow "standard"
1886 ]
1887 LabelGraphics
1888 [
1889 text "commSubsystem reference CommunicatingElement"
1890 fontSize 14
1891 fontName "Consolas"
1892 configuration "AutoFlippingLabel"
1893 model "six_pos"
1894 position "thead"
1895 ]
1896 ]
1897 edge
1898 [
1899 source 14
1900 target 16
1901 graphics
1902 [
1903 fill "#000000"
1904 width 3
1905 targetArrow "standard"
1906 ]
1907 LabelGraphics
1908 [
1909 text "commSubsystem reference CommunicatingElement"
1910 fontSize 14
1911 fontName "Consolas"
1912 configuration "AutoFlippingLabel"
1913 model "six_pos"
1914 position "thead"
1915 ]
1916 ]
1917 edge
1918 [
1919 source 14
1920 target 17
1921 graphics
1922 [
1923 fill "#000000"
1924 width 3
1925 targetArrow "standard"
1926 ]
1927 LabelGraphics
1928 [
1929 text "commSubsystem reference CommunicatingElement"
1930 fontSize 14
1931 fontName "Consolas"
1932 configuration "AutoFlippingLabel"
1933 model "six_pos"
1934 position "thead"
1935 ]
1936 ]
1937 edge
1938 [
1939 source 18
1940 target 19
1941 graphics
1942 [
1943 fill "#000000"
1944 width 3
1945 targetArrow "standard"
1946 ]
1947 LabelGraphics
1948 [
1949 text "commSubsystem reference CommunicatingElement"
1950 fontSize 14
1951 fontName "Consolas"
1952 configuration "AutoFlippingLabel"
1953 model "six_pos"
1954 position "thead"
1955 ]
1956 ]
1957 edge
1958 [
1959 source 18
1960 target 21
1961 graphics
1962 [
1963 fill "#000000"
1964 width 3
1965 targetArrow "standard"
1966 ]
1967 LabelGraphics
1968 [
1969 text "commSubsystem reference CommunicatingElement"
1970 fontSize 14
1971 fontName "Consolas"
1972 configuration "AutoFlippingLabel"
1973 model "six_pos"
1974 position "thead"
1975 ]
1976 ]
1977 edge
1978 [
1979 source 22
1980 target 23
1981 graphics
1982 [
1983 fill "#000000"
1984 width 3
1985 targetArrow "standard"
1986 ]
1987 LabelGraphics
1988 [
1989 text "commSubsystem reference CommunicatingElement"
1990 fontSize 14
1991 fontName "Consolas"
1992 configuration "AutoFlippingLabel"
1993 model "six_pos"
1994 position "thead"
1995 ]
1996 ]
1997 edge
1998 [
1999 source 22
2000 target 24
2001 graphics
2002 [
2003 fill "#000000"
2004 width 3
2005 targetArrow "standard"
2006 ]
2007 LabelGraphics
2008 [
2009 text "commSubsystem reference CommunicatingElement"
2010 fontSize 14
2011 fontName "Consolas"
2012 configuration "AutoFlippingLabel"
2013 model "six_pos"
2014 position "thead"
2015 ]
2016 ]
2017 edge
2018 [
2019 source 26
2020 target 27
2021 graphics
2022 [
2023 fill "#000000"
2024 width 3
2025 targetArrow "standard"
2026 ]
2027 LabelGraphics
2028 [
2029 text "commSubsystem reference CommunicatingElement"
2030 fontSize 14
2031 fontName "Consolas"
2032 configuration "AutoFlippingLabel"
2033 model "six_pos"
2034 position "thead"
2035 ]
2036 ]
2037 edge
2038 [
2039 source 26
2040 target 28
2041 graphics
2042 [
2043 fill "#000000"
2044 width 3
2045 targetArrow "standard"
2046 ]
2047 LabelGraphics
2048 [
2049 text "commSubsystem reference CommunicatingElement"
2050 fontSize 14
2051 fontName "Consolas"
2052 configuration "AutoFlippingLabel"
2053 model "six_pos"
2054 position "thead"
2055 ]
2056 ]
2057 edge
2058 [
2059 source 30
2060 target 31
2061 graphics
2062 [
2063 fill "#000000"
2064 width 3
2065 targetArrow "standard"
2066 ]
2067 LabelGraphics
2068 [
2069 text "commSubsystem reference CommunicatingElement"
2070 fontSize 14
2071 fontName "Consolas"
2072 configuration "AutoFlippingLabel"
2073 model "six_pos"
2074 position "thead"
2075 ]
2076 ]
2077 edge
2078 [
2079 source 30
2080 target 32
2081 graphics
2082 [
2083 fill "#000000"
2084 width 3
2085 targetArrow "standard"
2086 ]
2087 LabelGraphics
2088 [
2089 text "commSubsystem reference CommunicatingElement"
2090 fontSize 14
2091 fontName "Consolas"
2092 configuration "AutoFlippingLabel"
2093 model "six_pos"
2094 position "thead"
2095 ]
2096 ]
2097 edge
2098 [
2099 source 34
2100 target 35
2101 graphics
2102 [
2103 fill "#000000"
2104 width 3
2105 targetArrow "standard"
2106 ]
2107 LabelGraphics
2108 [
2109 text "commSubsystem reference CommunicatingElement"
2110 fontSize 14
2111 fontName "Consolas"
2112 configuration "AutoFlippingLabel"
2113 model "six_pos"
2114 position "thead"
2115 ]
2116 ]
2117 edge
2118 [
2119 source 34
2120 target 37
2121 graphics
2122 [
2123 fill "#000000"
2124 width 3
2125 targetArrow "standard"
2126 ]
2127 LabelGraphics
2128 [
2129 text "commSubsystem reference CommunicatingElement"
2130 fontSize 14
2131 fontName "Consolas"
2132 configuration "AutoFlippingLabel"
2133 model "six_pos"
2134 position "thead"
2135 ]
2136 ]
2137 edge
2138 [
2139 source 6
2140 target 8
2141 graphics
2142 [
2143 fill "#000000"
2144 width 3
2145 targetArrow "standard"
2146 ]
2147 LabelGraphics
2148 [
2149 text "payload reference Spacecraft"
2150 fontSize 14
2151 fontName "Consolas"
2152 configuration "AutoFlippingLabel"
2153 model "six_pos"
2154 position "thead"
2155 ]
2156 ]
2157 edge
2158 [
2159 source 10
2160 target 13
2161 graphics
2162 [
2163 fill "#000000"
2164 width 3
2165 targetArrow "standard"
2166 ]
2167 LabelGraphics
2168 [
2169 text "payload reference Spacecraft"
2170 fontSize 14
2171 fontName "Consolas"
2172 configuration "AutoFlippingLabel"
2173 model "six_pos"
2174 position "thead"
2175 ]
2176 ]
2177 edge
2178 [
2179 source 14
2180 target 15
2181 graphics
2182 [
2183 fill "#000000"
2184 width 3
2185 targetArrow "standard"
2186 ]
2187 LabelGraphics
2188 [
2189 text "payload reference Spacecraft"
2190 fontSize 14
2191 fontName "Consolas"
2192 configuration "AutoFlippingLabel"
2193 model "six_pos"
2194 position "thead"
2195 ]
2196 ]
2197 edge
2198 [
2199 source 18
2200 target 20
2201 graphics
2202 [
2203 fill "#000000"
2204 width 3
2205 targetArrow "standard"
2206 ]
2207 LabelGraphics
2208 [
2209 text "payload reference Spacecraft"
2210 fontSize 14
2211 fontName "Consolas"
2212 configuration "AutoFlippingLabel"
2213 model "six_pos"
2214 position "thead"
2215 ]
2216 ]
2217 edge
2218 [
2219 source 22
2220 target 25
2221 graphics
2222 [
2223 fill "#000000"
2224 width 3
2225 targetArrow "standard"
2226 ]
2227 LabelGraphics
2228 [
2229 text "payload reference Spacecraft"
2230 fontSize 14
2231 fontName "Consolas"
2232 configuration "AutoFlippingLabel"
2233 model "six_pos"
2234 position "thead"
2235 ]
2236 ]
2237 edge
2238 [
2239 source 26
2240 target 29
2241 graphics
2242 [
2243 fill "#000000"
2244 width 3
2245 targetArrow "standard"
2246 ]
2247 LabelGraphics
2248 [
2249 text "payload reference Spacecraft"
2250 fontSize 14
2251 fontName "Consolas"
2252 configuration "AutoFlippingLabel"
2253 model "six_pos"
2254 position "thead"
2255 ]
2256 ]
2257 edge
2258 [
2259 source 30
2260 target 33
2261 graphics
2262 [
2263 fill "#000000"
2264 width 3
2265 targetArrow "standard"
2266 ]
2267 LabelGraphics
2268 [
2269 text "payload reference Spacecraft"
2270 fontSize 14
2271 fontName "Consolas"
2272 configuration "AutoFlippingLabel"
2273 model "six_pos"
2274 position "thead"
2275 ]
2276 ]
2277 edge
2278 [
2279 source 34
2280 target 36
2281 graphics
2282 [
2283 fill "#000000"
2284 width 3
2285 targetArrow "standard"
2286 ]
2287 LabelGraphics
2288 [
2289 text "payload reference Spacecraft"
2290 fontSize 14
2291 fontName "Consolas"
2292 configuration "AutoFlippingLabel"
2293 model "six_pos"
2294 position "thead"
2295 ]
2296 ]
2297 edge
2298 [
2299 source 9
2300 target 3
2301 graphics
2302 [
2303 fill "#000000"
2304 targetArrow "standard"
2305 ]
2306 LabelGraphics
2307 [
2308 text "target reference CommSubsystem"
2309 fontSize 14
2310 fontName "Consolas"
2311 configuration "AutoFlippingLabel"
2312 model "six_pos"
2313 position "thead"
2314 ]
2315 ]
2316 edge
2317 [
2318 source 11
2319 target 7
2320 graphics
2321 [
2322 fill "#000000"
2323 targetArrow "standard"
2324 ]
2325 LabelGraphics
2326 [
2327 text "target reference CommSubsystem"
2328 fontSize 14
2329 fontName "Consolas"
2330 configuration "AutoFlippingLabel"
2331 model "six_pos"
2332 position "thead"
2333 ]
2334 ]
2335 edge
2336 [
2337 source 17
2338 target 11
2339 graphics
2340 [
2341 fill "#000000"
2342 targetArrow "standard"
2343 ]
2344 LabelGraphics
2345 [
2346 text "target reference CommSubsystem"
2347 fontSize 14
2348 fontName "Consolas"
2349 configuration "AutoFlippingLabel"
2350 model "six_pos"
2351 position "thead"
2352 ]
2353 ]
2354 edge
2355 [
2356 source 23
2357 target 9
2358 graphics
2359 [
2360 fill "#000000"
2361 targetArrow "standard"
2362 ]
2363 LabelGraphics
2364 [
2365 text "target reference CommSubsystem"
2366 fontSize 14
2367 fontName "Consolas"
2368 configuration "AutoFlippingLabel"
2369 model "six_pos"
2370 position "thead"
2371 ]
2372 ]
2373 edge
2374 [
2375 source 19
2376 target 2
2377 graphics
2378 [
2379 fill "#000000"
2380 targetArrow "standard"
2381 ]
2382 LabelGraphics
2383 [
2384 text "target reference CommSubsystem"
2385 fontSize 14
2386 fontName "Consolas"
2387 configuration "AutoFlippingLabel"
2388 model "six_pos"
2389 position "thead"
2390 ]
2391 ]
2392 edge
2393 [
2394 source 28
2395 target 12
2396 graphics
2397 [
2398 fill "#000000"
2399 targetArrow "standard"
2400 ]
2401 LabelGraphics
2402 [
2403 text "target reference CommSubsystem"
2404 fontSize 14
2405 fontName "Consolas"
2406 configuration "AutoFlippingLabel"
2407 model "six_pos"
2408 position "thead"
2409 ]
2410 ]
2411 edge
2412 [
2413 source 31
2414 target 11
2415 graphics
2416 [
2417 fill "#000000"
2418 targetArrow "standard"
2419 ]
2420 LabelGraphics
2421 [
2422 text "target reference CommSubsystem"
2423 fontSize 14
2424 fontName "Consolas"
2425 configuration "AutoFlippingLabel"
2426 model "six_pos"
2427 position "thead"
2428 ]
2429 ]
2430 edge
2431 [
2432 source 35
2433 target 9
2434 graphics
2435 [
2436 fill "#000000"
2437 targetArrow "standard"
2438 ]
2439 LabelGraphics
2440 [
2441 text "target reference CommSubsystem"
2442 fontSize 14
2443 fontName "Consolas"
2444 configuration "AutoFlippingLabel"
2445 model "six_pos"
2446 position "thead"
2447 ]
2448 ]
2449]
2450
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
new file mode 100644
index 00000000..be69c5cc
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run2/2_1.png
Binary files 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
new file mode 100644
index 00000000..bd5bb4e3
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run2/2_1.xmi
@@ -0,0 +1,47 @@
1<?xml version="1.0" encoding="ASCII"?>
2<satellite:InterferometryMission xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:satellite="http://www.example.org/satellite" xsi:schemaLocation="http://www.example.org/satellite model/satellite.ecore">
3 <groundStationNetwork>
4 <commSubsystem xsi:type="satellite:KaCommSubsystem"/>
5 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
6 </groundStationNetwork>
7 <spacecraft xsi:type="satellite:CubeSat3U">
8 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
9 <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.6/@commSubsystem.0"/>
10 <payload xsi:type="satellite:InterferometryPayload"/>
11 </spacecraft>
12 <spacecraft xsi:type="satellite:SmallSat">
13 <commSubsystem xsi:type="satellite:KaCommSubsystem" target="//@spacecraft.3/@commSubsystem.0"/>
14 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
15 <payload xsi:type="satellite:InterferometryPayload"/>
16 </spacecraft>
17 <spacecraft xsi:type="satellite:CubeSat3U">
18 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
19 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
20 <payload xsi:type="satellite:InterferometryPayload"/>
21 </spacecraft>
22 <spacecraft xsi:type="satellite:SmallSat">
23 <commSubsystem xsi:type="satellite:KaCommSubsystem" target="//@groundStationNetwork/@commSubsystem.0"/>
24 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
25 <payload xsi:type="satellite:InterferometryPayload"/>
26 </spacecraft>
27 <spacecraft xsi:type="satellite:SmallSat">
28 <commSubsystem xsi:type="satellite:KaCommSubsystem" target="//@spacecraft.3/@commSubsystem.0"/>
29 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
30 <payload xsi:type="satellite:InterferometryPayload"/>
31 </spacecraft>
32 <spacecraft xsi:type="satellite:CubeSat6U">
33 <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.6/@commSubsystem.0"/>
34 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
35 <payload xsi:type="satellite:InterferometryPayload"/>
36 </spacecraft>
37 <spacecraft xsi:type="satellite:CubeSat3U">
38 <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.3/@commSubsystem.1"/>
39 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
40 <payload xsi:type="satellite:InterferometryPayload"/>
41 </spacecraft>
42 <spacecraft xsi:type="satellite:CubeSat6U">
43 <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.6/@commSubsystem.1"/>
44 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
45 <payload xsi:type="satellite:InterferometryPayload"/>
46 </spacecraft>
47</satellite:InterferometryMission>
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
new file mode 100644
index 00000000..f9950e40
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run3/3_1.gml
@@ -0,0 +1,2450 @@
1graph
2[
3 node
4 [
5 id 0
6 graphics
7 [
8 w 315.70000000000005
9 h 82
10 type "rectangle"
11 fill "#FFFFFF"
12 fill2 "#FFFFFF"
13 outline "#000000"
14 ]
15 LabelGraphics
16 [
17 text "o 1"
18 outline "#000000"
19 fill "#FFFFFF"
20 fontSize 16
21 fontName "Monospace"
22 autoSizePolicy "node_width"
23 anchor "t"
24 borderDistance 0.0
25 ]
26 LabelGraphics
27 [
28 text "
29 ConstellationMission class DefinedPart
30 InterferometryMission class DefinedPart
31 ConstellationMission class
32 InterferometryMission class
33 "
34 fontSize 14
35 fontName "Consolas"
36 alignment "left"
37 anchor "tl"
38 borderDistance 6
39 ]
40 ]
41
42 node
43 [
44 id 1
45 graphics
46 [
47 w 308.0
48 h 82
49 type "rectangle"
50 fill "#FFFFFF"
51 fill2 "#FFFFFF"
52 outline "#000000"
53 ]
54 LabelGraphics
55 [
56 text "o 2"
57 outline "#000000"
58 fill "#FFFFFF"
59 fontSize 16
60 fontName "Monospace"
61 autoSizePolicy "node_width"
62 anchor "t"
63 borderDistance 0.0
64 ]
65 LabelGraphics
66 [
67 text "
68 CommunicatingElement class DefinedPart
69 GroundStationNetwork class DefinedPart
70 CommunicatingElement class
71 GroundStationNetwork class
72 "
73 fontSize 14
74 fontName "Consolas"
75 alignment "left"
76 anchor "tl"
77 borderDistance 6
78 ]
79 ]
80
81 node
82 [
83 id 2
84 graphics
85 [
86 w 261.8
87 h 82
88 type "rectangle"
89 fill "#FFFFFF"
90 fill2 "#FFFFFF"
91 outline "#000000"
92 ]
93 LabelGraphics
94 [
95 text "o 3"
96 outline "#000000"
97 fill "#FFFFFF"
98 fontSize 16
99 fontName "Monospace"
100 autoSizePolicy "node_width"
101 anchor "t"
102 borderDistance 0.0
103 ]
104 LabelGraphics
105 [
106 text "
107 CommSubsystem class DefinedPart
108 XCommSubsystem class DefinedPart
109 CommSubsystem class
110 XCommSubsystem class
111 "
112 fontSize 14
113 fontName "Consolas"
114 alignment "left"
115 anchor "tl"
116 borderDistance 6
117 ]
118 ]
119
120 node
121 [
122 id 3
123 graphics
124 [
125 w 269.5
126 h 82
127 type "rectangle"
128 fill "#FFFFFF"
129 fill2 "#FFFFFF"
130 outline "#000000"
131 ]
132 LabelGraphics
133 [
134 text "o 4"
135 outline "#000000"
136 fill "#FFFFFF"
137 fontSize 16
138 fontName "Monospace"
139 autoSizePolicy "node_width"
140 anchor "t"
141 borderDistance 0.0
142 ]
143 LabelGraphics
144 [
145 text "
146 CommSubsystem class DefinedPart
147 KaCommSubsystem class DefinedPart
148 CommSubsystem class
149 KaCommSubsystem class
150 "
151 fontSize 14
152 fontName "Consolas"
153 alignment "left"
154 anchor "tl"
155 borderDistance 6
156 ]
157 ]
158
159 node
160 [
161 id 4
162 graphics
163 [
164 w 41.800000000000004
165 h 26
166 type "rectangle"
167 fill "#FFFFFF"
168 fill2 "#FFFFFF"
169 outline "#000000"
170 ]
171 LabelGraphics
172 [
173 text "true"
174 outline "#000000"
175 fill "#FFFFFF"
176 fontSize 16
177 fontName "Monospace"
178 autoSizePolicy "node_width"
179 anchor "t"
180 borderDistance 0.0
181 ]
182 LabelGraphics
183 [
184 text "
185 "
186 fontSize 14
187 fontName "Consolas"
188 alignment "left"
189 anchor "tl"
190 borderDistance 6
191 ]
192 ]
193
194 node
195 [
196 id 5
197 graphics
198 [
199 w 50.6
200 h 26
201 type "rectangle"
202 fill "#FFFFFF"
203 fill2 "#FFFFFF"
204 outline "#000000"
205 ]
206 LabelGraphics
207 [
208 text "false"
209 outline "#000000"
210 fill "#FFFFFF"
211 fontSize 16
212 fontName "Monospace"
213 autoSizePolicy "node_width"
214 anchor "t"
215 borderDistance 0.0
216 ]
217 LabelGraphics
218 [
219 text "
220 "
221 fontSize 14
222 fontName "Consolas"
223 alignment "left"
224 anchor "tl"
225 borderDistance 6
226 ]
227 ]
228
229 node
230 [
231 id 6
232 graphics
233 [
234 w 323.40000000000003
235 h 96
236 type "rectangle"
237 fill "#FFFFFF"
238 fill2 "#FFFFFF"
239 outline "#000000"
240 ]
241 LabelGraphics
242 [
243 text "null"
244 outline "#000000"
245 fill "#FFFFFF"
246 fontSize 16
247 fontName "Monospace"
248 autoSizePolicy "node_width"
249 anchor "t"
250 borderDistance 0.0
251 ]
252 LabelGraphics
253 [
254 text "
255 CommunicatingElement class
256 Spacecraft class
257 CubeSat3U class
258 CubeSat class
259 CommunicatingElement class UndefinedPart
260 "
261 fontSize 14
262 fontName "Consolas"
263 alignment "left"
264 anchor "tl"
265 borderDistance 6
266 ]
267 ]
268
269 node
270 [
271 id 7
272 graphics
273 [
274 w 277.20000000000005
275 h 82
276 type "rectangle"
277 fill "#FFFFFF"
278 fill2 "#FFFFFF"
279 outline "#000000"
280 ]
281 LabelGraphics
282 [
283 text "null"
284 outline "#000000"
285 fill "#FFFFFF"
286 fontSize 16
287 fontName "Monospace"
288 autoSizePolicy "node_width"
289 anchor "t"
290 borderDistance 0.0
291 ]
292 LabelGraphics
293 [
294 text "
295 CommSubsystem class
296 XCommSubsystem class
297 CommSubsystem class UndefinedPart
298 XCommSubsystem class UndefinedPart
299 "
300 fontSize 14
301 fontName "Consolas"
302 alignment "left"
303 anchor "tl"
304 borderDistance 6
305 ]
306 ]
307
308 node
309 [
310 id 8
311 graphics
312 [
313 w 223.3
314 h 54
315 type "rectangle"
316 fill "#FFFFFF"
317 fill2 "#FFFFFF"
318 outline "#000000"
319 ]
320 LabelGraphics
321 [
322 text "null"
323 outline "#000000"
324 fill "#FFFFFF"
325 fontSize 16
326 fontName "Monospace"
327 autoSizePolicy "node_width"
328 anchor "t"
329 borderDistance 0.0
330 ]
331 LabelGraphics
332 [
333 text "
334 Payload class
335 InterferometryPayload class
336 "
337 fontSize 14
338 fontName "Consolas"
339 alignment "left"
340 anchor "tl"
341 borderDistance 6
342 ]
343 ]
344
345 node
346 [
347 id 9
348 graphics
349 [
350 w 269.5
351 h 68
352 type "rectangle"
353 fill "#FFFFFF"
354 fill2 "#FFFFFF"
355 outline "#000000"
356 ]
357 LabelGraphics
358 [
359 text "null"
360 outline "#000000"
361 fill "#FFFFFF"
362 fontSize 16
363 fontName "Monospace"
364 autoSizePolicy "node_width"
365 anchor "t"
366 borderDistance 0.0
367 ]
368 LabelGraphics
369 [
370 text "
371 CommSubsystem class
372 UHFCommSubsystem class
373 CommSubsystem class UndefinedPart
374 "
375 fontSize 14
376 fontName "Consolas"
377 alignment "left"
378 anchor "tl"
379 borderDistance 6
380 ]
381 ]
382
383 node
384 [
385 id 10
386 graphics
387 [
388 w 323.40000000000003
389 h 82
390 type "rectangle"
391 fill "#FFFFFF"
392 fill2 "#FFFFFF"
393 outline "#000000"
394 ]
395 LabelGraphics
396 [
397 text "null"
398 outline "#000000"
399 fill "#FFFFFF"
400 fontSize 16
401 fontName "Monospace"
402 autoSizePolicy "node_width"
403 anchor "t"
404 borderDistance 0.0
405 ]
406 LabelGraphics
407 [
408 text "
409 CommunicatingElement class
410 Spacecraft class
411 SmallSat class
412 CommunicatingElement class UndefinedPart
413 "
414 fontSize 14
415 fontName "Consolas"
416 alignment "left"
417 anchor "tl"
418 borderDistance 6
419 ]
420 ]
421
422 node
423 [
424 id 11
425 graphics
426 [
427 w 277.20000000000005
428 h 82
429 type "rectangle"
430 fill "#FFFFFF"
431 fill2 "#FFFFFF"
432 outline "#000000"
433 ]
434 LabelGraphics
435 [
436 text "null"
437 outline "#000000"
438 fill "#FFFFFF"
439 fontSize 16
440 fontName "Monospace"
441 autoSizePolicy "node_width"
442 anchor "t"
443 borderDistance 0.0
444 ]
445 LabelGraphics
446 [
447 text "
448 CommSubsystem class
449 XCommSubsystem class
450 CommSubsystem class UndefinedPart
451 XCommSubsystem class UndefinedPart
452 "
453 fontSize 14
454 fontName "Consolas"
455 alignment "left"
456 anchor "tl"
457 borderDistance 6
458 ]
459 ]
460
461 node
462 [
463 id 12
464 graphics
465 [
466 w 277.20000000000005
467 h 82
468 type "rectangle"
469 fill "#FFFFFF"
470 fill2 "#FFFFFF"
471 outline "#000000"
472 ]
473 LabelGraphics
474 [
475 text "null"
476 outline "#000000"
477 fill "#FFFFFF"
478 fontSize 16
479 fontName "Monospace"
480 autoSizePolicy "node_width"
481 anchor "t"
482 borderDistance 0.0
483 ]
484 LabelGraphics
485 [
486 text "
487 CommSubsystem class
488 XCommSubsystem class
489 CommSubsystem class UndefinedPart
490 XCommSubsystem class UndefinedPart
491 "
492 fontSize 14
493 fontName "Consolas"
494 alignment "left"
495 anchor "tl"
496 borderDistance 6
497 ]
498 ]
499
500 node
501 [
502 id 13
503 graphics
504 [
505 w 223.3
506 h 54
507 type "rectangle"
508 fill "#FFFFFF"
509 fill2 "#FFFFFF"
510 outline "#000000"
511 ]
512 LabelGraphics
513 [
514 text "null"
515 outline "#000000"
516 fill "#FFFFFF"
517 fontSize 16
518 fontName "Monospace"
519 autoSizePolicy "node_width"
520 anchor "t"
521 borderDistance 0.0
522 ]
523 LabelGraphics
524 [
525 text "
526 Payload class
527 InterferometryPayload class
528 "
529 fontSize 14
530 fontName "Consolas"
531 alignment "left"
532 anchor "tl"
533 borderDistance 6
534 ]
535 ]
536
537 node
538 [
539 id 14
540 graphics
541 [
542 w 323.40000000000003
543 h 96
544 type "rectangle"
545 fill "#FFFFFF"
546 fill2 "#FFFFFF"
547 outline "#000000"
548 ]
549 LabelGraphics
550 [
551 text "null"
552 outline "#000000"
553 fill "#FFFFFF"
554 fontSize 16
555 fontName "Monospace"
556 autoSizePolicy "node_width"
557 anchor "t"
558 borderDistance 0.0
559 ]
560 LabelGraphics
561 [
562 text "
563 CommunicatingElement class
564 Spacecraft class
565 CubeSat6U class
566 CubeSat class
567 CommunicatingElement class UndefinedPart
568 "
569 fontSize 14
570 fontName "Consolas"
571 alignment "left"
572 anchor "tl"
573 borderDistance 6
574 ]
575 ]
576
577 node
578 [
579 id 15
580 graphics
581 [
582 w 269.5
583 h 68
584 type "rectangle"
585 fill "#FFFFFF"
586 fill2 "#FFFFFF"
587 outline "#000000"
588 ]
589 LabelGraphics
590 [
591 text "null"
592 outline "#000000"
593 fill "#FFFFFF"
594 fontSize 16
595 fontName "Monospace"
596 autoSizePolicy "node_width"
597 anchor "t"
598 borderDistance 0.0
599 ]
600 LabelGraphics
601 [
602 text "
603 CommSubsystem class
604 UHFCommSubsystem class
605 CommSubsystem class UndefinedPart
606 "
607 fontSize 14
608 fontName "Consolas"
609 alignment "left"
610 anchor "tl"
611 borderDistance 6
612 ]
613 ]
614
615 node
616 [
617 id 16
618 graphics
619 [
620 w 223.3
621 h 54
622 type "rectangle"
623 fill "#FFFFFF"
624 fill2 "#FFFFFF"
625 outline "#000000"
626 ]
627 LabelGraphics
628 [
629 text "null"
630 outline "#000000"
631 fill "#FFFFFF"
632 fontSize 16
633 fontName "Monospace"
634 autoSizePolicy "node_width"
635 anchor "t"
636 borderDistance 0.0
637 ]
638 LabelGraphics
639 [
640 text "
641 Payload class
642 InterferometryPayload class
643 "
644 fontSize 14
645 fontName "Consolas"
646 alignment "left"
647 anchor "tl"
648 borderDistance 6
649 ]
650 ]
651
652 node
653 [
654 id 17
655 graphics
656 [
657 w 277.20000000000005
658 h 82
659 type "rectangle"
660 fill "#FFFFFF"
661 fill2 "#FFFFFF"
662 outline "#000000"
663 ]
664 LabelGraphics
665 [
666 text "null"
667 outline "#000000"
668 fill "#FFFFFF"
669 fontSize 16
670 fontName "Monospace"
671 autoSizePolicy "node_width"
672 anchor "t"
673 borderDistance 0.0
674 ]
675 LabelGraphics
676 [
677 text "
678 CommSubsystem class
679 XCommSubsystem class
680 CommSubsystem class UndefinedPart
681 XCommSubsystem class UndefinedPart
682 "
683 fontSize 14
684 fontName "Consolas"
685 alignment "left"
686 anchor "tl"
687 borderDistance 6
688 ]
689 ]
690
691 node
692 [
693 id 18
694 graphics
695 [
696 w 323.40000000000003
697 h 96
698 type "rectangle"
699 fill "#FFFFFF"
700 fill2 "#FFFFFF"
701 outline "#000000"
702 ]
703 LabelGraphics
704 [
705 text "null"
706 outline "#000000"
707 fill "#FFFFFF"
708 fontSize 16
709 fontName "Monospace"
710 autoSizePolicy "node_width"
711 anchor "t"
712 borderDistance 0.0
713 ]
714 LabelGraphics
715 [
716 text "
717 CommunicatingElement class
718 Spacecraft class
719 CubeSat6U class
720 CubeSat class
721 CommunicatingElement class UndefinedPart
722 "
723 fontSize 14
724 fontName "Consolas"
725 alignment "left"
726 anchor "tl"
727 borderDistance 6
728 ]
729 ]
730
731 node
732 [
733 id 19
734 graphics
735 [
736 w 269.5
737 h 68
738 type "rectangle"
739 fill "#FFFFFF"
740 fill2 "#FFFFFF"
741 outline "#000000"
742 ]
743 LabelGraphics
744 [
745 text "null"
746 outline "#000000"
747 fill "#FFFFFF"
748 fontSize 16
749 fontName "Monospace"
750 autoSizePolicy "node_width"
751 anchor "t"
752 borderDistance 0.0
753 ]
754 LabelGraphics
755 [
756 text "
757 CommSubsystem class
758 UHFCommSubsystem class
759 CommSubsystem class UndefinedPart
760 "
761 fontSize 14
762 fontName "Consolas"
763 alignment "left"
764 anchor "tl"
765 borderDistance 6
766 ]
767 ]
768
769 node
770 [
771 id 20
772 graphics
773 [
774 w 223.3
775 h 54
776 type "rectangle"
777 fill "#FFFFFF"
778 fill2 "#FFFFFF"
779 outline "#000000"
780 ]
781 LabelGraphics
782 [
783 text "null"
784 outline "#000000"
785 fill "#FFFFFF"
786 fontSize 16
787 fontName "Monospace"
788 autoSizePolicy "node_width"
789 anchor "t"
790 borderDistance 0.0
791 ]
792 LabelGraphics
793 [
794 text "
795 Payload class
796 InterferometryPayload class
797 "
798 fontSize 14
799 fontName "Consolas"
800 alignment "left"
801 anchor "tl"
802 borderDistance 6
803 ]
804 ]
805
806 node
807 [
808 id 21
809 graphics
810 [
811 w 323.40000000000003
812 h 82
813 type "rectangle"
814 fill "#FFFFFF"
815 fill2 "#FFFFFF"
816 outline "#000000"
817 ]
818 LabelGraphics
819 [
820 text "null"
821 outline "#000000"
822 fill "#FFFFFF"
823 fontSize 16
824 fontName "Monospace"
825 autoSizePolicy "node_width"
826 anchor "t"
827 borderDistance 0.0
828 ]
829 LabelGraphics
830 [
831 text "
832 CommunicatingElement class
833 Spacecraft class
834 SmallSat class
835 CommunicatingElement class UndefinedPart
836 "
837 fontSize 14
838 fontName "Consolas"
839 alignment "left"
840 anchor "tl"
841 borderDistance 6
842 ]
843 ]
844
845 node
846 [
847 id 22
848 graphics
849 [
850 w 277.20000000000005
851 h 82
852 type "rectangle"
853 fill "#FFFFFF"
854 fill2 "#FFFFFF"
855 outline "#000000"
856 ]
857 LabelGraphics
858 [
859 text "null"
860 outline "#000000"
861 fill "#FFFFFF"
862 fontSize 16
863 fontName "Monospace"
864 autoSizePolicy "node_width"
865 anchor "t"
866 borderDistance 0.0
867 ]
868 LabelGraphics
869 [
870 text "
871 CommSubsystem class
872 XCommSubsystem class
873 CommSubsystem class UndefinedPart
874 XCommSubsystem class UndefinedPart
875 "
876 fontSize 14
877 fontName "Consolas"
878 alignment "left"
879 anchor "tl"
880 borderDistance 6
881 ]
882 ]
883
884 node
885 [
886 id 23
887 graphics
888 [
889 w 284.90000000000003
890 h 82
891 type "rectangle"
892 fill "#FFFFFF"
893 fill2 "#FFFFFF"
894 outline "#000000"
895 ]
896 LabelGraphics
897 [
898 text "null"
899 outline "#000000"
900 fill "#FFFFFF"
901 fontSize 16
902 fontName "Monospace"
903 autoSizePolicy "node_width"
904 anchor "t"
905 borderDistance 0.0
906 ]
907 LabelGraphics
908 [
909 text "
910 CommSubsystem class
911 KaCommSubsystem class
912 CommSubsystem class UndefinedPart
913 KaCommSubsystem class UndefinedPart
914 "
915 fontSize 14
916 fontName "Consolas"
917 alignment "left"
918 anchor "tl"
919 borderDistance 6
920 ]
921 ]
922
923 node
924 [
925 id 24
926 graphics
927 [
928 w 269.5
929 h 68
930 type "rectangle"
931 fill "#FFFFFF"
932 fill2 "#FFFFFF"
933 outline "#000000"
934 ]
935 LabelGraphics
936 [
937 text "null"
938 outline "#000000"
939 fill "#FFFFFF"
940 fontSize 16
941 fontName "Monospace"
942 autoSizePolicy "node_width"
943 anchor "t"
944 borderDistance 0.0
945 ]
946 LabelGraphics
947 [
948 text "
949 CommSubsystem class
950 UHFCommSubsystem class
951 CommSubsystem class UndefinedPart
952 "
953 fontSize 14
954 fontName "Consolas"
955 alignment "left"
956 anchor "tl"
957 borderDistance 6
958 ]
959 ]
960
961 node
962 [
963 id 25
964 graphics
965 [
966 w 223.3
967 h 54
968 type "rectangle"
969 fill "#FFFFFF"
970 fill2 "#FFFFFF"
971 outline "#000000"
972 ]
973 LabelGraphics
974 [
975 text "null"
976 outline "#000000"
977 fill "#FFFFFF"
978 fontSize 16
979 fontName "Monospace"
980 autoSizePolicy "node_width"
981 anchor "t"
982 borderDistance 0.0
983 ]
984 LabelGraphics
985 [
986 text "
987 Payload class
988 InterferometryPayload class
989 "
990 fontSize 14
991 fontName "Consolas"
992 alignment "left"
993 anchor "tl"
994 borderDistance 6
995 ]
996 ]
997
998 node
999 [
1000 id 26
1001 graphics
1002 [
1003 w 323.40000000000003
1004 h 96
1005 type "rectangle"
1006 fill "#FFFFFF"
1007 fill2 "#FFFFFF"
1008 outline "#000000"
1009 ]
1010 LabelGraphics
1011 [
1012 text "null"
1013 outline "#000000"
1014 fill "#FFFFFF"
1015 fontSize 16
1016 fontName "Monospace"
1017 autoSizePolicy "node_width"
1018 anchor "t"
1019 borderDistance 0.0
1020 ]
1021 LabelGraphics
1022 [
1023 text "
1024 CommunicatingElement class
1025 Spacecraft class
1026 CubeSat6U class
1027 CubeSat class
1028 CommunicatingElement class UndefinedPart
1029 "
1030 fontSize 14
1031 fontName "Consolas"
1032 alignment "left"
1033 anchor "tl"
1034 borderDistance 6
1035 ]
1036 ]
1037
1038 node
1039 [
1040 id 27
1041 graphics
1042 [
1043 w 269.5
1044 h 68
1045 type "rectangle"
1046 fill "#FFFFFF"
1047 fill2 "#FFFFFF"
1048 outline "#000000"
1049 ]
1050 LabelGraphics
1051 [
1052 text "null"
1053 outline "#000000"
1054 fill "#FFFFFF"
1055 fontSize 16
1056 fontName "Monospace"
1057 autoSizePolicy "node_width"
1058 anchor "t"
1059 borderDistance 0.0
1060 ]
1061 LabelGraphics
1062 [
1063 text "
1064 CommSubsystem class
1065 UHFCommSubsystem class
1066 CommSubsystem class UndefinedPart
1067 "
1068 fontSize 14
1069 fontName "Consolas"
1070 alignment "left"
1071 anchor "tl"
1072 borderDistance 6
1073 ]
1074 ]
1075
1076 node
1077 [
1078 id 28
1079 graphics
1080 [
1081 w 223.3
1082 h 54
1083 type "rectangle"
1084 fill "#FFFFFF"
1085 fill2 "#FFFFFF"
1086 outline "#000000"
1087 ]
1088 LabelGraphics
1089 [
1090 text "null"
1091 outline "#000000"
1092 fill "#FFFFFF"
1093 fontSize 16
1094 fontName "Monospace"
1095 autoSizePolicy "node_width"
1096 anchor "t"
1097 borderDistance 0.0
1098 ]
1099 LabelGraphics
1100 [
1101 text "
1102 Payload class
1103 InterferometryPayload class
1104 "
1105 fontSize 14
1106 fontName "Consolas"
1107 alignment "left"
1108 anchor "tl"
1109 borderDistance 6
1110 ]
1111 ]
1112
1113 node
1114 [
1115 id 29
1116 graphics
1117 [
1118 w 269.5
1119 h 68
1120 type "rectangle"
1121 fill "#FFFFFF"
1122 fill2 "#FFFFFF"
1123 outline "#000000"
1124 ]
1125 LabelGraphics
1126 [
1127 text "null"
1128 outline "#000000"
1129 fill "#FFFFFF"
1130 fontSize 16
1131 fontName "Monospace"
1132 autoSizePolicy "node_width"
1133 anchor "t"
1134 borderDistance 0.0
1135 ]
1136 LabelGraphics
1137 [
1138 text "
1139 CommSubsystem class
1140 UHFCommSubsystem class
1141 CommSubsystem class UndefinedPart
1142 "
1143 fontSize 14
1144 fontName "Consolas"
1145 alignment "left"
1146 anchor "tl"
1147 borderDistance 6
1148 ]
1149 ]
1150
1151 node
1152 [
1153 id 30
1154 graphics
1155 [
1156 w 323.40000000000003
1157 h 96
1158 type "rectangle"
1159 fill "#FFFFFF"
1160 fill2 "#FFFFFF"
1161 outline "#000000"
1162 ]
1163 LabelGraphics
1164 [
1165 text "null"
1166 outline "#000000"
1167 fill "#FFFFFF"
1168 fontSize 16
1169 fontName "Monospace"
1170 autoSizePolicy "node_width"
1171 anchor "t"
1172 borderDistance 0.0
1173 ]
1174 LabelGraphics
1175 [
1176 text "
1177 CommunicatingElement class
1178 Spacecraft class
1179 CubeSat6U class
1180 CubeSat class
1181 CommunicatingElement class UndefinedPart
1182 "
1183 fontSize 14
1184 fontName "Consolas"
1185 alignment "left"
1186 anchor "tl"
1187 borderDistance 6
1188 ]
1189 ]
1190
1191 node
1192 [
1193 id 31
1194 graphics
1195 [
1196 w 277.20000000000005
1197 h 82
1198 type "rectangle"
1199 fill "#FFFFFF"
1200 fill2 "#FFFFFF"
1201 outline "#000000"
1202 ]
1203 LabelGraphics
1204 [
1205 text "null"
1206 outline "#000000"
1207 fill "#FFFFFF"
1208 fontSize 16
1209 fontName "Monospace"
1210 autoSizePolicy "node_width"
1211 anchor "t"
1212 borderDistance 0.0
1213 ]
1214 LabelGraphics
1215 [
1216 text "
1217 CommSubsystem class
1218 XCommSubsystem class
1219 CommSubsystem class UndefinedPart
1220 XCommSubsystem class UndefinedPart
1221 "
1222 fontSize 14
1223 fontName "Consolas"
1224 alignment "left"
1225 anchor "tl"
1226 borderDistance 6
1227 ]
1228 ]
1229
1230 node
1231 [
1232 id 32
1233 graphics
1234 [
1235 w 269.5
1236 h 68
1237 type "rectangle"
1238 fill "#FFFFFF"
1239 fill2 "#FFFFFF"
1240 outline "#000000"
1241 ]
1242 LabelGraphics
1243 [
1244 text "null"
1245 outline "#000000"
1246 fill "#FFFFFF"
1247 fontSize 16
1248 fontName "Monospace"
1249 autoSizePolicy "node_width"
1250 anchor "t"
1251 borderDistance 0.0
1252 ]
1253 LabelGraphics
1254 [
1255 text "
1256 CommSubsystem class
1257 UHFCommSubsystem class
1258 CommSubsystem class UndefinedPart
1259 "
1260 fontSize 14
1261 fontName "Consolas"
1262 alignment "left"
1263 anchor "tl"
1264 borderDistance 6
1265 ]
1266 ]
1267
1268 node
1269 [
1270 id 33
1271 graphics
1272 [
1273 w 223.3
1274 h 54
1275 type "rectangle"
1276 fill "#FFFFFF"
1277 fill2 "#FFFFFF"
1278 outline "#000000"
1279 ]
1280 LabelGraphics
1281 [
1282 text "null"
1283 outline "#000000"
1284 fill "#FFFFFF"
1285 fontSize 16
1286 fontName "Monospace"
1287 autoSizePolicy "node_width"
1288 anchor "t"
1289 borderDistance 0.0
1290 ]
1291 LabelGraphics
1292 [
1293 text "
1294 Payload class
1295 InterferometryPayload class
1296 "
1297 fontSize 14
1298 fontName "Consolas"
1299 alignment "left"
1300 anchor "tl"
1301 borderDistance 6
1302 ]
1303 ]
1304
1305 node
1306 [
1307 id 34
1308 graphics
1309 [
1310 w 323.40000000000003
1311 h 96
1312 type "rectangle"
1313 fill "#FFFFFF"
1314 fill2 "#FFFFFF"
1315 outline "#000000"
1316 ]
1317 LabelGraphics
1318 [
1319 text "null"
1320 outline "#000000"
1321 fill "#FFFFFF"
1322 fontSize 16
1323 fontName "Monospace"
1324 autoSizePolicy "node_width"
1325 anchor "t"
1326 borderDistance 0.0
1327 ]
1328 LabelGraphics
1329 [
1330 text "
1331 CommunicatingElement class
1332 Spacecraft class
1333 CubeSat3U class
1334 CubeSat class
1335 CommunicatingElement class UndefinedPart
1336 "
1337 fontSize 14
1338 fontName "Consolas"
1339 alignment "left"
1340 anchor "tl"
1341 borderDistance 6
1342 ]
1343 ]
1344
1345 node
1346 [
1347 id 35
1348 graphics
1349 [
1350 w 269.5
1351 h 68
1352 type "rectangle"
1353 fill "#FFFFFF"
1354 fill2 "#FFFFFF"
1355 outline "#000000"
1356 ]
1357 LabelGraphics
1358 [
1359 text "null"
1360 outline "#000000"
1361 fill "#FFFFFF"
1362 fontSize 16
1363 fontName "Monospace"
1364 autoSizePolicy "node_width"
1365 anchor "t"
1366 borderDistance 0.0
1367 ]
1368 LabelGraphics
1369 [
1370 text "
1371 CommSubsystem class
1372 UHFCommSubsystem class
1373 CommSubsystem class UndefinedPart
1374 "
1375 fontSize 14
1376 fontName "Consolas"
1377 alignment "left"
1378 anchor "tl"
1379 borderDistance 6
1380 ]
1381 ]
1382
1383 node
1384 [
1385 id 36
1386 graphics
1387 [
1388 w 269.5
1389 h 68
1390 type "rectangle"
1391 fill "#FFFFFF"
1392 fill2 "#FFFFFF"
1393 outline "#000000"
1394 ]
1395 LabelGraphics
1396 [
1397 text "null"
1398 outline "#000000"
1399 fill "#FFFFFF"
1400 fontSize 16
1401 fontName "Monospace"
1402 autoSizePolicy "node_width"
1403 anchor "t"
1404 borderDistance 0.0
1405 ]
1406 LabelGraphics
1407 [
1408 text "
1409 CommSubsystem class
1410 UHFCommSubsystem class
1411 CommSubsystem class UndefinedPart
1412 "
1413 fontSize 14
1414 fontName "Consolas"
1415 alignment "left"
1416 anchor "tl"
1417 borderDistance 6
1418 ]
1419 ]
1420
1421 node
1422 [
1423 id 37
1424 graphics
1425 [
1426 w 223.3
1427 h 54
1428 type "rectangle"
1429 fill "#FFFFFF"
1430 fill2 "#FFFFFF"
1431 outline "#000000"
1432 ]
1433 LabelGraphics
1434 [
1435 text "null"
1436 outline "#000000"
1437 fill "#FFFFFF"
1438 fontSize 16
1439 fontName "Monospace"
1440 autoSizePolicy "node_width"
1441 anchor "t"
1442 borderDistance 0.0
1443 ]
1444 LabelGraphics
1445 [
1446 text "
1447 Payload class
1448 InterferometryPayload class
1449 "
1450 fontSize 14
1451 fontName "Consolas"
1452 alignment "left"
1453 anchor "tl"
1454 borderDistance 6
1455 ]
1456 ]
1457
1458 node
1459 [
1460 id 38
1461 graphics
1462 [
1463 w 112.2
1464 h 26
1465 type "rectangle"
1466 fill "#FFFFFF"
1467 fill2 "#FFFFFF"
1468 outline "#000000"
1469 ]
1470 LabelGraphics
1471 [
1472 text "New Integers"
1473 outline "#000000"
1474 fill "#FFFFFF"
1475 fontSize 16
1476 fontName "Monospace"
1477 autoSizePolicy "node_width"
1478 anchor "t"
1479 borderDistance 0.0
1480 ]
1481 LabelGraphics
1482 [
1483 text "
1484 "
1485 fontSize 14
1486 fontName "Consolas"
1487 alignment "left"
1488 anchor "tl"
1489 borderDistance 6
1490 ]
1491 ]
1492
1493 node
1494 [
1495 id 39
1496 graphics
1497 [
1498 w 85.80000000000001
1499 h 26
1500 type "rectangle"
1501 fill "#FFFFFF"
1502 fill2 "#FFFFFF"
1503 outline "#000000"
1504 ]
1505 LabelGraphics
1506 [
1507 text "New Reals"
1508 outline "#000000"
1509 fill "#FFFFFF"
1510 fontSize 16
1511 fontName "Monospace"
1512 autoSizePolicy "node_width"
1513 anchor "t"
1514 borderDistance 0.0
1515 ]
1516 LabelGraphics
1517 [
1518 text "
1519 "
1520 fontSize 14
1521 fontName "Consolas"
1522 alignment "left"
1523 anchor "tl"
1524 borderDistance 6
1525 ]
1526 ]
1527
1528 node
1529 [
1530 id 40
1531 graphics
1532 [
1533 w 103.4
1534 h 26
1535 type "rectangle"
1536 fill "#FFFFFF"
1537 fill2 "#FFFFFF"
1538 outline "#000000"
1539 ]
1540 LabelGraphics
1541 [
1542 text "New Strings"
1543 outline "#000000"
1544 fill "#FFFFFF"
1545 fontSize 16
1546 fontName "Monospace"
1547 autoSizePolicy "node_width"
1548 anchor "t"
1549 borderDistance 0.0
1550 ]
1551 LabelGraphics
1552 [
1553 text "
1554 "
1555 fontSize 14
1556 fontName "Consolas"
1557 alignment "left"
1558 anchor "tl"
1559 borderDistance 6
1560 ]
1561 ]
1562
1563 node
1564 [
1565 id 41
1566 graphics
1567 [
1568 w 103.4
1569 h 26
1570 type "rectangle"
1571 fill "#FFFFFF"
1572 fill2 "#FFFFFF"
1573 outline "#000000"
1574 ]
1575 LabelGraphics
1576 [
1577 text "New Objects"
1578 outline "#000000"
1579 fill "#FFFFFF"
1580 fontSize 16
1581 fontName "Monospace"
1582 autoSizePolicy "node_width"
1583 anchor "t"
1584 borderDistance 0.0
1585 ]
1586 LabelGraphics
1587 [
1588 text "
1589 "
1590 fontSize 14
1591 fontName "Consolas"
1592 alignment "left"
1593 anchor "tl"
1594 borderDistance 6
1595 ]
1596 ]
1597 edge
1598 [
1599 source 0
1600 target 1
1601 graphics
1602 [
1603 fill "#000000"
1604 width 3
1605 targetArrow "standard"
1606 ]
1607 LabelGraphics
1608 [
1609 text "groundStationNetwork reference ConstellationMission"
1610 fontSize 14
1611 fontName "Consolas"
1612 configuration "AutoFlippingLabel"
1613 model "six_pos"
1614 position "thead"
1615 ]
1616 ]
1617 edge
1618 [
1619 source 0
1620 target 6
1621 graphics
1622 [
1623 fill "#000000"
1624 width 3
1625 targetArrow "standard"
1626 ]
1627 LabelGraphics
1628 [
1629 text "spacecraft reference ConstellationMission"
1630 fontSize 14
1631 fontName "Consolas"
1632 configuration "AutoFlippingLabel"
1633 model "six_pos"
1634 position "thead"
1635 ]
1636 ]
1637 edge
1638 [
1639 source 0
1640 target 10
1641 graphics
1642 [
1643 fill "#000000"
1644 width 3
1645 targetArrow "standard"
1646 ]
1647 LabelGraphics
1648 [
1649 text "spacecraft reference ConstellationMission"
1650 fontSize 14
1651 fontName "Consolas"
1652 configuration "AutoFlippingLabel"
1653 model "six_pos"
1654 position "thead"
1655 ]
1656 ]
1657 edge
1658 [
1659 source 0
1660 target 14
1661 graphics
1662 [
1663 fill "#000000"
1664 width 3
1665 targetArrow "standard"
1666 ]
1667 LabelGraphics
1668 [
1669 text "spacecraft reference ConstellationMission"
1670 fontSize 14
1671 fontName "Consolas"
1672 configuration "AutoFlippingLabel"
1673 model "six_pos"
1674 position "thead"
1675 ]
1676 ]
1677 edge
1678 [
1679 source 0
1680 target 18
1681 graphics
1682 [
1683 fill "#000000"
1684 width 3
1685 targetArrow "standard"
1686 ]
1687 LabelGraphics
1688 [
1689 text "spacecraft reference ConstellationMission"
1690 fontSize 14
1691 fontName "Consolas"
1692 configuration "AutoFlippingLabel"
1693 model "six_pos"
1694 position "thead"
1695 ]
1696 ]
1697 edge
1698 [
1699 source 0
1700 target 21
1701 graphics
1702 [
1703 fill "#000000"
1704 width 3
1705 targetArrow "standard"
1706 ]
1707 LabelGraphics
1708 [
1709 text "spacecraft reference ConstellationMission"
1710 fontSize 14
1711 fontName "Consolas"
1712 configuration "AutoFlippingLabel"
1713 model "six_pos"
1714 position "thead"
1715 ]
1716 ]
1717 edge
1718 [
1719 source 0
1720 target 26
1721 graphics
1722 [
1723 fill "#000000"
1724 width 3
1725 targetArrow "standard"
1726 ]
1727 LabelGraphics
1728 [
1729 text "spacecraft reference ConstellationMission"
1730 fontSize 14
1731 fontName "Consolas"
1732 configuration "AutoFlippingLabel"
1733 model "six_pos"
1734 position "thead"
1735 ]
1736 ]
1737 edge
1738 [
1739 source 0
1740 target 30
1741 graphics
1742 [
1743 fill "#000000"
1744 width 3
1745 targetArrow "standard"
1746 ]
1747 LabelGraphics
1748 [
1749 text "spacecraft reference ConstellationMission"
1750 fontSize 14
1751 fontName "Consolas"
1752 configuration "AutoFlippingLabel"
1753 model "six_pos"
1754 position "thead"
1755 ]
1756 ]
1757 edge
1758 [
1759 source 0
1760 target 34
1761 graphics
1762 [
1763 fill "#000000"
1764 width 3
1765 targetArrow "standard"
1766 ]
1767 LabelGraphics
1768 [
1769 text "spacecraft reference ConstellationMission"
1770 fontSize 14
1771 fontName "Consolas"
1772 configuration "AutoFlippingLabel"
1773 model "six_pos"
1774 position "thead"
1775 ]
1776 ]
1777 edge
1778 [
1779 source 1
1780 target 2
1781 graphics
1782 [
1783 fill "#000000"
1784 width 3
1785 targetArrow "standard"
1786 ]
1787 LabelGraphics
1788 [
1789 text "commSubsystem reference CommunicatingElement"
1790 fontSize 14
1791 fontName "Consolas"
1792 configuration "AutoFlippingLabel"
1793 model "six_pos"
1794 position "thead"
1795 ]
1796 ]
1797 edge
1798 [
1799 source 1
1800 target 3
1801 graphics
1802 [
1803 fill "#000000"
1804 width 3
1805 targetArrow "standard"
1806 ]
1807 LabelGraphics
1808 [
1809 text "commSubsystem reference CommunicatingElement"
1810 fontSize 14
1811 fontName "Consolas"
1812 configuration "AutoFlippingLabel"
1813 model "six_pos"
1814 position "thead"
1815 ]
1816 ]
1817 edge
1818 [
1819 source 6
1820 target 7
1821 graphics
1822 [
1823 fill "#000000"
1824 width 3
1825 targetArrow "standard"
1826 ]
1827 LabelGraphics
1828 [
1829 text "commSubsystem reference CommunicatingElement"
1830 fontSize 14
1831 fontName "Consolas"
1832 configuration "AutoFlippingLabel"
1833 model "six_pos"
1834 position "thead"
1835 ]
1836 ]
1837 edge
1838 [
1839 source 6
1840 target 9
1841 graphics
1842 [
1843 fill "#000000"
1844 width 3
1845 targetArrow "standard"
1846 ]
1847 LabelGraphics
1848 [
1849 text "commSubsystem reference CommunicatingElement"
1850 fontSize 14
1851 fontName "Consolas"
1852 configuration "AutoFlippingLabel"
1853 model "six_pos"
1854 position "thead"
1855 ]
1856 ]
1857 edge
1858 [
1859 source 10
1860 target 11
1861 graphics
1862 [
1863 fill "#000000"
1864 width 3
1865 targetArrow "standard"
1866 ]
1867 LabelGraphics
1868 [
1869 text "commSubsystem reference CommunicatingElement"
1870 fontSize 14
1871 fontName "Consolas"
1872 configuration "AutoFlippingLabel"
1873 model "six_pos"
1874 position "thead"
1875 ]
1876 ]
1877 edge
1878 [
1879 source 10
1880 target 12
1881 graphics
1882 [
1883 fill "#000000"
1884 width 3
1885 targetArrow "standard"
1886 ]
1887 LabelGraphics
1888 [
1889 text "commSubsystem reference CommunicatingElement"
1890 fontSize 14
1891 fontName "Consolas"
1892 configuration "AutoFlippingLabel"
1893 model "six_pos"
1894 position "thead"
1895 ]
1896 ]
1897 edge
1898 [
1899 source 14
1900 target 15
1901 graphics
1902 [
1903 fill "#000000"
1904 width 3
1905 targetArrow "standard"
1906 ]
1907 LabelGraphics
1908 [
1909 text "commSubsystem reference CommunicatingElement"
1910 fontSize 14
1911 fontName "Consolas"
1912 configuration "AutoFlippingLabel"
1913 model "six_pos"
1914 position "thead"
1915 ]
1916 ]
1917 edge
1918 [
1919 source 14
1920 target 17
1921 graphics
1922 [
1923 fill "#000000"
1924 width 3
1925 targetArrow "standard"
1926 ]
1927 LabelGraphics
1928 [
1929 text "commSubsystem reference CommunicatingElement"
1930 fontSize 14
1931 fontName "Consolas"
1932 configuration "AutoFlippingLabel"
1933 model "six_pos"
1934 position "thead"
1935 ]
1936 ]
1937 edge
1938 [
1939 source 18
1940 target 19
1941 graphics
1942 [
1943 fill "#000000"
1944 width 3
1945 targetArrow "standard"
1946 ]
1947 LabelGraphics
1948 [
1949 text "commSubsystem reference CommunicatingElement"
1950 fontSize 14
1951 fontName "Consolas"
1952 configuration "AutoFlippingLabel"
1953 model "six_pos"
1954 position "thead"
1955 ]
1956 ]
1957 edge
1958 [
1959 source 21
1960 target 22
1961 graphics
1962 [
1963 fill "#000000"
1964 width 3
1965 targetArrow "standard"
1966 ]
1967 LabelGraphics
1968 [
1969 text "commSubsystem reference CommunicatingElement"
1970 fontSize 14
1971 fontName "Consolas"
1972 configuration "AutoFlippingLabel"
1973 model "six_pos"
1974 position "thead"
1975 ]
1976 ]
1977 edge
1978 [
1979 source 21
1980 target 23
1981 graphics
1982 [
1983 fill "#000000"
1984 width 3
1985 targetArrow "standard"
1986 ]
1987 LabelGraphics
1988 [
1989 text "commSubsystem reference CommunicatingElement"
1990 fontSize 14
1991 fontName "Consolas"
1992 configuration "AutoFlippingLabel"
1993 model "six_pos"
1994 position "thead"
1995 ]
1996 ]
1997 edge
1998 [
1999 source 18
2000 target 24
2001 graphics
2002 [
2003 fill "#000000"
2004 width 3
2005 targetArrow "standard"
2006 ]
2007 LabelGraphics
2008 [
2009 text "commSubsystem reference CommunicatingElement"
2010 fontSize 14
2011 fontName "Consolas"
2012 configuration "AutoFlippingLabel"
2013 model "six_pos"
2014 position "thead"
2015 ]
2016 ]
2017 edge
2018 [
2019 source 26
2020 target 27
2021 graphics
2022 [
2023 fill "#000000"
2024 width 3
2025 targetArrow "standard"
2026 ]
2027 LabelGraphics
2028 [
2029 text "commSubsystem reference CommunicatingElement"
2030 fontSize 14
2031 fontName "Consolas"
2032 configuration "AutoFlippingLabel"
2033 model "six_pos"
2034 position "thead"
2035 ]
2036 ]
2037 edge
2038 [
2039 source 26
2040 target 29
2041 graphics
2042 [
2043 fill "#000000"
2044 width 3
2045 targetArrow "standard"
2046 ]
2047 LabelGraphics
2048 [
2049 text "commSubsystem reference CommunicatingElement"
2050 fontSize 14
2051 fontName "Consolas"
2052 configuration "AutoFlippingLabel"
2053 model "six_pos"
2054 position "thead"
2055 ]
2056 ]
2057 edge
2058 [
2059 source 30
2060 target 31
2061 graphics
2062 [
2063 fill "#000000"
2064 width 3
2065 targetArrow "standard"
2066 ]
2067 LabelGraphics
2068 [
2069 text "commSubsystem reference CommunicatingElement"
2070 fontSize 14
2071 fontName "Consolas"
2072 configuration "AutoFlippingLabel"
2073 model "six_pos"
2074 position "thead"
2075 ]
2076 ]
2077 edge
2078 [
2079 source 30
2080 target 32
2081 graphics
2082 [
2083 fill "#000000"
2084 width 3
2085 targetArrow "standard"
2086 ]
2087 LabelGraphics
2088 [
2089 text "commSubsystem reference CommunicatingElement"
2090 fontSize 14
2091 fontName "Consolas"
2092 configuration "AutoFlippingLabel"
2093 model "six_pos"
2094 position "thead"
2095 ]
2096 ]
2097 edge
2098 [
2099 source 34
2100 target 35
2101 graphics
2102 [
2103 fill "#000000"
2104 width 3
2105 targetArrow "standard"
2106 ]
2107 LabelGraphics
2108 [
2109 text "commSubsystem reference CommunicatingElement"
2110 fontSize 14
2111 fontName "Consolas"
2112 configuration "AutoFlippingLabel"
2113 model "six_pos"
2114 position "thead"
2115 ]
2116 ]
2117 edge
2118 [
2119 source 34
2120 target 36
2121 graphics
2122 [
2123 fill "#000000"
2124 width 3
2125 targetArrow "standard"
2126 ]
2127 LabelGraphics
2128 [
2129 text "commSubsystem reference CommunicatingElement"
2130 fontSize 14
2131 fontName "Consolas"
2132 configuration "AutoFlippingLabel"
2133 model "six_pos"
2134 position "thead"
2135 ]
2136 ]
2137 edge
2138 [
2139 source 6
2140 target 8
2141 graphics
2142 [
2143 fill "#000000"
2144 width 3
2145 targetArrow "standard"
2146 ]
2147 LabelGraphics
2148 [
2149 text "payload reference Spacecraft"
2150 fontSize 14
2151 fontName "Consolas"
2152 configuration "AutoFlippingLabel"
2153 model "six_pos"
2154 position "thead"
2155 ]
2156 ]
2157 edge
2158 [
2159 source 10
2160 target 13
2161 graphics
2162 [
2163 fill "#000000"
2164 width 3
2165 targetArrow "standard"
2166 ]
2167 LabelGraphics
2168 [
2169 text "payload reference Spacecraft"
2170 fontSize 14
2171 fontName "Consolas"
2172 configuration "AutoFlippingLabel"
2173 model "six_pos"
2174 position "thead"
2175 ]
2176 ]
2177 edge
2178 [
2179 source 14
2180 target 16
2181 graphics
2182 [
2183 fill "#000000"
2184 width 3
2185 targetArrow "standard"
2186 ]
2187 LabelGraphics
2188 [
2189 text "payload reference Spacecraft"
2190 fontSize 14
2191 fontName "Consolas"
2192 configuration "AutoFlippingLabel"
2193 model "six_pos"
2194 position "thead"
2195 ]
2196 ]
2197 edge
2198 [
2199 source 18
2200 target 20
2201 graphics
2202 [
2203 fill "#000000"
2204 width 3
2205 targetArrow "standard"
2206 ]
2207 LabelGraphics
2208 [
2209 text "payload reference Spacecraft"
2210 fontSize 14
2211 fontName "Consolas"
2212 configuration "AutoFlippingLabel"
2213 model "six_pos"
2214 position "thead"
2215 ]
2216 ]
2217 edge
2218 [
2219 source 21
2220 target 25
2221 graphics
2222 [
2223 fill "#000000"
2224 width 3
2225 targetArrow "standard"
2226 ]
2227 LabelGraphics
2228 [
2229 text "payload reference Spacecraft"
2230 fontSize 14
2231 fontName "Consolas"
2232 configuration "AutoFlippingLabel"
2233 model "six_pos"
2234 position "thead"
2235 ]
2236 ]
2237 edge
2238 [
2239 source 26
2240 target 28
2241 graphics
2242 [
2243 fill "#000000"
2244 width 3
2245 targetArrow "standard"
2246 ]
2247 LabelGraphics
2248 [
2249 text "payload reference Spacecraft"
2250 fontSize 14
2251 fontName "Consolas"
2252 configuration "AutoFlippingLabel"
2253 model "six_pos"
2254 position "thead"
2255 ]
2256 ]
2257 edge
2258 [
2259 source 30
2260 target 33
2261 graphics
2262 [
2263 fill "#000000"
2264 width 3
2265 targetArrow "standard"
2266 ]
2267 LabelGraphics
2268 [
2269 text "payload reference Spacecraft"
2270 fontSize 14
2271 fontName "Consolas"
2272 configuration "AutoFlippingLabel"
2273 model "six_pos"
2274 position "thead"
2275 ]
2276 ]
2277 edge
2278 [
2279 source 34
2280 target 37
2281 graphics
2282 [
2283 fill "#000000"
2284 width 3
2285 targetArrow "standard"
2286 ]
2287 LabelGraphics
2288 [
2289 text "payload reference Spacecraft"
2290 fontSize 14
2291 fontName "Consolas"
2292 configuration "AutoFlippingLabel"
2293 model "six_pos"
2294 position "thead"
2295 ]
2296 ]
2297 edge
2298 [
2299 source 7
2300 target 2
2301 graphics
2302 [
2303 fill "#000000"
2304 targetArrow "standard"
2305 ]
2306 LabelGraphics
2307 [
2308 text "target reference CommSubsystem"
2309 fontSize 14
2310 fontName "Consolas"
2311 configuration "AutoFlippingLabel"
2312 model "six_pos"
2313 position "thead"
2314 ]
2315 ]
2316 edge
2317 [
2318 source 12
2319 target 2
2320 graphics
2321 [
2322 fill "#000000"
2323 targetArrow "standard"
2324 ]
2325 LabelGraphics
2326 [
2327 text "target reference CommSubsystem"
2328 fontSize 14
2329 fontName "Consolas"
2330 configuration "AutoFlippingLabel"
2331 model "six_pos"
2332 position "thead"
2333 ]
2334 ]
2335 edge
2336 [
2337 source 17
2338 target 7
2339 graphics
2340 [
2341 fill "#000000"
2342 targetArrow "standard"
2343 ]
2344 LabelGraphics
2345 [
2346 text "target reference CommSubsystem"
2347 fontSize 14
2348 fontName "Consolas"
2349 configuration "AutoFlippingLabel"
2350 model "six_pos"
2351 position "thead"
2352 ]
2353 ]
2354 edge
2355 [
2356 source 22
2357 target 2
2358 graphics
2359 [
2360 fill "#000000"
2361 targetArrow "standard"
2362 ]
2363 LabelGraphics
2364 [
2365 text "target reference CommSubsystem"
2366 fontSize 14
2367 fontName "Consolas"
2368 configuration "AutoFlippingLabel"
2369 model "six_pos"
2370 position "thead"
2371 ]
2372 ]
2373 edge
2374 [
2375 source 19
2376 target 15
2377 graphics
2378 [
2379 fill "#000000"
2380 targetArrow "standard"
2381 ]
2382 LabelGraphics
2383 [
2384 text "target reference CommSubsystem"
2385 fontSize 14
2386 fontName "Consolas"
2387 configuration "AutoFlippingLabel"
2388 model "six_pos"
2389 position "thead"
2390 ]
2391 ]
2392 edge
2393 [
2394 source 27
2395 target 19
2396 graphics
2397 [
2398 fill "#000000"
2399 targetArrow "standard"
2400 ]
2401 LabelGraphics
2402 [
2403 text "target reference CommSubsystem"
2404 fontSize 14
2405 fontName "Consolas"
2406 configuration "AutoFlippingLabel"
2407 model "six_pos"
2408 position "thead"
2409 ]
2410 ]
2411 edge
2412 [
2413 source 32
2414 target 15
2415 graphics
2416 [
2417 fill "#000000"
2418 targetArrow "standard"
2419 ]
2420 LabelGraphics
2421 [
2422 text "target reference CommSubsystem"
2423 fontSize 14
2424 fontName "Consolas"
2425 configuration "AutoFlippingLabel"
2426 model "six_pos"
2427 position "thead"
2428 ]
2429 ]
2430 edge
2431 [
2432 source 35
2433 target 27
2434 graphics
2435 [
2436 fill "#000000"
2437 targetArrow "standard"
2438 ]
2439 LabelGraphics
2440 [
2441 text "target reference CommSubsystem"
2442 fontSize 14
2443 fontName "Consolas"
2444 configuration "AutoFlippingLabel"
2445 model "six_pos"
2446 position "thead"
2447 ]
2448 ]
2449]
2450
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
new file mode 100644
index 00000000..e7aa5b5c
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run3/3_1.png
Binary files 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
new file mode 100644
index 00000000..081ea350
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run3/3_1.xmi
@@ -0,0 +1,47 @@
1<?xml version="1.0" encoding="ASCII"?>
2<satellite:InterferometryMission xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:satellite="http://www.example.org/satellite" xsi:schemaLocation="http://www.example.org/satellite model/satellite.ecore">
3 <groundStationNetwork>
4 <commSubsystem xsi:type="satellite:KaCommSubsystem"/>
5 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
6 </groundStationNetwork>
7 <spacecraft xsi:type="satellite:CubeSat6U">
8 <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.4/@commSubsystem.0"/>
9 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
10 <payload xsi:type="satellite:InterferometryPayload"/>
11 </spacecraft>
12 <spacecraft xsi:type="satellite:CubeSat3U">
13 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
14 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
15 <payload xsi:type="satellite:InterferometryPayload"/>
16 </spacecraft>
17 <spacecraft xsi:type="satellite:CubeSat6U">
18 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
19 <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.4/@commSubsystem.0"/>
20 <payload xsi:type="satellite:InterferometryPayload"/>
21 </spacecraft>
22 <spacecraft xsi:type="satellite:CubeSat3U">
23 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
24 <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.5/@commSubsystem.0"/>
25 <payload xsi:type="satellite:InterferometryPayload"/>
26 </spacecraft>
27 <spacecraft xsi:type="satellite:CubeSat6U">
28 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
29 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@spacecraft.1/@commSubsystem.1"/>
30 <payload xsi:type="satellite:InterferometryPayload"/>
31 </spacecraft>
32 <spacecraft xsi:type="satellite:CubeSat6U">
33 <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.2/@commSubsystem.1"/>
34 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
35 <payload xsi:type="satellite:InterferometryPayload"/>
36 </spacecraft>
37 <spacecraft xsi:type="satellite:SmallSat">
38 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
39 <commSubsystem xsi:type="satellite:KaCommSubsystem"/>
40 <payload xsi:type="satellite:InterferometryPayload"/>
41 </spacecraft>
42 <spacecraft xsi:type="satellite:SmallSat">
43 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
44 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
45 <payload xsi:type="satellite:InterferometryPayload"/>
46 </spacecraft>
47</satellite:InterferometryMission>
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
new file mode 100644
index 00000000..06f2d5b6
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run4/4_1.gml
@@ -0,0 +1,2453 @@
1graph
2[
3 node
4 [
5 id 0
6 graphics
7 [
8 w 315.70000000000005
9 h 82
10 type "rectangle"
11 fill "#FFFFFF"
12 fill2 "#FFFFFF"
13 outline "#000000"
14 ]
15 LabelGraphics
16 [
17 text "o 1"
18 outline "#000000"
19 fill "#FFFFFF"
20 fontSize 16
21 fontName "Monospace"
22 autoSizePolicy "node_width"
23 anchor "t"
24 borderDistance 0.0
25 ]
26 LabelGraphics
27 [
28 text "
29 ConstellationMission class DefinedPart
30 InterferometryMission class DefinedPart
31 ConstellationMission class
32 InterferometryMission class
33 "
34 fontSize 14
35 fontName "Consolas"
36 alignment "left"
37 anchor "tl"
38 borderDistance 6
39 ]
40 ]
41
42 node
43 [
44 id 1
45 graphics
46 [
47 w 308.0
48 h 82
49 type "rectangle"
50 fill "#FFFFFF"
51 fill2 "#FFFFFF"
52 outline "#000000"
53 ]
54 LabelGraphics
55 [
56 text "o 2"
57 outline "#000000"
58 fill "#FFFFFF"
59 fontSize 16
60 fontName "Monospace"
61 autoSizePolicy "node_width"
62 anchor "t"
63 borderDistance 0.0
64 ]
65 LabelGraphics
66 [
67 text "
68 CommunicatingElement class DefinedPart
69 GroundStationNetwork class DefinedPart
70 CommunicatingElement class
71 GroundStationNetwork class
72 "
73 fontSize 14
74 fontName "Consolas"
75 alignment "left"
76 anchor "tl"
77 borderDistance 6
78 ]
79 ]
80
81 node
82 [
83 id 2
84 graphics
85 [
86 w 261.8
87 h 82
88 type "rectangle"
89 fill "#FFFFFF"
90 fill2 "#FFFFFF"
91 outline "#000000"
92 ]
93 LabelGraphics
94 [
95 text "o 3"
96 outline "#000000"
97 fill "#FFFFFF"
98 fontSize 16
99 fontName "Monospace"
100 autoSizePolicy "node_width"
101 anchor "t"
102 borderDistance 0.0
103 ]
104 LabelGraphics
105 [
106 text "
107 CommSubsystem class DefinedPart
108 XCommSubsystem class DefinedPart
109 CommSubsystem class
110 XCommSubsystem class
111 "
112 fontSize 14
113 fontName "Consolas"
114 alignment "left"
115 anchor "tl"
116 borderDistance 6
117 ]
118 ]
119
120 node
121 [
122 id 3
123 graphics
124 [
125 w 269.5
126 h 82
127 type "rectangle"
128 fill "#FFFFFF"
129 fill2 "#FFFFFF"
130 outline "#000000"
131 ]
132 LabelGraphics
133 [
134 text "o 4"
135 outline "#000000"
136 fill "#FFFFFF"
137 fontSize 16
138 fontName "Monospace"
139 autoSizePolicy "node_width"
140 anchor "t"
141 borderDistance 0.0
142 ]
143 LabelGraphics
144 [
145 text "
146 CommSubsystem class DefinedPart
147 KaCommSubsystem class DefinedPart
148 CommSubsystem class
149 KaCommSubsystem class
150 "
151 fontSize 14
152 fontName "Consolas"
153 alignment "left"
154 anchor "tl"
155 borderDistance 6
156 ]
157 ]
158
159 node
160 [
161 id 4
162 graphics
163 [
164 w 41.800000000000004
165 h 26
166 type "rectangle"
167 fill "#FFFFFF"
168 fill2 "#FFFFFF"
169 outline "#000000"
170 ]
171 LabelGraphics
172 [
173 text "true"
174 outline "#000000"
175 fill "#FFFFFF"
176 fontSize 16
177 fontName "Monospace"
178 autoSizePolicy "node_width"
179 anchor "t"
180 borderDistance 0.0
181 ]
182 LabelGraphics
183 [
184 text "
185 "
186 fontSize 14
187 fontName "Consolas"
188 alignment "left"
189 anchor "tl"
190 borderDistance 6
191 ]
192 ]
193
194 node
195 [
196 id 5
197 graphics
198 [
199 w 50.6
200 h 26
201 type "rectangle"
202 fill "#FFFFFF"
203 fill2 "#FFFFFF"
204 outline "#000000"
205 ]
206 LabelGraphics
207 [
208 text "false"
209 outline "#000000"
210 fill "#FFFFFF"
211 fontSize 16
212 fontName "Monospace"
213 autoSizePolicy "node_width"
214 anchor "t"
215 borderDistance 0.0
216 ]
217 LabelGraphics
218 [
219 text "
220 "
221 fontSize 14
222 fontName "Consolas"
223 alignment "left"
224 anchor "tl"
225 borderDistance 6
226 ]
227 ]
228
229 node
230 [
231 id 6
232 graphics
233 [
234 w 323.40000000000003
235 h 96
236 type "rectangle"
237 fill "#FFFFFF"
238 fill2 "#FFFFFF"
239 outline "#000000"
240 ]
241 LabelGraphics
242 [
243 text "null"
244 outline "#000000"
245 fill "#FFFFFF"
246 fontSize 16
247 fontName "Monospace"
248 autoSizePolicy "node_width"
249 anchor "t"
250 borderDistance 0.0
251 ]
252 LabelGraphics
253 [
254 text "
255 CommunicatingElement class
256 Spacecraft class
257 CubeSat6U class
258 CubeSat class
259 CommunicatingElement class UndefinedPart
260 "
261 fontSize 14
262 fontName "Consolas"
263 alignment "left"
264 anchor "tl"
265 borderDistance 6
266 ]
267 ]
268
269 node
270 [
271 id 7
272 graphics
273 [
274 w 277.20000000000005
275 h 82
276 type "rectangle"
277 fill "#FFFFFF"
278 fill2 "#FFFFFF"
279 outline "#000000"
280 ]
281 LabelGraphics
282 [
283 text "null"
284 outline "#000000"
285 fill "#FFFFFF"
286 fontSize 16
287 fontName "Monospace"
288 autoSizePolicy "node_width"
289 anchor "t"
290 borderDistance 0.0
291 ]
292 LabelGraphics
293 [
294 text "
295 CommSubsystem class
296 XCommSubsystem class
297 CommSubsystem class UndefinedPart
298 XCommSubsystem class UndefinedPart
299 "
300 fontSize 14
301 fontName "Consolas"
302 alignment "left"
303 anchor "tl"
304 borderDistance 6
305 ]
306 ]
307
308 node
309 [
310 id 8
311 graphics
312 [
313 w 223.3
314 h 54
315 type "rectangle"
316 fill "#FFFFFF"
317 fill2 "#FFFFFF"
318 outline "#000000"
319 ]
320 LabelGraphics
321 [
322 text "null"
323 outline "#000000"
324 fill "#FFFFFF"
325 fontSize 16
326 fontName "Monospace"
327 autoSizePolicy "node_width"
328 anchor "t"
329 borderDistance 0.0
330 ]
331 LabelGraphics
332 [
333 text "
334 Payload class
335 InterferometryPayload class
336 "
337 fontSize 14
338 fontName "Consolas"
339 alignment "left"
340 anchor "tl"
341 borderDistance 6
342 ]
343 ]
344
345 node
346 [
347 id 9
348 graphics
349 [
350 w 269.5
351 h 68
352 type "rectangle"
353 fill "#FFFFFF"
354 fill2 "#FFFFFF"
355 outline "#000000"
356 ]
357 LabelGraphics
358 [
359 text "null"
360 outline "#000000"
361 fill "#FFFFFF"
362 fontSize 16
363 fontName "Monospace"
364 autoSizePolicy "node_width"
365 anchor "t"
366 borderDistance 0.0
367 ]
368 LabelGraphics
369 [
370 text "
371 CommSubsystem class
372 UHFCommSubsystem class
373 CommSubsystem class UndefinedPart
374 "
375 fontSize 14
376 fontName "Consolas"
377 alignment "left"
378 anchor "tl"
379 borderDistance 6
380 ]
381 ]
382
383 node
384 [
385 id 10
386 graphics
387 [
388 w 323.40000000000003
389 h 96
390 type "rectangle"
391 fill "#FFFFFF"
392 fill2 "#FFFFFF"
393 outline "#000000"
394 ]
395 LabelGraphics
396 [
397 text "null"
398 outline "#000000"
399 fill "#FFFFFF"
400 fontSize 16
401 fontName "Monospace"
402 autoSizePolicy "node_width"
403 anchor "t"
404 borderDistance 0.0
405 ]
406 LabelGraphics
407 [
408 text "
409 CommunicatingElement class
410 Spacecraft class
411 CubeSat3U class
412 CubeSat class
413 CommunicatingElement class UndefinedPart
414 "
415 fontSize 14
416 fontName "Consolas"
417 alignment "left"
418 anchor "tl"
419 borderDistance 6
420 ]
421 ]
422
423 node
424 [
425 id 11
426 graphics
427 [
428 w 223.3
429 h 54
430 type "rectangle"
431 fill "#FFFFFF"
432 fill2 "#FFFFFF"
433 outline "#000000"
434 ]
435 LabelGraphics
436 [
437 text "null"
438 outline "#000000"
439 fill "#FFFFFF"
440 fontSize 16
441 fontName "Monospace"
442 autoSizePolicy "node_width"
443 anchor "t"
444 borderDistance 0.0
445 ]
446 LabelGraphics
447 [
448 text "
449 Payload class
450 InterferometryPayload class
451 "
452 fontSize 14
453 fontName "Consolas"
454 alignment "left"
455 anchor "tl"
456 borderDistance 6
457 ]
458 ]
459
460 node
461 [
462 id 12
463 graphics
464 [
465 w 277.20000000000005
466 h 82
467 type "rectangle"
468 fill "#FFFFFF"
469 fill2 "#FFFFFF"
470 outline "#000000"
471 ]
472 LabelGraphics
473 [
474 text "null"
475 outline "#000000"
476 fill "#FFFFFF"
477 fontSize 16
478 fontName "Monospace"
479 autoSizePolicy "node_width"
480 anchor "t"
481 borderDistance 0.0
482 ]
483 LabelGraphics
484 [
485 text "
486 CommSubsystem class
487 XCommSubsystem class
488 CommSubsystem class UndefinedPart
489 XCommSubsystem class UndefinedPart
490 "
491 fontSize 14
492 fontName "Consolas"
493 alignment "left"
494 anchor "tl"
495 borderDistance 6
496 ]
497 ]
498
499 node
500 [
501 id 13
502 graphics
503 [
504 w 323.40000000000003
505 h 96
506 type "rectangle"
507 fill "#FFFFFF"
508 fill2 "#FFFFFF"
509 outline "#000000"
510 ]
511 LabelGraphics
512 [
513 text "null"
514 outline "#000000"
515 fill "#FFFFFF"
516 fontSize 16
517 fontName "Monospace"
518 autoSizePolicy "node_width"
519 anchor "t"
520 borderDistance 0.0
521 ]
522 LabelGraphics
523 [
524 text "
525 CommunicatingElement class
526 Spacecraft class
527 CubeSat6U class
528 CubeSat class
529 CommunicatingElement class UndefinedPart
530 "
531 fontSize 14
532 fontName "Consolas"
533 alignment "left"
534 anchor "tl"
535 borderDistance 6
536 ]
537 ]
538
539 node
540 [
541 id 14
542 graphics
543 [
544 w 277.20000000000005
545 h 82
546 type "rectangle"
547 fill "#FFFFFF"
548 fill2 "#FFFFFF"
549 outline "#000000"
550 ]
551 LabelGraphics
552 [
553 text "null"
554 outline "#000000"
555 fill "#FFFFFF"
556 fontSize 16
557 fontName "Monospace"
558 autoSizePolicy "node_width"
559 anchor "t"
560 borderDistance 0.0
561 ]
562 LabelGraphics
563 [
564 text "
565 CommSubsystem class
566 XCommSubsystem class
567 CommSubsystem class UndefinedPart
568 XCommSubsystem class UndefinedPart
569 "
570 fontSize 14
571 fontName "Consolas"
572 alignment "left"
573 anchor "tl"
574 borderDistance 6
575 ]
576 ]
577
578 node
579 [
580 id 15
581 graphics
582 [
583 w 277.20000000000005
584 h 82
585 type "rectangle"
586 fill "#FFFFFF"
587 fill2 "#FFFFFF"
588 outline "#000000"
589 ]
590 LabelGraphics
591 [
592 text "null"
593 outline "#000000"
594 fill "#FFFFFF"
595 fontSize 16
596 fontName "Monospace"
597 autoSizePolicy "node_width"
598 anchor "t"
599 borderDistance 0.0
600 ]
601 LabelGraphics
602 [
603 text "
604 CommSubsystem class
605 XCommSubsystem class
606 CommSubsystem class UndefinedPart
607 XCommSubsystem class UndefinedPart
608 "
609 fontSize 14
610 fontName "Consolas"
611 alignment "left"
612 anchor "tl"
613 borderDistance 6
614 ]
615 ]
616
617 node
618 [
619 id 16
620 graphics
621 [
622 w 277.20000000000005
623 h 82
624 type "rectangle"
625 fill "#FFFFFF"
626 fill2 "#FFFFFF"
627 outline "#000000"
628 ]
629 LabelGraphics
630 [
631 text "null"
632 outline "#000000"
633 fill "#FFFFFF"
634 fontSize 16
635 fontName "Monospace"
636 autoSizePolicy "node_width"
637 anchor "t"
638 borderDistance 0.0
639 ]
640 LabelGraphics
641 [
642 text "
643 CommSubsystem class
644 XCommSubsystem class
645 CommSubsystem class UndefinedPart
646 XCommSubsystem class UndefinedPart
647 "
648 fontSize 14
649 fontName "Consolas"
650 alignment "left"
651 anchor "tl"
652 borderDistance 6
653 ]
654 ]
655
656 node
657 [
658 id 17
659 graphics
660 [
661 w 223.3
662 h 54
663 type "rectangle"
664 fill "#FFFFFF"
665 fill2 "#FFFFFF"
666 outline "#000000"
667 ]
668 LabelGraphics
669 [
670 text "null"
671 outline "#000000"
672 fill "#FFFFFF"
673 fontSize 16
674 fontName "Monospace"
675 autoSizePolicy "node_width"
676 anchor "t"
677 borderDistance 0.0
678 ]
679 LabelGraphics
680 [
681 text "
682 Payload class
683 InterferometryPayload class
684 "
685 fontSize 14
686 fontName "Consolas"
687 alignment "left"
688 anchor "tl"
689 borderDistance 6
690 ]
691 ]
692
693 node
694 [
695 id 18
696 graphics
697 [
698 w 323.40000000000003
699 h 82
700 type "rectangle"
701 fill "#FFFFFF"
702 fill2 "#FFFFFF"
703 outline "#000000"
704 ]
705 LabelGraphics
706 [
707 text "null"
708 outline "#000000"
709 fill "#FFFFFF"
710 fontSize 16
711 fontName "Monospace"
712 autoSizePolicy "node_width"
713 anchor "t"
714 borderDistance 0.0
715 ]
716 LabelGraphics
717 [
718 text "
719 CommunicatingElement class
720 Spacecraft class
721 SmallSat class
722 CommunicatingElement class UndefinedPart
723 "
724 fontSize 14
725 fontName "Consolas"
726 alignment "left"
727 anchor "tl"
728 borderDistance 6
729 ]
730 ]
731
732 node
733 [
734 id 19
735 graphics
736 [
737 w 284.90000000000003
738 h 82
739 type "rectangle"
740 fill "#FFFFFF"
741 fill2 "#FFFFFF"
742 outline "#000000"
743 ]
744 LabelGraphics
745 [
746 text "null"
747 outline "#000000"
748 fill "#FFFFFF"
749 fontSize 16
750 fontName "Monospace"
751 autoSizePolicy "node_width"
752 anchor "t"
753 borderDistance 0.0
754 ]
755 LabelGraphics
756 [
757 text "
758 CommSubsystem class
759 KaCommSubsystem class
760 CommSubsystem class UndefinedPart
761 KaCommSubsystem class UndefinedPart
762 "
763 fontSize 14
764 fontName "Consolas"
765 alignment "left"
766 anchor "tl"
767 borderDistance 6
768 ]
769 ]
770
771 node
772 [
773 id 20
774 graphics
775 [
776 w 223.3
777 h 54
778 type "rectangle"
779 fill "#FFFFFF"
780 fill2 "#FFFFFF"
781 outline "#000000"
782 ]
783 LabelGraphics
784 [
785 text "null"
786 outline "#000000"
787 fill "#FFFFFF"
788 fontSize 16
789 fontName "Monospace"
790 autoSizePolicy "node_width"
791 anchor "t"
792 borderDistance 0.0
793 ]
794 LabelGraphics
795 [
796 text "
797 Payload class
798 InterferometryPayload class
799 "
800 fontSize 14
801 fontName "Consolas"
802 alignment "left"
803 anchor "tl"
804 borderDistance 6
805 ]
806 ]
807
808 node
809 [
810 id 21
811 graphics
812 [
813 w 323.40000000000003
814 h 82
815 type "rectangle"
816 fill "#FFFFFF"
817 fill2 "#FFFFFF"
818 outline "#000000"
819 ]
820 LabelGraphics
821 [
822 text "null"
823 outline "#000000"
824 fill "#FFFFFF"
825 fontSize 16
826 fontName "Monospace"
827 autoSizePolicy "node_width"
828 anchor "t"
829 borderDistance 0.0
830 ]
831 LabelGraphics
832 [
833 text "
834 CommunicatingElement class
835 Spacecraft class
836 SmallSat class
837 CommunicatingElement class UndefinedPart
838 "
839 fontSize 14
840 fontName "Consolas"
841 alignment "left"
842 anchor "tl"
843 borderDistance 6
844 ]
845 ]
846
847 node
848 [
849 id 22
850 graphics
851 [
852 w 269.5
853 h 68
854 type "rectangle"
855 fill "#FFFFFF"
856 fill2 "#FFFFFF"
857 outline "#000000"
858 ]
859 LabelGraphics
860 [
861 text "null"
862 outline "#000000"
863 fill "#FFFFFF"
864 fontSize 16
865 fontName "Monospace"
866 autoSizePolicy "node_width"
867 anchor "t"
868 borderDistance 0.0
869 ]
870 LabelGraphics
871 [
872 text "
873 CommSubsystem class
874 UHFCommSubsystem class
875 CommSubsystem class UndefinedPart
876 "
877 fontSize 14
878 fontName "Consolas"
879 alignment "left"
880 anchor "tl"
881 borderDistance 6
882 ]
883 ]
884
885 node
886 [
887 id 23
888 graphics
889 [
890 w 277.20000000000005
891 h 82
892 type "rectangle"
893 fill "#FFFFFF"
894 fill2 "#FFFFFF"
895 outline "#000000"
896 ]
897 LabelGraphics
898 [
899 text "null"
900 outline "#000000"
901 fill "#FFFFFF"
902 fontSize 16
903 fontName "Monospace"
904 autoSizePolicy "node_width"
905 anchor "t"
906 borderDistance 0.0
907 ]
908 LabelGraphics
909 [
910 text "
911 CommSubsystem class
912 XCommSubsystem class
913 CommSubsystem class UndefinedPart
914 XCommSubsystem class UndefinedPart
915 "
916 fontSize 14
917 fontName "Consolas"
918 alignment "left"
919 anchor "tl"
920 borderDistance 6
921 ]
922 ]
923
924 node
925 [
926 id 24
927 graphics
928 [
929 w 277.20000000000005
930 h 82
931 type "rectangle"
932 fill "#FFFFFF"
933 fill2 "#FFFFFF"
934 outline "#000000"
935 ]
936 LabelGraphics
937 [
938 text "null"
939 outline "#000000"
940 fill "#FFFFFF"
941 fontSize 16
942 fontName "Monospace"
943 autoSizePolicy "node_width"
944 anchor "t"
945 borderDistance 0.0
946 ]
947 LabelGraphics
948 [
949 text "
950 CommSubsystem class
951 XCommSubsystem class
952 CommSubsystem class UndefinedPart
953 XCommSubsystem class UndefinedPart
954 "
955 fontSize 14
956 fontName "Consolas"
957 alignment "left"
958 anchor "tl"
959 borderDistance 6
960 ]
961 ]
962
963 node
964 [
965 id 25
966 graphics
967 [
968 w 223.3
969 h 54
970 type "rectangle"
971 fill "#FFFFFF"
972 fill2 "#FFFFFF"
973 outline "#000000"
974 ]
975 LabelGraphics
976 [
977 text "null"
978 outline "#000000"
979 fill "#FFFFFF"
980 fontSize 16
981 fontName "Monospace"
982 autoSizePolicy "node_width"
983 anchor "t"
984 borderDistance 0.0
985 ]
986 LabelGraphics
987 [
988 text "
989 Payload class
990 InterferometryPayload class
991 "
992 fontSize 14
993 fontName "Consolas"
994 alignment "left"
995 anchor "tl"
996 borderDistance 6
997 ]
998 ]
999
1000 node
1001 [
1002 id 26
1003 graphics
1004 [
1005 w 323.40000000000003
1006 h 82
1007 type "rectangle"
1008 fill "#FFFFFF"
1009 fill2 "#FFFFFF"
1010 outline "#000000"
1011 ]
1012 LabelGraphics
1013 [
1014 text "null"
1015 outline "#000000"
1016 fill "#FFFFFF"
1017 fontSize 16
1018 fontName "Monospace"
1019 autoSizePolicy "node_width"
1020 anchor "t"
1021 borderDistance 0.0
1022 ]
1023 LabelGraphics
1024 [
1025 text "
1026 CommunicatingElement class
1027 Spacecraft class
1028 SmallSat class
1029 CommunicatingElement class UndefinedPart
1030 "
1031 fontSize 14
1032 fontName "Consolas"
1033 alignment "left"
1034 anchor "tl"
1035 borderDistance 6
1036 ]
1037 ]
1038
1039 node
1040 [
1041 id 27
1042 graphics
1043 [
1044 w 269.5
1045 h 68
1046 type "rectangle"
1047 fill "#FFFFFF"
1048 fill2 "#FFFFFF"
1049 outline "#000000"
1050 ]
1051 LabelGraphics
1052 [
1053 text "null"
1054 outline "#000000"
1055 fill "#FFFFFF"
1056 fontSize 16
1057 fontName "Monospace"
1058 autoSizePolicy "node_width"
1059 anchor "t"
1060 borderDistance 0.0
1061 ]
1062 LabelGraphics
1063 [
1064 text "
1065 CommSubsystem class
1066 UHFCommSubsystem class
1067 CommSubsystem class UndefinedPart
1068 "
1069 fontSize 14
1070 fontName "Consolas"
1071 alignment "left"
1072 anchor "tl"
1073 borderDistance 6
1074 ]
1075 ]
1076
1077 node
1078 [
1079 id 28
1080 graphics
1081 [
1082 w 223.3
1083 h 54
1084 type "rectangle"
1085 fill "#FFFFFF"
1086 fill2 "#FFFFFF"
1087 outline "#000000"
1088 ]
1089 LabelGraphics
1090 [
1091 text "null"
1092 outline "#000000"
1093 fill "#FFFFFF"
1094 fontSize 16
1095 fontName "Monospace"
1096 autoSizePolicy "node_width"
1097 anchor "t"
1098 borderDistance 0.0
1099 ]
1100 LabelGraphics
1101 [
1102 text "
1103 Payload class
1104 InterferometryPayload class
1105 "
1106 fontSize 14
1107 fontName "Consolas"
1108 alignment "left"
1109 anchor "tl"
1110 borderDistance 6
1111 ]
1112 ]
1113
1114 node
1115 [
1116 id 29
1117 graphics
1118 [
1119 w 277.20000000000005
1120 h 82
1121 type "rectangle"
1122 fill "#FFFFFF"
1123 fill2 "#FFFFFF"
1124 outline "#000000"
1125 ]
1126 LabelGraphics
1127 [
1128 text "null"
1129 outline "#000000"
1130 fill "#FFFFFF"
1131 fontSize 16
1132 fontName "Monospace"
1133 autoSizePolicy "node_width"
1134 anchor "t"
1135 borderDistance 0.0
1136 ]
1137 LabelGraphics
1138 [
1139 text "
1140 CommSubsystem class
1141 XCommSubsystem class
1142 CommSubsystem class UndefinedPart
1143 XCommSubsystem class UndefinedPart
1144 "
1145 fontSize 14
1146 fontName "Consolas"
1147 alignment "left"
1148 anchor "tl"
1149 borderDistance 6
1150 ]
1151 ]
1152
1153 node
1154 [
1155 id 30
1156 graphics
1157 [
1158 w 323.40000000000003
1159 h 82
1160 type "rectangle"
1161 fill "#FFFFFF"
1162 fill2 "#FFFFFF"
1163 outline "#000000"
1164 ]
1165 LabelGraphics
1166 [
1167 text "null"
1168 outline "#000000"
1169 fill "#FFFFFF"
1170 fontSize 16
1171 fontName "Monospace"
1172 autoSizePolicy "node_width"
1173 anchor "t"
1174 borderDistance 0.0
1175 ]
1176 LabelGraphics
1177 [
1178 text "
1179 CommunicatingElement class
1180 Spacecraft class
1181 SmallSat class
1182 CommunicatingElement class UndefinedPart
1183 "
1184 fontSize 14
1185 fontName "Consolas"
1186 alignment "left"
1187 anchor "tl"
1188 borderDistance 6
1189 ]
1190 ]
1191
1192 node
1193 [
1194 id 31
1195 graphics
1196 [
1197 w 284.90000000000003
1198 h 82
1199 type "rectangle"
1200 fill "#FFFFFF"
1201 fill2 "#FFFFFF"
1202 outline "#000000"
1203 ]
1204 LabelGraphics
1205 [
1206 text "null"
1207 outline "#000000"
1208 fill "#FFFFFF"
1209 fontSize 16
1210 fontName "Monospace"
1211 autoSizePolicy "node_width"
1212 anchor "t"
1213 borderDistance 0.0
1214 ]
1215 LabelGraphics
1216 [
1217 text "
1218 CommSubsystem class
1219 KaCommSubsystem class
1220 CommSubsystem class UndefinedPart
1221 KaCommSubsystem class UndefinedPart
1222 "
1223 fontSize 14
1224 fontName "Consolas"
1225 alignment "left"
1226 anchor "tl"
1227 borderDistance 6
1228 ]
1229 ]
1230
1231 node
1232 [
1233 id 32
1234 graphics
1235 [
1236 w 284.90000000000003
1237 h 82
1238 type "rectangle"
1239 fill "#FFFFFF"
1240 fill2 "#FFFFFF"
1241 outline "#000000"
1242 ]
1243 LabelGraphics
1244 [
1245 text "null"
1246 outline "#000000"
1247 fill "#FFFFFF"
1248 fontSize 16
1249 fontName "Monospace"
1250 autoSizePolicy "node_width"
1251 anchor "t"
1252 borderDistance 0.0
1253 ]
1254 LabelGraphics
1255 [
1256 text "
1257 CommSubsystem class
1258 KaCommSubsystem class
1259 CommSubsystem class UndefinedPart
1260 KaCommSubsystem class UndefinedPart
1261 "
1262 fontSize 14
1263 fontName "Consolas"
1264 alignment "left"
1265 anchor "tl"
1266 borderDistance 6
1267 ]
1268 ]
1269
1270 node
1271 [
1272 id 33
1273 graphics
1274 [
1275 w 223.3
1276 h 54
1277 type "rectangle"
1278 fill "#FFFFFF"
1279 fill2 "#FFFFFF"
1280 outline "#000000"
1281 ]
1282 LabelGraphics
1283 [
1284 text "null"
1285 outline "#000000"
1286 fill "#FFFFFF"
1287 fontSize 16
1288 fontName "Monospace"
1289 autoSizePolicy "node_width"
1290 anchor "t"
1291 borderDistance 0.0
1292 ]
1293 LabelGraphics
1294 [
1295 text "
1296 Payload class
1297 InterferometryPayload class
1298 "
1299 fontSize 14
1300 fontName "Consolas"
1301 alignment "left"
1302 anchor "tl"
1303 borderDistance 6
1304 ]
1305 ]
1306
1307 node
1308 [
1309 id 34
1310 graphics
1311 [
1312 w 323.40000000000003
1313 h 96
1314 type "rectangle"
1315 fill "#FFFFFF"
1316 fill2 "#FFFFFF"
1317 outline "#000000"
1318 ]
1319 LabelGraphics
1320 [
1321 text "null"
1322 outline "#000000"
1323 fill "#FFFFFF"
1324 fontSize 16
1325 fontName "Monospace"
1326 autoSizePolicy "node_width"
1327 anchor "t"
1328 borderDistance 0.0
1329 ]
1330 LabelGraphics
1331 [
1332 text "
1333 CommunicatingElement class
1334 Spacecraft class
1335 CubeSat3U class
1336 CubeSat class
1337 CommunicatingElement class UndefinedPart
1338 "
1339 fontSize 14
1340 fontName "Consolas"
1341 alignment "left"
1342 anchor "tl"
1343 borderDistance 6
1344 ]
1345 ]
1346
1347 node
1348 [
1349 id 35
1350 graphics
1351 [
1352 w 277.20000000000005
1353 h 82
1354 type "rectangle"
1355 fill "#FFFFFF"
1356 fill2 "#FFFFFF"
1357 outline "#000000"
1358 ]
1359 LabelGraphics
1360 [
1361 text "null"
1362 outline "#000000"
1363 fill "#FFFFFF"
1364 fontSize 16
1365 fontName "Monospace"
1366 autoSizePolicy "node_width"
1367 anchor "t"
1368 borderDistance 0.0
1369 ]
1370 LabelGraphics
1371 [
1372 text "
1373 CommSubsystem class
1374 XCommSubsystem class
1375 CommSubsystem class UndefinedPart
1376 XCommSubsystem class UndefinedPart
1377 "
1378 fontSize 14
1379 fontName "Consolas"
1380 alignment "left"
1381 anchor "tl"
1382 borderDistance 6
1383 ]
1384 ]
1385
1386 node
1387 [
1388 id 36
1389 graphics
1390 [
1391 w 269.5
1392 h 68
1393 type "rectangle"
1394 fill "#FFFFFF"
1395 fill2 "#FFFFFF"
1396 outline "#000000"
1397 ]
1398 LabelGraphics
1399 [
1400 text "null"
1401 outline "#000000"
1402 fill "#FFFFFF"
1403 fontSize 16
1404 fontName "Monospace"
1405 autoSizePolicy "node_width"
1406 anchor "t"
1407 borderDistance 0.0
1408 ]
1409 LabelGraphics
1410 [
1411 text "
1412 CommSubsystem class
1413 UHFCommSubsystem class
1414 CommSubsystem class UndefinedPart
1415 "
1416 fontSize 14
1417 fontName "Consolas"
1418 alignment "left"
1419 anchor "tl"
1420 borderDistance 6
1421 ]
1422 ]
1423
1424 node
1425 [
1426 id 37
1427 graphics
1428 [
1429 w 223.3
1430 h 54
1431 type "rectangle"
1432 fill "#FFFFFF"
1433 fill2 "#FFFFFF"
1434 outline "#000000"
1435 ]
1436 LabelGraphics
1437 [
1438 text "null"
1439 outline "#000000"
1440 fill "#FFFFFF"
1441 fontSize 16
1442 fontName "Monospace"
1443 autoSizePolicy "node_width"
1444 anchor "t"
1445 borderDistance 0.0
1446 ]
1447 LabelGraphics
1448 [
1449 text "
1450 Payload class
1451 InterferometryPayload class
1452 "
1453 fontSize 14
1454 fontName "Consolas"
1455 alignment "left"
1456 anchor "tl"
1457 borderDistance 6
1458 ]
1459 ]
1460
1461 node
1462 [
1463 id 38
1464 graphics
1465 [
1466 w 112.2
1467 h 26
1468 type "rectangle"
1469 fill "#FFFFFF"
1470 fill2 "#FFFFFF"
1471 outline "#000000"
1472 ]
1473 LabelGraphics
1474 [
1475 text "New Integers"
1476 outline "#000000"
1477 fill "#FFFFFF"
1478 fontSize 16
1479 fontName "Monospace"
1480 autoSizePolicy "node_width"
1481 anchor "t"
1482 borderDistance 0.0
1483 ]
1484 LabelGraphics
1485 [
1486 text "
1487 "
1488 fontSize 14
1489 fontName "Consolas"
1490 alignment "left"
1491 anchor "tl"
1492 borderDistance 6
1493 ]
1494 ]
1495
1496 node
1497 [
1498 id 39
1499 graphics
1500 [
1501 w 85.80000000000001
1502 h 26
1503 type "rectangle"
1504 fill "#FFFFFF"
1505 fill2 "#FFFFFF"
1506 outline "#000000"
1507 ]
1508 LabelGraphics
1509 [
1510 text "New Reals"
1511 outline "#000000"
1512 fill "#FFFFFF"
1513 fontSize 16
1514 fontName "Monospace"
1515 autoSizePolicy "node_width"
1516 anchor "t"
1517 borderDistance 0.0
1518 ]
1519 LabelGraphics
1520 [
1521 text "
1522 "
1523 fontSize 14
1524 fontName "Consolas"
1525 alignment "left"
1526 anchor "tl"
1527 borderDistance 6
1528 ]
1529 ]
1530
1531 node
1532 [
1533 id 40
1534 graphics
1535 [
1536 w 103.4
1537 h 26
1538 type "rectangle"
1539 fill "#FFFFFF"
1540 fill2 "#FFFFFF"
1541 outline "#000000"
1542 ]
1543 LabelGraphics
1544 [
1545 text "New Strings"
1546 outline "#000000"
1547 fill "#FFFFFF"
1548 fontSize 16
1549 fontName "Monospace"
1550 autoSizePolicy "node_width"
1551 anchor "t"
1552 borderDistance 0.0
1553 ]
1554 LabelGraphics
1555 [
1556 text "
1557 "
1558 fontSize 14
1559 fontName "Consolas"
1560 alignment "left"
1561 anchor "tl"
1562 borderDistance 6
1563 ]
1564 ]
1565
1566 node
1567 [
1568 id 41
1569 graphics
1570 [
1571 w 103.4
1572 h 26
1573 type "rectangle"
1574 fill "#FFFFFF"
1575 fill2 "#FFFFFF"
1576 outline "#000000"
1577 ]
1578 LabelGraphics
1579 [
1580 text "New Objects"
1581 outline "#000000"
1582 fill "#FFFFFF"
1583 fontSize 16
1584 fontName "Monospace"
1585 autoSizePolicy "node_width"
1586 anchor "t"
1587 borderDistance 0.0
1588 ]
1589 LabelGraphics
1590 [
1591 text "
1592 "
1593 fontSize 14
1594 fontName "Consolas"
1595 alignment "left"
1596 anchor "tl"
1597 borderDistance 6
1598 ]
1599 ]
1600 edge
1601 [
1602 source 0
1603 target 1
1604 graphics
1605 [
1606 fill "#000000"
1607 width 3
1608 targetArrow "standard"
1609 ]
1610 LabelGraphics
1611 [
1612 text "groundStationNetwork reference ConstellationMission"
1613 fontSize 14
1614 fontName "Consolas"
1615 configuration "AutoFlippingLabel"
1616 model "six_pos"
1617 position "thead"
1618 ]
1619 ]
1620 edge
1621 [
1622 source 0
1623 target 6
1624 graphics
1625 [
1626 fill "#000000"
1627 width 3
1628 targetArrow "standard"
1629 ]
1630 LabelGraphics
1631 [
1632 text "spacecraft reference ConstellationMission"
1633 fontSize 14
1634 fontName "Consolas"
1635 configuration "AutoFlippingLabel"
1636 model "six_pos"
1637 position "thead"
1638 ]
1639 ]
1640 edge
1641 [
1642 source 0
1643 target 10
1644 graphics
1645 [
1646 fill "#000000"
1647 width 3
1648 targetArrow "standard"
1649 ]
1650 LabelGraphics
1651 [
1652 text "spacecraft reference ConstellationMission"
1653 fontSize 14
1654 fontName "Consolas"
1655 configuration "AutoFlippingLabel"
1656 model "six_pos"
1657 position "thead"
1658 ]
1659 ]
1660 edge
1661 [
1662 source 0
1663 target 13
1664 graphics
1665 [
1666 fill "#000000"
1667 width 3
1668 targetArrow "standard"
1669 ]
1670 LabelGraphics
1671 [
1672 text "spacecraft reference ConstellationMission"
1673 fontSize 14
1674 fontName "Consolas"
1675 configuration "AutoFlippingLabel"
1676 model "six_pos"
1677 position "thead"
1678 ]
1679 ]
1680 edge
1681 [
1682 source 0
1683 target 18
1684 graphics
1685 [
1686 fill "#000000"
1687 width 3
1688 targetArrow "standard"
1689 ]
1690 LabelGraphics
1691 [
1692 text "spacecraft reference ConstellationMission"
1693 fontSize 14
1694 fontName "Consolas"
1695 configuration "AutoFlippingLabel"
1696 model "six_pos"
1697 position "thead"
1698 ]
1699 ]
1700 edge
1701 [
1702 source 0
1703 target 21
1704 graphics
1705 [
1706 fill "#000000"
1707 width 3
1708 targetArrow "standard"
1709 ]
1710 LabelGraphics
1711 [
1712 text "spacecraft reference ConstellationMission"
1713 fontSize 14
1714 fontName "Consolas"
1715 configuration "AutoFlippingLabel"
1716 model "six_pos"
1717 position "thead"
1718 ]
1719 ]
1720 edge
1721 [
1722 source 0
1723 target 26
1724 graphics
1725 [
1726 fill "#000000"
1727 width 3
1728 targetArrow "standard"
1729 ]
1730 LabelGraphics
1731 [
1732 text "spacecraft reference ConstellationMission"
1733 fontSize 14
1734 fontName "Consolas"
1735 configuration "AutoFlippingLabel"
1736 model "six_pos"
1737 position "thead"
1738 ]
1739 ]
1740 edge
1741 [
1742 source 0
1743 target 30
1744 graphics
1745 [
1746 fill "#000000"
1747 width 3
1748 targetArrow "standard"
1749 ]
1750 LabelGraphics
1751 [
1752 text "spacecraft reference ConstellationMission"
1753 fontSize 14
1754 fontName "Consolas"
1755 configuration "AutoFlippingLabel"
1756 model "six_pos"
1757 position "thead"
1758 ]
1759 ]
1760 edge
1761 [
1762 source 0
1763 target 34
1764 graphics
1765 [
1766 fill "#000000"
1767 width 3
1768 targetArrow "standard"
1769 ]
1770 LabelGraphics
1771 [
1772 text "spacecraft reference ConstellationMission"
1773 fontSize 14
1774 fontName "Consolas"
1775 configuration "AutoFlippingLabel"
1776 model "six_pos"
1777 position "thead"
1778 ]
1779 ]
1780 edge
1781 [
1782 source 1
1783 target 2
1784 graphics
1785 [
1786 fill "#000000"
1787 width 3
1788 targetArrow "standard"
1789 ]
1790 LabelGraphics
1791 [
1792 text "commSubsystem reference CommunicatingElement"
1793 fontSize 14
1794 fontName "Consolas"
1795 configuration "AutoFlippingLabel"
1796 model "six_pos"
1797 position "thead"
1798 ]
1799 ]
1800 edge
1801 [
1802 source 1
1803 target 3
1804 graphics
1805 [
1806 fill "#000000"
1807 width 3
1808 targetArrow "standard"
1809 ]
1810 LabelGraphics
1811 [
1812 text "commSubsystem reference CommunicatingElement"
1813 fontSize 14
1814 fontName "Consolas"
1815 configuration "AutoFlippingLabel"
1816 model "six_pos"
1817 position "thead"
1818 ]
1819 ]
1820 edge
1821 [
1822 source 6
1823 target 7
1824 graphics
1825 [
1826 fill "#000000"
1827 width 3
1828 targetArrow "standard"
1829 ]
1830 LabelGraphics
1831 [
1832 text "commSubsystem reference CommunicatingElement"
1833 fontSize 14
1834 fontName "Consolas"
1835 configuration "AutoFlippingLabel"
1836 model "six_pos"
1837 position "thead"
1838 ]
1839 ]
1840 edge
1841 [
1842 source 6
1843 target 9
1844 graphics
1845 [
1846 fill "#000000"
1847 width 3
1848 targetArrow "standard"
1849 ]
1850 LabelGraphics
1851 [
1852 text "commSubsystem reference CommunicatingElement"
1853 fontSize 14
1854 fontName "Consolas"
1855 configuration "AutoFlippingLabel"
1856 model "six_pos"
1857 position "thead"
1858 ]
1859 ]
1860 edge
1861 [
1862 source 10
1863 target 12
1864 graphics
1865 [
1866 fill "#000000"
1867 width 3
1868 targetArrow "standard"
1869 ]
1870 LabelGraphics
1871 [
1872 text "commSubsystem reference CommunicatingElement"
1873 fontSize 14
1874 fontName "Consolas"
1875 configuration "AutoFlippingLabel"
1876 model "six_pos"
1877 position "thead"
1878 ]
1879 ]
1880 edge
1881 [
1882 source 13
1883 target 14
1884 graphics
1885 [
1886 fill "#000000"
1887 width 3
1888 targetArrow "standard"
1889 ]
1890 LabelGraphics
1891 [
1892 text "commSubsystem reference CommunicatingElement"
1893 fontSize 14
1894 fontName "Consolas"
1895 configuration "AutoFlippingLabel"
1896 model "six_pos"
1897 position "thead"
1898 ]
1899 ]
1900 edge
1901 [
1902 source 13
1903 target 15
1904 graphics
1905 [
1906 fill "#000000"
1907 width 3
1908 targetArrow "standard"
1909 ]
1910 LabelGraphics
1911 [
1912 text "commSubsystem reference CommunicatingElement"
1913 fontSize 14
1914 fontName "Consolas"
1915 configuration "AutoFlippingLabel"
1916 model "six_pos"
1917 position "thead"
1918 ]
1919 ]
1920 edge
1921 [
1922 source 10
1923 target 16
1924 graphics
1925 [
1926 fill "#000000"
1927 width 3
1928 targetArrow "standard"
1929 ]
1930 LabelGraphics
1931 [
1932 text "commSubsystem reference CommunicatingElement"
1933 fontSize 14
1934 fontName "Consolas"
1935 configuration "AutoFlippingLabel"
1936 model "six_pos"
1937 position "thead"
1938 ]
1939 ]
1940 edge
1941 [
1942 source 18
1943 target 19
1944 graphics
1945 [
1946 fill "#000000"
1947 width 3
1948 targetArrow "standard"
1949 ]
1950 LabelGraphics
1951 [
1952 text "commSubsystem reference CommunicatingElement"
1953 fontSize 14
1954 fontName "Consolas"
1955 configuration "AutoFlippingLabel"
1956 model "six_pos"
1957 position "thead"
1958 ]
1959 ]
1960 edge
1961 [
1962 source 21
1963 target 22
1964 graphics
1965 [
1966 fill "#000000"
1967 width 3
1968 targetArrow "standard"
1969 ]
1970 LabelGraphics
1971 [
1972 text "commSubsystem reference CommunicatingElement"
1973 fontSize 14
1974 fontName "Consolas"
1975 configuration "AutoFlippingLabel"
1976 model "six_pos"
1977 position "thead"
1978 ]
1979 ]
1980 edge
1981 [
1982 source 18
1983 target 23
1984 graphics
1985 [
1986 fill "#000000"
1987 width 3
1988 targetArrow "standard"
1989 ]
1990 LabelGraphics
1991 [
1992 text "commSubsystem reference CommunicatingElement"
1993 fontSize 14
1994 fontName "Consolas"
1995 configuration "AutoFlippingLabel"
1996 model "six_pos"
1997 position "thead"
1998 ]
1999 ]
2000 edge
2001 [
2002 source 21
2003 target 24
2004 graphics
2005 [
2006 fill "#000000"
2007 width 3
2008 targetArrow "standard"
2009 ]
2010 LabelGraphics
2011 [
2012 text "commSubsystem reference CommunicatingElement"
2013 fontSize 14
2014 fontName "Consolas"
2015 configuration "AutoFlippingLabel"
2016 model "six_pos"
2017 position "thead"
2018 ]
2019 ]
2020 edge
2021 [
2022 source 26
2023 target 27
2024 graphics
2025 [
2026 fill "#000000"
2027 width 3
2028 targetArrow "standard"
2029 ]
2030 LabelGraphics
2031 [
2032 text "commSubsystem reference CommunicatingElement"
2033 fontSize 14
2034 fontName "Consolas"
2035 configuration "AutoFlippingLabel"
2036 model "six_pos"
2037 position "thead"
2038 ]
2039 ]
2040 edge
2041 [
2042 source 26
2043 target 29
2044 graphics
2045 [
2046 fill "#000000"
2047 width 3
2048 targetArrow "standard"
2049 ]
2050 LabelGraphics
2051 [
2052 text "commSubsystem reference CommunicatingElement"
2053 fontSize 14
2054 fontName "Consolas"
2055 configuration "AutoFlippingLabel"
2056 model "six_pos"
2057 position "thead"
2058 ]
2059 ]
2060 edge
2061 [
2062 source 30
2063 target 31
2064 graphics
2065 [
2066 fill "#000000"
2067 width 3
2068 targetArrow "standard"
2069 ]
2070 LabelGraphics
2071 [
2072 text "commSubsystem reference CommunicatingElement"
2073 fontSize 14
2074 fontName "Consolas"
2075 configuration "AutoFlippingLabel"
2076 model "six_pos"
2077 position "thead"
2078 ]
2079 ]
2080 edge
2081 [
2082 source 30
2083 target 32
2084 graphics
2085 [
2086 fill "#000000"
2087 width 3
2088 targetArrow "standard"
2089 ]
2090 LabelGraphics
2091 [
2092 text "commSubsystem reference CommunicatingElement"
2093 fontSize 14
2094 fontName "Consolas"
2095 configuration "AutoFlippingLabel"
2096 model "six_pos"
2097 position "thead"
2098 ]
2099 ]
2100 edge
2101 [
2102 source 34
2103 target 35
2104 graphics
2105 [
2106 fill "#000000"
2107 width 3
2108 targetArrow "standard"
2109 ]
2110 LabelGraphics
2111 [
2112 text "commSubsystem reference CommunicatingElement"
2113 fontSize 14
2114 fontName "Consolas"
2115 configuration "AutoFlippingLabel"
2116 model "six_pos"
2117 position "thead"
2118 ]
2119 ]
2120 edge
2121 [
2122 source 34
2123 target 36
2124 graphics
2125 [
2126 fill "#000000"
2127 width 3
2128 targetArrow "standard"
2129 ]
2130 LabelGraphics
2131 [
2132 text "commSubsystem reference CommunicatingElement"
2133 fontSize 14
2134 fontName "Consolas"
2135 configuration "AutoFlippingLabel"
2136 model "six_pos"
2137 position "thead"
2138 ]
2139 ]
2140 edge
2141 [
2142 source 6
2143 target 8
2144 graphics
2145 [
2146 fill "#000000"
2147 width 3
2148 targetArrow "standard"
2149 ]
2150 LabelGraphics
2151 [
2152 text "payload reference Spacecraft"
2153 fontSize 14
2154 fontName "Consolas"
2155 configuration "AutoFlippingLabel"
2156 model "six_pos"
2157 position "thead"
2158 ]
2159 ]
2160 edge
2161 [
2162 source 10
2163 target 11
2164 graphics
2165 [
2166 fill "#000000"
2167 width 3
2168 targetArrow "standard"
2169 ]
2170 LabelGraphics
2171 [
2172 text "payload reference Spacecraft"
2173 fontSize 14
2174 fontName "Consolas"
2175 configuration "AutoFlippingLabel"
2176 model "six_pos"
2177 position "thead"
2178 ]
2179 ]
2180 edge
2181 [
2182 source 13
2183 target 17
2184 graphics
2185 [
2186 fill "#000000"
2187 width 3
2188 targetArrow "standard"
2189 ]
2190 LabelGraphics
2191 [
2192 text "payload reference Spacecraft"
2193 fontSize 14
2194 fontName "Consolas"
2195 configuration "AutoFlippingLabel"
2196 model "six_pos"
2197 position "thead"
2198 ]
2199 ]
2200 edge
2201 [
2202 source 18
2203 target 20
2204 graphics
2205 [
2206 fill "#000000"
2207 width 3
2208 targetArrow "standard"
2209 ]
2210 LabelGraphics
2211 [
2212 text "payload reference Spacecraft"
2213 fontSize 14
2214 fontName "Consolas"
2215 configuration "AutoFlippingLabel"
2216 model "six_pos"
2217 position "thead"
2218 ]
2219 ]
2220 edge
2221 [
2222 source 21
2223 target 25
2224 graphics
2225 [
2226 fill "#000000"
2227 width 3
2228 targetArrow "standard"
2229 ]
2230 LabelGraphics
2231 [
2232 text "payload reference Spacecraft"
2233 fontSize 14
2234 fontName "Consolas"
2235 configuration "AutoFlippingLabel"
2236 model "six_pos"
2237 position "thead"
2238 ]
2239 ]
2240 edge
2241 [
2242 source 26
2243 target 28
2244 graphics
2245 [
2246 fill "#000000"
2247 width 3
2248 targetArrow "standard"
2249 ]
2250 LabelGraphics
2251 [
2252 text "payload reference Spacecraft"
2253 fontSize 14
2254 fontName "Consolas"
2255 configuration "AutoFlippingLabel"
2256 model "six_pos"
2257 position "thead"
2258 ]
2259 ]
2260 edge
2261 [
2262 source 30
2263 target 33
2264 graphics
2265 [
2266 fill "#000000"
2267 width 3
2268 targetArrow "standard"
2269 ]
2270 LabelGraphics
2271 [
2272 text "payload reference Spacecraft"
2273 fontSize 14
2274 fontName "Consolas"
2275 configuration "AutoFlippingLabel"
2276 model "six_pos"
2277 position "thead"
2278 ]
2279 ]
2280 edge
2281 [
2282 source 34
2283 target 37
2284 graphics
2285 [
2286 fill "#000000"
2287 width 3
2288 targetArrow "standard"
2289 ]
2290 LabelGraphics
2291 [
2292 text "payload reference Spacecraft"
2293 fontSize 14
2294 fontName "Consolas"
2295 configuration "AutoFlippingLabel"
2296 model "six_pos"
2297 position "thead"
2298 ]
2299 ]
2300 edge
2301 [
2302 source 7
2303 target 2
2304 graphics
2305 [
2306 fill "#000000"
2307 targetArrow "standard"
2308 ]
2309 LabelGraphics
2310 [
2311 text "target reference CommSubsystem"
2312 fontSize 14
2313 fontName "Consolas"
2314 configuration "AutoFlippingLabel"
2315 model "six_pos"
2316 position "thead"
2317 ]
2318 ]
2319 edge
2320 [
2321 source 12
2322 target 2
2323 graphics
2324 [
2325 fill "#000000"
2326 targetArrow "standard"
2327 ]
2328 LabelGraphics
2329 [
2330 text "target reference CommSubsystem"
2331 fontSize 14
2332 fontName "Consolas"
2333 configuration "AutoFlippingLabel"
2334 model "six_pos"
2335 position "thead"
2336 ]
2337 ]
2338 edge
2339 [
2340 source 15
2341 target 12
2342 graphics
2343 [
2344 fill "#000000"
2345 targetArrow "standard"
2346 ]
2347 LabelGraphics
2348 [
2349 text "target reference CommSubsystem"
2350 fontSize 14
2351 fontName "Consolas"
2352 configuration "AutoFlippingLabel"
2353 model "six_pos"
2354 position "thead"
2355 ]
2356 ]
2357 edge
2358 [
2359 source 19
2360 target 3
2361 graphics
2362 [
2363 fill "#000000"
2364 targetArrow "standard"
2365 ]
2366 LabelGraphics
2367 [
2368 text "target reference CommSubsystem"
2369 fontSize 14
2370 fontName "Consolas"
2371 configuration "AutoFlippingLabel"
2372 model "six_pos"
2373 position "thead"
2374 ]
2375 ]
2376 edge
2377 [
2378 source 24
2379 target 16
2380 graphics
2381 [
2382 fill "#000000"
2383 targetArrow "standard"
2384 ]
2385 LabelGraphics
2386 [
2387 text "target reference CommSubsystem"
2388 fontSize 14
2389 fontName "Consolas"
2390 configuration "AutoFlippingLabel"
2391 model "six_pos"
2392 position "thead"
2393 ]
2394 ]
2395 edge
2396 [
2397 source 27
2398 target 22
2399 graphics
2400 [
2401 fill "#000000"
2402 targetArrow "standard"
2403 ]
2404 LabelGraphics
2405 [
2406 text "target reference CommSubsystem"
2407 fontSize 14
2408 fontName "Consolas"
2409 configuration "AutoFlippingLabel"
2410 model "six_pos"
2411 position "thead"
2412 ]
2413 ]
2414 edge
2415 [
2416 source 32
2417 target 3
2418 graphics
2419 [
2420 fill "#000000"
2421 targetArrow "standard"
2422 ]
2423 LabelGraphics
2424 [
2425 text "target reference CommSubsystem"
2426 fontSize 14
2427 fontName "Consolas"
2428 configuration "AutoFlippingLabel"
2429 model "six_pos"
2430 position "thead"
2431 ]
2432 ]
2433 edge
2434 [
2435 source 35
2436 target 2
2437 graphics
2438 [
2439 fill "#000000"
2440 targetArrow "standard"
2441 ]
2442 LabelGraphics
2443 [
2444 text "target reference CommSubsystem"
2445 fontSize 14
2446 fontName "Consolas"
2447 configuration "AutoFlippingLabel"
2448 model "six_pos"
2449 position "thead"
2450 ]
2451 ]
2452]
2453
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
new file mode 100644
index 00000000..8cdb0656
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run4/4_1.png
Binary files 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
new file mode 100644
index 00000000..a49adea1
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run4/4_1.xmi
@@ -0,0 +1,47 @@
1<?xml version="1.0" encoding="ASCII"?>
2<satellite:InterferometryMission xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:satellite="http://www.example.org/satellite" xsi:schemaLocation="http://www.example.org/satellite model/satellite.ecore">
3 <groundStationNetwork>
4 <commSubsystem xsi:type="satellite:KaCommSubsystem"/>
5 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
6 </groundStationNetwork>
7 <spacecraft xsi:type="satellite:SmallSat">
8 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
9 <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.7/@commSubsystem.0"/>
10 <payload xsi:type="satellite:InterferometryPayload"/>
11 </spacecraft>
12 <spacecraft xsi:type="satellite:SmallSat">
13 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
14 <commSubsystem xsi:type="satellite:KaCommSubsystem" target="//@groundStationNetwork/@commSubsystem.0"/>
15 <payload xsi:type="satellite:InterferometryPayload"/>
16 </spacecraft>
17 <spacecraft xsi:type="satellite:CubeSat6U">
18 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
19 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
20 <payload xsi:type="satellite:InterferometryPayload"/>
21 </spacecraft>
22 <spacecraft xsi:type="satellite:CubeSat3U">
23 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
24 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
25 <payload xsi:type="satellite:InterferometryPayload"/>
26 </spacecraft>
27 <spacecraft xsi:type="satellite:SmallSat">
28 <commSubsystem xsi:type="satellite:KaCommSubsystem"/>
29 <commSubsystem xsi:type="satellite:KaCommSubsystem" target="//@groundStationNetwork/@commSubsystem.0"/>
30 <payload xsi:type="satellite:InterferometryPayload"/>
31 </spacecraft>
32 <spacecraft xsi:type="satellite:CubeSat6U">
33 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@spacecraft.6/@commSubsystem.1"/>
34 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
35 <payload xsi:type="satellite:InterferometryPayload"/>
36 </spacecraft>
37 <spacecraft xsi:type="satellite:CubeSat3U">
38 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
39 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
40 <payload xsi:type="satellite:InterferometryPayload"/>
41 </spacecraft>
42 <spacecraft xsi:type="satellite:SmallSat">
43 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
44 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@spacecraft.6/@commSubsystem.0"/>
45 <payload xsi:type="satellite:InterferometryPayload"/>
46 </spacecraft>
47</satellite:InterferometryMission>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run5/5_1.gml b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run5/5_1.gml
new file mode 100644
index 00000000..b709f251
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run5/5_1.gml
@@ -0,0 +1,2452 @@
1graph
2[
3 node
4 [
5 id 0
6 graphics
7 [
8 w 315.70000000000005
9 h 82
10 type "rectangle"
11 fill "#FFFFFF"
12 fill2 "#FFFFFF"
13 outline "#000000"
14 ]
15 LabelGraphics
16 [
17 text "o 1"
18 outline "#000000"
19 fill "#FFFFFF"
20 fontSize 16
21 fontName "Monospace"
22 autoSizePolicy "node_width"
23 anchor "t"
24 borderDistance 0.0
25 ]
26 LabelGraphics
27 [
28 text "
29 ConstellationMission class DefinedPart
30 InterferometryMission class DefinedPart
31 ConstellationMission class
32 InterferometryMission class
33 "
34 fontSize 14
35 fontName "Consolas"
36 alignment "left"
37 anchor "tl"
38 borderDistance 6
39 ]
40 ]
41
42 node
43 [
44 id 1
45 graphics
46 [
47 w 308.0
48 h 82
49 type "rectangle"
50 fill "#FFFFFF"
51 fill2 "#FFFFFF"
52 outline "#000000"
53 ]
54 LabelGraphics
55 [
56 text "o 2"
57 outline "#000000"
58 fill "#FFFFFF"
59 fontSize 16
60 fontName "Monospace"
61 autoSizePolicy "node_width"
62 anchor "t"
63 borderDistance 0.0
64 ]
65 LabelGraphics
66 [
67 text "
68 CommunicatingElement class DefinedPart
69 GroundStationNetwork class DefinedPart
70 CommunicatingElement class
71 GroundStationNetwork class
72 "
73 fontSize 14
74 fontName "Consolas"
75 alignment "left"
76 anchor "tl"
77 borderDistance 6
78 ]
79 ]
80
81 node
82 [
83 id 2
84 graphics
85 [
86 w 261.8
87 h 82
88 type "rectangle"
89 fill "#FFFFFF"
90 fill2 "#FFFFFF"
91 outline "#000000"
92 ]
93 LabelGraphics
94 [
95 text "o 3"
96 outline "#000000"
97 fill "#FFFFFF"
98 fontSize 16
99 fontName "Monospace"
100 autoSizePolicy "node_width"
101 anchor "t"
102 borderDistance 0.0
103 ]
104 LabelGraphics
105 [
106 text "
107 CommSubsystem class DefinedPart
108 XCommSubsystem class DefinedPart
109 CommSubsystem class
110 XCommSubsystem class
111 "
112 fontSize 14
113 fontName "Consolas"
114 alignment "left"
115 anchor "tl"
116 borderDistance 6
117 ]
118 ]
119
120 node
121 [
122 id 3
123 graphics
124 [
125 w 269.5
126 h 82
127 type "rectangle"
128 fill "#FFFFFF"
129 fill2 "#FFFFFF"
130 outline "#000000"
131 ]
132 LabelGraphics
133 [
134 text "o 4"
135 outline "#000000"
136 fill "#FFFFFF"
137 fontSize 16
138 fontName "Monospace"
139 autoSizePolicy "node_width"
140 anchor "t"
141 borderDistance 0.0
142 ]
143 LabelGraphics
144 [
145 text "
146 CommSubsystem class DefinedPart
147 KaCommSubsystem class DefinedPart
148 CommSubsystem class
149 KaCommSubsystem class
150 "
151 fontSize 14
152 fontName "Consolas"
153 alignment "left"
154 anchor "tl"
155 borderDistance 6
156 ]
157 ]
158
159 node
160 [
161 id 4
162 graphics
163 [
164 w 41.800000000000004
165 h 26
166 type "rectangle"
167 fill "#FFFFFF"
168 fill2 "#FFFFFF"
169 outline "#000000"
170 ]
171 LabelGraphics
172 [
173 text "true"
174 outline "#000000"
175 fill "#FFFFFF"
176 fontSize 16
177 fontName "Monospace"
178 autoSizePolicy "node_width"
179 anchor "t"
180 borderDistance 0.0
181 ]
182 LabelGraphics
183 [
184 text "
185 "
186 fontSize 14
187 fontName "Consolas"
188 alignment "left"
189 anchor "tl"
190 borderDistance 6
191 ]
192 ]
193
194 node
195 [
196 id 5
197 graphics
198 [
199 w 50.6
200 h 26
201 type "rectangle"
202 fill "#FFFFFF"
203 fill2 "#FFFFFF"
204 outline "#000000"
205 ]
206 LabelGraphics
207 [
208 text "false"
209 outline "#000000"
210 fill "#FFFFFF"
211 fontSize 16
212 fontName "Monospace"
213 autoSizePolicy "node_width"
214 anchor "t"
215 borderDistance 0.0
216 ]
217 LabelGraphics
218 [
219 text "
220 "
221 fontSize 14
222 fontName "Consolas"
223 alignment "left"
224 anchor "tl"
225 borderDistance 6
226 ]
227 ]
228
229 node
230 [
231 id 6
232 graphics
233 [
234 w 323.40000000000003
235 h 96
236 type "rectangle"
237 fill "#FFFFFF"
238 fill2 "#FFFFFF"
239 outline "#000000"
240 ]
241 LabelGraphics
242 [
243 text "null"
244 outline "#000000"
245 fill "#FFFFFF"
246 fontSize 16
247 fontName "Monospace"
248 autoSizePolicy "node_width"
249 anchor "t"
250 borderDistance 0.0
251 ]
252 LabelGraphics
253 [
254 text "
255 CommunicatingElement class
256 Spacecraft class
257 CubeSat3U class
258 CubeSat class
259 CommunicatingElement class UndefinedPart
260 "
261 fontSize 14
262 fontName "Consolas"
263 alignment "left"
264 anchor "tl"
265 borderDistance 6
266 ]
267 ]
268
269 node
270 [
271 id 7
272 graphics
273 [
274 w 269.5
275 h 68
276 type "rectangle"
277 fill "#FFFFFF"
278 fill2 "#FFFFFF"
279 outline "#000000"
280 ]
281 LabelGraphics
282 [
283 text "null"
284 outline "#000000"
285 fill "#FFFFFF"
286 fontSize 16
287 fontName "Monospace"
288 autoSizePolicy "node_width"
289 anchor "t"
290 borderDistance 0.0
291 ]
292 LabelGraphics
293 [
294 text "
295 CommSubsystem class
296 UHFCommSubsystem class
297 CommSubsystem class UndefinedPart
298 "
299 fontSize 14
300 fontName "Consolas"
301 alignment "left"
302 anchor "tl"
303 borderDistance 6
304 ]
305 ]
306
307 node
308 [
309 id 8
310 graphics
311 [
312 w 277.20000000000005
313 h 82
314 type "rectangle"
315 fill "#FFFFFF"
316 fill2 "#FFFFFF"
317 outline "#000000"
318 ]
319 LabelGraphics
320 [
321 text "null"
322 outline "#000000"
323 fill "#FFFFFF"
324 fontSize 16
325 fontName "Monospace"
326 autoSizePolicy "node_width"
327 anchor "t"
328 borderDistance 0.0
329 ]
330 LabelGraphics
331 [
332 text "
333 CommSubsystem class
334 XCommSubsystem class
335 CommSubsystem class UndefinedPart
336 XCommSubsystem class UndefinedPart
337 "
338 fontSize 14
339 fontName "Consolas"
340 alignment "left"
341 anchor "tl"
342 borderDistance 6
343 ]
344 ]
345
346 node
347 [
348 id 9
349 graphics
350 [
351 w 323.40000000000003
352 h 96
353 type "rectangle"
354 fill "#FFFFFF"
355 fill2 "#FFFFFF"
356 outline "#000000"
357 ]
358 LabelGraphics
359 [
360 text "null"
361 outline "#000000"
362 fill "#FFFFFF"
363 fontSize 16
364 fontName "Monospace"
365 autoSizePolicy "node_width"
366 anchor "t"
367 borderDistance 0.0
368 ]
369 LabelGraphics
370 [
371 text "
372 CommunicatingElement class
373 Spacecraft class
374 CubeSat6U class
375 CubeSat class
376 CommunicatingElement class UndefinedPart
377 "
378 fontSize 14
379 fontName "Consolas"
380 alignment "left"
381 anchor "tl"
382 borderDistance 6
383 ]
384 ]
385
386 node
387 [
388 id 10
389 graphics
390 [
391 w 323.40000000000003
392 h 96
393 type "rectangle"
394 fill "#FFFFFF"
395 fill2 "#FFFFFF"
396 outline "#000000"
397 ]
398 LabelGraphics
399 [
400 text "null"
401 outline "#000000"
402 fill "#FFFFFF"
403 fontSize 16
404 fontName "Monospace"
405 autoSizePolicy "node_width"
406 anchor "t"
407 borderDistance 0.0
408 ]
409 LabelGraphics
410 [
411 text "
412 CommunicatingElement class
413 Spacecraft class
414 CubeSat6U class
415 CubeSat class
416 CommunicatingElement class UndefinedPart
417 "
418 fontSize 14
419 fontName "Consolas"
420 alignment "left"
421 anchor "tl"
422 borderDistance 6
423 ]
424 ]
425
426 node
427 [
428 id 11
429 graphics
430 [
431 w 223.3
432 h 54
433 type "rectangle"
434 fill "#FFFFFF"
435 fill2 "#FFFFFF"
436 outline "#000000"
437 ]
438 LabelGraphics
439 [
440 text "null"
441 outline "#000000"
442 fill "#FFFFFF"
443 fontSize 16
444 fontName "Monospace"
445 autoSizePolicy "node_width"
446 anchor "t"
447 borderDistance 0.0
448 ]
449 LabelGraphics
450 [
451 text "
452 Payload class
453 InterferometryPayload class
454 "
455 fontSize 14
456 fontName "Consolas"
457 alignment "left"
458 anchor "tl"
459 borderDistance 6
460 ]
461 ]
462
463 node
464 [
465 id 12
466 graphics
467 [
468 w 223.3
469 h 54
470 type "rectangle"
471 fill "#FFFFFF"
472 fill2 "#FFFFFF"
473 outline "#000000"
474 ]
475 LabelGraphics
476 [
477 text "null"
478 outline "#000000"
479 fill "#FFFFFF"
480 fontSize 16
481 fontName "Monospace"
482 autoSizePolicy "node_width"
483 anchor "t"
484 borderDistance 0.0
485 ]
486 LabelGraphics
487 [
488 text "
489 Payload class
490 InterferometryPayload class
491 "
492 fontSize 14
493 fontName "Consolas"
494 alignment "left"
495 anchor "tl"
496 borderDistance 6
497 ]
498 ]
499
500 node
501 [
502 id 13
503 graphics
504 [
505 w 277.20000000000005
506 h 82
507 type "rectangle"
508 fill "#FFFFFF"
509 fill2 "#FFFFFF"
510 outline "#000000"
511 ]
512 LabelGraphics
513 [
514 text "null"
515 outline "#000000"
516 fill "#FFFFFF"
517 fontSize 16
518 fontName "Monospace"
519 autoSizePolicy "node_width"
520 anchor "t"
521 borderDistance 0.0
522 ]
523 LabelGraphics
524 [
525 text "
526 CommSubsystem class
527 XCommSubsystem class
528 CommSubsystem class UndefinedPart
529 XCommSubsystem class UndefinedPart
530 "
531 fontSize 14
532 fontName "Consolas"
533 alignment "left"
534 anchor "tl"
535 borderDistance 6
536 ]
537 ]
538
539 node
540 [
541 id 14
542 graphics
543 [
544 w 269.5
545 h 68
546 type "rectangle"
547 fill "#FFFFFF"
548 fill2 "#FFFFFF"
549 outline "#000000"
550 ]
551 LabelGraphics
552 [
553 text "null"
554 outline "#000000"
555 fill "#FFFFFF"
556 fontSize 16
557 fontName "Monospace"
558 autoSizePolicy "node_width"
559 anchor "t"
560 borderDistance 0.0
561 ]
562 LabelGraphics
563 [
564 text "
565 CommSubsystem class
566 UHFCommSubsystem class
567 CommSubsystem class UndefinedPart
568 "
569 fontSize 14
570 fontName "Consolas"
571 alignment "left"
572 anchor "tl"
573 borderDistance 6
574 ]
575 ]
576
577 node
578 [
579 id 15
580 graphics
581 [
582 w 269.5
583 h 68
584 type "rectangle"
585 fill "#FFFFFF"
586 fill2 "#FFFFFF"
587 outline "#000000"
588 ]
589 LabelGraphics
590 [
591 text "null"
592 outline "#000000"
593 fill "#FFFFFF"
594 fontSize 16
595 fontName "Monospace"
596 autoSizePolicy "node_width"
597 anchor "t"
598 borderDistance 0.0
599 ]
600 LabelGraphics
601 [
602 text "
603 CommSubsystem class
604 UHFCommSubsystem class
605 CommSubsystem class UndefinedPart
606 "
607 fontSize 14
608 fontName "Consolas"
609 alignment "left"
610 anchor "tl"
611 borderDistance 6
612 ]
613 ]
614
615 node
616 [
617 id 16
618 graphics
619 [
620 w 277.20000000000005
621 h 82
622 type "rectangle"
623 fill "#FFFFFF"
624 fill2 "#FFFFFF"
625 outline "#000000"
626 ]
627 LabelGraphics
628 [
629 text "null"
630 outline "#000000"
631 fill "#FFFFFF"
632 fontSize 16
633 fontName "Monospace"
634 autoSizePolicy "node_width"
635 anchor "t"
636 borderDistance 0.0
637 ]
638 LabelGraphics
639 [
640 text "
641 CommSubsystem class
642 XCommSubsystem class
643 CommSubsystem class UndefinedPart
644 XCommSubsystem class UndefinedPart
645 "
646 fontSize 14
647 fontName "Consolas"
648 alignment "left"
649 anchor "tl"
650 borderDistance 6
651 ]
652 ]
653
654 node
655 [
656 id 17
657 graphics
658 [
659 w 223.3
660 h 54
661 type "rectangle"
662 fill "#FFFFFF"
663 fill2 "#FFFFFF"
664 outline "#000000"
665 ]
666 LabelGraphics
667 [
668 text "null"
669 outline "#000000"
670 fill "#FFFFFF"
671 fontSize 16
672 fontName "Monospace"
673 autoSizePolicy "node_width"
674 anchor "t"
675 borderDistance 0.0
676 ]
677 LabelGraphics
678 [
679 text "
680 Payload class
681 InterferometryPayload class
682 "
683 fontSize 14
684 fontName "Consolas"
685 alignment "left"
686 anchor "tl"
687 borderDistance 6
688 ]
689 ]
690
691 node
692 [
693 id 18
694 graphics
695 [
696 w 323.40000000000003
697 h 96
698 type "rectangle"
699 fill "#FFFFFF"
700 fill2 "#FFFFFF"
701 outline "#000000"
702 ]
703 LabelGraphics
704 [
705 text "null"
706 outline "#000000"
707 fill "#FFFFFF"
708 fontSize 16
709 fontName "Monospace"
710 autoSizePolicy "node_width"
711 anchor "t"
712 borderDistance 0.0
713 ]
714 LabelGraphics
715 [
716 text "
717 CommunicatingElement class
718 Spacecraft class
719 CubeSat6U class
720 CubeSat class
721 CommunicatingElement class UndefinedPart
722 "
723 fontSize 14
724 fontName "Consolas"
725 alignment "left"
726 anchor "tl"
727 borderDistance 6
728 ]
729 ]
730
731 node
732 [
733 id 19
734 graphics
735 [
736 w 277.20000000000005
737 h 82
738 type "rectangle"
739 fill "#FFFFFF"
740 fill2 "#FFFFFF"
741 outline "#000000"
742 ]
743 LabelGraphics
744 [
745 text "null"
746 outline "#000000"
747 fill "#FFFFFF"
748 fontSize 16
749 fontName "Monospace"
750 autoSizePolicy "node_width"
751 anchor "t"
752 borderDistance 0.0
753 ]
754 LabelGraphics
755 [
756 text "
757 CommSubsystem class
758 XCommSubsystem class
759 CommSubsystem class UndefinedPart
760 XCommSubsystem class UndefinedPart
761 "
762 fontSize 14
763 fontName "Consolas"
764 alignment "left"
765 anchor "tl"
766 borderDistance 6
767 ]
768 ]
769
770 node
771 [
772 id 20
773 graphics
774 [
775 w 269.5
776 h 68
777 type "rectangle"
778 fill "#FFFFFF"
779 fill2 "#FFFFFF"
780 outline "#000000"
781 ]
782 LabelGraphics
783 [
784 text "null"
785 outline "#000000"
786 fill "#FFFFFF"
787 fontSize 16
788 fontName "Monospace"
789 autoSizePolicy "node_width"
790 anchor "t"
791 borderDistance 0.0
792 ]
793 LabelGraphics
794 [
795 text "
796 CommSubsystem class
797 UHFCommSubsystem class
798 CommSubsystem class UndefinedPart
799 "
800 fontSize 14
801 fontName "Consolas"
802 alignment "left"
803 anchor "tl"
804 borderDistance 6
805 ]
806 ]
807
808 node
809 [
810 id 21
811 graphics
812 [
813 w 323.40000000000003
814 h 96
815 type "rectangle"
816 fill "#FFFFFF"
817 fill2 "#FFFFFF"
818 outline "#000000"
819 ]
820 LabelGraphics
821 [
822 text "null"
823 outline "#000000"
824 fill "#FFFFFF"
825 fontSize 16
826 fontName "Monospace"
827 autoSizePolicy "node_width"
828 anchor "t"
829 borderDistance 0.0
830 ]
831 LabelGraphics
832 [
833 text "
834 CommunicatingElement class
835 Spacecraft class
836 CubeSat6U class
837 CubeSat class
838 CommunicatingElement class UndefinedPart
839 "
840 fontSize 14
841 fontName "Consolas"
842 alignment "left"
843 anchor "tl"
844 borderDistance 6
845 ]
846 ]
847
848 node
849 [
850 id 22
851 graphics
852 [
853 w 269.5
854 h 68
855 type "rectangle"
856 fill "#FFFFFF"
857 fill2 "#FFFFFF"
858 outline "#000000"
859 ]
860 LabelGraphics
861 [
862 text "null"
863 outline "#000000"
864 fill "#FFFFFF"
865 fontSize 16
866 fontName "Monospace"
867 autoSizePolicy "node_width"
868 anchor "t"
869 borderDistance 0.0
870 ]
871 LabelGraphics
872 [
873 text "
874 CommSubsystem class
875 UHFCommSubsystem class
876 CommSubsystem class UndefinedPart
877 "
878 fontSize 14
879 fontName "Consolas"
880 alignment "left"
881 anchor "tl"
882 borderDistance 6
883 ]
884 ]
885
886 node
887 [
888 id 23
889 graphics
890 [
891 w 277.20000000000005
892 h 82
893 type "rectangle"
894 fill "#FFFFFF"
895 fill2 "#FFFFFF"
896 outline "#000000"
897 ]
898 LabelGraphics
899 [
900 text "null"
901 outline "#000000"
902 fill "#FFFFFF"
903 fontSize 16
904 fontName "Monospace"
905 autoSizePolicy "node_width"
906 anchor "t"
907 borderDistance 0.0
908 ]
909 LabelGraphics
910 [
911 text "
912 CommSubsystem class
913 XCommSubsystem class
914 CommSubsystem class UndefinedPart
915 XCommSubsystem class UndefinedPart
916 "
917 fontSize 14
918 fontName "Consolas"
919 alignment "left"
920 anchor "tl"
921 borderDistance 6
922 ]
923 ]
924
925 node
926 [
927 id 24
928 graphics
929 [
930 w 223.3
931 h 54
932 type "rectangle"
933 fill "#FFFFFF"
934 fill2 "#FFFFFF"
935 outline "#000000"
936 ]
937 LabelGraphics
938 [
939 text "null"
940 outline "#000000"
941 fill "#FFFFFF"
942 fontSize 16
943 fontName "Monospace"
944 autoSizePolicy "node_width"
945 anchor "t"
946 borderDistance 0.0
947 ]
948 LabelGraphics
949 [
950 text "
951 Payload class
952 InterferometryPayload class
953 "
954 fontSize 14
955 fontName "Consolas"
956 alignment "left"
957 anchor "tl"
958 borderDistance 6
959 ]
960 ]
961
962 node
963 [
964 id 25
965 graphics
966 [
967 w 223.3
968 h 54
969 type "rectangle"
970 fill "#FFFFFF"
971 fill2 "#FFFFFF"
972 outline "#000000"
973 ]
974 LabelGraphics
975 [
976 text "null"
977 outline "#000000"
978 fill "#FFFFFF"
979 fontSize 16
980 fontName "Monospace"
981 autoSizePolicy "node_width"
982 anchor "t"
983 borderDistance 0.0
984 ]
985 LabelGraphics
986 [
987 text "
988 Payload class
989 InterferometryPayload class
990 "
991 fontSize 14
992 fontName "Consolas"
993 alignment "left"
994 anchor "tl"
995 borderDistance 6
996 ]
997 ]
998
999 node
1000 [
1001 id 26
1002 graphics
1003 [
1004 w 323.40000000000003
1005 h 96
1006 type "rectangle"
1007 fill "#FFFFFF"
1008 fill2 "#FFFFFF"
1009 outline "#000000"
1010 ]
1011 LabelGraphics
1012 [
1013 text "null"
1014 outline "#000000"
1015 fill "#FFFFFF"
1016 fontSize 16
1017 fontName "Monospace"
1018 autoSizePolicy "node_width"
1019 anchor "t"
1020 borderDistance 0.0
1021 ]
1022 LabelGraphics
1023 [
1024 text "
1025 CommunicatingElement class
1026 Spacecraft class
1027 CubeSat6U class
1028 CubeSat class
1029 CommunicatingElement class UndefinedPart
1030 "
1031 fontSize 14
1032 fontName "Consolas"
1033 alignment "left"
1034 anchor "tl"
1035 borderDistance 6
1036 ]
1037 ]
1038
1039 node
1040 [
1041 id 27
1042 graphics
1043 [
1044 w 223.3
1045 h 54
1046 type "rectangle"
1047 fill "#FFFFFF"
1048 fill2 "#FFFFFF"
1049 outline "#000000"
1050 ]
1051 LabelGraphics
1052 [
1053 text "null"
1054 outline "#000000"
1055 fill "#FFFFFF"
1056 fontSize 16
1057 fontName "Monospace"
1058 autoSizePolicy "node_width"
1059 anchor "t"
1060 borderDistance 0.0
1061 ]
1062 LabelGraphics
1063 [
1064 text "
1065 Payload class
1066 InterferometryPayload class
1067 "
1068 fontSize 14
1069 fontName "Consolas"
1070 alignment "left"
1071 anchor "tl"
1072 borderDistance 6
1073 ]
1074 ]
1075
1076 node
1077 [
1078 id 28
1079 graphics
1080 [
1081 w 269.5
1082 h 68
1083 type "rectangle"
1084 fill "#FFFFFF"
1085 fill2 "#FFFFFF"
1086 outline "#000000"
1087 ]
1088 LabelGraphics
1089 [
1090 text "null"
1091 outline "#000000"
1092 fill "#FFFFFF"
1093 fontSize 16
1094 fontName "Monospace"
1095 autoSizePolicy "node_width"
1096 anchor "t"
1097 borderDistance 0.0
1098 ]
1099 LabelGraphics
1100 [
1101 text "
1102 CommSubsystem class
1103 UHFCommSubsystem class
1104 CommSubsystem class UndefinedPart
1105 "
1106 fontSize 14
1107 fontName "Consolas"
1108 alignment "left"
1109 anchor "tl"
1110 borderDistance 6
1111 ]
1112 ]
1113
1114 node
1115 [
1116 id 29
1117 graphics
1118 [
1119 w 269.5
1120 h 68
1121 type "rectangle"
1122 fill "#FFFFFF"
1123 fill2 "#FFFFFF"
1124 outline "#000000"
1125 ]
1126 LabelGraphics
1127 [
1128 text "null"
1129 outline "#000000"
1130 fill "#FFFFFF"
1131 fontSize 16
1132 fontName "Monospace"
1133 autoSizePolicy "node_width"
1134 anchor "t"
1135 borderDistance 0.0
1136 ]
1137 LabelGraphics
1138 [
1139 text "
1140 CommSubsystem class
1141 UHFCommSubsystem class
1142 CommSubsystem class UndefinedPart
1143 "
1144 fontSize 14
1145 fontName "Consolas"
1146 alignment "left"
1147 anchor "tl"
1148 borderDistance 6
1149 ]
1150 ]
1151
1152 node
1153 [
1154 id 30
1155 graphics
1156 [
1157 w 323.40000000000003
1158 h 96
1159 type "rectangle"
1160 fill "#FFFFFF"
1161 fill2 "#FFFFFF"
1162 outline "#000000"
1163 ]
1164 LabelGraphics
1165 [
1166 text "null"
1167 outline "#000000"
1168 fill "#FFFFFF"
1169 fontSize 16
1170 fontName "Monospace"
1171 autoSizePolicy "node_width"
1172 anchor "t"
1173 borderDistance 0.0
1174 ]
1175 LabelGraphics
1176 [
1177 text "
1178 CommunicatingElement class
1179 Spacecraft class
1180 CubeSat3U class
1181 CubeSat class
1182 CommunicatingElement class UndefinedPart
1183 "
1184 fontSize 14
1185 fontName "Consolas"
1186 alignment "left"
1187 anchor "tl"
1188 borderDistance 6
1189 ]
1190 ]
1191
1192 node
1193 [
1194 id 31
1195 graphics
1196 [
1197 w 223.3
1198 h 54
1199 type "rectangle"
1200 fill "#FFFFFF"
1201 fill2 "#FFFFFF"
1202 outline "#000000"
1203 ]
1204 LabelGraphics
1205 [
1206 text "null"
1207 outline "#000000"
1208 fill "#FFFFFF"
1209 fontSize 16
1210 fontName "Monospace"
1211 autoSizePolicy "node_width"
1212 anchor "t"
1213 borderDistance 0.0
1214 ]
1215 LabelGraphics
1216 [
1217 text "
1218 Payload class
1219 InterferometryPayload class
1220 "
1221 fontSize 14
1222 fontName "Consolas"
1223 alignment "left"
1224 anchor "tl"
1225 borderDistance 6
1226 ]
1227 ]
1228
1229 node
1230 [
1231 id 32
1232 graphics
1233 [
1234 w 277.20000000000005
1235 h 82
1236 type "rectangle"
1237 fill "#FFFFFF"
1238 fill2 "#FFFFFF"
1239 outline "#000000"
1240 ]
1241 LabelGraphics
1242 [
1243 text "null"
1244 outline "#000000"
1245 fill "#FFFFFF"
1246 fontSize 16
1247 fontName "Monospace"
1248 autoSizePolicy "node_width"
1249 anchor "t"
1250 borderDistance 0.0
1251 ]
1252 LabelGraphics
1253 [
1254 text "
1255 CommSubsystem class
1256 XCommSubsystem class
1257 CommSubsystem class UndefinedPart
1258 XCommSubsystem class UndefinedPart
1259 "
1260 fontSize 14
1261 fontName "Consolas"
1262 alignment "left"
1263 anchor "tl"
1264 borderDistance 6
1265 ]
1266 ]
1267
1268 node
1269 [
1270 id 33
1271 graphics
1272 [
1273 w 269.5
1274 h 68
1275 type "rectangle"
1276 fill "#FFFFFF"
1277 fill2 "#FFFFFF"
1278 outline "#000000"
1279 ]
1280 LabelGraphics
1281 [
1282 text "null"
1283 outline "#000000"
1284 fill "#FFFFFF"
1285 fontSize 16
1286 fontName "Monospace"
1287 autoSizePolicy "node_width"
1288 anchor "t"
1289 borderDistance 0.0
1290 ]
1291 LabelGraphics
1292 [
1293 text "
1294 CommSubsystem class
1295 UHFCommSubsystem class
1296 CommSubsystem class UndefinedPart
1297 "
1298 fontSize 14
1299 fontName "Consolas"
1300 alignment "left"
1301 anchor "tl"
1302 borderDistance 6
1303 ]
1304 ]
1305
1306 node
1307 [
1308 id 34
1309 graphics
1310 [
1311 w 323.40000000000003
1312 h 96
1313 type "rectangle"
1314 fill "#FFFFFF"
1315 fill2 "#FFFFFF"
1316 outline "#000000"
1317 ]
1318 LabelGraphics
1319 [
1320 text "null"
1321 outline "#000000"
1322 fill "#FFFFFF"
1323 fontSize 16
1324 fontName "Monospace"
1325 autoSizePolicy "node_width"
1326 anchor "t"
1327 borderDistance 0.0
1328 ]
1329 LabelGraphics
1330 [
1331 text "
1332 CommunicatingElement class
1333 Spacecraft class
1334 CubeSat3U class
1335 CubeSat class
1336 CommunicatingElement class UndefinedPart
1337 "
1338 fontSize 14
1339 fontName "Consolas"
1340 alignment "left"
1341 anchor "tl"
1342 borderDistance 6
1343 ]
1344 ]
1345
1346 node
1347 [
1348 id 35
1349 graphics
1350 [
1351 w 269.5
1352 h 68
1353 type "rectangle"
1354 fill "#FFFFFF"
1355 fill2 "#FFFFFF"
1356 outline "#000000"
1357 ]
1358 LabelGraphics
1359 [
1360 text "null"
1361 outline "#000000"
1362 fill "#FFFFFF"
1363 fontSize 16
1364 fontName "Monospace"
1365 autoSizePolicy "node_width"
1366 anchor "t"
1367 borderDistance 0.0
1368 ]
1369 LabelGraphics
1370 [
1371 text "
1372 CommSubsystem class
1373 UHFCommSubsystem class
1374 CommSubsystem class UndefinedPart
1375 "
1376 fontSize 14
1377 fontName "Consolas"
1378 alignment "left"
1379 anchor "tl"
1380 borderDistance 6
1381 ]
1382 ]
1383
1384 node
1385 [
1386 id 36
1387 graphics
1388 [
1389 w 223.3
1390 h 54
1391 type "rectangle"
1392 fill "#FFFFFF"
1393 fill2 "#FFFFFF"
1394 outline "#000000"
1395 ]
1396 LabelGraphics
1397 [
1398 text "null"
1399 outline "#000000"
1400 fill "#FFFFFF"
1401 fontSize 16
1402 fontName "Monospace"
1403 autoSizePolicy "node_width"
1404 anchor "t"
1405 borderDistance 0.0
1406 ]
1407 LabelGraphics
1408 [
1409 text "
1410 Payload class
1411 InterferometryPayload class
1412 "
1413 fontSize 14
1414 fontName "Consolas"
1415 alignment "left"
1416 anchor "tl"
1417 borderDistance 6
1418 ]
1419 ]
1420
1421 node
1422 [
1423 id 37
1424 graphics
1425 [
1426 w 277.20000000000005
1427 h 82
1428 type "rectangle"
1429 fill "#FFFFFF"
1430 fill2 "#FFFFFF"
1431 outline "#000000"
1432 ]
1433 LabelGraphics
1434 [
1435 text "null"
1436 outline "#000000"
1437 fill "#FFFFFF"
1438 fontSize 16
1439 fontName "Monospace"
1440 autoSizePolicy "node_width"
1441 anchor "t"
1442 borderDistance 0.0
1443 ]
1444 LabelGraphics
1445 [
1446 text "
1447 CommSubsystem class
1448 XCommSubsystem class
1449 CommSubsystem class UndefinedPart
1450 XCommSubsystem class UndefinedPart
1451 "
1452 fontSize 14
1453 fontName "Consolas"
1454 alignment "left"
1455 anchor "tl"
1456 borderDistance 6
1457 ]
1458 ]
1459
1460 node
1461 [
1462 id 38
1463 graphics
1464 [
1465 w 112.2
1466 h 26
1467 type "rectangle"
1468 fill "#FFFFFF"
1469 fill2 "#FFFFFF"
1470 outline "#000000"
1471 ]
1472 LabelGraphics
1473 [
1474 text "New Integers"
1475 outline "#000000"
1476 fill "#FFFFFF"
1477 fontSize 16
1478 fontName "Monospace"
1479 autoSizePolicy "node_width"
1480 anchor "t"
1481 borderDistance 0.0
1482 ]
1483 LabelGraphics
1484 [
1485 text "
1486 "
1487 fontSize 14
1488 fontName "Consolas"
1489 alignment "left"
1490 anchor "tl"
1491 borderDistance 6
1492 ]
1493 ]
1494
1495 node
1496 [
1497 id 39
1498 graphics
1499 [
1500 w 85.80000000000001
1501 h 26
1502 type "rectangle"
1503 fill "#FFFFFF"
1504 fill2 "#FFFFFF"
1505 outline "#000000"
1506 ]
1507 LabelGraphics
1508 [
1509 text "New Reals"
1510 outline "#000000"
1511 fill "#FFFFFF"
1512 fontSize 16
1513 fontName "Monospace"
1514 autoSizePolicy "node_width"
1515 anchor "t"
1516 borderDistance 0.0
1517 ]
1518 LabelGraphics
1519 [
1520 text "
1521 "
1522 fontSize 14
1523 fontName "Consolas"
1524 alignment "left"
1525 anchor "tl"
1526 borderDistance 6
1527 ]
1528 ]
1529
1530 node
1531 [
1532 id 40
1533 graphics
1534 [
1535 w 103.4
1536 h 26
1537 type "rectangle"
1538 fill "#FFFFFF"
1539 fill2 "#FFFFFF"
1540 outline "#000000"
1541 ]
1542 LabelGraphics
1543 [
1544 text "New Strings"
1545 outline "#000000"
1546 fill "#FFFFFF"
1547 fontSize 16
1548 fontName "Monospace"
1549 autoSizePolicy "node_width"
1550 anchor "t"
1551 borderDistance 0.0
1552 ]
1553 LabelGraphics
1554 [
1555 text "
1556 "
1557 fontSize 14
1558 fontName "Consolas"
1559 alignment "left"
1560 anchor "tl"
1561 borderDistance 6
1562 ]
1563 ]
1564
1565 node
1566 [
1567 id 41
1568 graphics
1569 [
1570 w 103.4
1571 h 26
1572 type "rectangle"
1573 fill "#FFFFFF"
1574 fill2 "#FFFFFF"
1575 outline "#000000"
1576 ]
1577 LabelGraphics
1578 [
1579 text "New Objects"
1580 outline "#000000"
1581 fill "#FFFFFF"
1582 fontSize 16
1583 fontName "Monospace"
1584 autoSizePolicy "node_width"
1585 anchor "t"
1586 borderDistance 0.0
1587 ]
1588 LabelGraphics
1589 [
1590 text "
1591 "
1592 fontSize 14
1593 fontName "Consolas"
1594 alignment "left"
1595 anchor "tl"
1596 borderDistance 6
1597 ]
1598 ]
1599 edge
1600 [
1601 source 0
1602 target 1
1603 graphics
1604 [
1605 fill "#000000"
1606 width 3
1607 targetArrow "standard"
1608 ]
1609 LabelGraphics
1610 [
1611 text "groundStationNetwork reference ConstellationMission"
1612 fontSize 14
1613 fontName "Consolas"
1614 configuration "AutoFlippingLabel"
1615 model "six_pos"
1616 position "thead"
1617 ]
1618 ]
1619 edge
1620 [
1621 source 0
1622 target 6
1623 graphics
1624 [
1625 fill "#000000"
1626 width 3
1627 targetArrow "standard"
1628 ]
1629 LabelGraphics
1630 [
1631 text "spacecraft reference ConstellationMission"
1632 fontSize 14
1633 fontName "Consolas"
1634 configuration "AutoFlippingLabel"
1635 model "six_pos"
1636 position "thead"
1637 ]
1638 ]
1639 edge
1640 [
1641 source 0
1642 target 9
1643 graphics
1644 [
1645 fill "#000000"
1646 width 3
1647 targetArrow "standard"
1648 ]
1649 LabelGraphics
1650 [
1651 text "spacecraft reference ConstellationMission"
1652 fontSize 14
1653 fontName "Consolas"
1654 configuration "AutoFlippingLabel"
1655 model "six_pos"
1656 position "thead"
1657 ]
1658 ]
1659 edge
1660 [
1661 source 0
1662 target 10
1663 graphics
1664 [
1665 fill "#000000"
1666 width 3
1667 targetArrow "standard"
1668 ]
1669 LabelGraphics
1670 [
1671 text "spacecraft reference ConstellationMission"
1672 fontSize 14
1673 fontName "Consolas"
1674 configuration "AutoFlippingLabel"
1675 model "six_pos"
1676 position "thead"
1677 ]
1678 ]
1679 edge
1680 [
1681 source 0
1682 target 18
1683 graphics
1684 [
1685 fill "#000000"
1686 width 3
1687 targetArrow "standard"
1688 ]
1689 LabelGraphics
1690 [
1691 text "spacecraft reference ConstellationMission"
1692 fontSize 14
1693 fontName "Consolas"
1694 configuration "AutoFlippingLabel"
1695 model "six_pos"
1696 position "thead"
1697 ]
1698 ]
1699 edge
1700 [
1701 source 0
1702 target 21
1703 graphics
1704 [
1705 fill "#000000"
1706 width 3
1707 targetArrow "standard"
1708 ]
1709 LabelGraphics
1710 [
1711 text "spacecraft reference ConstellationMission"
1712 fontSize 14
1713 fontName "Consolas"
1714 configuration "AutoFlippingLabel"
1715 model "six_pos"
1716 position "thead"
1717 ]
1718 ]
1719 edge
1720 [
1721 source 0
1722 target 26
1723 graphics
1724 [
1725 fill "#000000"
1726 width 3
1727 targetArrow "standard"
1728 ]
1729 LabelGraphics
1730 [
1731 text "spacecraft reference ConstellationMission"
1732 fontSize 14
1733 fontName "Consolas"
1734 configuration "AutoFlippingLabel"
1735 model "six_pos"
1736 position "thead"
1737 ]
1738 ]
1739 edge
1740 [
1741 source 0
1742 target 30
1743 graphics
1744 [
1745 fill "#000000"
1746 width 3
1747 targetArrow "standard"
1748 ]
1749 LabelGraphics
1750 [
1751 text "spacecraft reference ConstellationMission"
1752 fontSize 14
1753 fontName "Consolas"
1754 configuration "AutoFlippingLabel"
1755 model "six_pos"
1756 position "thead"
1757 ]
1758 ]
1759 edge
1760 [
1761 source 0
1762 target 34
1763 graphics
1764 [
1765 fill "#000000"
1766 width 3
1767 targetArrow "standard"
1768 ]
1769 LabelGraphics
1770 [
1771 text "spacecraft reference ConstellationMission"
1772 fontSize 14
1773 fontName "Consolas"
1774 configuration "AutoFlippingLabel"
1775 model "six_pos"
1776 position "thead"
1777 ]
1778 ]
1779 edge
1780 [
1781 source 1
1782 target 2
1783 graphics
1784 [
1785 fill "#000000"
1786 width 3
1787 targetArrow "standard"
1788 ]
1789 LabelGraphics
1790 [
1791 text "commSubsystem reference CommunicatingElement"
1792 fontSize 14
1793 fontName "Consolas"
1794 configuration "AutoFlippingLabel"
1795 model "six_pos"
1796 position "thead"
1797 ]
1798 ]
1799 edge
1800 [
1801 source 1
1802 target 3
1803 graphics
1804 [
1805 fill "#000000"
1806 width 3
1807 targetArrow "standard"
1808 ]
1809 LabelGraphics
1810 [
1811 text "commSubsystem reference CommunicatingElement"
1812 fontSize 14
1813 fontName "Consolas"
1814 configuration "AutoFlippingLabel"
1815 model "six_pos"
1816 position "thead"
1817 ]
1818 ]
1819 edge
1820 [
1821 source 6
1822 target 7
1823 graphics
1824 [
1825 fill "#000000"
1826 width 3
1827 targetArrow "standard"
1828 ]
1829 LabelGraphics
1830 [
1831 text "commSubsystem reference CommunicatingElement"
1832 fontSize 14
1833 fontName "Consolas"
1834 configuration "AutoFlippingLabel"
1835 model "six_pos"
1836 position "thead"
1837 ]
1838 ]
1839 edge
1840 [
1841 source 6
1842 target 8
1843 graphics
1844 [
1845 fill "#000000"
1846 width 3
1847 targetArrow "standard"
1848 ]
1849 LabelGraphics
1850 [
1851 text "commSubsystem reference CommunicatingElement"
1852 fontSize 14
1853 fontName "Consolas"
1854 configuration "AutoFlippingLabel"
1855 model "six_pos"
1856 position "thead"
1857 ]
1858 ]
1859 edge
1860 [
1861 source 10
1862 target 13
1863 graphics
1864 [
1865 fill "#000000"
1866 width 3
1867 targetArrow "standard"
1868 ]
1869 LabelGraphics
1870 [
1871 text "commSubsystem reference CommunicatingElement"
1872 fontSize 14
1873 fontName "Consolas"
1874 configuration "AutoFlippingLabel"
1875 model "six_pos"
1876 position "thead"
1877 ]
1878 ]
1879 edge
1880 [
1881 source 9
1882 target 14
1883 graphics
1884 [
1885 fill "#000000"
1886 width 3
1887 targetArrow "standard"
1888 ]
1889 LabelGraphics
1890 [
1891 text "commSubsystem reference CommunicatingElement"
1892 fontSize 14
1893 fontName "Consolas"
1894 configuration "AutoFlippingLabel"
1895 model "six_pos"
1896 position "thead"
1897 ]
1898 ]
1899 edge
1900 [
1901 source 9
1902 target 15
1903 graphics
1904 [
1905 fill "#000000"
1906 width 3
1907 targetArrow "standard"
1908 ]
1909 LabelGraphics
1910 [
1911 text "commSubsystem reference CommunicatingElement"
1912 fontSize 14
1913 fontName "Consolas"
1914 configuration "AutoFlippingLabel"
1915 model "six_pos"
1916 position "thead"
1917 ]
1918 ]
1919 edge
1920 [
1921 source 10
1922 target 16
1923 graphics
1924 [
1925 fill "#000000"
1926 width 3
1927 targetArrow "standard"
1928 ]
1929 LabelGraphics
1930 [
1931 text "commSubsystem reference CommunicatingElement"
1932 fontSize 14
1933 fontName "Consolas"
1934 configuration "AutoFlippingLabel"
1935 model "six_pos"
1936 position "thead"
1937 ]
1938 ]
1939 edge
1940 [
1941 source 18
1942 target 19
1943 graphics
1944 [
1945 fill "#000000"
1946 width 3
1947 targetArrow "standard"
1948 ]
1949 LabelGraphics
1950 [
1951 text "commSubsystem reference CommunicatingElement"
1952 fontSize 14
1953 fontName "Consolas"
1954 configuration "AutoFlippingLabel"
1955 model "six_pos"
1956 position "thead"
1957 ]
1958 ]
1959 edge
1960 [
1961 source 18
1962 target 20
1963 graphics
1964 [
1965 fill "#000000"
1966 width 3
1967 targetArrow "standard"
1968 ]
1969 LabelGraphics
1970 [
1971 text "commSubsystem reference CommunicatingElement"
1972 fontSize 14
1973 fontName "Consolas"
1974 configuration "AutoFlippingLabel"
1975 model "six_pos"
1976 position "thead"
1977 ]
1978 ]
1979 edge
1980 [
1981 source 21
1982 target 22
1983 graphics
1984 [
1985 fill "#000000"
1986 width 3
1987 targetArrow "standard"
1988 ]
1989 LabelGraphics
1990 [
1991 text "commSubsystem reference CommunicatingElement"
1992 fontSize 14
1993 fontName "Consolas"
1994 configuration "AutoFlippingLabel"
1995 model "six_pos"
1996 position "thead"
1997 ]
1998 ]
1999 edge
2000 [
2001 source 21
2002 target 23
2003 graphics
2004 [
2005 fill "#000000"
2006 width 3
2007 targetArrow "standard"
2008 ]
2009 LabelGraphics
2010 [
2011 text "commSubsystem reference CommunicatingElement"
2012 fontSize 14
2013 fontName "Consolas"
2014 configuration "AutoFlippingLabel"
2015 model "six_pos"
2016 position "thead"
2017 ]
2018 ]
2019 edge
2020 [
2021 source 26
2022 target 28
2023 graphics
2024 [
2025 fill "#000000"
2026 width 3
2027 targetArrow "standard"
2028 ]
2029 LabelGraphics
2030 [
2031 text "commSubsystem reference CommunicatingElement"
2032 fontSize 14
2033 fontName "Consolas"
2034 configuration "AutoFlippingLabel"
2035 model "six_pos"
2036 position "thead"
2037 ]
2038 ]
2039 edge
2040 [
2041 source 26
2042 target 29
2043 graphics
2044 [
2045 fill "#000000"
2046 width 3
2047 targetArrow "standard"
2048 ]
2049 LabelGraphics
2050 [
2051 text "commSubsystem reference CommunicatingElement"
2052 fontSize 14
2053 fontName "Consolas"
2054 configuration "AutoFlippingLabel"
2055 model "six_pos"
2056 position "thead"
2057 ]
2058 ]
2059 edge
2060 [
2061 source 30
2062 target 32
2063 graphics
2064 [
2065 fill "#000000"
2066 width 3
2067 targetArrow "standard"
2068 ]
2069 LabelGraphics
2070 [
2071 text "commSubsystem reference CommunicatingElement"
2072 fontSize 14
2073 fontName "Consolas"
2074 configuration "AutoFlippingLabel"
2075 model "six_pos"
2076 position "thead"
2077 ]
2078 ]
2079 edge
2080 [
2081 source 30
2082 target 33
2083 graphics
2084 [
2085 fill "#000000"
2086 width 3
2087 targetArrow "standard"
2088 ]
2089 LabelGraphics
2090 [
2091 text "commSubsystem reference CommunicatingElement"
2092 fontSize 14
2093 fontName "Consolas"
2094 configuration "AutoFlippingLabel"
2095 model "six_pos"
2096 position "thead"
2097 ]
2098 ]
2099 edge
2100 [
2101 source 34
2102 target 35
2103 graphics
2104 [
2105 fill "#000000"
2106 width 3
2107 targetArrow "standard"
2108 ]
2109 LabelGraphics
2110 [
2111 text "commSubsystem reference CommunicatingElement"
2112 fontSize 14
2113 fontName "Consolas"
2114 configuration "AutoFlippingLabel"
2115 model "six_pos"
2116 position "thead"
2117 ]
2118 ]
2119 edge
2120 [
2121 source 34
2122 target 37
2123 graphics
2124 [
2125 fill "#000000"
2126 width 3
2127 targetArrow "standard"
2128 ]
2129 LabelGraphics
2130 [
2131 text "commSubsystem reference CommunicatingElement"
2132 fontSize 14
2133 fontName "Consolas"
2134 configuration "AutoFlippingLabel"
2135 model "six_pos"
2136 position "thead"
2137 ]
2138 ]
2139 edge
2140 [
2141 source 6
2142 target 11
2143 graphics
2144 [
2145 fill "#000000"
2146 width 3
2147 targetArrow "standard"
2148 ]
2149 LabelGraphics
2150 [
2151 text "payload reference Spacecraft"
2152 fontSize 14
2153 fontName "Consolas"
2154 configuration "AutoFlippingLabel"
2155 model "six_pos"
2156 position "thead"
2157 ]
2158 ]
2159 edge
2160 [
2161 source 9
2162 target 12
2163 graphics
2164 [
2165 fill "#000000"
2166 width 3
2167 targetArrow "standard"
2168 ]
2169 LabelGraphics
2170 [
2171 text "payload reference Spacecraft"
2172 fontSize 14
2173 fontName "Consolas"
2174 configuration "AutoFlippingLabel"
2175 model "six_pos"
2176 position "thead"
2177 ]
2178 ]
2179 edge
2180 [
2181 source 10
2182 target 17
2183 graphics
2184 [
2185 fill "#000000"
2186 width 3
2187 targetArrow "standard"
2188 ]
2189 LabelGraphics
2190 [
2191 text "payload reference Spacecraft"
2192 fontSize 14
2193 fontName "Consolas"
2194 configuration "AutoFlippingLabel"
2195 model "six_pos"
2196 position "thead"
2197 ]
2198 ]
2199 edge
2200 [
2201 source 21
2202 target 24
2203 graphics
2204 [
2205 fill "#000000"
2206 width 3
2207 targetArrow "standard"
2208 ]
2209 LabelGraphics
2210 [
2211 text "payload reference Spacecraft"
2212 fontSize 14
2213 fontName "Consolas"
2214 configuration "AutoFlippingLabel"
2215 model "six_pos"
2216 position "thead"
2217 ]
2218 ]
2219 edge
2220 [
2221 source 18
2222 target 25
2223 graphics
2224 [
2225 fill "#000000"
2226 width 3
2227 targetArrow "standard"
2228 ]
2229 LabelGraphics
2230 [
2231 text "payload reference Spacecraft"
2232 fontSize 14
2233 fontName "Consolas"
2234 configuration "AutoFlippingLabel"
2235 model "six_pos"
2236 position "thead"
2237 ]
2238 ]
2239 edge
2240 [
2241 source 26
2242 target 27
2243 graphics
2244 [
2245 fill "#000000"
2246 width 3
2247 targetArrow "standard"
2248 ]
2249 LabelGraphics
2250 [
2251 text "payload reference Spacecraft"
2252 fontSize 14
2253 fontName "Consolas"
2254 configuration "AutoFlippingLabel"
2255 model "six_pos"
2256 position "thead"
2257 ]
2258 ]
2259 edge
2260 [
2261 source 30
2262 target 31
2263 graphics
2264 [
2265 fill "#000000"
2266 width 3
2267 targetArrow "standard"
2268 ]
2269 LabelGraphics
2270 [
2271 text "payload reference Spacecraft"
2272 fontSize 14
2273 fontName "Consolas"
2274 configuration "AutoFlippingLabel"
2275 model "six_pos"
2276 position "thead"
2277 ]
2278 ]
2279 edge
2280 [
2281 source 34
2282 target 36
2283 graphics
2284 [
2285 fill "#000000"
2286 width 3
2287 targetArrow "standard"
2288 ]
2289 LabelGraphics
2290 [
2291 text "payload reference Spacecraft"
2292 fontSize 14
2293 fontName "Consolas"
2294 configuration "AutoFlippingLabel"
2295 model "six_pos"
2296 position "thead"
2297 ]
2298 ]
2299 edge
2300 [
2301 source 8
2302 target 2
2303 graphics
2304 [
2305 fill "#000000"
2306 targetArrow "standard"
2307 ]
2308 LabelGraphics
2309 [
2310 text "target reference CommSubsystem"
2311 fontSize 14
2312 fontName "Consolas"
2313 configuration "AutoFlippingLabel"
2314 model "six_pos"
2315 position "thead"
2316 ]
2317 ]
2318 edge
2319 [
2320 source 14
2321 target 7
2322 graphics
2323 [
2324 fill "#000000"
2325 targetArrow "standard"
2326 ]
2327 LabelGraphics
2328 [
2329 text "target reference CommSubsystem"
2330 fontSize 14
2331 fontName "Consolas"
2332 configuration "AutoFlippingLabel"
2333 model "six_pos"
2334 position "thead"
2335 ]
2336 ]
2337 edge
2338 [
2339 source 16
2340 target 8
2341 graphics
2342 [
2343 fill "#000000"
2344 targetArrow "standard"
2345 ]
2346 LabelGraphics
2347 [
2348 text "target reference CommSubsystem"
2349 fontSize 14
2350 fontName "Consolas"
2351 configuration "AutoFlippingLabel"
2352 model "six_pos"
2353 position "thead"
2354 ]
2355 ]
2356 edge
2357 [
2358 source 19
2359 target 16
2360 graphics
2361 [
2362 fill "#000000"
2363 targetArrow "standard"
2364 ]
2365 LabelGraphics
2366 [
2367 text "target reference CommSubsystem"
2368 fontSize 14
2369 fontName "Consolas"
2370 configuration "AutoFlippingLabel"
2371 model "six_pos"
2372 position "thead"
2373 ]
2374 ]
2375 edge
2376 [
2377 source 22
2378 target 15
2379 graphics
2380 [
2381 fill "#000000"
2382 targetArrow "standard"
2383 ]
2384 LabelGraphics
2385 [
2386 text "target reference CommSubsystem"
2387 fontSize 14
2388 fontName "Consolas"
2389 configuration "AutoFlippingLabel"
2390 model "six_pos"
2391 position "thead"
2392 ]
2393 ]
2394 edge
2395 [
2396 source 28
2397 target 15
2398 graphics
2399 [
2400 fill "#000000"
2401 targetArrow "standard"
2402 ]
2403 LabelGraphics
2404 [
2405 text "target reference CommSubsystem"
2406 fontSize 14
2407 fontName "Consolas"
2408 configuration "AutoFlippingLabel"
2409 model "six_pos"
2410 position "thead"
2411 ]
2412 ]
2413 edge
2414 [
2415 source 33
2416 target 7
2417 graphics
2418 [
2419 fill "#000000"
2420 targetArrow "standard"
2421 ]
2422 LabelGraphics
2423 [
2424 text "target reference CommSubsystem"
2425 fontSize 14
2426 fontName "Consolas"
2427 configuration "AutoFlippingLabel"
2428 model "six_pos"
2429 position "thead"
2430 ]
2431 ]
2432 edge
2433 [
2434 source 35
2435 target 28
2436 graphics
2437 [
2438 fill "#000000"
2439 targetArrow "standard"
2440 ]
2441 LabelGraphics
2442 [
2443 text "target reference CommSubsystem"
2444 fontSize 14
2445 fontName "Consolas"
2446 configuration "AutoFlippingLabel"
2447 model "six_pos"
2448 position "thead"
2449 ]
2450 ]
2451]
2452
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run5/5_1.png b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run5/5_1.png
new file mode 100644
index 00000000..fb893419
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run5/5_1.png
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run5/5_1.xmi b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run5/5_1.xmi
new file mode 100644
index 00000000..ae933942
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/run5/5_1.xmi
@@ -0,0 +1,47 @@
1<?xml version="1.0" encoding="ASCII"?>
2<satellite:InterferometryMission xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:satellite="http://www.example.org/satellite" xsi:schemaLocation="http://www.example.org/satellite model/satellite.ecore">
3 <groundStationNetwork>
4 <commSubsystem xsi:type="satellite:KaCommSubsystem"/>
5 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
6 </groundStationNetwork>
7 <spacecraft xsi:type="satellite:CubeSat3U">
8 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
9 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@groundStationNetwork/@commSubsystem.1"/>
10 <payload xsi:type="satellite:InterferometryPayload"/>
11 </spacecraft>
12 <spacecraft xsi:type="satellite:CubeSat6U">
13 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@spacecraft.2/@commSubsystem.0"/>
14 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
15 <payload xsi:type="satellite:InterferometryPayload"/>
16 </spacecraft>
17 <spacecraft xsi:type="satellite:CubeSat6U">
18 <commSubsystem xsi:type="satellite:XCommSubsystem" target="//@spacecraft.0/@commSubsystem.1"/>
19 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
20 <payload xsi:type="satellite:InterferometryPayload"/>
21 </spacecraft>
22 <spacecraft xsi:type="satellite:CubeSat6U">
23 <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.5/@commSubsystem.1"/>
24 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
25 <payload xsi:type="satellite:InterferometryPayload"/>
26 </spacecraft>
27 <spacecraft xsi:type="satellite:CubeSat6U">
28 <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.5/@commSubsystem.1"/>
29 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
30 <payload xsi:type="satellite:InterferometryPayload"/>
31 </spacecraft>
32 <spacecraft xsi:type="satellite:CubeSat6U">
33 <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.0/@commSubsystem.0"/>
34 <commSubsystem xsi:type="satellite:UHFCommSubsystem"/>
35 <payload xsi:type="satellite:InterferometryPayload"/>
36 </spacecraft>
37 <spacecraft xsi:type="satellite:CubeSat3U">
38 <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.0/@commSubsystem.0"/>
39 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
40 <payload xsi:type="satellite:InterferometryPayload"/>
41 </spacecraft>
42 <spacecraft xsi:type="satellite:CubeSat3U">
43 <commSubsystem xsi:type="satellite:XCommSubsystem"/>
44 <commSubsystem xsi:type="satellite:UHFCommSubsystem" target="//@spacecraft.4/@commSubsystem.0"/>
45 <payload xsi:type="satellite:InterferometryPayload"/>
46 </spacecraft>
47</satellite:InterferometryMission>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/statistics.csv b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/statistics.csv
index e943cb62..c883eb87 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/statistics.csv
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/statistics.csv
@@ -1,3 +1,7 @@
1Task;Run;Result;Domain to logic transformation time;Logic to solver transformation time;Solver time;Postprocessing time;_Solution0FoundAt;TransformationExecutionTime;TypeAnalysisTime;StateCoderTime;StateCoderFailCount;SolutionCopyTime 1Task;Run;Result;Domain to logic transformation time;Logic to solver transformation time;Solver time;Postprocessing time;_Solution0FoundAt;TransformationExecutionTime;TypeAnalysisTime;StateCoderTime;StateCoderFailCount;SolutionCopyTime
21;1;ModelResultImpl;353;3507;10950;3413867688;10905;4477;119;440;4;5 21;1;ModelResultImpl;413;4298;29022;6539817577;28925;4664;135;14914;0;8
31;2;ModelResultImpl;413;1988;29354;3276980485;29280;4331;0;17181;26;2
41;3;ModelResultImpl;413;2030;39848;3828155076;39782;7257;0;21099;162;1
51;4;ModelResultImpl;413;2049;381471;3603648606;381407;45077;0;275224;709;1
61;5;ModelResultImpl;413;1839;60648;3372644526;60584;10393;0;34860;239;1
3 7
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 77bfe02f..8c9f4be1 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml
@@ -1,12 +1,9 @@
1<?xml version="1.0" encoding="UTF-8"?><?eclipse version="3.0"?><!-- 1<?xml version="1.0" encoding="UTF-8"?><?eclipse version="3.0"?><!--
2--><plugin> 2--><plugin>
3 <extension point="org.eclipse.emf.ecore.generated_package"> 3 <extension point="org.eclipse.emf.ecore.generated_package">
4 <!-- @generated satellite --> 4 <!-- @generated satellite -->
5 <package 5 <package class="satellite.SatellitePackage" genModel="model/satellite.genmodel" uri="http://www.example.org/satellite"/>
6 uri="http://www.example.org/satellite" 6 </extension>
7 class="satellite.SatellitePackage"
8 genModel="model/satellite.genmodel"/>
9 </extension>
10 <extension id="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries" point="org.eclipse.viatra.query.runtime.queryspecification"> 7 <extension id="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries" point="org.eclipse.viatra.query.runtime.queryspecification">
11 <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries" id="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries"> 8 <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries" id="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries">
12 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement"/> 9 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement"/>
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
index 8d27a262..a23cb415 100644
--- 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
@@ -3,6 +3,7 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; 4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.TransmittingCommSubsystem;
6import java.util.Arrays; 7import java.util.Arrays;
7import java.util.Collection; 8import java.util.Collection;
8import java.util.LinkedHashSet; 9import java.util.LinkedHashSet;
@@ -23,15 +24,14 @@ import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificat
23import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; 24import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher;
24import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; 25import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch;
25import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; 26import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
26import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey;
27import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; 27import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
28import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; 28import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
29import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; 29import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
30import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; 30import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation;
31import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference; 31import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference;
32import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
33import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; 32import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
34import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Inequality; 33import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Inequality;
34import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall;
35import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; 35import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
36import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; 36import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
37import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; 37import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
@@ -39,20 +39,19 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
39import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 39import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
40import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 40import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
41import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 41import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
42import satellite.DirectedCommunicationLink; 42import satellite.CommunicatingElement;
43 43
44/** 44/**
45 * A pattern-specific query specification that can instantiate Matcher in a type-safe way. 45 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
46 * 46 *
47 * <p>Original source: 47 * <p>Original source:
48 * <code><pre> 48 * <code><pre>
49 * {@literal @}Constraint(severity = "error", key = {Link}, 49 * {@literal @}Constraint(severity = "error", key = {Element},
50 * message = "Communication links must start from the containing element.") 50 * message = "A communicating element may not have two transmitting communication subsystems..")
51 * pattern communicationLinkDoesNotStartAtContainingElement(Link : DirectedCommunicationLink) { 51 * pattern communicationLinkDoesNotStartAtContainingElement(Element : CommunicatingElement) {
52 * CommunicatingElement.communicationLink(Element, Link); 52 * find transmittingCommSubsystem(Element, Comm1);
53 * DirectedCommunicationLink.source(Link, SourceComm); 53 * find transmittingCommSubsystem(Element, Comm2);
54 * CommunicatingElement.commSubsystem(SourceElement, SourceComm); 54 * Comm1 != Comm2;
55 * Element != SourceElement;
56 * } 55 * }
57 * </pre></code> 56 * </pre></code>
58 * 57 *
@@ -75,37 +74,37 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
75 * 74 *
76 */ 75 */
77 public static abstract class Match extends BasePatternMatch { 76 public static abstract class Match extends BasePatternMatch {
78 private DirectedCommunicationLink fLink; 77 private CommunicatingElement fElement;
79 78
80 private static List<String> parameterNames = makeImmutableList("Link"); 79 private static List<String> parameterNames = makeImmutableList("Element");
81 80
82 private Match(final DirectedCommunicationLink pLink) { 81 private Match(final CommunicatingElement pElement) {
83 this.fLink = pLink; 82 this.fElement = pElement;
84 } 83 }
85 84
86 @Override 85 @Override
87 public Object get(final String parameterName) { 86 public Object get(final String parameterName) {
88 if ("Link".equals(parameterName)) return this.fLink; 87 if ("Element".equals(parameterName)) return this.fElement;
89 return null; 88 return null;
90 } 89 }
91 90
92 public DirectedCommunicationLink getLink() { 91 public CommunicatingElement getElement() {
93 return this.fLink; 92 return this.fElement;
94 } 93 }
95 94
96 @Override 95 @Override
97 public boolean set(final String parameterName, final Object newValue) { 96 public boolean set(final String parameterName, final Object newValue) {
98 if (!isMutable()) throw new java.lang.UnsupportedOperationException(); 97 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
99 if ("Link".equals(parameterName) ) { 98 if ("Element".equals(parameterName) ) {
100 this.fLink = (DirectedCommunicationLink) newValue; 99 this.fElement = (CommunicatingElement) newValue;
101 return true; 100 return true;
102 } 101 }
103 return false; 102 return false;
104 } 103 }
105 104
106 public void setLink(final DirectedCommunicationLink pLink) { 105 public void setElement(final CommunicatingElement pElement) {
107 if (!isMutable()) throw new java.lang.UnsupportedOperationException(); 106 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
108 this.fLink = pLink; 107 this.fElement = pElement;
109 } 108 }
110 109
111 @Override 110 @Override
@@ -120,24 +119,24 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
120 119
121 @Override 120 @Override
122 public Object[] toArray() { 121 public Object[] toArray() {
123 return new Object[]{fLink}; 122 return new Object[]{fElement};
124 } 123 }
125 124
126 @Override 125 @Override
127 public CommunicationLinkDoesNotStartAtContainingElement.Match toImmutable() { 126 public CommunicationLinkDoesNotStartAtContainingElement.Match toImmutable() {
128 return isMutable() ? newMatch(fLink) : this; 127 return isMutable() ? newMatch(fElement) : this;
129 } 128 }
130 129
131 @Override 130 @Override
132 public String prettyPrint() { 131 public String prettyPrint() {
133 StringBuilder result = new StringBuilder(); 132 StringBuilder result = new StringBuilder();
134 result.append("\"Link\"=" + prettyPrintValue(fLink)); 133 result.append("\"Element\"=" + prettyPrintValue(fElement));
135 return result.toString(); 134 return result.toString();
136 } 135 }
137 136
138 @Override 137 @Override
139 public int hashCode() { 138 public int hashCode() {
140 return Objects.hash(fLink); 139 return Objects.hash(fElement);
141 } 140 }
142 141
143 @Override 142 @Override
@@ -149,7 +148,7 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
149 } 148 }
150 if ((obj instanceof CommunicationLinkDoesNotStartAtContainingElement.Match)) { 149 if ((obj instanceof CommunicationLinkDoesNotStartAtContainingElement.Match)) {
151 CommunicationLinkDoesNotStartAtContainingElement.Match other = (CommunicationLinkDoesNotStartAtContainingElement.Match) obj; 150 CommunicationLinkDoesNotStartAtContainingElement.Match other = (CommunicationLinkDoesNotStartAtContainingElement.Match) obj;
152 return Objects.equals(fLink, other.fLink); 151 return Objects.equals(fElement, other.fElement);
153 } else { 152 } else {
154 // this should be infrequent 153 // this should be infrequent
155 if (!(obj instanceof IPatternMatch)) { 154 if (!(obj instanceof IPatternMatch)) {
@@ -180,29 +179,29 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
180 * Returns a mutable (partial) match. 179 * Returns a mutable (partial) match.
181 * Fields of the mutable match can be filled to create a partial match, usable as matcher input. 180 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
182 * 181 *
183 * @param pLink the fixed value of pattern parameter Link, or null if not bound. 182 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
184 * @return the new, mutable (partial) match object. 183 * @return the new, mutable (partial) match object.
185 * 184 *
186 */ 185 */
187 public static CommunicationLinkDoesNotStartAtContainingElement.Match newMutableMatch(final DirectedCommunicationLink pLink) { 186 public static CommunicationLinkDoesNotStartAtContainingElement.Match newMutableMatch(final CommunicatingElement pElement) {
188 return new Mutable(pLink); 187 return new Mutable(pElement);
189 } 188 }
190 189
191 /** 190 /**
192 * Returns a new (partial) match. 191 * Returns a new (partial) match.
193 * This can be used e.g. to call the matcher with a partial match. 192 * This can be used e.g. to call the matcher with a partial match.
194 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. 193 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
195 * @param pLink the fixed value of pattern parameter Link, or null if not bound. 194 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
196 * @return the (partial) match object. 195 * @return the (partial) match object.
197 * 196 *
198 */ 197 */
199 public static CommunicationLinkDoesNotStartAtContainingElement.Match newMatch(final DirectedCommunicationLink pLink) { 198 public static CommunicationLinkDoesNotStartAtContainingElement.Match newMatch(final CommunicatingElement pElement) {
200 return new Immutable(pLink); 199 return new Immutable(pElement);
201 } 200 }
202 201
203 private static final class Mutable extends CommunicationLinkDoesNotStartAtContainingElement.Match { 202 private static final class Mutable extends CommunicationLinkDoesNotStartAtContainingElement.Match {
204 Mutable(final DirectedCommunicationLink pLink) { 203 Mutable(final CommunicatingElement pElement) {
205 super(pLink); 204 super(pElement);
206 } 205 }
207 206
208 @Override 207 @Override
@@ -212,8 +211,8 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
212 } 211 }
213 212
214 private static final class Immutable extends CommunicationLinkDoesNotStartAtContainingElement.Match { 213 private static final class Immutable extends CommunicationLinkDoesNotStartAtContainingElement.Match {
215 Immutable(final DirectedCommunicationLink pLink) { 214 Immutable(final CommunicatingElement pElement) {
216 super(pLink); 215 super(pElement);
217 } 216 }
218 217
219 @Override 218 @Override
@@ -234,13 +233,12 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
234 * 233 *
235 * <p>Original source: 234 * <p>Original source:
236 * <code><pre> 235 * <code><pre>
237 * {@literal @}Constraint(severity = "error", key = {Link}, 236 * {@literal @}Constraint(severity = "error", key = {Element},
238 * message = "Communication links must start from the containing element.") 237 * message = "A communicating element may not have two transmitting communication subsystems..")
239 * pattern communicationLinkDoesNotStartAtContainingElement(Link : DirectedCommunicationLink) { 238 * pattern communicationLinkDoesNotStartAtContainingElement(Element : CommunicatingElement) {
240 * CommunicatingElement.communicationLink(Element, Link); 239 * find transmittingCommSubsystem(Element, Comm1);
241 * DirectedCommunicationLink.source(Link, SourceComm); 240 * find transmittingCommSubsystem(Element, Comm2);
242 * CommunicatingElement.commSubsystem(SourceElement, SourceComm); 241 * Comm1 != Comm2;
243 * Element != SourceElement;
244 * } 242 * }
245 * </pre></code> 243 * </pre></code>
246 * 244 *
@@ -276,7 +274,7 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
276 return new Matcher(); 274 return new Matcher();
277 } 275 }
278 276
279 private static final int POSITION_LINK = 0; 277 private static final int POSITION_ELEMENT = 0;
280 278
281 private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(CommunicationLinkDoesNotStartAtContainingElement.Matcher.class); 279 private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(CommunicationLinkDoesNotStartAtContainingElement.Matcher.class);
282 280
@@ -294,12 +292,12 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
294 292
295 /** 293 /**
296 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. 294 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
297 * @param pLink the fixed value of pattern parameter Link, or null if not bound. 295 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
298 * @return matches represented as a Match object. 296 * @return matches represented as a Match object.
299 * 297 *
300 */ 298 */
301 public Collection<CommunicationLinkDoesNotStartAtContainingElement.Match> getAllMatches(final DirectedCommunicationLink pLink) { 299 public Collection<CommunicationLinkDoesNotStartAtContainingElement.Match> getAllMatches(final CommunicatingElement pElement) {
302 return rawStreamAllMatches(new Object[]{pLink}).collect(Collectors.toSet()); 300 return rawStreamAllMatches(new Object[]{pElement}).collect(Collectors.toSet());
303 } 301 }
304 302
305 /** 303 /**
@@ -308,101 +306,101 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
308 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed. 306 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
309 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>. 307 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
310 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. 308 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
311 * @param pLink the fixed value of pattern parameter Link, or null if not bound. 309 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
312 * @return a stream of matches represented as a Match object. 310 * @return a stream of matches represented as a Match object.
313 * 311 *
314 */ 312 */
315 public Stream<CommunicationLinkDoesNotStartAtContainingElement.Match> streamAllMatches(final DirectedCommunicationLink pLink) { 313 public Stream<CommunicationLinkDoesNotStartAtContainingElement.Match> streamAllMatches(final CommunicatingElement pElement) {
316 return rawStreamAllMatches(new Object[]{pLink}); 314 return rawStreamAllMatches(new Object[]{pElement});
317 } 315 }
318 316
319 /** 317 /**
320 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. 318 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
321 * Neither determinism nor randomness of selection is guaranteed. 319 * Neither determinism nor randomness of selection is guaranteed.
322 * @param pLink the fixed value of pattern parameter Link, or null if not bound. 320 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
323 * @return a match represented as a Match object, or null if no match is found. 321 * @return a match represented as a Match object, or null if no match is found.
324 * 322 *
325 */ 323 */
326 public Optional<CommunicationLinkDoesNotStartAtContainingElement.Match> getOneArbitraryMatch(final DirectedCommunicationLink pLink) { 324 public Optional<CommunicationLinkDoesNotStartAtContainingElement.Match> getOneArbitraryMatch(final CommunicatingElement pElement) {
327 return rawGetOneArbitraryMatch(new Object[]{pLink}); 325 return rawGetOneArbitraryMatch(new Object[]{pElement});
328 } 326 }
329 327
330 /** 328 /**
331 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match, 329 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
332 * under any possible substitution of the unspecified parameters (if any). 330 * under any possible substitution of the unspecified parameters (if any).
333 * @param pLink the fixed value of pattern parameter Link, or null if not bound. 331 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
334 * @return true if the input is a valid (partial) match of the pattern. 332 * @return true if the input is a valid (partial) match of the pattern.
335 * 333 *
336 */ 334 */
337 public boolean hasMatch(final DirectedCommunicationLink pLink) { 335 public boolean hasMatch(final CommunicatingElement pElement) {
338 return rawHasMatch(new Object[]{pLink}); 336 return rawHasMatch(new Object[]{pElement});
339 } 337 }
340 338
341 /** 339 /**
342 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters. 340 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
343 * @param pLink the fixed value of pattern parameter Link, or null if not bound. 341 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
344 * @return the number of pattern matches found. 342 * @return the number of pattern matches found.
345 * 343 *
346 */ 344 */
347 public int countMatches(final DirectedCommunicationLink pLink) { 345 public int countMatches(final CommunicatingElement pElement) {
348 return rawCountMatches(new Object[]{pLink}); 346 return rawCountMatches(new Object[]{pElement});
349 } 347 }
350 348
351 /** 349 /**
352 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. 350 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
353 * Neither determinism nor randomness of selection is guaranteed. 351 * Neither determinism nor randomness of selection is guaranteed.
354 * @param pLink the fixed value of pattern parameter Link, or null if not bound. 352 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
355 * @param processor the action that will process the selected match. 353 * @param processor the action that will process the selected match.
356 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked 354 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
357 * 355 *
358 */ 356 */
359 public boolean forOneArbitraryMatch(final DirectedCommunicationLink pLink, final Consumer<? super CommunicationLinkDoesNotStartAtContainingElement.Match> processor) { 357 public boolean forOneArbitraryMatch(final CommunicatingElement pElement, final Consumer<? super CommunicationLinkDoesNotStartAtContainingElement.Match> processor) {
360 return rawForOneArbitraryMatch(new Object[]{pLink}, processor); 358 return rawForOneArbitraryMatch(new Object[]{pElement}, processor);
361 } 359 }
362 360
363 /** 361 /**
364 * Returns a new (partial) match. 362 * Returns a new (partial) match.
365 * This can be used e.g. to call the matcher with a partial match. 363 * This can be used e.g. to call the matcher with a partial match.
366 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. 364 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
367 * @param pLink the fixed value of pattern parameter Link, or null if not bound. 365 * @param pElement the fixed value of pattern parameter Element, or null if not bound.
368 * @return the (partial) match object. 366 * @return the (partial) match object.
369 * 367 *
370 */ 368 */
371 public CommunicationLinkDoesNotStartAtContainingElement.Match newMatch(final DirectedCommunicationLink pLink) { 369 public CommunicationLinkDoesNotStartAtContainingElement.Match newMatch(final CommunicatingElement pElement) {
372 return CommunicationLinkDoesNotStartAtContainingElement.Match.newMatch(pLink); 370 return CommunicationLinkDoesNotStartAtContainingElement.Match.newMatch(pElement);
373 } 371 }
374 372
375 /** 373 /**
376 * Retrieve the set of values that occur in matches for Link. 374 * Retrieve the set of values that occur in matches for Element.
377 * @return the Set of all values or empty set if there are no matches 375 * @return the Set of all values or empty set if there are no matches
378 * 376 *
379 */ 377 */
380 protected Stream<DirectedCommunicationLink> rawStreamAllValuesOfLink(final Object[] parameters) { 378 protected Stream<CommunicatingElement> rawStreamAllValuesOfElement(final Object[] parameters) {
381 return rawStreamAllValues(POSITION_LINK, parameters).map(DirectedCommunicationLink.class::cast); 379 return rawStreamAllValues(POSITION_ELEMENT, parameters).map(CommunicatingElement.class::cast);
382 } 380 }
383 381
384 /** 382 /**
385 * Retrieve the set of values that occur in matches for Link. 383 * Retrieve the set of values that occur in matches for Element.
386 * @return the Set of all values or empty set if there are no matches 384 * @return the Set of all values or empty set if there are no matches
387 * 385 *
388 */ 386 */
389 public Set<DirectedCommunicationLink> getAllValuesOfLink() { 387 public Set<CommunicatingElement> getAllValuesOfElement() {
390 return rawStreamAllValuesOfLink(emptyArray()).collect(Collectors.toSet()); 388 return rawStreamAllValuesOfElement(emptyArray()).collect(Collectors.toSet());
391 } 389 }
392 390
393 /** 391 /**
394 * Retrieve the set of values that occur in matches for Link. 392 * Retrieve the set of values that occur in matches for Element.
395 * @return the Set of all values or empty set if there are no matches 393 * @return the Set of all values or empty set if there are no matches
396 * 394 *
397 */ 395 */
398 public Stream<DirectedCommunicationLink> streamAllValuesOfLink() { 396 public Stream<CommunicatingElement> streamAllValuesOfElement() {
399 return rawStreamAllValuesOfLink(emptyArray()); 397 return rawStreamAllValuesOfElement(emptyArray());
400 } 398 }
401 399
402 @Override 400 @Override
403 protected CommunicationLinkDoesNotStartAtContainingElement.Match tupleToMatch(final Tuple t) { 401 protected CommunicationLinkDoesNotStartAtContainingElement.Match tupleToMatch(final Tuple t) {
404 try { 402 try {
405 return CommunicationLinkDoesNotStartAtContainingElement.Match.newMatch((DirectedCommunicationLink) t.get(POSITION_LINK)); 403 return CommunicationLinkDoesNotStartAtContainingElement.Match.newMatch((CommunicatingElement) t.get(POSITION_ELEMENT));
406 } catch(ClassCastException e) { 404 } catch(ClassCastException e) {
407 LOGGER.error("Element(s) in tuple not properly typed!",e); 405 LOGGER.error("Element(s) in tuple not properly typed!",e);
408 return null; 406 return null;
@@ -412,7 +410,7 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
412 @Override 410 @Override
413 protected CommunicationLinkDoesNotStartAtContainingElement.Match arrayToMatch(final Object[] match) { 411 protected CommunicationLinkDoesNotStartAtContainingElement.Match arrayToMatch(final Object[] match) {
414 try { 412 try {
415 return CommunicationLinkDoesNotStartAtContainingElement.Match.newMatch((DirectedCommunicationLink) match[POSITION_LINK]); 413 return CommunicationLinkDoesNotStartAtContainingElement.Match.newMatch((CommunicatingElement) match[POSITION_ELEMENT]);
416 } catch(ClassCastException e) { 414 } catch(ClassCastException e) {
417 LOGGER.error("Element(s) in array not properly typed!",e); 415 LOGGER.error("Element(s) in array not properly typed!",e);
418 return null; 416 return null;
@@ -422,7 +420,7 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
422 @Override 420 @Override
423 protected CommunicationLinkDoesNotStartAtContainingElement.Match arrayToMatchMutable(final Object[] match) { 421 protected CommunicationLinkDoesNotStartAtContainingElement.Match arrayToMatchMutable(final Object[] match) {
424 try { 422 try {
425 return CommunicationLinkDoesNotStartAtContainingElement.Match.newMutableMatch((DirectedCommunicationLink) match[POSITION_LINK]); 423 return CommunicationLinkDoesNotStartAtContainingElement.Match.newMutableMatch((CommunicatingElement) match[POSITION_ELEMENT]);
426 } catch(ClassCastException e) { 424 } catch(ClassCastException e) {
427 LOGGER.error("Element(s) in array not properly typed!",e); 425 LOGGER.error("Element(s) in array not properly typed!",e);
428 return null; 426 return null;
@@ -473,7 +471,7 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
473 471
474 @Override 472 @Override
475 public CommunicationLinkDoesNotStartAtContainingElement.Match newMatch(final Object... parameters) { 473 public CommunicationLinkDoesNotStartAtContainingElement.Match newMatch(final Object... parameters) {
476 return CommunicationLinkDoesNotStartAtContainingElement.Match.newMatch((satellite.DirectedCommunicationLink) parameters[0]); 474 return CommunicationLinkDoesNotStartAtContainingElement.Match.newMatch((satellite.CommunicatingElement) parameters[0]);
477 } 475 }
478 476
479 /** 477 /**
@@ -505,9 +503,9 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
505 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 503 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
506 private static final CommunicationLinkDoesNotStartAtContainingElement.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 504 private static final CommunicationLinkDoesNotStartAtContainingElement.GeneratedPQuery INSTANCE = new GeneratedPQuery();
507 505
508 private final PParameter parameter_Link = new PParameter("Link", "satellite.DirectedCommunicationLink", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "DirectedCommunicationLink")), PParameterDirection.INOUT); 506 private final PParameter parameter_Element = new PParameter("Element", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT);
509 507
510 private final List<PParameter> parameters = Arrays.asList(parameter_Link); 508 private final List<PParameter> parameters = Arrays.asList(parameter_Element);
511 509
512 private GeneratedPQuery() { 510 private GeneratedPQuery() {
513 super(PVisibility.PUBLIC); 511 super(PVisibility.PUBLIC);
@@ -520,7 +518,7 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
520 518
521 @Override 519 @Override
522 public List<String> getParameterNames() { 520 public List<String> getParameterNames() {
523 return Arrays.asList("Link"); 521 return Arrays.asList("Element");
524 } 522 }
525 523
526 @Override 524 @Override
@@ -534,43 +532,28 @@ public final class CommunicationLinkDoesNotStartAtContainingElement extends Base
534 Set<PBody> bodies = new LinkedHashSet<>(); 532 Set<PBody> bodies = new LinkedHashSet<>();
535 { 533 {
536 PBody body = new PBody(this); 534 PBody body = new PBody(this);
537 PVariable var_Link = body.getOrCreateVariableByName("Link");
538 PVariable var_Element = body.getOrCreateVariableByName("Element"); 535 PVariable var_Element = body.getOrCreateVariableByName("Element");
539 PVariable var_SourceComm = body.getOrCreateVariableByName("SourceComm"); 536 PVariable var_Comm1 = body.getOrCreateVariableByName("Comm1");
540 PVariable var_SourceElement = body.getOrCreateVariableByName("SourceElement"); 537 PVariable var_Comm2 = body.getOrCreateVariableByName("Comm2");
541 new TypeConstraint(body, Tuples.flatTupleOf(var_Link), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink"))); 538 new TypeConstraint(body, Tuples.flatTupleOf(var_Element), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
542 body.setSymbolicParameters(Arrays.<ExportedParameter>asList( 539 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
543 new ExportedParameter(body, var_Link, parameter_Link) 540 new ExportedParameter(body, var_Element, parameter_Element)
544 )); 541 ));
545 // CommunicatingElement.communicationLink(Element, Link) 542 // find transmittingCommSubsystem(Element, Comm1)
546 new TypeConstraint(body, Tuples.flatTupleOf(var_Element), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); 543 new PositivePatternCall(body, Tuples.flatTupleOf(var_Element, var_Comm1), TransmittingCommSubsystem.instance().getInternalQueryRepresentation());
547 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); 544 // find transmittingCommSubsystem(Element, Comm2)
548 new TypeConstraint(body, Tuples.flatTupleOf(var_Element, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "communicationLink"))); 545 new PositivePatternCall(body, Tuples.flatTupleOf(var_Element, var_Comm2), TransmittingCommSubsystem.instance().getInternalQueryRepresentation());
549 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink"))); 546 // Comm1 != Comm2
550 new Equality(body, var__virtual_0_, var_Link); 547 new Inequality(body, var_Comm1, var_Comm2);
551 // DirectedCommunicationLink.source(Link, SourceComm)
552 new TypeConstraint(body, Tuples.flatTupleOf(var_Link), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink")));
553 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
554 new TypeConstraint(body, Tuples.flatTupleOf(var_Link, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "DirectedCommunicationLink", "source")));
555 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
556 new Equality(body, var__virtual_1_, var_SourceComm);
557 // CommunicatingElement.commSubsystem(SourceElement, SourceComm)
558 new TypeConstraint(body, Tuples.flatTupleOf(var_SourceElement), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
559 PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}");
560 new TypeConstraint(body, Tuples.flatTupleOf(var_SourceElement, var__virtual_2_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem")));
561 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_2_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
562 new Equality(body, var__virtual_2_, var_SourceComm);
563 // Element != SourceElement
564 new Inequality(body, var_Element, var_SourceElement);
565 bodies.add(body); 548 bodies.add(body);
566 } 549 }
567 { 550 {
568 PAnnotation annotation = new PAnnotation("Constraint"); 551 PAnnotation annotation = new PAnnotation("Constraint");
569 annotation.addAttribute("severity", "error"); 552 annotation.addAttribute("severity", "error");
570 annotation.addAttribute("key", Arrays.asList(new Object[] { 553 annotation.addAttribute("key", Arrays.asList(new Object[] {
571 new ParameterReference("Link") 554 new ParameterReference("Element")
572 })); 555 }));
573 annotation.addAttribute("message", "Communication links must start from the containing element."); 556 annotation.addAttribute("message", "A communicating element may not have two transmitting communication subsystems..");
574 addAnnotation(annotation); 557 addAnnotation(annotation);
575 } 558 }
576 return bodies; 559 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
index c9dd1e58..af53fc9f 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetBand.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetBand.java
@@ -40,7 +40,7 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
40import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; 40import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple;
41import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; 41import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
42import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; 42import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
43import satellite.DirectedCommunicationLink; 43import satellite.CommSubsystem;
44 44
45/** 45/**
46 * A pattern-specific query specification that can instantiate Matcher in a type-safe way. 46 * A pattern-specific query specification that can instantiate Matcher in a type-safe way.
@@ -49,11 +49,10 @@ import satellite.DirectedCommunicationLink;
49 * <code><pre> 49 * <code><pre>
50 * // Source and target communication systems must be compatible. 50 * // Source and target communication systems must be compatible.
51 * 51 *
52 * {@literal @}Constraint(severity = "error", key = {Link}, 52 * {@literal @}Constraint(severity = "error", key = {SourceSubsystem},
53 * message = "Two ends of a communication link must use the same band.") 53 * message = "Two ends of a communication link must use the same band.")
54 * pattern incompatibleSourceAndTargetBand(Link : DirectedCommunicationLink) { 54 * pattern incompatibleSourceAndTargetBand(SourceSubsystem : CommSubsystem) {
55 * DirectedCommunicationLink.source(Link, SourceSubsystem); 55 * CommSubsystem.target(SourceSubsystem, TargetSubsystem);
56 * DirectedCommunicationLink.target(Link, TargetSubsystem);
57 * neg find matchingCommSubsystem(SourceSubsystem, TargetSubsystem); 56 * neg find matchingCommSubsystem(SourceSubsystem, TargetSubsystem);
58 * } 57 * }
59 * </pre></code> 58 * </pre></code>
@@ -77,37 +76,37 @@ public final class IncompatibleSourceAndTargetBand extends BaseGeneratedEMFQuery
77 * 76 *
78 */ 77 */
79 public static abstract class Match extends BasePatternMatch { 78 public static abstract class Match extends BasePatternMatch {
80 private DirectedCommunicationLink fLink; 79 private CommSubsystem fSourceSubsystem;
81 80
82 private static List<String> parameterNames = makeImmutableList("Link"); 81 private static List<String> parameterNames = makeImmutableList("SourceSubsystem");
83 82
84 private Match(final DirectedCommunicationLink pLink) { 83 private Match(final CommSubsystem pSourceSubsystem) {
85 this.fLink = pLink; 84 this.fSourceSubsystem = pSourceSubsystem;
86 } 85 }
87 86
88 @Override 87 @Override
89 public Object get(final String parameterName) { 88 public Object get(final String parameterName) {
90 if ("Link".equals(parameterName)) return this.fLink; 89 if ("SourceSubsystem".equals(parameterName)) return this.fSourceSubsystem;
91 return null; 90 return null;
92 } 91 }
93 92
94 public DirectedCommunicationLink getLink() { 93 public CommSubsystem getSourceSubsystem() {
95 return this.fLink; 94 return this.fSourceSubsystem;
96 } 95 }
97 96
98 @Override 97 @Override
99 public boolean set(final String parameterName, final Object newValue) { 98 public boolean set(final String parameterName, final Object newValue) {
100 if (!isMutable()) throw new java.lang.UnsupportedOperationException(); 99 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
101 if ("Link".equals(parameterName) ) { 100 if ("SourceSubsystem".equals(parameterName) ) {
102 this.fLink = (DirectedCommunicationLink) newValue; 101 this.fSourceSubsystem = (CommSubsystem) newValue;
103 return true; 102 return true;
104 } 103 }
105 return false; 104 return false;
106 } 105 }
107 106
108 public void setLink(final DirectedCommunicationLink pLink) { 107 public void setSourceSubsystem(final CommSubsystem pSourceSubsystem) {
109 if (!isMutable()) throw new java.lang.UnsupportedOperationException(); 108 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
110 this.fLink = pLink; 109 this.fSourceSubsystem = pSourceSubsystem;
111 } 110 }
112 111
113 @Override 112 @Override
@@ -122,24 +121,24 @@ public final class IncompatibleSourceAndTargetBand extends BaseGeneratedEMFQuery
122 121
123 @Override 122 @Override
124 public Object[] toArray() { 123 public Object[] toArray() {
125 return new Object[]{fLink}; 124 return new Object[]{fSourceSubsystem};
126 } 125 }
127 126
128 @Override 127 @Override
129 public IncompatibleSourceAndTargetBand.Match toImmutable() { 128 public IncompatibleSourceAndTargetBand.Match toImmutable() {
130 return isMutable() ? newMatch(fLink) : this; 129 return isMutable() ? newMatch(fSourceSubsystem) : this;
131 } 130 }
132 131
133 @Override 132 @Override
134 public String prettyPrint() { 133 public String prettyPrint() {
135 StringBuilder result = new StringBuilder(); 134 StringBuilder result = new StringBuilder();
136 result.append("\"Link\"=" + prettyPrintValue(fLink)); 135 result.append("\"SourceSubsystem\"=" + prettyPrintValue(fSourceSubsystem));
137 return result.toString(); 136 return result.toString();
138 } 137 }
139 138
140 @Override 139 @Override
141 public int hashCode() { 140 public int hashCode() {
142 return Objects.hash(fLink); 141 return Objects.hash(fSourceSubsystem);
143 } 142 }
144 143
145 @Override 144 @Override
@@ -151,7 +150,7 @@ public final class IncompatibleSourceAndTargetBand extends BaseGeneratedEMFQuery
151 } 150 }
152 if ((obj instanceof IncompatibleSourceAndTargetBand.Match)) { 151 if ((obj instanceof IncompatibleSourceAndTargetBand.Match)) {
153 IncompatibleSourceAndTargetBand.Match other = (IncompatibleSourceAndTargetBand.Match) obj; 152 IncompatibleSourceAndTargetBand.Match other = (IncompatibleSourceAndTargetBand.Match) obj;
154 return Objects.equals(fLink, other.fLink); 153 return Objects.equals(fSourceSubsystem, other.fSourceSubsystem);
155 } else { 154 } else {
156 // this should be infrequent 155 // this should be infrequent
157 if (!(obj instanceof IPatternMatch)) { 156 if (!(obj instanceof IPatternMatch)) {
@@ -182,29 +181,29 @@ public final class IncompatibleSourceAndTargetBand extends BaseGeneratedEMFQuery
182 * Returns a mutable (partial) match. 181 * Returns a mutable (partial) match.
183 * Fields of the mutable match can be filled to create a partial match, usable as matcher input. 182 * Fields of the mutable match can be filled to create a partial match, usable as matcher input.
184 * 183 *
185 * @param pLink the fixed value of pattern parameter Link, or null if not bound. 184 * @param pSourceSubsystem the fixed value of pattern parameter SourceSubsystem, or null if not bound.
186 * @return the new, mutable (partial) match object. 185 * @return the new, mutable (partial) match object.
187 * 186 *
188 */ 187 */
189 public static IncompatibleSourceAndTargetBand.Match newMutableMatch(final DirectedCommunicationLink pLink) { 188 public static IncompatibleSourceAndTargetBand.Match newMutableMatch(final CommSubsystem pSourceSubsystem) {
190 return new Mutable(pLink); 189 return new Mutable(pSourceSubsystem);
191 } 190 }
192 191
193 /** 192 /**
194 * Returns a new (partial) match. 193 * Returns a new (partial) match.
195 * This can be used e.g. to call the matcher with a partial match. 194 * This can be used e.g. to call the matcher with a partial match.
196 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. 195 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
197 * @param pLink the fixed value of pattern parameter Link, or null if not bound. 196 * @param pSourceSubsystem the fixed value of pattern parameter SourceSubsystem, or null if not bound.
198 * @return the (partial) match object. 197 * @return the (partial) match object.
199 * 198 *
200 */ 199 */
201 public static IncompatibleSourceAndTargetBand.Match newMatch(final DirectedCommunicationLink pLink) { 200 public static IncompatibleSourceAndTargetBand.Match newMatch(final CommSubsystem pSourceSubsystem) {
202 return new Immutable(pLink); 201 return new Immutable(pSourceSubsystem);
203 } 202 }
204 203
205 private static final class Mutable extends IncompatibleSourceAndTargetBand.Match { 204 private static final class Mutable extends IncompatibleSourceAndTargetBand.Match {
206 Mutable(final DirectedCommunicationLink pLink) { 205 Mutable(final CommSubsystem pSourceSubsystem) {
207 super(pLink); 206 super(pSourceSubsystem);
208 } 207 }
209 208
210 @Override 209 @Override
@@ -214,8 +213,8 @@ public final class IncompatibleSourceAndTargetBand extends BaseGeneratedEMFQuery
214 } 213 }
215 214
216 private static final class Immutable extends IncompatibleSourceAndTargetBand.Match { 215 private static final class Immutable extends IncompatibleSourceAndTargetBand.Match {
217 Immutable(final DirectedCommunicationLink pLink) { 216 Immutable(final CommSubsystem pSourceSubsystem) {
218 super(pLink); 217 super(pSourceSubsystem);
219 } 218 }
220 219
221 @Override 220 @Override
@@ -238,11 +237,10 @@ public final class IncompatibleSourceAndTargetBand extends BaseGeneratedEMFQuery
238 * <code><pre> 237 * <code><pre>
239 * // Source and target communication systems must be compatible. 238 * // Source and target communication systems must be compatible.
240 * 239 *
241 * {@literal @}Constraint(severity = "error", key = {Link}, 240 * {@literal @}Constraint(severity = "error", key = {SourceSubsystem},
242 * message = "Two ends of a communication link must use the same band.") 241 * message = "Two ends of a communication link must use the same band.")
243 * pattern incompatibleSourceAndTargetBand(Link : DirectedCommunicationLink) { 242 * pattern incompatibleSourceAndTargetBand(SourceSubsystem : CommSubsystem) {
244 * DirectedCommunicationLink.source(Link, SourceSubsystem); 243 * CommSubsystem.target(SourceSubsystem, TargetSubsystem);
245 * DirectedCommunicationLink.target(Link, TargetSubsystem);
246 * neg find matchingCommSubsystem(SourceSubsystem, TargetSubsystem); 244 * neg find matchingCommSubsystem(SourceSubsystem, TargetSubsystem);
247 * } 245 * }
248 * </pre></code> 246 * </pre></code>
@@ -279,7 +277,7 @@ public final class IncompatibleSourceAndTargetBand extends BaseGeneratedEMFQuery
279 return new Matcher(); 277 return new Matcher();
280 } 278 }
281 279
282 private static final int POSITION_LINK = 0; 280 private static final int POSITION_SOURCESUBSYSTEM = 0;
283 281
284 private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(IncompatibleSourceAndTargetBand.Matcher.class); 282 private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(IncompatibleSourceAndTargetBand.Matcher.class);
285 283
@@ -297,12 +295,12 @@ public final class IncompatibleSourceAndTargetBand extends BaseGeneratedEMFQuery
297 295
298 /** 296 /**
299 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. 297 * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters.
300 * @param pLink the fixed value of pattern parameter Link, or null if not bound. 298 * @param pSourceSubsystem the fixed value of pattern parameter SourceSubsystem, or null if not bound.
301 * @return matches represented as a Match object. 299 * @return matches represented as a Match object.
302 * 300 *
303 */ 301 */
304 public Collection<IncompatibleSourceAndTargetBand.Match> getAllMatches(final DirectedCommunicationLink pLink) { 302 public Collection<IncompatibleSourceAndTargetBand.Match> getAllMatches(final CommSubsystem pSourceSubsystem) {
305 return rawStreamAllMatches(new Object[]{pLink}).collect(Collectors.toSet()); 303 return rawStreamAllMatches(new Object[]{pSourceSubsystem}).collect(Collectors.toSet());
306 } 304 }
307 305
308 /** 306 /**
@@ -311,101 +309,101 @@ public final class IncompatibleSourceAndTargetBand extends BaseGeneratedEMFQuery
311 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed. 309 * <strong>NOTE</strong>: It is important not to modify the source model while the stream is being processed.
312 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>. 310 * If the match set of the pattern changes during processing, the contents of the stream is <strong>undefined</strong>.
313 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. 311 * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code.
314 * @param pLink the fixed value of pattern parameter Link, or null if not bound. 312 * @param pSourceSubsystem the fixed value of pattern parameter SourceSubsystem, or null if not bound.
315 * @return a stream of matches represented as a Match object. 313 * @return a stream of matches represented as a Match object.
316 * 314 *
317 */ 315 */
318 public Stream<IncompatibleSourceAndTargetBand.Match> streamAllMatches(final DirectedCommunicationLink pLink) { 316 public Stream<IncompatibleSourceAndTargetBand.Match> streamAllMatches(final CommSubsystem pSourceSubsystem) {
319 return rawStreamAllMatches(new Object[]{pLink}); 317 return rawStreamAllMatches(new Object[]{pSourceSubsystem});
320 } 318 }
321 319
322 /** 320 /**
323 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. 321 * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
324 * Neither determinism nor randomness of selection is guaranteed. 322 * Neither determinism nor randomness of selection is guaranteed.
325 * @param pLink the fixed value of pattern parameter Link, or null if not bound. 323 * @param pSourceSubsystem the fixed value of pattern parameter SourceSubsystem, or null if not bound.
326 * @return a match represented as a Match object, or null if no match is found. 324 * @return a match represented as a Match object, or null if no match is found.
327 * 325 *
328 */ 326 */
329 public Optional<IncompatibleSourceAndTargetBand.Match> getOneArbitraryMatch(final DirectedCommunicationLink pLink) { 327 public Optional<IncompatibleSourceAndTargetBand.Match> getOneArbitraryMatch(final CommSubsystem pSourceSubsystem) {
330 return rawGetOneArbitraryMatch(new Object[]{pLink}); 328 return rawGetOneArbitraryMatch(new Object[]{pSourceSubsystem});
331 } 329 }
332 330
333 /** 331 /**
334 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match, 332 * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match,
335 * under any possible substitution of the unspecified parameters (if any). 333 * under any possible substitution of the unspecified parameters (if any).
336 * @param pLink the fixed value of pattern parameter Link, or null if not bound. 334 * @param pSourceSubsystem the fixed value of pattern parameter SourceSubsystem, or null if not bound.
337 * @return true if the input is a valid (partial) match of the pattern. 335 * @return true if the input is a valid (partial) match of the pattern.
338 * 336 *
339 */ 337 */
340 public boolean hasMatch(final DirectedCommunicationLink pLink) { 338 public boolean hasMatch(final CommSubsystem pSourceSubsystem) {
341 return rawHasMatch(new Object[]{pLink}); 339 return rawHasMatch(new Object[]{pSourceSubsystem});
342 } 340 }
343 341
344 /** 342 /**
345 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters. 343 * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters.
346 * @param pLink the fixed value of pattern parameter Link, or null if not bound. 344 * @param pSourceSubsystem the fixed value of pattern parameter SourceSubsystem, or null if not bound.
347 * @return the number of pattern matches found. 345 * @return the number of pattern matches found.
348 * 346 *
349 */ 347 */
350 public int countMatches(final DirectedCommunicationLink pLink) { 348 public int countMatches(final CommSubsystem pSourceSubsystem) {
351 return rawCountMatches(new Object[]{pLink}); 349 return rawCountMatches(new Object[]{pSourceSubsystem});
352 } 350 }
353 351
354 /** 352 /**
355 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. 353 * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters.
356 * Neither determinism nor randomness of selection is guaranteed. 354 * Neither determinism nor randomness of selection is guaranteed.
357 * @param pLink the fixed value of pattern parameter Link, or null if not bound. 355 * @param pSourceSubsystem the fixed value of pattern parameter SourceSubsystem, or null if not bound.
358 * @param processor the action that will process the selected match. 356 * @param processor the action that will process the selected match.
359 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked 357 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
360 * 358 *
361 */ 359 */
362 public boolean forOneArbitraryMatch(final DirectedCommunicationLink pLink, final Consumer<? super IncompatibleSourceAndTargetBand.Match> processor) { 360 public boolean forOneArbitraryMatch(final CommSubsystem pSourceSubsystem, final Consumer<? super IncompatibleSourceAndTargetBand.Match> processor) {
363 return rawForOneArbitraryMatch(new Object[]{pLink}, processor); 361 return rawForOneArbitraryMatch(new Object[]{pSourceSubsystem}, processor);
364 } 362 }
365 363
366 /** 364 /**
367 * Returns a new (partial) match. 365 * Returns a new (partial) match.
368 * This can be used e.g. to call the matcher with a partial match. 366 * This can be used e.g. to call the matcher with a partial match.
369 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. 367 * <p>The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object.
370 * @param pLink the fixed value of pattern parameter Link, or null if not bound. 368 * @param pSourceSubsystem the fixed value of pattern parameter SourceSubsystem, or null if not bound.
371 * @return the (partial) match object. 369 * @return the (partial) match object.
372 * 370 *
373 */ 371 */
374 public IncompatibleSourceAndTargetBand.Match newMatch(final DirectedCommunicationLink pLink) { 372 public IncompatibleSourceAndTargetBand.Match newMatch(final CommSubsystem pSourceSubsystem) {
375 return IncompatibleSourceAndTargetBand.Match.newMatch(pLink); 373 return IncompatibleSourceAndTargetBand.Match.newMatch(pSourceSubsystem);
376 } 374 }
377 375
378 /** 376 /**
379 * Retrieve the set of values that occur in matches for Link. 377 * Retrieve the set of values that occur in matches for SourceSubsystem.
380 * @return the Set of all values or empty set if there are no matches 378 * @return the Set of all values or empty set if there are no matches
381 * 379 *
382 */ 380 */
383 protected Stream<DirectedCommunicationLink> rawStreamAllValuesOfLink(final Object[] parameters) { 381 protected Stream<CommSubsystem> rawStreamAllValuesOfSourceSubsystem(final Object[] parameters) {
384 return rawStreamAllValues(POSITION_LINK, parameters).map(DirectedCommunicationLink.class::cast); 382 return rawStreamAllValues(POSITION_SOURCESUBSYSTEM, parameters).map(CommSubsystem.class::cast);
385 } 383 }
386 384
387 /** 385 /**
388 * Retrieve the set of values that occur in matches for Link. 386 * Retrieve the set of values that occur in matches for SourceSubsystem.
389 * @return the Set of all values or empty set if there are no matches 387 * @return the Set of all values or empty set if there are no matches
390 * 388 *
391 */ 389 */
392 public Set<DirectedCommunicationLink> getAllValuesOfLink() { 390 public Set<CommSubsystem> getAllValuesOfSourceSubsystem() {
393 return rawStreamAllValuesOfLink(emptyArray()).collect(Collectors.toSet()); 391 return rawStreamAllValuesOfSourceSubsystem(emptyArray()).collect(Collectors.toSet());
394 } 392 }
395 393
396 /** 394 /**
397 * Retrieve the set of values that occur in matches for Link. 395 * Retrieve the set of values that occur in matches for SourceSubsystem.
398 * @return the Set of all values or empty set if there are no matches 396 * @return the Set of all values or empty set if there are no matches
399 * 397 *
400 */ 398 */
401 public Stream<DirectedCommunicationLink> streamAllValuesOfLink() { 399 public Stream<CommSubsystem> streamAllValuesOfSourceSubsystem() {
402 return rawStreamAllValuesOfLink(emptyArray()); 400 return rawStreamAllValuesOfSourceSubsystem(emptyArray());
403 } 401 }
404 402
405 @Override 403 @Override
406 protected IncompatibleSourceAndTargetBand.Match tupleToMatch(final Tuple t) { 404 protected IncompatibleSourceAndTargetBand.Match tupleToMatch(final Tuple t) {
407 try { 405 try {
408 return IncompatibleSourceAndTargetBand.Match.newMatch((DirectedCommunicationLink) t.get(POSITION_LINK)); 406 return IncompatibleSourceAndTargetBand.Match.newMatch((CommSubsystem) t.get(POSITION_SOURCESUBSYSTEM));
409 } catch(ClassCastException e) { 407 } catch(ClassCastException e) {
410 LOGGER.error("Element(s) in tuple not properly typed!",e); 408 LOGGER.error("Element(s) in tuple not properly typed!",e);
411 return null; 409 return null;
@@ -415,7 +413,7 @@ public final class IncompatibleSourceAndTargetBand extends BaseGeneratedEMFQuery
415 @Override 413 @Override
416 protected IncompatibleSourceAndTargetBand.Match arrayToMatch(final Object[] match) { 414 protected IncompatibleSourceAndTargetBand.Match arrayToMatch(final Object[] match) {
417 try { 415 try {
418 return IncompatibleSourceAndTargetBand.Match.newMatch((DirectedCommunicationLink) match[POSITION_LINK]); 416 return IncompatibleSourceAndTargetBand.Match.newMatch((CommSubsystem) match[POSITION_SOURCESUBSYSTEM]);
419 } catch(ClassCastException e) { 417 } catch(ClassCastException e) {
420 LOGGER.error("Element(s) in array not properly typed!",e); 418 LOGGER.error("Element(s) in array not properly typed!",e);
421 return null; 419 return null;
@@ -425,7 +423,7 @@ public final class IncompatibleSourceAndTargetBand extends BaseGeneratedEMFQuery
425 @Override 423 @Override
426 protected IncompatibleSourceAndTargetBand.Match arrayToMatchMutable(final Object[] match) { 424 protected IncompatibleSourceAndTargetBand.Match arrayToMatchMutable(final Object[] match) {
427 try { 425 try {
428 return IncompatibleSourceAndTargetBand.Match.newMutableMatch((DirectedCommunicationLink) match[POSITION_LINK]); 426 return IncompatibleSourceAndTargetBand.Match.newMutableMatch((CommSubsystem) match[POSITION_SOURCESUBSYSTEM]);
429 } catch(ClassCastException e) { 427 } catch(ClassCastException e) {
430 LOGGER.error("Element(s) in array not properly typed!",e); 428 LOGGER.error("Element(s) in array not properly typed!",e);
431 return null; 429 return null;
@@ -476,7 +474,7 @@ public final class IncompatibleSourceAndTargetBand extends BaseGeneratedEMFQuery
476 474
477 @Override 475 @Override
478 public IncompatibleSourceAndTargetBand.Match newMatch(final Object... parameters) { 476 public IncompatibleSourceAndTargetBand.Match newMatch(final Object... parameters) {
479 return IncompatibleSourceAndTargetBand.Match.newMatch((satellite.DirectedCommunicationLink) parameters[0]); 477 return IncompatibleSourceAndTargetBand.Match.newMatch((satellite.CommSubsystem) parameters[0]);
480 } 478 }
481 479
482 /** 480 /**
@@ -508,9 +506,9 @@ public final class IncompatibleSourceAndTargetBand extends BaseGeneratedEMFQuery
508 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 506 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
509 private static final IncompatibleSourceAndTargetBand.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 507 private static final IncompatibleSourceAndTargetBand.GeneratedPQuery INSTANCE = new GeneratedPQuery();
510 508
511 private final PParameter parameter_Link = new PParameter("Link", "satellite.DirectedCommunicationLink", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "DirectedCommunicationLink")), PParameterDirection.INOUT); 509 private final PParameter parameter_SourceSubsystem = new PParameter("SourceSubsystem", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT);
512 510
513 private final List<PParameter> parameters = Arrays.asList(parameter_Link); 511 private final List<PParameter> parameters = Arrays.asList(parameter_SourceSubsystem);
514 512
515 private GeneratedPQuery() { 513 private GeneratedPQuery() {
516 super(PVisibility.PUBLIC); 514 super(PVisibility.PUBLIC);
@@ -523,7 +521,7 @@ public final class IncompatibleSourceAndTargetBand extends BaseGeneratedEMFQuery
523 521
524 @Override 522 @Override
525 public List<String> getParameterNames() { 523 public List<String> getParameterNames() {
526 return Arrays.asList("Link"); 524 return Arrays.asList("SourceSubsystem");
527 } 525 }
528 526
529 @Override 527 @Override
@@ -537,25 +535,18 @@ public final class IncompatibleSourceAndTargetBand extends BaseGeneratedEMFQuery
537 Set<PBody> bodies = new LinkedHashSet<>(); 535 Set<PBody> bodies = new LinkedHashSet<>();
538 { 536 {
539 PBody body = new PBody(this); 537 PBody body = new PBody(this);
540 PVariable var_Link = body.getOrCreateVariableByName("Link");
541 PVariable var_SourceSubsystem = body.getOrCreateVariableByName("SourceSubsystem"); 538 PVariable var_SourceSubsystem = body.getOrCreateVariableByName("SourceSubsystem");
542 PVariable var_TargetSubsystem = body.getOrCreateVariableByName("TargetSubsystem"); 539 PVariable var_TargetSubsystem = body.getOrCreateVariableByName("TargetSubsystem");
543 new TypeConstraint(body, Tuples.flatTupleOf(var_Link), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink"))); 540 new TypeConstraint(body, Tuples.flatTupleOf(var_SourceSubsystem), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
544 body.setSymbolicParameters(Arrays.<ExportedParameter>asList( 541 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
545 new ExportedParameter(body, var_Link, parameter_Link) 542 new ExportedParameter(body, var_SourceSubsystem, parameter_SourceSubsystem)
546 )); 543 ));
547 // DirectedCommunicationLink.source(Link, SourceSubsystem) 544 // CommSubsystem.target(SourceSubsystem, TargetSubsystem)
548 new TypeConstraint(body, Tuples.flatTupleOf(var_Link), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink"))); 545 new TypeConstraint(body, Tuples.flatTupleOf(var_SourceSubsystem), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
549 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); 546 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
550 new TypeConstraint(body, Tuples.flatTupleOf(var_Link, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "DirectedCommunicationLink", "source"))); 547 new TypeConstraint(body, Tuples.flatTupleOf(var_SourceSubsystem, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "target")));
551 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); 548 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
552 new Equality(body, var__virtual_0_, var_SourceSubsystem); 549 new Equality(body, var__virtual_0_, var_TargetSubsystem);
553 // DirectedCommunicationLink.target(Link, TargetSubsystem)
554 new TypeConstraint(body, Tuples.flatTupleOf(var_Link), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink")));
555 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
556 new TypeConstraint(body, Tuples.flatTupleOf(var_Link, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "DirectedCommunicationLink", "target")));
557 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
558 new Equality(body, var__virtual_1_, var_TargetSubsystem);
559 // neg find matchingCommSubsystem(SourceSubsystem, TargetSubsystem) 550 // neg find matchingCommSubsystem(SourceSubsystem, TargetSubsystem)
560 new NegativePatternCall(body, Tuples.flatTupleOf(var_SourceSubsystem, var_TargetSubsystem), MatchingCommSubsystem.instance().getInternalQueryRepresentation()); 551 new NegativePatternCall(body, Tuples.flatTupleOf(var_SourceSubsystem, var_TargetSubsystem), MatchingCommSubsystem.instance().getInternalQueryRepresentation());
561 bodies.add(body); 552 bodies.add(body);
@@ -564,7 +555,7 @@ public final class IncompatibleSourceAndTargetBand extends BaseGeneratedEMFQuery
564 PAnnotation annotation = new PAnnotation("Constraint"); 555 PAnnotation annotation = new PAnnotation("Constraint");
565 annotation.addAttribute("severity", "error"); 556 annotation.addAttribute("severity", "error");
566 annotation.addAttribute("key", Arrays.asList(new Object[] { 557 annotation.addAttribute("key", Arrays.asList(new Object[] {
567 new ParameterReference("Link") 558 new ParameterReference("SourceSubsystem")
568 })); 559 }));
569 annotation.addAttribute("message", "Two ends of a communication link must use the same band."); 560 annotation.addAttribute("message", "Two ends of a communication link must use the same band.");
570 addAnnotation(annotation); 561 addAnnotation(annotation);
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
index 51b224b1..0fe520c2 100644
--- 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
@@ -56,8 +56,7 @@ import satellite.CubeSat3U;
56 * pattern threeUCubeSatWithNonUhfCrossLink(Sat : CubeSat3U) { 56 * pattern threeUCubeSatWithNonUhfCrossLink(Sat : CubeSat3U) {
57 * CommunicatingElement.commSubsystem(Sat, SourceComm); 57 * CommunicatingElement.commSubsystem(Sat, SourceComm);
58 * neg find commSubsystemBandUhf(SourceComm); 58 * neg find commSubsystemBandUhf(SourceComm);
59 * DirectedCommunicationLink.source(Link, SourceComm); 59 * CommSubsystem.target(SourceComm, TargetComm);
60 * DirectedCommunicationLink.target(Link, TargetComm);
61 * CommunicatingElement.commSubsystem(Target, TargetComm); 60 * CommunicatingElement.commSubsystem(Target, TargetComm);
62 * neg find groundStationNetwork(Target); 61 * neg find groundStationNetwork(Target);
63 * } 62 * }
@@ -249,8 +248,7 @@ public final class ThreeUCubeSatWithNonUhfCrossLink extends BaseGeneratedEMFQuer
249 * pattern threeUCubeSatWithNonUhfCrossLink(Sat : CubeSat3U) { 248 * pattern threeUCubeSatWithNonUhfCrossLink(Sat : CubeSat3U) {
250 * CommunicatingElement.commSubsystem(Sat, SourceComm); 249 * CommunicatingElement.commSubsystem(Sat, SourceComm);
251 * neg find commSubsystemBandUhf(SourceComm); 250 * neg find commSubsystemBandUhf(SourceComm);
252 * DirectedCommunicationLink.source(Link, SourceComm); 251 * CommSubsystem.target(SourceComm, TargetComm);
253 * DirectedCommunicationLink.target(Link, TargetComm);
254 * CommunicatingElement.commSubsystem(Target, TargetComm); 252 * CommunicatingElement.commSubsystem(Target, TargetComm);
255 * neg find groundStationNetwork(Target); 253 * neg find groundStationNetwork(Target);
256 * } 254 * }
@@ -548,7 +546,6 @@ public final class ThreeUCubeSatWithNonUhfCrossLink extends BaseGeneratedEMFQuer
548 PBody body = new PBody(this); 546 PBody body = new PBody(this);
549 PVariable var_Sat = body.getOrCreateVariableByName("Sat"); 547 PVariable var_Sat = body.getOrCreateVariableByName("Sat");
550 PVariable var_SourceComm = body.getOrCreateVariableByName("SourceComm"); 548 PVariable var_SourceComm = body.getOrCreateVariableByName("SourceComm");
551 PVariable var_Link = body.getOrCreateVariableByName("Link");
552 PVariable var_TargetComm = body.getOrCreateVariableByName("TargetComm"); 549 PVariable var_TargetComm = body.getOrCreateVariableByName("TargetComm");
553 PVariable var_Target = body.getOrCreateVariableByName("Target"); 550 PVariable var_Target = body.getOrCreateVariableByName("Target");
554 new TypeConstraint(body, Tuples.flatTupleOf(var_Sat), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CubeSat3U"))); 551 new TypeConstraint(body, Tuples.flatTupleOf(var_Sat), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CubeSat3U")));
@@ -563,24 +560,18 @@ public final class ThreeUCubeSatWithNonUhfCrossLink extends BaseGeneratedEMFQuer
563 new Equality(body, var__virtual_0_, var_SourceComm); 560 new Equality(body, var__virtual_0_, var_SourceComm);
564 // neg find commSubsystemBandUhf(SourceComm) 561 // neg find commSubsystemBandUhf(SourceComm)
565 new NegativePatternCall(body, Tuples.flatTupleOf(var_SourceComm), CommSubsystemBandUhf.instance().getInternalQueryRepresentation()); 562 new NegativePatternCall(body, Tuples.flatTupleOf(var_SourceComm), CommSubsystemBandUhf.instance().getInternalQueryRepresentation());
566 // DirectedCommunicationLink.source(Link, SourceComm) 563 // CommSubsystem.target(SourceComm, TargetComm)
567 new TypeConstraint(body, Tuples.flatTupleOf(var_Link), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink"))); 564 new TypeConstraint(body, Tuples.flatTupleOf(var_SourceComm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
568 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); 565 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
569 new TypeConstraint(body, Tuples.flatTupleOf(var_Link, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "DirectedCommunicationLink", "source"))); 566 new TypeConstraint(body, Tuples.flatTupleOf(var_SourceComm, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "target")));
570 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); 567 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
571 new Equality(body, var__virtual_1_, var_SourceComm); 568 new Equality(body, var__virtual_1_, var_TargetComm);
572 // DirectedCommunicationLink.target(Link, TargetComm) 569 // CommunicatingElement.commSubsystem(Target, TargetComm)
573 new TypeConstraint(body, Tuples.flatTupleOf(var_Link), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink"))); 570 new TypeConstraint(body, Tuples.flatTupleOf(var_Target), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
574 PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}"); 571 PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}");
575 new TypeConstraint(body, Tuples.flatTupleOf(var_Link, var__virtual_2_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "DirectedCommunicationLink", "target"))); 572 new TypeConstraint(body, Tuples.flatTupleOf(var_Target, var__virtual_2_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem")));
576 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_2_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); 573 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_2_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
577 new Equality(body, var__virtual_2_, var_TargetComm); 574 new Equality(body, var__virtual_2_, var_TargetComm);
578 // CommunicatingElement.commSubsystem(Target, TargetComm)
579 new TypeConstraint(body, Tuples.flatTupleOf(var_Target), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
580 PVariable var__virtual_3_ = body.getOrCreateVariableByName(".virtual{3}");
581 new TypeConstraint(body, Tuples.flatTupleOf(var_Target, var__virtual_3_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem")));
582 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_3_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
583 new Equality(body, var__virtual_3_, var_TargetComm);
584 // neg find groundStationNetwork(Target) 575 // neg find groundStationNetwork(Target)
585 new NegativePatternCall(body, Tuples.flatTupleOf(var_Target), GroundStationNetwork.instance().getInternalQueryRepresentation()); 576 new NegativePatternCall(body, Tuples.flatTupleOf(var_Target), GroundStationNetwork.instance().getInternalQueryRepresentation());
586 bodies.add(body); 577 bodies.add(body);
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
index d0140d1a..09c00a25 100644
--- 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
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.MatchingCommSubsystem.java._trace b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.MatchingCommSubsystem.java._trace
index 7cab430c..8b57b000 100644
--- 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
Binary files differ
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.gitignore
index ea4a15d7..58443486 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.gitignore
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.gitignore
@@ -64,3 +64,6 @@
64/SpacecraftWithTwoCommSubsystems.java 64/SpacecraftWithTwoCommSubsystems.java
65/TransmitRate.java 65/TransmitRate.java
66/TransmitTime.java 66/TransmitTime.java
67/.CubeSat6U.java._trace
68/.MatchingCommSubsystem.java._trace
69/.TransmittingCommSubsystem.java._trace
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
index a2123354..ee4d8715 100644
--- 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
@@ -29,8 +29,7 @@ import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
29 * <p>Original source: 29 * <p>Original source:
30 * <code><pre> 30 * <code><pre>
31 * private pattern directCommunicationLink(Source : CommunicatingElement, Target : CommunicatingElement) { 31 * private pattern directCommunicationLink(Source : CommunicatingElement, Target : CommunicatingElement) {
32 * DirectedCommunicationLink.source(Link, SourceSubsystem); 32 * CommSubsystem.target(SourceSubsystem, TargetSubsystem);
33 * DirectedCommunicationLink.target(Link, TargetSubsystem);
34 * CommunicatingElement.commSubsystem(Source, SourceSubsystem); 33 * CommunicatingElement.commSubsystem(Source, SourceSubsystem);
35 * CommunicatingElement.commSubsystem(Target, TargetSubsystem); 34 * CommunicatingElement.commSubsystem(Target, TargetSubsystem);
36 * } 35 * }
@@ -121,7 +120,6 @@ public final class DirectCommunicationLink extends BaseGeneratedEMFQuerySpecific
121 PBody body = new PBody(this); 120 PBody body = new PBody(this);
122 PVariable var_Source = body.getOrCreateVariableByName("Source"); 121 PVariable var_Source = body.getOrCreateVariableByName("Source");
123 PVariable var_Target = body.getOrCreateVariableByName("Target"); 122 PVariable var_Target = body.getOrCreateVariableByName("Target");
124 PVariable var_Link = body.getOrCreateVariableByName("Link");
125 PVariable var_SourceSubsystem = body.getOrCreateVariableByName("SourceSubsystem"); 123 PVariable var_SourceSubsystem = body.getOrCreateVariableByName("SourceSubsystem");
126 PVariable var_TargetSubsystem = body.getOrCreateVariableByName("TargetSubsystem"); 124 PVariable var_TargetSubsystem = body.getOrCreateVariableByName("TargetSubsystem");
127 new TypeConstraint(body, Tuples.flatTupleOf(var_Source), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); 125 new TypeConstraint(body, Tuples.flatTupleOf(var_Source), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
@@ -130,30 +128,24 @@ public final class DirectCommunicationLink extends BaseGeneratedEMFQuerySpecific
130 new ExportedParameter(body, var_Source, parameter_Source), 128 new ExportedParameter(body, var_Source, parameter_Source),
131 new ExportedParameter(body, var_Target, parameter_Target) 129 new ExportedParameter(body, var_Target, parameter_Target)
132 )); 130 ));
133 // DirectedCommunicationLink.source(Link, SourceSubsystem) 131 // CommSubsystem.target(SourceSubsystem, TargetSubsystem)
134 new TypeConstraint(body, Tuples.flatTupleOf(var_Link), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink"))); 132 new TypeConstraint(body, Tuples.flatTupleOf(var_SourceSubsystem), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
135 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); 133 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
136 new TypeConstraint(body, Tuples.flatTupleOf(var_Link, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "DirectedCommunicationLink", "source"))); 134 new TypeConstraint(body, Tuples.flatTupleOf(var_SourceSubsystem, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "target")));
137 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); 135 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
138 new Equality(body, var__virtual_0_, var_SourceSubsystem); 136 new Equality(body, var__virtual_0_, var_TargetSubsystem);
139 // DirectedCommunicationLink.target(Link, TargetSubsystem)
140 new TypeConstraint(body, Tuples.flatTupleOf(var_Link), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink")));
141 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
142 new TypeConstraint(body, Tuples.flatTupleOf(var_Link, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "DirectedCommunicationLink", "target")));
143 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
144 new Equality(body, var__virtual_1_, var_TargetSubsystem);
145 // CommunicatingElement.commSubsystem(Source, SourceSubsystem) 137 // CommunicatingElement.commSubsystem(Source, SourceSubsystem)
146 new TypeConstraint(body, Tuples.flatTupleOf(var_Source), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); 138 new TypeConstraint(body, Tuples.flatTupleOf(var_Source), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
147 PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}"); 139 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
148 new TypeConstraint(body, Tuples.flatTupleOf(var_Source, var__virtual_2_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); 140 new TypeConstraint(body, Tuples.flatTupleOf(var_Source, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem")));
149 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_2_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); 141 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
150 new Equality(body, var__virtual_2_, var_SourceSubsystem); 142 new Equality(body, var__virtual_1_, var_SourceSubsystem);
151 // CommunicatingElement.commSubsystem(Target, TargetSubsystem) 143 // CommunicatingElement.commSubsystem(Target, TargetSubsystem)
152 new TypeConstraint(body, Tuples.flatTupleOf(var_Target), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); 144 new TypeConstraint(body, Tuples.flatTupleOf(var_Target), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
153 PVariable var__virtual_3_ = body.getOrCreateVariableByName(".virtual{3}"); 145 PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}");
154 new TypeConstraint(body, Tuples.flatTupleOf(var_Target, var__virtual_3_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); 146 new TypeConstraint(body, Tuples.flatTupleOf(var_Target, var__virtual_2_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem")));
155 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_3_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); 147 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_2_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
156 new Equality(body, var__virtual_3_, var_TargetSubsystem); 148 new Equality(body, var__virtual_2_, var_TargetSubsystem);
157 bodies.add(body); 149 bodies.add(body);
158 } 150 }
159 return bodies; 151 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
index 66ea8361..4093e2b2 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SatelliteQueriesAll.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SatelliteQueriesAll.java
@@ -24,6 +24,7 @@ import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.LinkAllowed
24import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingAntenna; 24import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingAntenna;
25import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingCommSubsystem; 25import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingCommSubsystem;
26import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftWithInterferometryPayload; 26import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftWithInterferometryPayload;
27import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.TransmittingCommSubsystem;
27import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup; 28import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup;
28 29
29/** 30/**
@@ -33,6 +34,7 @@ import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup;
33 * 34 *
34 * <p> From package hu.bme.mit.inf.dslreasoner.domains.satellite.queries, the group contains the definition of the following patterns: <ul> 35 * <p> From package hu.bme.mit.inf.dslreasoner.domains.satellite.queries, the group contains the definition of the following patterns: <ul>
35 * <li>communicationLinkDoesNotStartAtContainingElement</li> 36 * <li>communicationLinkDoesNotStartAtContainingElement</li>
37 * <li>transmittingCommSubsystem</li>
36 * <li>notEnoughInterferometryPayloads</li> 38 * <li>notEnoughInterferometryPayloads</li>
37 * <li>atLeastTwoInterferometryPayloads</li> 39 * <li>atLeastTwoInterferometryPayloads</li>
38 * <li>spacecraftWithInterferometryPayload</li> 40 * <li>spacecraftWithInterferometryPayload</li>
@@ -78,6 +80,7 @@ public final class SatelliteQueriesAll extends BaseGeneratedPatternGroup {
78 80
79 private SatelliteQueriesAll() { 81 private SatelliteQueriesAll() {
80 querySpecifications.add(CommunicationLinkDoesNotStartAtContainingElement.instance()); 82 querySpecifications.add(CommunicationLinkDoesNotStartAtContainingElement.instance());
83 querySpecifications.add(TransmittingCommSubsystem.instance());
81 querySpecifications.add(NotEnoughInterferometryPayloads.instance()); 84 querySpecifications.add(NotEnoughInterferometryPayloads.instance());
82 querySpecifications.add(AtLeastTwoInterferometryPayloads.instance()); 85 querySpecifications.add(AtLeastTwoInterferometryPayloads.instance());
83 querySpecifications.add(SpacecraftWithInterferometryPayload.instance()); 86 querySpecifications.add(SpacecraftWithInterferometryPayload.instance());
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
new file mode 100644
index 00000000..a50536f5
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/TransmittingCommSubsystem.java
@@ -0,0 +1,146 @@
1/**
2 * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
3 */
4package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal;
5
6import java.util.Arrays;
7import java.util.LinkedHashSet;
8import java.util.List;
9import java.util.Set;
10import org.eclipse.emf.ecore.EClass;
11import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
12import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher;
13import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
14import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey;
15import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
16import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
17import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
18import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
19import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
20import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
21import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
22import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
23import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility;
24import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
25
26/**
27 * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way.
28 *
29 * <p>Original source:
30 * <code><pre>
31 * private pattern transmittingCommSubsystem(Element : CommunicatingElement, Comm : CommSubsystem) {
32 * CommunicatingElement.commSubsystem(Element, Comm);
33 * CommSubsystem.target(Comm, _);
34 * }
35 * </pre></code>
36 *
37 * @see GenericPatternMatcher
38 * @see GenericPatternMatch
39 *
40 */
41@SuppressWarnings("all")
42public final class TransmittingCommSubsystem extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher {
43 private TransmittingCommSubsystem() {
44 super(GeneratedPQuery.INSTANCE);
45 }
46
47 /**
48 * @return the singleton instance of the query specification
49 * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded
50 *
51 */
52 public static TransmittingCommSubsystem instance() {
53 try{
54 return LazyHolder.INSTANCE;
55 } catch (ExceptionInInitializerError err) {
56 throw processInitializerError(err);
57 }
58 }
59
60 /**
61 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created
62 * <b>not</b> at the class load time of the outer class,
63 * 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: <unset>) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}.
64 *
65 * <p> This workaround is required e.g. to support recursion.
66 *
67 */
68 private static class LazyHolder {
69 private static final TransmittingCommSubsystem INSTANCE = new TransmittingCommSubsystem();
70
71 /**
72 * Statically initializes the query specification <b>after</b> the field {@link #INSTANCE} is assigned.
73 * This initialization order is required to support indirect recursion.
74 *
75 * <p> The static initializer is defined using a helper field to work around limitations of the code generator.
76 *
77 */
78 private static final Object STATIC_INITIALIZER = ensureInitialized();
79
80 public static Object ensureInitialized() {
81 INSTANCE.ensureInitializedInternal();
82 return null;
83 }
84 }
85
86 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
87 private static final TransmittingCommSubsystem.GeneratedPQuery INSTANCE = new GeneratedPQuery();
88
89 private final PParameter parameter_Element = new PParameter("Element", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT);
90
91 private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT);
92
93 private final List<PParameter> parameters = Arrays.asList(parameter_Element, parameter_Comm);
94
95 private GeneratedPQuery() {
96 super(PVisibility.PRIVATE);
97 }
98
99 @Override
100 public String getFullyQualifiedName() {
101 return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.transmittingCommSubsystem";
102 }
103
104 @Override
105 public List<String> getParameterNames() {
106 return Arrays.asList("Element","Comm");
107 }
108
109 @Override
110 public List<PParameter> getParameters() {
111 return parameters;
112 }
113
114 @Override
115 public Set<PBody> doGetContainedBodies() {
116 setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED));
117 Set<PBody> bodies = new LinkedHashSet<>();
118 {
119 PBody body = new PBody(this);
120 PVariable var_Element = body.getOrCreateVariableByName("Element");
121 PVariable var_Comm = body.getOrCreateVariableByName("Comm");
122 PVariable var___0_ = body.getOrCreateVariableByName("_<0>");
123 new TypeConstraint(body, Tuples.flatTupleOf(var_Element), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
124 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
125 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
126 new ExportedParameter(body, var_Element, parameter_Element),
127 new ExportedParameter(body, var_Comm, parameter_Comm)
128 ));
129 // CommunicatingElement.commSubsystem(Element, Comm)
130 new TypeConstraint(body, Tuples.flatTupleOf(var_Element), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
131 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
132 new TypeConstraint(body, Tuples.flatTupleOf(var_Element, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem")));
133 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
134 new Equality(body, var__virtual_0_, var_Comm);
135 // CommSubsystem.target(Comm, _)
136 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
137 PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}");
138 new TypeConstraint(body, Tuples.flatTupleOf(var_Comm, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "target")));
139 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem")));
140 new Equality(body, var__virtual_1_, var___0_);
141 bodies.add(body);
142 }
143 return bodies;
144 }
145 }
146}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/CostObjective.xtend b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/CostObjective.xtend
index 3a8688e9..43b2902f 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/CostObjective.xtend
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/CostObjective.xtend
@@ -1,13 +1,13 @@
1package hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo 1package hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo
2 2
3import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CostMetric 3//import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CostMetric
4 4//
5class CostObjective extends MetricBasedGuidanceFunction { 5//class CostObjective extends MetricBasedGuidanceFunction {
6 new() { 6// new() {
7 super(CostMetric.instance) 7// super(CostMetric.instance)
8 } 8// }
9 9//
10 override getName() { 10// override getName() {
11 "Cost" 11// "Cost"
12 } 12// }
13} 13//}
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 557c1172..bdda6ec7 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
@@ -2,13 +2,17 @@ package hu.bme.mit.inf.dslreasoner.domains.satellite.queries
2 2
3import "http://www.example.org/satellite" 3import "http://www.example.org/satellite"
4 4
5@Constraint(severity = "error", key = {Link}, 5@Constraint(severity = "error", key = {Element},
6 message = "Communication links must start from the containing element.") 6 message = "A communicating element may not have two transmitting communication subsystems..")
7pattern communicationLinkDoesNotStartAtContainingElement(Link : DirectedCommunicationLink) { 7pattern communicationLinkDoesNotStartAtContainingElement(Element : CommunicatingElement) {
8 CommunicatingElement.communicationLink(Element, Link); 8 find transmittingCommSubsystem(Element, Comm1);
9 DirectedCommunicationLink.source(Link, SourceComm); 9 find transmittingCommSubsystem(Element, Comm2);
10 CommunicatingElement.commSubsystem(SourceElement, SourceComm); 10 Comm1 != Comm2;
11 Element != SourceElement; 11}
12
13private pattern transmittingCommSubsystem(Element : CommunicatingElement, Comm : CommSubsystem) {
14 CommunicatingElement.commSubsystem(Element, Comm);
15 CommSubsystem.target(Comm, _);
12} 16}
13 17
14// At least two spacecraft must have the interferometry payload configured 18// At least two spacecraft must have the interferometry payload configured
@@ -105,19 +109,17 @@ private pattern indirectCommunicationLink(Source : CommunicatingElement, Target
105} 109}
106 110
107private pattern directCommunicationLink(Source : CommunicatingElement, Target : CommunicatingElement) { 111private pattern directCommunicationLink(Source : CommunicatingElement, Target : CommunicatingElement) {
108 DirectedCommunicationLink.source(Link, SourceSubsystem); 112 CommSubsystem.target(SourceSubsystem, TargetSubsystem);
109 DirectedCommunicationLink.target(Link, TargetSubsystem);
110 CommunicatingElement.commSubsystem(Source, SourceSubsystem); 113 CommunicatingElement.commSubsystem(Source, SourceSubsystem);
111 CommunicatingElement.commSubsystem(Target, TargetSubsystem); 114 CommunicatingElement.commSubsystem(Target, TargetSubsystem);
112} 115}
113 116
114// Source and target communication systems must be compatible. 117// Source and target communication systems must be compatible.
115 118
116@Constraint(severity = "error", key = {Link}, 119@Constraint(severity = "error", key = {SourceSubsystem},
117 message = "Two ends of a communication link must use the same band.") 120 message = "Two ends of a communication link must use the same band.")
118pattern incompatibleSourceAndTargetBand(Link : DirectedCommunicationLink) { 121pattern incompatibleSourceAndTargetBand(SourceSubsystem : CommSubsystem) {
119 DirectedCommunicationLink.source(Link, SourceSubsystem); 122 CommSubsystem.target(SourceSubsystem, TargetSubsystem);
120 DirectedCommunicationLink.target(Link, TargetSubsystem);
121 neg find matchingCommSubsystem(SourceSubsystem, TargetSubsystem); 123 neg find matchingCommSubsystem(SourceSubsystem, TargetSubsystem);
122} 124}
123 125
@@ -129,8 +131,7 @@ pattern incompatibleSourceAndTargetBand(Link : DirectedCommunicationLink) {
129pattern threeUCubeSatWithNonUhfCrossLink(Sat : CubeSat3U) { 131pattern threeUCubeSatWithNonUhfCrossLink(Sat : CubeSat3U) {
130 CommunicatingElement.commSubsystem(Sat, SourceComm); 132 CommunicatingElement.commSubsystem(Sat, SourceComm);
131 neg find commSubsystemBandUhf(SourceComm); 133 neg find commSubsystemBandUhf(SourceComm);
132 DirectedCommunicationLink.source(Link, SourceComm); 134 CommSubsystem.target(SourceComm, TargetComm);
133 DirectedCommunicationLink.target(Link, TargetComm);
134 CommunicatingElement.commSubsystem(Target, TargetComm); 135 CommunicatingElement.commSubsystem(Target, TargetComm);
135 neg find groundStationNetwork(Target); 136 neg find groundStationNetwork(Target);
136} 137}