diff options
author | 2019-06-09 14:45:02 -0400 | |
---|---|---|
committer | 2019-06-09 14:45:02 -0400 | |
commit | 555987a459702674da350fa1fd5f76ffe14cd7c0 (patch) | |
tree | c64f2af9d655eb94b1a13d8c22f67bbf34435e0f /Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal | |
parent | Trying to simplify Satellite case study (diff) | |
download | VIATRA-Generator-555987a459702674da350fa1fd5f76ffe14cd7c0.tar.gz VIATRA-Generator-555987a459702674da350fa1fd5f76ffe14cd7c0.tar.zst VIATRA-Generator-555987a459702674da350fa1fd5f76ffe14cd7c0.zip |
Simplify satellite metamodel further
Diffstat (limited to 'Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal')
6 files changed, 165 insertions, 21 deletions
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 | |||
24 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingAntenna; | 24 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingAntenna; |
25 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingCommSubsystem; | 25 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingCommSubsystem; |
26 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftWithInterferometryPayload; | 26 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftWithInterferometryPayload; |
27 | import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.TransmittingCommSubsystem; | ||
27 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup; | 28 | import 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 | */ | ||
4 | package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; | ||
5 | |||
6 | import java.util.Arrays; | ||
7 | import java.util.LinkedHashSet; | ||
8 | import java.util.List; | ||
9 | import java.util.Set; | ||
10 | import org.eclipse.emf.ecore.EClass; | ||
11 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; | ||
12 | import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; | ||
13 | import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; | ||
14 | import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; | ||
15 | import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; | ||
16 | import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; | ||
17 | import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; | ||
18 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; | ||
19 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; | ||
20 | import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; | ||
21 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; | ||
22 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; | ||
23 | import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; | ||
24 | import 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") | ||
42 | public 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 | } | ||