aboutsummaryrefslogtreecommitdiffstats
path: root/Domains
diff options
context:
space:
mode:
Diffstat (limited to 'Domains')
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/.classpath23
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/META-INF/MANIFEST.MF8
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/build.properties3
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/model/FileSytem.ecore2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/model/FileSytem.genmodel8
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/patterns/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Ecore.vql10
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/patterns/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/FileSystem.vql12
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/plugin.xml4
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/.gitignore9
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Live.java4
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/PatternContent.java69
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/util/.gitignore32
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/FileSystem.java6
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/DirImpl.java1
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FSObjectImpl.java2
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FileSystemImpl.java18
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FilesystemFactoryImpl.java5
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FilesystemPackageImpl.java36
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/ModelImpl.java3
-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.java46
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatellitePackage.java113
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommSubsystemImpl.java128
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SatellitePackageImpl.java29
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.aird796
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.ecore68
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.genmodel80
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml24
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql147
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/runner/SatelliteGeneratorMain.xtend3
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.genmodel1
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/plugin.xml68
32 files changed, 1493 insertions, 269 deletions
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/.classpath b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/.classpath
index 7f459bda..3b808ec0 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/.classpath
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/.classpath
@@ -1,13 +1,10 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<classpath> 2<classpath>
3 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"> 3 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
4 <attributes> 4 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
5 <attribute name="module" value="true"/> 5 <classpathentry kind="src" path="src"/>
6 </attributes> 6 <classpathentry kind="src" path="xtend-gen"/>
7 </classpathentry> 7 <classpathentry kind="src" path="patterns"/>
8 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> 8 <classpathentry kind="src" path="src-gen/"/>
9 <classpathentry kind="src" path="src"/> 9 <classpathentry kind="output" path="bin"/>
10 <classpathentry kind="src" path="patterns"/> 10</classpath>
11 <classpathentry kind="src" path="src-gen"/>
12 <classpathentry kind="output" path="bin"/>
13</classpath>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/META-INF/MANIFEST.MF b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/META-INF/MANIFEST.MF
index d5f7db65..5fb85170 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/META-INF/MANIFEST.MF
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/META-INF/MANIFEST.MF
@@ -9,7 +9,8 @@ Bundle-Localization: plugin
9Export-Package: hu.bme.mit.inf.dslreasoner.domains.alloyexamples, 9Export-Package: hu.bme.mit.inf.dslreasoner.domains.alloyexamples,
10 hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem, 10 hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem,
11 hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl, 11 hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl,
12 hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.util 12 hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.util,
13 hu.bme.mit.inf.dslreasoner.domains.alloyexamples.util
13Require-Bundle: org.eclipse.viatra.addon.querybasedfeatures.runtime, 14Require-Bundle: org.eclipse.viatra.addon.querybasedfeatures.runtime,
14 org.eclipse.viatra.query.runtime, 15 org.eclipse.viatra.query.runtime,
15 org.eclipse.core.runtime, 16 org.eclipse.core.runtime,
@@ -19,7 +20,6 @@ Require-Bundle: org.eclipse.viatra.addon.querybasedfeatures.runtime,
19 org.eclipse.xtext.xbase.lib, 20 org.eclipse.xtext.xbase.lib,
20 org.eclipse.xtend.lib, 21 org.eclipse.xtend.lib,
21 org.eclipse.xtend.lib.macro 22 org.eclipse.xtend.lib.macro
22Import-Package: org.apache.log4j
23Automatic-Module-Name: hu.bme.mit.inf.dslreasoner.domains.alloyexamples
24Bundle-ActivationPolicy: lazy
25Bundle-RequiredExecutionEnvironment: JavaSE-1.8 23Bundle-RequiredExecutionEnvironment: JavaSE-1.8
24Bundle-ActivationPolicy: lazy
25Import-Package: org.apache.log4j
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/build.properties b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/build.properties
index 418a7a43..a9ab8b56 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/build.properties
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/build.properties
@@ -5,6 +5,5 @@ bin.includes = .,\
5 plugin.properties 5 plugin.properties
6jars.compile.order = . 6jars.compile.order = .
7source.. = src/,\ 7source.. = src/,\
8 src-gen/,\ 8 src-gen/
9 patterns/
10output.. = bin/ 9output.. = bin/
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/model/FileSytem.ecore b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/model/FileSytem.ecore
index 32874953..87ba7135 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/model/FileSytem.ecore
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/model/FileSytem.ecore
@@ -5,7 +5,7 @@
5 <details key="settingDelegates" value="org.eclipse.viatra.query.querybasedfeature"/> 5 <details key="settingDelegates" value="org.eclipse.viatra.query.querybasedfeature"/>
6 </eAnnotations> 6 </eAnnotations>
7 <eClassifiers xsi:type="ecore:EClass" name="FileSystem"> 7 <eClassifiers xsi:type="ecore:EClass" name="FileSystem">
8 <eStructuralFeatures xsi:type="ecore:EReference" name="root" lowerBound="1" eType="#//FSObject" 8 <eStructuralFeatures xsi:type="ecore:EReference" name="root" lowerBound="1" eType="#//Dir"
9 containment="true"/> 9 containment="true"/>
10 <eStructuralFeatures xsi:type="ecore:EReference" name="live" upperBound="-1" eType="#//FSObject" 10 <eStructuralFeatures xsi:type="ecore:EReference" name="live" upperBound="-1" eType="#//FSObject"
11 changeable="false" volatile="true" transient="true" derived="true"> 11 changeable="false" volatile="true" transient="true" derived="true">
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/model/FileSytem.genmodel b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/model/FileSytem.genmodel
index daa44727..355ac109 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/model/FileSytem.genmodel
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/model/FileSytem.genmodel
@@ -11,13 +11,13 @@
11 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FileSytem.ecore#//FileSystem/root"/> 11 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FileSytem.ecore#//FileSystem/root"/>
12 <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference FileSytem.ecore#//FileSystem/live"/> 12 <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference FileSytem.ecore#//FileSystem/live"/>
13 </genClasses> 13 </genClasses>
14 <genClasses image="false" ecoreClass="FileSytem.ecore#//FSObject"> 14 <genClasses image="false" ecoreClass="FileSytem.ecore#//FSObject"/>
15 <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference FileSytem.ecore#//FSObject/parent"/>
16 </genClasses>
17 <genClasses ecoreClass="FileSytem.ecore#//Dir"> 15 <genClasses ecoreClass="FileSytem.ecore#//Dir">
18 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FileSytem.ecore#//Dir/contents"/> 16 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FileSytem.ecore#//Dir/contents"/>
19 </genClasses> 17 </genClasses>
20 <genClasses ecoreClass="FileSytem.ecore#//File"/> 18 <genClasses ecoreClass="FileSytem.ecore#//File">
19 <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference FileSytem.ecore#//File/parent"/>
20 </genClasses>
21 <genClasses ecoreClass="FileSytem.ecore#//Model"> 21 <genClasses ecoreClass="FileSytem.ecore#//Model">
22 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FileSytem.ecore#//Model/filesystems"/> 22 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FileSytem.ecore#//Model/filesystems"/>
23 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FileSytem.ecore#//Model/otherFSObjects"/> 23 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FileSytem.ecore#//Model/otherFSObjects"/>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/patterns/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Ecore.vql b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/patterns/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Ecore.vql
index 16c24d05..78525a35 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/patterns/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Ecore.vql
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/patterns/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Ecore.vql
@@ -11,16 +11,6 @@ pattern loopInInheritence(a: EClass) {
11 find directSupertype+(a,a); 11 find directSupertype+(a,a);
12} 12}
13 13
14pattern unsat_subpackage(a: EPackage, b: EPackage) {
15 EPackage.eSubpackages(a, b);
16}
17
18@Constraint(key={p}, severity="error", message="error")
19pattern unsat_loopInInheritance(p: EPackage) {
20 neg find unsat_subpackage(_, p);
21 neg find loopInInheritence(_);
22}
23
24pattern opposite(a:EReference, b: EReference) { 14pattern opposite(a:EReference, b: EReference) {
25 EReference.eOpposite(a,b); 15 EReference.eOpposite(a,b);
26} 16}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/patterns/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/FileSystem.vql b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/patterns/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/FileSystem.vql
index c785c2fc..719a9d96 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/patterns/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/FileSystem.vql
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/patterns/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/FileSystem.vql
@@ -2,7 +2,7 @@ package hu.bme.mit.inf.dslreasoner.domains.alloyexamples
2 2
3import epackage "FS" 3import epackage "FS"
4 4
5pattern patternContent(o1: Dir, o2: FSObject) { 5pattern patternContent(o1: FSObject, o2: FSObject) {
6 Dir.contents(o1,o2); 6 Dir.contents(o1,o2);
7} 7}
8 8
@@ -22,13 +22,3 @@ pattern contentInNotLive(parent : Dir, child: FSObject) {
22 Dir.contents(parent,child); 22 Dir.contents(parent,child);
23 neg find live(_,child); 23 neg find live(_,child);
24} 24}
25
26pattern dir(d: Dir) {
27 Dir(d);
28}
29
30@Constraint(key={fs}, severity="error", message="error")
31pattern rootIsNotDir(fs: FileSystem) {
32 FileSystem.root(fs, root);
33 neg find dir(root);
34}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/plugin.xml b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/plugin.xml
index eddd482c..d7fd112a 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/plugin.xml
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/plugin.xml
@@ -11,8 +11,6 @@
11 <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Ecore" id="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Ecore"> 11 <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Ecore" id="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Ecore">
12 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.directSupertype"/> 12 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.directSupertype"/>
13 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.loopInInheritence"/> 13 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.loopInInheritence"/>
14 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.unsat_subpackage"/>
15 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.unsat_loopInInheritance"/>
16 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.opposite"/> 14 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.opposite"/>
17 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.oppositeDifferentClass"/> 15 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.oppositeDifferentClass"/>
18 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.nonSymmetricOpposite"/> 16 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.nonSymmetricOpposite"/>
@@ -23,8 +21,6 @@
23 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.patternContent"/> 21 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.patternContent"/>
24 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.live"/> 22 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.live"/>
25 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.contentInNotLive"/> 23 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.contentInNotLive"/>
26 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.dir"/>
27 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.rootIsNotDir"/>
28 </group> 24 </group>
29 </extension> 25 </extension>
30</plugin> 26</plugin>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/.gitignore
index 70eab455..1e7d444f 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/.gitignore
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/.gitignore
@@ -50,12 +50,3 @@
50/Opposite.java 50/Opposite.java
51/OppositeDifferentClass.java 51/OppositeDifferentClass.java
52/PatternContent.java 52/PatternContent.java
53/.Dir.java._trace
54/.RootIsNotDir.java._trace
55/Dir.java
56/RootIsNotDir.java
57/.Unsat_loopInInheritance.java._trace
58/.Subpackage.java._trace
59/.Unsat_subpackage.java._trace
60/.Unsat_subpackageOrSelf.java._trace
61/.Unsat_topLevelPackageWithLoop.java._trace
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Live.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Live.java
index 178ec37d..3f2448aa 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Live.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Live.java
@@ -706,7 +706,7 @@ public final class Live extends BaseGeneratedEMFQuerySpecification<Live.Matcher>
706 new TypeConstraint(body, Tuples.flatTupleOf(var_this), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("FS", "FileSystem"))); 706 new TypeConstraint(body, Tuples.flatTupleOf(var_this), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("FS", "FileSystem")));
707 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); 707 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
708 new TypeConstraint(body, Tuples.flatTupleOf(var_this, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("FS", "FileSystem", "root"))); 708 new TypeConstraint(body, Tuples.flatTupleOf(var_this, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("FS", "FileSystem", "root")));
709 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("FS", "FSObject"))); 709 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("FS", "Dir")));
710 new Equality(body, var__virtual_0_, var_l); 710 new Equality(body, var__virtual_0_, var_l);
711 bodies.add(body); 711 bodies.add(body);
712 } 712 }
@@ -725,7 +725,7 @@ public final class Live extends BaseGeneratedEMFQuerySpecification<Live.Matcher>
725 new TypeConstraint(body, Tuples.flatTupleOf(var_this), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("FS", "FileSystem"))); 725 new TypeConstraint(body, Tuples.flatTupleOf(var_this), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("FS", "FileSystem")));
726 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); 726 PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
727 new TypeConstraint(body, Tuples.flatTupleOf(var_this, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("FS", "FileSystem", "root"))); 727 new TypeConstraint(body, Tuples.flatTupleOf(var_this, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("FS", "FileSystem", "root")));
728 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("FS", "FSObject"))); 728 new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("FS", "Dir")));
729 new Equality(body, var__virtual_0_, var_root); 729 new Equality(body, var__virtual_0_, var_root);
730 // find patternContent+(root,l) 730 // find patternContent+(root,l)
731 new BinaryTransitiveClosure(body, Tuples.flatTupleOf(var_root, var_l), PatternContent.instance().getInternalQueryRepresentation()); 731 new BinaryTransitiveClosure(body, Tuples.flatTupleOf(var_root, var_l), PatternContent.instance().getInternalQueryRepresentation());
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/PatternContent.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/PatternContent.java
index bd02fa5b..7c48b978 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/PatternContent.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/PatternContent.java
@@ -3,7 +3,6 @@
3 */ 3 */
4package hu.bme.mit.inf.dslreasoner.domains.alloyexamples; 4package hu.bme.mit.inf.dslreasoner.domains.alloyexamples;
5 5
6import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.Dir;
7import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FSObject; 6import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FSObject;
8import java.util.Arrays; 7import java.util.Arrays;
9import java.util.Collection; 8import java.util.Collection;
@@ -44,7 +43,7 @@ import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil;
44 * 43 *
45 * <p>Original source: 44 * <p>Original source:
46 * <code><pre> 45 * <code><pre>
47 * pattern patternContent(o1: Dir, o2: FSObject) { 46 * pattern patternContent(o1: FSObject, o2: FSObject) {
48 * Dir.contents(o1,o2); 47 * Dir.contents(o1,o2);
49 * } 48 * }
50 * </pre></code> 49 * </pre></code>
@@ -68,13 +67,13 @@ public final class PatternContent extends BaseGeneratedEMFQuerySpecification<Pat
68 * 67 *
69 */ 68 */
70 public static abstract class Match extends BasePatternMatch { 69 public static abstract class Match extends BasePatternMatch {
71 private Dir fO1; 70 private FSObject fO1;
72 71
73 private FSObject fO2; 72 private FSObject fO2;
74 73
75 private static List<String> parameterNames = makeImmutableList("o1", "o2"); 74 private static List<String> parameterNames = makeImmutableList("o1", "o2");
76 75
77 private Match(final Dir pO1, final FSObject pO2) { 76 private Match(final FSObject pO1, final FSObject pO2) {
78 this.fO1 = pO1; 77 this.fO1 = pO1;
79 this.fO2 = pO2; 78 this.fO2 = pO2;
80 } 79 }
@@ -97,7 +96,7 @@ public final class PatternContent extends BaseGeneratedEMFQuerySpecification<Pat
97 } 96 }
98 } 97 }
99 98
100 public Dir getO1() { 99 public FSObject getO1() {
101 return this.fO1; 100 return this.fO1;
102 } 101 }
103 102
@@ -109,7 +108,7 @@ public final class PatternContent extends BaseGeneratedEMFQuerySpecification<Pat
109 public boolean set(final String parameterName, final Object newValue) { 108 public boolean set(final String parameterName, final Object newValue) {
110 if (!isMutable()) throw new java.lang.UnsupportedOperationException(); 109 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
111 if ("o1".equals(parameterName) ) { 110 if ("o1".equals(parameterName) ) {
112 this.fO1 = (Dir) newValue; 111 this.fO1 = (FSObject) newValue;
113 return true; 112 return true;
114 } 113 }
115 if ("o2".equals(parameterName) ) { 114 if ("o2".equals(parameterName) ) {
@@ -119,7 +118,7 @@ public final class PatternContent extends BaseGeneratedEMFQuerySpecification<Pat
119 return false; 118 return false;
120 } 119 }
121 120
122 public void setO1(final Dir pO1) { 121 public void setO1(final FSObject pO1) {
123 if (!isMutable()) throw new java.lang.UnsupportedOperationException(); 122 if (!isMutable()) throw new java.lang.UnsupportedOperationException();
124 this.fO1 = pO1; 123 this.fO1 = pO1;
125 } 124 }
@@ -207,7 +206,7 @@ public final class PatternContent extends BaseGeneratedEMFQuerySpecification<Pat
207 * @return the new, mutable (partial) match object. 206 * @return the new, mutable (partial) match object.
208 * 207 *
209 */ 208 */
210 public static PatternContent.Match newMutableMatch(final Dir pO1, final FSObject pO2) { 209 public static PatternContent.Match newMutableMatch(final FSObject pO1, final FSObject pO2) {
211 return new Mutable(pO1, pO2); 210 return new Mutable(pO1, pO2);
212 } 211 }
213 212
@@ -220,12 +219,12 @@ public final class PatternContent extends BaseGeneratedEMFQuerySpecification<Pat
220 * @return the (partial) match object. 219 * @return the (partial) match object.
221 * 220 *
222 */ 221 */
223 public static PatternContent.Match newMatch(final Dir pO1, final FSObject pO2) { 222 public static PatternContent.Match newMatch(final FSObject pO1, final FSObject pO2) {
224 return new Immutable(pO1, pO2); 223 return new Immutable(pO1, pO2);
225 } 224 }
226 225
227 private static final class Mutable extends PatternContent.Match { 226 private static final class Mutable extends PatternContent.Match {
228 Mutable(final Dir pO1, final FSObject pO2) { 227 Mutable(final FSObject pO1, final FSObject pO2) {
229 super(pO1, pO2); 228 super(pO1, pO2);
230 } 229 }
231 230
@@ -236,7 +235,7 @@ public final class PatternContent extends BaseGeneratedEMFQuerySpecification<Pat
236 } 235 }
237 236
238 private static final class Immutable extends PatternContent.Match { 237 private static final class Immutable extends PatternContent.Match {
239 Immutable(final Dir pO1, final FSObject pO2) { 238 Immutable(final FSObject pO1, final FSObject pO2) {
240 super(pO1, pO2); 239 super(pO1, pO2);
241 } 240 }
242 241
@@ -258,7 +257,7 @@ public final class PatternContent extends BaseGeneratedEMFQuerySpecification<Pat
258 * 257 *
259 * <p>Original source: 258 * <p>Original source:
260 * <code><pre> 259 * <code><pre>
261 * pattern patternContent(o1: Dir, o2: FSObject) { 260 * pattern patternContent(o1: FSObject, o2: FSObject) {
262 * Dir.contents(o1,o2); 261 * Dir.contents(o1,o2);
263 * } 262 * }
264 * </pre></code> 263 * </pre></code>
@@ -320,7 +319,7 @@ public final class PatternContent extends BaseGeneratedEMFQuerySpecification<Pat
320 * @return matches represented as a Match object. 319 * @return matches represented as a Match object.
321 * 320 *
322 */ 321 */
323 public Collection<PatternContent.Match> getAllMatches(final Dir pO1, final FSObject pO2) { 322 public Collection<PatternContent.Match> getAllMatches(final FSObject pO1, final FSObject pO2) {
324 return rawStreamAllMatches(new Object[]{pO1, pO2}).collect(Collectors.toSet()); 323 return rawStreamAllMatches(new Object[]{pO1, pO2}).collect(Collectors.toSet());
325 } 324 }
326 325
@@ -335,7 +334,7 @@ public final class PatternContent extends BaseGeneratedEMFQuerySpecification<Pat
335 * @return a stream of matches represented as a Match object. 334 * @return a stream of matches represented as a Match object.
336 * 335 *
337 */ 336 */
338 public Stream<PatternContent.Match> streamAllMatches(final Dir pO1, final FSObject pO2) { 337 public Stream<PatternContent.Match> streamAllMatches(final FSObject pO1, final FSObject pO2) {
339 return rawStreamAllMatches(new Object[]{pO1, pO2}); 338 return rawStreamAllMatches(new Object[]{pO1, pO2});
340 } 339 }
341 340
@@ -347,7 +346,7 @@ public final class PatternContent extends BaseGeneratedEMFQuerySpecification<Pat
347 * @return a match represented as a Match object, or null if no match is found. 346 * @return a match represented as a Match object, or null if no match is found.
348 * 347 *
349 */ 348 */
350 public Optional<PatternContent.Match> getOneArbitraryMatch(final Dir pO1, final FSObject pO2) { 349 public Optional<PatternContent.Match> getOneArbitraryMatch(final FSObject pO1, final FSObject pO2) {
351 return rawGetOneArbitraryMatch(new Object[]{pO1, pO2}); 350 return rawGetOneArbitraryMatch(new Object[]{pO1, pO2});
352 } 351 }
353 352
@@ -359,7 +358,7 @@ public final class PatternContent extends BaseGeneratedEMFQuerySpecification<Pat
359 * @return true if the input is a valid (partial) match of the pattern. 358 * @return true if the input is a valid (partial) match of the pattern.
360 * 359 *
361 */ 360 */
362 public boolean hasMatch(final Dir pO1, final FSObject pO2) { 361 public boolean hasMatch(final FSObject pO1, final FSObject pO2) {
363 return rawHasMatch(new Object[]{pO1, pO2}); 362 return rawHasMatch(new Object[]{pO1, pO2});
364 } 363 }
365 364
@@ -370,7 +369,7 @@ public final class PatternContent extends BaseGeneratedEMFQuerySpecification<Pat
370 * @return the number of pattern matches found. 369 * @return the number of pattern matches found.
371 * 370 *
372 */ 371 */
373 public int countMatches(final Dir pO1, final FSObject pO2) { 372 public int countMatches(final FSObject pO1, final FSObject pO2) {
374 return rawCountMatches(new Object[]{pO1, pO2}); 373 return rawCountMatches(new Object[]{pO1, pO2});
375 } 374 }
376 375
@@ -383,7 +382,7 @@ public final class PatternContent extends BaseGeneratedEMFQuerySpecification<Pat
383 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked 382 * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked
384 * 383 *
385 */ 384 */
386 public boolean forOneArbitraryMatch(final Dir pO1, final FSObject pO2, final Consumer<? super PatternContent.Match> processor) { 385 public boolean forOneArbitraryMatch(final FSObject pO1, final FSObject pO2, final Consumer<? super PatternContent.Match> processor) {
387 return rawForOneArbitraryMatch(new Object[]{pO1, pO2}, processor); 386 return rawForOneArbitraryMatch(new Object[]{pO1, pO2}, processor);
388 } 387 }
389 388
@@ -396,7 +395,7 @@ public final class PatternContent extends BaseGeneratedEMFQuerySpecification<Pat
396 * @return the (partial) match object. 395 * @return the (partial) match object.
397 * 396 *
398 */ 397 */
399 public PatternContent.Match newMatch(final Dir pO1, final FSObject pO2) { 398 public PatternContent.Match newMatch(final FSObject pO1, final FSObject pO2) {
400 return PatternContent.Match.newMatch(pO1, pO2); 399 return PatternContent.Match.newMatch(pO1, pO2);
401 } 400 }
402 401
@@ -405,8 +404,8 @@ public final class PatternContent extends BaseGeneratedEMFQuerySpecification<Pat
405 * @return the Set of all values or empty set if there are no matches 404 * @return the Set of all values or empty set if there are no matches
406 * 405 *
407 */ 406 */
408 protected Stream<Dir> rawStreamAllValuesOfo1(final Object[] parameters) { 407 protected Stream<FSObject> rawStreamAllValuesOfo1(final Object[] parameters) {
409 return rawStreamAllValues(POSITION_O1, parameters).map(Dir.class::cast); 408 return rawStreamAllValues(POSITION_O1, parameters).map(FSObject.class::cast);
410 } 409 }
411 410
412 /** 411 /**
@@ -414,7 +413,7 @@ public final class PatternContent extends BaseGeneratedEMFQuerySpecification<Pat
414 * @return the Set of all values or empty set if there are no matches 413 * @return the Set of all values or empty set if there are no matches
415 * 414 *
416 */ 415 */
417 public Set<Dir> getAllValuesOfo1() { 416 public Set<FSObject> getAllValuesOfo1() {
418 return rawStreamAllValuesOfo1(emptyArray()).collect(Collectors.toSet()); 417 return rawStreamAllValuesOfo1(emptyArray()).collect(Collectors.toSet());
419 } 418 }
420 419
@@ -423,7 +422,7 @@ public final class PatternContent extends BaseGeneratedEMFQuerySpecification<Pat
423 * @return the Set of all values or empty set if there are no matches 422 * @return the Set of all values or empty set if there are no matches
424 * 423 *
425 */ 424 */
426 public Stream<Dir> streamAllValuesOfo1() { 425 public Stream<FSObject> streamAllValuesOfo1() {
427 return rawStreamAllValuesOfo1(emptyArray()); 426 return rawStreamAllValuesOfo1(emptyArray());
428 } 427 }
429 428
@@ -437,7 +436,7 @@ public final class PatternContent extends BaseGeneratedEMFQuerySpecification<Pat
437 * @return the Stream of all values or empty set if there are no matches 436 * @return the Stream of all values or empty set if there are no matches
438 * 437 *
439 */ 438 */
440 public Stream<Dir> streamAllValuesOfo1(final PatternContent.Match partialMatch) { 439 public Stream<FSObject> streamAllValuesOfo1(final PatternContent.Match partialMatch) {
441 return rawStreamAllValuesOfo1(partialMatch.toArray()); 440 return rawStreamAllValuesOfo1(partialMatch.toArray());
442 } 441 }
443 442
@@ -451,7 +450,7 @@ public final class PatternContent extends BaseGeneratedEMFQuerySpecification<Pat
451 * @return the Stream of all values or empty set if there are no matches 450 * @return the Stream of all values or empty set if there are no matches
452 * 451 *
453 */ 452 */
454 public Stream<Dir> streamAllValuesOfo1(final FSObject pO2) { 453 public Stream<FSObject> streamAllValuesOfo1(final FSObject pO2) {
455 return rawStreamAllValuesOfo1(new Object[]{null, pO2}); 454 return rawStreamAllValuesOfo1(new Object[]{null, pO2});
456 } 455 }
457 456
@@ -460,7 +459,7 @@ public final class PatternContent extends BaseGeneratedEMFQuerySpecification<Pat
460 * @return the Set of all values or empty set if there are no matches 459 * @return the Set of all values or empty set if there are no matches
461 * 460 *
462 */ 461 */
463 public Set<Dir> getAllValuesOfo1(final PatternContent.Match partialMatch) { 462 public Set<FSObject> getAllValuesOfo1(final PatternContent.Match partialMatch) {
464 return rawStreamAllValuesOfo1(partialMatch.toArray()).collect(Collectors.toSet()); 463 return rawStreamAllValuesOfo1(partialMatch.toArray()).collect(Collectors.toSet());
465 } 464 }
466 465
@@ -469,7 +468,7 @@ public final class PatternContent extends BaseGeneratedEMFQuerySpecification<Pat
469 * @return the Set of all values or empty set if there are no matches 468 * @return the Set of all values or empty set if there are no matches
470 * 469 *
471 */ 470 */
472 public Set<Dir> getAllValuesOfo1(final FSObject pO2) { 471 public Set<FSObject> getAllValuesOfo1(final FSObject pO2) {
473 return rawStreamAllValuesOfo1(new Object[]{null, pO2}).collect(Collectors.toSet()); 472 return rawStreamAllValuesOfo1(new Object[]{null, pO2}).collect(Collectors.toSet());
474 } 473 }
475 474
@@ -524,7 +523,7 @@ public final class PatternContent extends BaseGeneratedEMFQuerySpecification<Pat
524 * @return the Stream of all values or empty set if there are no matches 523 * @return the Stream of all values or empty set if there are no matches
525 * 524 *
526 */ 525 */
527 public Stream<FSObject> streamAllValuesOfo2(final Dir pO1) { 526 public Stream<FSObject> streamAllValuesOfo2(final FSObject pO1) {
528 return rawStreamAllValuesOfo2(new Object[]{pO1, null}); 527 return rawStreamAllValuesOfo2(new Object[]{pO1, null});
529 } 528 }
530 529
@@ -542,14 +541,14 @@ public final class PatternContent extends BaseGeneratedEMFQuerySpecification<Pat
542 * @return the Set of all values or empty set if there are no matches 541 * @return the Set of all values or empty set if there are no matches
543 * 542 *
544 */ 543 */
545 public Set<FSObject> getAllValuesOfo2(final Dir pO1) { 544 public Set<FSObject> getAllValuesOfo2(final FSObject pO1) {
546 return rawStreamAllValuesOfo2(new Object[]{pO1, null}).collect(Collectors.toSet()); 545 return rawStreamAllValuesOfo2(new Object[]{pO1, null}).collect(Collectors.toSet());
547 } 546 }
548 547
549 @Override 548 @Override
550 protected PatternContent.Match tupleToMatch(final Tuple t) { 549 protected PatternContent.Match tupleToMatch(final Tuple t) {
551 try { 550 try {
552 return PatternContent.Match.newMatch((Dir) t.get(POSITION_O1), (FSObject) t.get(POSITION_O2)); 551 return PatternContent.Match.newMatch((FSObject) t.get(POSITION_O1), (FSObject) t.get(POSITION_O2));
553 } catch(ClassCastException e) { 552 } catch(ClassCastException e) {
554 LOGGER.error("Element(s) in tuple not properly typed!",e); 553 LOGGER.error("Element(s) in tuple not properly typed!",e);
555 return null; 554 return null;
@@ -559,7 +558,7 @@ public final class PatternContent extends BaseGeneratedEMFQuerySpecification<Pat
559 @Override 558 @Override
560 protected PatternContent.Match arrayToMatch(final Object[] match) { 559 protected PatternContent.Match arrayToMatch(final Object[] match) {
561 try { 560 try {
562 return PatternContent.Match.newMatch((Dir) match[POSITION_O1], (FSObject) match[POSITION_O2]); 561 return PatternContent.Match.newMatch((FSObject) match[POSITION_O1], (FSObject) match[POSITION_O2]);
563 } catch(ClassCastException e) { 562 } catch(ClassCastException e) {
564 LOGGER.error("Element(s) in array not properly typed!",e); 563 LOGGER.error("Element(s) in array not properly typed!",e);
565 return null; 564 return null;
@@ -569,7 +568,7 @@ public final class PatternContent extends BaseGeneratedEMFQuerySpecification<Pat
569 @Override 568 @Override
570 protected PatternContent.Match arrayToMatchMutable(final Object[] match) { 569 protected PatternContent.Match arrayToMatchMutable(final Object[] match) {
571 try { 570 try {
572 return PatternContent.Match.newMutableMatch((Dir) match[POSITION_O1], (FSObject) match[POSITION_O2]); 571 return PatternContent.Match.newMutableMatch((FSObject) match[POSITION_O1], (FSObject) match[POSITION_O2]);
573 } catch(ClassCastException e) { 572 } catch(ClassCastException e) {
574 LOGGER.error("Element(s) in array not properly typed!",e); 573 LOGGER.error("Element(s) in array not properly typed!",e);
575 return null; 574 return null;
@@ -620,7 +619,7 @@ public final class PatternContent extends BaseGeneratedEMFQuerySpecification<Pat
620 619
621 @Override 620 @Override
622 public PatternContent.Match newMatch(final Object... parameters) { 621 public PatternContent.Match newMatch(final Object... parameters) {
623 return PatternContent.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.Dir) parameters[0], (hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FSObject) parameters[1]); 622 return PatternContent.Match.newMatch((hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FSObject) parameters[0], (hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FSObject) parameters[1]);
624 } 623 }
625 624
626 /** 625 /**
@@ -652,7 +651,7 @@ public final class PatternContent extends BaseGeneratedEMFQuerySpecification<Pat
652 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { 651 private static class GeneratedPQuery extends BaseGeneratedEMFPQuery {
653 private static final PatternContent.GeneratedPQuery INSTANCE = new GeneratedPQuery(); 652 private static final PatternContent.GeneratedPQuery INSTANCE = new GeneratedPQuery();
654 653
655 private final PParameter parameter_o1 = new PParameter("o1", "hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.Dir", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("FS", "Dir")), PParameterDirection.INOUT); 654 private final PParameter parameter_o1 = new PParameter("o1", "hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FSObject", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("FS", "FSObject")), PParameterDirection.INOUT);
656 655
657 private final PParameter parameter_o2 = new PParameter("o2", "hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FSObject", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("FS", "FSObject")), PParameterDirection.INOUT); 656 private final PParameter parameter_o2 = new PParameter("o2", "hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FSObject", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("FS", "FSObject")), PParameterDirection.INOUT);
658 657
@@ -685,7 +684,7 @@ public final class PatternContent extends BaseGeneratedEMFQuerySpecification<Pat
685 PBody body = new PBody(this); 684 PBody body = new PBody(this);
686 PVariable var_o1 = body.getOrCreateVariableByName("o1"); 685 PVariable var_o1 = body.getOrCreateVariableByName("o1");
687 PVariable var_o2 = body.getOrCreateVariableByName("o2"); 686 PVariable var_o2 = body.getOrCreateVariableByName("o2");
688 new TypeConstraint(body, Tuples.flatTupleOf(var_o1), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("FS", "Dir"))); 687 new TypeConstraint(body, Tuples.flatTupleOf(var_o1), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("FS", "FSObject")));
689 new TypeConstraint(body, Tuples.flatTupleOf(var_o2), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("FS", "FSObject"))); 688 new TypeConstraint(body, Tuples.flatTupleOf(var_o2), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("FS", "FSObject")));
690 body.setSymbolicParameters(Arrays.<ExportedParameter>asList( 689 body.setSymbolicParameters(Arrays.<ExportedParameter>asList(
691 new ExportedParameter(body, var_o1, parameter_o1), 690 new ExportedParameter(body, var_o1, parameter_o1),
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/util/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/util/.gitignore
new file mode 100644
index 00000000..4b17cd82
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/util/.gitignore
@@ -0,0 +1,32 @@
1/.ContentInNotLiveProcessor.java._trace
2/.ContentInNotLiveQuerySpecification.java._trace
3/.DirectSupertypeProcessor.java._trace
4/.DirectSupertypeQuerySpecification.java._trace
5/.LiveProcessor.java._trace
6/.LiveQuerySpecification.java._trace
7/.LoopInInheritenceProcessor.java._trace
8/.LoopInInheritenceQuerySpecification.java._trace
9/.NonSymmetricOppositeProcessor.java._trace
10/.NonSymmetricOppositeQuerySpecification.java._trace
11/.OppositeDifferentClassProcessor.java._trace
12/.OppositeDifferentClassQuerySpecification.java._trace
13/.OppositeProcessor.java._trace
14/.OppositeQuerySpecification.java._trace
15/.PatternContentProcessor.java._trace
16/.PatternContentQuerySpecification.java._trace
17/ContentInNotLiveProcessor.java
18/ContentInNotLiveQuerySpecification.java
19/DirectSupertypeProcessor.java
20/DirectSupertypeQuerySpecification.java
21/LiveProcessor.java
22/LiveQuerySpecification.java
23/LoopInInheritenceProcessor.java
24/LoopInInheritenceQuerySpecification.java
25/NonSymmetricOppositeProcessor.java
26/NonSymmetricOppositeQuerySpecification.java
27/OppositeDifferentClassProcessor.java
28/OppositeDifferentClassQuerySpecification.java
29/OppositeProcessor.java
30/OppositeQuerySpecification.java
31/PatternContentProcessor.java
32/PatternContentQuerySpecification.java
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/FileSystem.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/FileSystem.java
index f0066955..1896e31e 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/FileSystem.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/FileSystem.java
@@ -33,12 +33,12 @@ public interface FileSystem extends EObject {
33 * </p> 33 * </p>
34 * <!-- end-user-doc --> 34 * <!-- end-user-doc -->
35 * @return the value of the '<em>Root</em>' containment reference. 35 * @return the value of the '<em>Root</em>' containment reference.
36 * @see #setRoot(FSObject) 36 * @see #setRoot(Dir)
37 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemPackage#getFileSystem_Root() 37 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemPackage#getFileSystem_Root()
38 * @model containment="true" required="true" 38 * @model containment="true" required="true"
39 * @generated 39 * @generated
40 */ 40 */
41 FSObject getRoot(); 41 Dir getRoot();
42 42
43 /** 43 /**
44 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FileSystem#getRoot <em>Root</em>}' containment reference. 44 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FileSystem#getRoot <em>Root</em>}' containment reference.
@@ -48,7 +48,7 @@ public interface FileSystem extends EObject {
48 * @see #getRoot() 48 * @see #getRoot()
49 * @generated 49 * @generated
50 */ 50 */
51 void setRoot(FSObject value); 51 void setRoot(Dir value);
52 52
53 /** 53 /**
54 * Returns the value of the '<em><b>Live</b></em>' reference list. 54 * Returns the value of the '<em><b>Live</b></em>' reference list.
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/DirImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/DirImpl.java
index c2d417d2..62df04af 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/DirImpl.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/DirImpl.java
@@ -66,7 +66,6 @@ public class DirImpl extends FSObjectImpl implements Dir {
66 * <!-- end-user-doc --> 66 * <!-- end-user-doc -->
67 * @generated 67 * @generated
68 */ 68 */
69 @Override
70 public EList<FSObject> getContents() { 69 public EList<FSObject> getContents() {
71 if (contents == null) { 70 if (contents == null) {
72 contents = new EObjectContainmentWithInverseEList<FSObject>(FSObject.class, this, FilesystemPackage.DIR__CONTENTS, FilesystemPackage.FS_OBJECT__PARENT); 71 contents = new EObjectContainmentWithInverseEList<FSObject>(FSObject.class, this, FilesystemPackage.DIR__CONTENTS, FilesystemPackage.FS_OBJECT__PARENT);
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FSObjectImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FSObjectImpl.java
index d87935d6..c8e73b4e 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FSObjectImpl.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FSObjectImpl.java
@@ -53,7 +53,6 @@ public abstract class FSObjectImpl extends MinimalEObjectImpl.Container implemen
53 * <!-- end-user-doc --> 53 * <!-- end-user-doc -->
54 * @generated 54 * @generated
55 */ 55 */
56 @Override
57 public Dir getParent() { 56 public Dir getParent() {
58 if (eContainerFeatureID() != FilesystemPackage.FS_OBJECT__PARENT) return null; 57 if (eContainerFeatureID() != FilesystemPackage.FS_OBJECT__PARENT) return null;
59 return (Dir)eInternalContainer(); 58 return (Dir)eInternalContainer();
@@ -74,7 +73,6 @@ public abstract class FSObjectImpl extends MinimalEObjectImpl.Container implemen
74 * <!-- end-user-doc --> 73 * <!-- end-user-doc -->
75 * @generated 74 * @generated
76 */ 75 */
77 @Override
78 public void setParent(Dir newParent) { 76 public void setParent(Dir newParent) {
79 if (newParent != eInternalContainer() || (eContainerFeatureID() != FilesystemPackage.FS_OBJECT__PARENT && newParent != null)) { 77 if (newParent != eInternalContainer() || (eContainerFeatureID() != FilesystemPackage.FS_OBJECT__PARENT && newParent != null)) {
80 if (EcoreUtil.isAncestor(this, newParent)) 78 if (EcoreUtil.isAncestor(this, newParent))
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FileSystemImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FileSystemImpl.java
index e6859cab..adf30f3a 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FileSystemImpl.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FileSystemImpl.java
@@ -2,6 +2,7 @@
2 */ 2 */
3package hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl; 3package hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl;
4 4
5import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.Dir;
5import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FSObject; 6import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FSObject;
6import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FileSystem; 7import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FileSystem;
7import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemPackage; 8import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemPackage;
@@ -41,7 +42,7 @@ public class FileSystemImpl extends MinimalEObjectImpl.Container implements File
41 * @generated 42 * @generated
42 * @ordered 43 * @ordered
43 */ 44 */
44 protected FSObject root; 45 protected Dir root;
45 46
46 /** 47 /**
47 * The cached setting delegate for the '{@link #getLive() <em>Live</em>}' reference list. 48 * The cached setting delegate for the '{@link #getLive() <em>Live</em>}' reference list.
@@ -77,8 +78,7 @@ public class FileSystemImpl extends MinimalEObjectImpl.Container implements File
77 * <!-- end-user-doc --> 78 * <!-- end-user-doc -->
78 * @generated 79 * @generated
79 */ 80 */
80 @Override 81 public Dir getRoot() {
81 public FSObject getRoot() {
82 return root; 82 return root;
83 } 83 }
84 84
@@ -87,8 +87,8 @@ public class FileSystemImpl extends MinimalEObjectImpl.Container implements File
87 * <!-- end-user-doc --> 87 * <!-- end-user-doc -->
88 * @generated 88 * @generated
89 */ 89 */
90 public NotificationChain basicSetRoot(FSObject newRoot, NotificationChain msgs) { 90 public NotificationChain basicSetRoot(Dir newRoot, NotificationChain msgs) {
91 FSObject oldRoot = root; 91 Dir oldRoot = root;
92 root = newRoot; 92 root = newRoot;
93 if (eNotificationRequired()) { 93 if (eNotificationRequired()) {
94 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FilesystemPackage.FILE_SYSTEM__ROOT, oldRoot, newRoot); 94 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FilesystemPackage.FILE_SYSTEM__ROOT, oldRoot, newRoot);
@@ -102,8 +102,7 @@ public class FileSystemImpl extends MinimalEObjectImpl.Container implements File
102 * <!-- end-user-doc --> 102 * <!-- end-user-doc -->
103 * @generated 103 * @generated
104 */ 104 */
105 @Override 105 public void setRoot(Dir newRoot) {
106 public void setRoot(FSObject newRoot) {
107 if (newRoot != root) { 106 if (newRoot != root) {
108 NotificationChain msgs = null; 107 NotificationChain msgs = null;
109 if (root != null) 108 if (root != null)
@@ -123,7 +122,6 @@ public class FileSystemImpl extends MinimalEObjectImpl.Container implements File
123 * @generated 122 * @generated
124 */ 123 */
125 @SuppressWarnings("unchecked") 124 @SuppressWarnings("unchecked")
126 @Override
127 public EList<FSObject> getLive() { 125 public EList<FSObject> getLive() {
128 return (EList<FSObject>)LIVE__ESETTING_DELEGATE.dynamicGet(this, null, 0, true, false); 126 return (EList<FSObject>)LIVE__ESETTING_DELEGATE.dynamicGet(this, null, 0, true, false);
129 } 127 }
@@ -167,7 +165,7 @@ public class FileSystemImpl extends MinimalEObjectImpl.Container implements File
167 public void eSet(int featureID, Object newValue) { 165 public void eSet(int featureID, Object newValue) {
168 switch (featureID) { 166 switch (featureID) {
169 case FilesystemPackage.FILE_SYSTEM__ROOT: 167 case FilesystemPackage.FILE_SYSTEM__ROOT:
170 setRoot((FSObject)newValue); 168 setRoot((Dir)newValue);
171 return; 169 return;
172 } 170 }
173 super.eSet(featureID, newValue); 171 super.eSet(featureID, newValue);
@@ -182,7 +180,7 @@ public class FileSystemImpl extends MinimalEObjectImpl.Container implements File
182 public void eUnset(int featureID) { 180 public void eUnset(int featureID) {
183 switch (featureID) { 181 switch (featureID) {
184 case FilesystemPackage.FILE_SYSTEM__ROOT: 182 case FilesystemPackage.FILE_SYSTEM__ROOT:
185 setRoot((FSObject)null); 183 setRoot((Dir)null);
186 return; 184 return;
187 } 185 }
188 super.eUnset(featureID); 186 super.eUnset(featureID);
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FilesystemFactoryImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FilesystemFactoryImpl.java
index b4b09e15..e40b0bd1 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FilesystemFactoryImpl.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FilesystemFactoryImpl.java
@@ -70,7 +70,6 @@ public class FilesystemFactoryImpl extends EFactoryImpl implements FilesystemFac
70 * <!-- end-user-doc --> 70 * <!-- end-user-doc -->
71 * @generated 71 * @generated
72 */ 72 */
73 @Override
74 public FileSystem createFileSystem() { 73 public FileSystem createFileSystem() {
75 FileSystemImpl fileSystem = new FileSystemImpl(); 74 FileSystemImpl fileSystem = new FileSystemImpl();
76 return fileSystem; 75 return fileSystem;
@@ -81,7 +80,6 @@ public class FilesystemFactoryImpl extends EFactoryImpl implements FilesystemFac
81 * <!-- end-user-doc --> 80 * <!-- end-user-doc -->
82 * @generated 81 * @generated
83 */ 82 */
84 @Override
85 public Dir createDir() { 83 public Dir createDir() {
86 DirImpl dir = new DirImpl(); 84 DirImpl dir = new DirImpl();
87 return dir; 85 return dir;
@@ -92,7 +90,6 @@ public class FilesystemFactoryImpl extends EFactoryImpl implements FilesystemFac
92 * <!-- end-user-doc --> 90 * <!-- end-user-doc -->
93 * @generated 91 * @generated
94 */ 92 */
95 @Override
96 public File createFile() { 93 public File createFile() {
97 FileImpl file = new FileImpl(); 94 FileImpl file = new FileImpl();
98 return file; 95 return file;
@@ -103,7 +100,6 @@ public class FilesystemFactoryImpl extends EFactoryImpl implements FilesystemFac
103 * <!-- end-user-doc --> 100 * <!-- end-user-doc -->
104 * @generated 101 * @generated
105 */ 102 */
106 @Override
107 public Model createModel() { 103 public Model createModel() {
108 ModelImpl model = new ModelImpl(); 104 ModelImpl model = new ModelImpl();
109 return model; 105 return model;
@@ -114,7 +110,6 @@ public class FilesystemFactoryImpl extends EFactoryImpl implements FilesystemFac
114 * <!-- end-user-doc --> 110 * <!-- end-user-doc -->
115 * @generated 111 * @generated
116 */ 112 */
117 @Override
118 public FilesystemPackage getFilesystemPackage() { 113 public FilesystemPackage getFilesystemPackage() {
119 return (FilesystemPackage)getEPackage(); 114 return (FilesystemPackage)getEPackage();
120 } 115 }
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FilesystemPackageImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FilesystemPackageImpl.java
index 4c0ca4c5..87390fee 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FilesystemPackageImpl.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FilesystemPackageImpl.java
@@ -86,7 +86,7 @@ public class FilesystemPackageImpl extends EPackageImpl implements FilesystemPac
86 86
87 /** 87 /**
88 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends. 88 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
89 * 89 *
90 * <p>This method is used to initialize {@link FilesystemPackage#eINSTANCE} when that field is accessed. 90 * <p>This method is used to initialize {@link FilesystemPackage#eINSTANCE} when that field is accessed.
91 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. 91 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
92 * <!-- begin-user-doc --> 92 * <!-- begin-user-doc -->
@@ -100,8 +100,7 @@ public class FilesystemPackageImpl extends EPackageImpl implements FilesystemPac
100 if (isInited) return (FilesystemPackage)EPackage.Registry.INSTANCE.getEPackage(FilesystemPackage.eNS_URI); 100 if (isInited) return (FilesystemPackage)EPackage.Registry.INSTANCE.getEPackage(FilesystemPackage.eNS_URI);
101 101
102 // Obtain or create and register package 102 // Obtain or create and register package
103 Object registeredFilesystemPackage = EPackage.Registry.INSTANCE.get(eNS_URI); 103 FilesystemPackageImpl theFilesystemPackage = (FilesystemPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof FilesystemPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new FilesystemPackageImpl());
104 FilesystemPackageImpl theFilesystemPackage = registeredFilesystemPackage instanceof FilesystemPackageImpl ? (FilesystemPackageImpl)registeredFilesystemPackage : new FilesystemPackageImpl();
105 104
106 isInited = true; 105 isInited = true;
107 106
@@ -114,6 +113,7 @@ public class FilesystemPackageImpl extends EPackageImpl implements FilesystemPac
114 // Mark meta-data to indicate it can't be changed 113 // Mark meta-data to indicate it can't be changed
115 theFilesystemPackage.freeze(); 114 theFilesystemPackage.freeze();
116 115
116
117 // Update the registry and return the package 117 // Update the registry and return the package
118 EPackage.Registry.INSTANCE.put(FilesystemPackage.eNS_URI, theFilesystemPackage); 118 EPackage.Registry.INSTANCE.put(FilesystemPackage.eNS_URI, theFilesystemPackage);
119 return theFilesystemPackage; 119 return theFilesystemPackage;
@@ -124,7 +124,6 @@ public class FilesystemPackageImpl extends EPackageImpl implements FilesystemPac
124 * <!-- end-user-doc --> 124 * <!-- end-user-doc -->
125 * @generated 125 * @generated
126 */ 126 */
127 @Override
128 public EClass getFileSystem() { 127 public EClass getFileSystem() {
129 return fileSystemEClass; 128 return fileSystemEClass;
130 } 129 }
@@ -134,7 +133,6 @@ public class FilesystemPackageImpl extends EPackageImpl implements FilesystemPac
134 * <!-- end-user-doc --> 133 * <!-- end-user-doc -->
135 * @generated 134 * @generated
136 */ 135 */
137 @Override
138 public EReference getFileSystem_Root() { 136 public EReference getFileSystem_Root() {
139 return (EReference)fileSystemEClass.getEStructuralFeatures().get(0); 137 return (EReference)fileSystemEClass.getEStructuralFeatures().get(0);
140 } 138 }
@@ -144,7 +142,6 @@ public class FilesystemPackageImpl extends EPackageImpl implements FilesystemPac
144 * <!-- end-user-doc --> 142 * <!-- end-user-doc -->
145 * @generated 143 * @generated
146 */ 144 */
147 @Override
148 public EReference getFileSystem_Live() { 145 public EReference getFileSystem_Live() {
149 return (EReference)fileSystemEClass.getEStructuralFeatures().get(1); 146 return (EReference)fileSystemEClass.getEStructuralFeatures().get(1);
150 } 147 }
@@ -154,7 +151,6 @@ public class FilesystemPackageImpl extends EPackageImpl implements FilesystemPac
154 * <!-- end-user-doc --> 151 * <!-- end-user-doc -->
155 * @generated 152 * @generated
156 */ 153 */
157 @Override
158 public EClass getFSObject() { 154 public EClass getFSObject() {
159 return fsObjectEClass; 155 return fsObjectEClass;
160 } 156 }
@@ -164,7 +160,6 @@ public class FilesystemPackageImpl extends EPackageImpl implements FilesystemPac
164 * <!-- end-user-doc --> 160 * <!-- end-user-doc -->
165 * @generated 161 * @generated
166 */ 162 */
167 @Override
168 public EReference getFSObject_Parent() { 163 public EReference getFSObject_Parent() {
169 return (EReference)fsObjectEClass.getEStructuralFeatures().get(0); 164 return (EReference)fsObjectEClass.getEStructuralFeatures().get(0);
170 } 165 }
@@ -174,7 +169,6 @@ public class FilesystemPackageImpl extends EPackageImpl implements FilesystemPac
174 * <!-- end-user-doc --> 169 * <!-- end-user-doc -->
175 * @generated 170 * @generated
176 */ 171 */
177 @Override
178 public EClass getDir() { 172 public EClass getDir() {
179 return dirEClass; 173 return dirEClass;
180 } 174 }
@@ -184,7 +178,6 @@ public class FilesystemPackageImpl extends EPackageImpl implements FilesystemPac
184 * <!-- end-user-doc --> 178 * <!-- end-user-doc -->
185 * @generated 179 * @generated
186 */ 180 */
187 @Override
188 public EReference getDir_Contents() { 181 public EReference getDir_Contents() {
189 return (EReference)dirEClass.getEStructuralFeatures().get(0); 182 return (EReference)dirEClass.getEStructuralFeatures().get(0);
190 } 183 }
@@ -194,7 +187,6 @@ public class FilesystemPackageImpl extends EPackageImpl implements FilesystemPac
194 * <!-- end-user-doc --> 187 * <!-- end-user-doc -->
195 * @generated 188 * @generated
196 */ 189 */
197 @Override
198 public EClass getFile() { 190 public EClass getFile() {
199 return fileEClass; 191 return fileEClass;
200 } 192 }
@@ -204,7 +196,6 @@ public class FilesystemPackageImpl extends EPackageImpl implements FilesystemPac
204 * <!-- end-user-doc --> 196 * <!-- end-user-doc -->
205 * @generated 197 * @generated
206 */ 198 */
207 @Override
208 public EClass getModel() { 199 public EClass getModel() {
209 return modelEClass; 200 return modelEClass;
210 } 201 }
@@ -214,7 +205,6 @@ public class FilesystemPackageImpl extends EPackageImpl implements FilesystemPac
214 * <!-- end-user-doc --> 205 * <!-- end-user-doc -->
215 * @generated 206 * @generated
216 */ 207 */
217 @Override
218 public EReference getModel_Filesystems() { 208 public EReference getModel_Filesystems() {
219 return (EReference)modelEClass.getEStructuralFeatures().get(0); 209 return (EReference)modelEClass.getEStructuralFeatures().get(0);
220 } 210 }
@@ -224,7 +214,6 @@ public class FilesystemPackageImpl extends EPackageImpl implements FilesystemPac
224 * <!-- end-user-doc --> 214 * <!-- end-user-doc -->
225 * @generated 215 * @generated
226 */ 216 */
227 @Override
228 public EReference getModel_OtherFSObjects() { 217 public EReference getModel_OtherFSObjects() {
229 return (EReference)modelEClass.getEStructuralFeatures().get(1); 218 return (EReference)modelEClass.getEStructuralFeatures().get(1);
230 } 219 }
@@ -234,7 +223,6 @@ public class FilesystemPackageImpl extends EPackageImpl implements FilesystemPac
234 * <!-- end-user-doc --> 223 * <!-- end-user-doc -->
235 * @generated 224 * @generated
236 */ 225 */
237 @Override
238 public FilesystemFactory getFilesystemFactory() { 226 public FilesystemFactory getFilesystemFactory() {
239 return (FilesystemFactory)getEFactoryInstance(); 227 return (FilesystemFactory)getEFactoryInstance();
240 } 228 }
@@ -308,7 +296,7 @@ public class FilesystemPackageImpl extends EPackageImpl implements FilesystemPac
308 296
309 // Initialize classes, features, and operations; add parameters 297 // Initialize classes, features, and operations; add parameters
310 initEClass(fileSystemEClass, FileSystem.class, "FileSystem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 298 initEClass(fileSystemEClass, FileSystem.class, "FileSystem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
311 initEReference(getFileSystem_Root(), this.getFSObject(), null, "root", null, 1, 1, FileSystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 299 initEReference(getFileSystem_Root(), this.getDir(), null, "root", null, 1, 1, FileSystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
312 initEReference(getFileSystem_Live(), this.getFSObject(), null, "live", null, 0, -1, FileSystem.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); 300 initEReference(getFileSystem_Live(), this.getFSObject(), null, "live", null, 0, -1, FileSystem.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
313 301
314 initEClass(fsObjectEClass, FSObject.class, "FSObject", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 302 initEClass(fsObjectEClass, FSObject.class, "FSObject", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -340,12 +328,12 @@ public class FilesystemPackageImpl extends EPackageImpl implements FilesystemPac
340 * @generated 328 * @generated
341 */ 329 */
342 protected void createEcoreAnnotations() { 330 protected void createEcoreAnnotations() {
343 String source = "http://www.eclipse.org/emf/2002/Ecore"; 331 String source = "http://www.eclipse.org/emf/2002/Ecore";
344 addAnnotation 332 addAnnotation
345 (this, 333 (this,
346 source, 334 source,
347 new String[] { 335 new String[] {
348 "settingDelegates", "org.eclipse.viatra.query.querybasedfeature" 336 "settingDelegates", "org.eclipse.viatra.query.querybasedfeature"
349 }); 337 });
350 } 338 }
351 339
@@ -356,12 +344,12 @@ public class FilesystemPackageImpl extends EPackageImpl implements FilesystemPac
356 * @generated 344 * @generated
357 */ 345 */
358 protected void createOrgAnnotations() { 346 protected void createOrgAnnotations() {
359 String source = "org.eclipse.viatra.query.querybasedfeature"; 347 String source = "org.eclipse.viatra.query.querybasedfeature";
360 addAnnotation 348 addAnnotation
361 (getFileSystem_Live(), 349 (getFileSystem_Live(),
362 source, 350 source,
363 new String[] { 351 new String[] {
364 "patternFQN", "hu.bme.mit.inf.dslreasoner.domains.alloyexamples.live" 352 "patternFQN", "hu.bme.mit.inf.dslreasoner.domains.alloyexamples.live"
365 }); 353 });
366 } 354 }
367 355
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/ModelImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/ModelImpl.java
index 093b9972..4c236e8e 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/ModelImpl.java
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/ModelImpl.java
@@ -82,7 +82,6 @@ public class ModelImpl extends MinimalEObjectImpl.Container implements Model {
82 * <!-- end-user-doc --> 82 * <!-- end-user-doc -->
83 * @generated 83 * @generated
84 */ 84 */
85 @Override
86 public FileSystem getFilesystems() { 85 public FileSystem getFilesystems() {
87 return filesystems; 86 return filesystems;
88 } 87 }
@@ -107,7 +106,6 @@ public class ModelImpl extends MinimalEObjectImpl.Container implements Model {
107 * <!-- end-user-doc --> 106 * <!-- end-user-doc -->
108 * @generated 107 * @generated
109 */ 108 */
110 @Override
111 public void setFilesystems(FileSystem newFilesystems) { 109 public void setFilesystems(FileSystem newFilesystems) {
112 if (newFilesystems != filesystems) { 110 if (newFilesystems != filesystems) {
113 NotificationChain msgs = null; 111 NotificationChain msgs = null;
@@ -127,7 +125,6 @@ public class ModelImpl extends MinimalEObjectImpl.Container implements Model {
127 * <!-- end-user-doc --> 125 * <!-- end-user-doc -->
128 * @generated 126 * @generated
129 */ 127 */
130 @Override
131 public EList<FSObject> getOtherFSObjects() { 128 public EList<FSObject> getOtherFSObjects() {
132 if (otherFSObjects == null) { 129 if (otherFSObjects == null) {
133 otherFSObjects = new EObjectContainmentEList<FSObject>(FSObject.class, this, FilesystemPackage.MODEL__OTHER_FS_OBJECTS); 130 otherFSObjects = new EObjectContainmentEList<FSObject>(FSObject.class, this, FilesystemPackage.MODEL__OTHER_FS_OBJECTS);
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 2fb246c9..b95c6b68 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 += 32..64 10 #node += 64..128
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 = 5 19 runs = 3
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 3b9d7ecf..4c5ea937 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
@@ -14,6 +14,8 @@ import org.eclipse.emf.ecore.EObject;
14 * </p> 14 * </p>
15 * <ul> 15 * <ul>
16 * <li>{@link satellite.CommSubsystem#getTarget <em>Target</em>}</li> 16 * <li>{@link satellite.CommSubsystem#getTarget <em>Target</em>}</li>
17 * <li>{@link satellite.CommSubsystem#getFrequency <em>Frequency</em>}</li>
18 * <li>{@link satellite.CommSubsystem#getPathLength <em>Path Length</em>}</li>
17 * </ul> 19 * </ul>
18 * 20 *
19 * @see satellite.SatellitePackage#getCommSubsystem() 21 * @see satellite.SatellitePackage#getCommSubsystem()
@@ -44,4 +46,48 @@ public interface CommSubsystem extends EObject {
44 */ 46 */
45 void setTarget(CommSubsystem value); 47 void setTarget(CommSubsystem value);
46 48
49 /**
50 * Returns the value of the '<em><b>Frequency</b></em>' attribute.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @return the value of the '<em>Frequency</em>' attribute.
54 * @see #setFrequency(int)
55 * @see satellite.SatellitePackage#getCommSubsystem_Frequency()
56 * @model required="true"
57 * @generated
58 */
59 int getFrequency();
60
61 /**
62 * Sets the value of the '{@link satellite.CommSubsystem#getFrequency <em>Frequency</em>}' attribute.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @param value the new value of the '<em>Frequency</em>' attribute.
66 * @see #getFrequency()
67 * @generated
68 */
69 void setFrequency(int value);
70
71 /**
72 * Returns the value of the '<em><b>Path Length</b></em>' attribute.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @return the value of the '<em>Path Length</em>' attribute.
76 * @see #setPathLength(int)
77 * @see satellite.SatellitePackage#getCommSubsystem_PathLength()
78 * @model required="true"
79 * @generated
80 */
81 int getPathLength();
82
83 /**
84 * Sets the value of the '{@link satellite.CommSubsystem#getPathLength <em>Path Length</em>}' attribute.
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @param value the new value of the '<em>Path Length</em>' attribute.
88 * @see #getPathLength()
89 * @generated
90 */
91 void setPathLength(int value);
92
47} // CommSubsystem 93} // CommSubsystem
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatellitePackage.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatellitePackage.java
index 9ca99311..173e2388 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
@@ -2,6 +2,7 @@
2 */ 2 */
3package satellite; 3package satellite;
4 4
5import org.eclipse.emf.ecore.EAttribute;
5import org.eclipse.emf.ecore.EClass; 6import org.eclipse.emf.ecore.EClass;
6import org.eclipse.emf.ecore.EPackage; 7import org.eclipse.emf.ecore.EPackage;
7import org.eclipse.emf.ecore.EReference; 8import org.eclipse.emf.ecore.EReference;
@@ -287,13 +288,31 @@ public interface SatellitePackage extends EPackage {
287 int COMM_SUBSYSTEM__TARGET = 0; 288 int COMM_SUBSYSTEM__TARGET = 0;
288 289
289 /** 290 /**
291 * The feature id for the '<em><b>Frequency</b></em>' attribute.
292 * <!-- begin-user-doc -->
293 * <!-- end-user-doc -->
294 * @generated
295 * @ordered
296 */
297 int COMM_SUBSYSTEM__FREQUENCY = 1;
298
299 /**
300 * The feature id for the '<em><b>Path Length</b></em>' attribute.
301 * <!-- begin-user-doc -->
302 * <!-- end-user-doc -->
303 * @generated
304 * @ordered
305 */
306 int COMM_SUBSYSTEM__PATH_LENGTH = 2;
307
308 /**
290 * The number of structural features of the '<em>Comm Subsystem</em>' class. 309 * The number of structural features of the '<em>Comm Subsystem</em>' class.
291 * <!-- begin-user-doc --> 310 * <!-- begin-user-doc -->
292 * <!-- end-user-doc --> 311 * <!-- end-user-doc -->
293 * @generated 312 * @generated
294 * @ordered 313 * @ordered
295 */ 314 */
296 int COMM_SUBSYSTEM_FEATURE_COUNT = 1; 315 int COMM_SUBSYSTEM_FEATURE_COUNT = 3;
297 316
298 /** 317 /**
299 * The number of operations of the '<em>Comm Subsystem</em>' class. 318 * The number of operations of the '<em>Comm Subsystem</em>' class.
@@ -564,6 +583,24 @@ public interface SatellitePackage extends EPackage {
564 int UHF_COMM_SUBSYSTEM__TARGET = COMM_SUBSYSTEM__TARGET; 583 int UHF_COMM_SUBSYSTEM__TARGET = COMM_SUBSYSTEM__TARGET;
565 584
566 /** 585 /**
586 * The feature id for the '<em><b>Frequency</b></em>' attribute.
587 * <!-- begin-user-doc -->
588 * <!-- end-user-doc -->
589 * @generated
590 * @ordered
591 */
592 int UHF_COMM_SUBSYSTEM__FREQUENCY = COMM_SUBSYSTEM__FREQUENCY;
593
594 /**
595 * The feature id for the '<em><b>Path Length</b></em>' attribute.
596 * <!-- begin-user-doc -->
597 * <!-- end-user-doc -->
598 * @generated
599 * @ordered
600 */
601 int UHF_COMM_SUBSYSTEM__PATH_LENGTH = COMM_SUBSYSTEM__PATH_LENGTH;
602
603 /**
567 * The number of structural features of the '<em>UHF Comm Subsystem</em>' class. 604 * The number of structural features of the '<em>UHF Comm Subsystem</em>' class.
568 * <!-- begin-user-doc --> 605 * <!-- begin-user-doc -->
569 * <!-- end-user-doc --> 606 * <!-- end-user-doc -->
@@ -601,6 +638,24 @@ public interface SatellitePackage extends EPackage {
601 int XCOMM_SUBSYSTEM__TARGET = COMM_SUBSYSTEM__TARGET; 638 int XCOMM_SUBSYSTEM__TARGET = COMM_SUBSYSTEM__TARGET;
602 639
603 /** 640 /**
641 * The feature id for the '<em><b>Frequency</b></em>' attribute.
642 * <!-- begin-user-doc -->
643 * <!-- end-user-doc -->
644 * @generated
645 * @ordered
646 */
647 int XCOMM_SUBSYSTEM__FREQUENCY = COMM_SUBSYSTEM__FREQUENCY;
648
649 /**
650 * The feature id for the '<em><b>Path Length</b></em>' attribute.
651 * <!-- begin-user-doc -->
652 * <!-- end-user-doc -->
653 * @generated
654 * @ordered
655 */
656 int XCOMM_SUBSYSTEM__PATH_LENGTH = COMM_SUBSYSTEM__PATH_LENGTH;
657
658 /**
604 * The number of structural features of the '<em>XComm Subsystem</em>' class. 659 * The number of structural features of the '<em>XComm Subsystem</em>' class.
605 * <!-- begin-user-doc --> 660 * <!-- begin-user-doc -->
606 * <!-- end-user-doc --> 661 * <!-- end-user-doc -->
@@ -638,6 +693,24 @@ public interface SatellitePackage extends EPackage {
638 int KA_COMM_SUBSYSTEM__TARGET = COMM_SUBSYSTEM__TARGET; 693 int KA_COMM_SUBSYSTEM__TARGET = COMM_SUBSYSTEM__TARGET;
639 694
640 /** 695 /**
696 * The feature id for the '<em><b>Frequency</b></em>' attribute.
697 * <!-- begin-user-doc -->
698 * <!-- end-user-doc -->
699 * @generated
700 * @ordered
701 */
702 int KA_COMM_SUBSYSTEM__FREQUENCY = COMM_SUBSYSTEM__FREQUENCY;
703
704 /**
705 * The feature id for the '<em><b>Path Length</b></em>' attribute.
706 * <!-- begin-user-doc -->
707 * <!-- end-user-doc -->
708 * @generated
709 * @ordered
710 */
711 int KA_COMM_SUBSYSTEM__PATH_LENGTH = COMM_SUBSYSTEM__PATH_LENGTH;
712
713 /**
641 * The number of structural features of the '<em>Ka Comm Subsystem</em>' class. 714 * The number of structural features of the '<em>Ka Comm Subsystem</em>' class.
642 * <!-- begin-user-doc --> 715 * <!-- begin-user-doc -->
643 * <!-- end-user-doc --> 716 * <!-- end-user-doc -->
@@ -771,6 +844,28 @@ public interface SatellitePackage extends EPackage {
771 EReference getCommSubsystem_Target(); 844 EReference getCommSubsystem_Target();
772 845
773 /** 846 /**
847 * Returns the meta object for the attribute '{@link satellite.CommSubsystem#getFrequency <em>Frequency</em>}'.
848 * <!-- begin-user-doc -->
849 * <!-- end-user-doc -->
850 * @return the meta object for the attribute '<em>Frequency</em>'.
851 * @see satellite.CommSubsystem#getFrequency()
852 * @see #getCommSubsystem()
853 * @generated
854 */
855 EAttribute getCommSubsystem_Frequency();
856
857 /**
858 * Returns the meta object for the attribute '{@link satellite.CommSubsystem#getPathLength <em>Path Length</em>}'.
859 * <!-- begin-user-doc -->
860 * <!-- end-user-doc -->
861 * @return the meta object for the attribute '<em>Path Length</em>'.
862 * @see satellite.CommSubsystem#getPathLength()
863 * @see #getCommSubsystem()
864 * @generated
865 */
866 EAttribute getCommSubsystem_PathLength();
867
868 /**
774 * Returns the meta object for class '{@link satellite.Payload <em>Payload</em>}'. 869 * Returns the meta object for class '{@link satellite.Payload <em>Payload</em>}'.
775 * <!-- begin-user-doc --> 870 * <!-- begin-user-doc -->
776 * <!-- end-user-doc --> 871 * <!-- end-user-doc -->
@@ -985,6 +1080,22 @@ public interface SatellitePackage extends EPackage {
985 EReference COMM_SUBSYSTEM__TARGET = eINSTANCE.getCommSubsystem_Target(); 1080 EReference COMM_SUBSYSTEM__TARGET = eINSTANCE.getCommSubsystem_Target();
986 1081
987 /** 1082 /**
1083 * The meta object literal for the '<em><b>Frequency</b></em>' attribute feature.
1084 * <!-- begin-user-doc -->
1085 * <!-- end-user-doc -->
1086 * @generated
1087 */
1088 EAttribute COMM_SUBSYSTEM__FREQUENCY = eINSTANCE.getCommSubsystem_Frequency();
1089
1090 /**
1091 * The meta object literal for the '<em><b>Path Length</b></em>' attribute feature.
1092 * <!-- begin-user-doc -->
1093 * <!-- end-user-doc -->
1094 * @generated
1095 */
1096 EAttribute COMM_SUBSYSTEM__PATH_LENGTH = eINSTANCE.getCommSubsystem_PathLength();
1097
1098 /**
988 * The meta object literal for the '{@link satellite.impl.PayloadImpl <em>Payload</em>}' class. 1099 * The meta object literal for the '{@link satellite.impl.PayloadImpl <em>Payload</em>}' class.
989 * <!-- begin-user-doc --> 1100 * <!-- begin-user-doc -->
990 * <!-- end-user-doc --> 1101 * <!-- end-user-doc -->
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 d39abd4d..96a25d7c 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
@@ -19,6 +19,8 @@ import satellite.SatellitePackage;
19 * </p> 19 * </p>
20 * <ul> 20 * <ul>
21 * <li>{@link satellite.impl.CommSubsystemImpl#getTarget <em>Target</em>}</li> 21 * <li>{@link satellite.impl.CommSubsystemImpl#getTarget <em>Target</em>}</li>
22 * <li>{@link satellite.impl.CommSubsystemImpl#getFrequency <em>Frequency</em>}</li>
23 * <li>{@link satellite.impl.CommSubsystemImpl#getPathLength <em>Path Length</em>}</li>
22 * </ul> 24 * </ul>
23 * 25 *
24 * @generated 26 * @generated
@@ -35,6 +37,45 @@ public abstract class CommSubsystemImpl extends MinimalEObjectImpl.Container imp
35 protected CommSubsystem target; 37 protected CommSubsystem target;
36 38
37 /** 39 /**
40 * The default value of the '{@link #getFrequency() <em>Frequency</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getFrequency()
44 * @generated
45 * @ordered
46 */
47 protected static final int FREQUENCY_EDEFAULT = 0;
48 /**
49 * The cached value of the '{@link #getFrequency() <em>Frequency</em>}' attribute.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @see #getFrequency()
53 * @generated
54 * @ordered
55 */
56 protected int frequency = FREQUENCY_EDEFAULT;
57
58 /**
59 * The default value of the '{@link #getPathLength() <em>Path Length</em>}' attribute.
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @see #getPathLength()
63 * @generated
64 * @ordered
65 */
66 protected static final int PATH_LENGTH_EDEFAULT = 0;
67
68 /**
69 * The cached value of the '{@link #getPathLength() <em>Path Length</em>}' attribute.
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @see #getPathLength()
73 * @generated
74 * @ordered
75 */
76 protected int pathLength = PATH_LENGTH_EDEFAULT;
77
78 /**
38 * <!-- begin-user-doc --> 79 * <!-- begin-user-doc -->
39 * <!-- end-user-doc --> 80 * <!-- end-user-doc -->
40 * @generated 81 * @generated
@@ -101,12 +142,64 @@ public abstract class CommSubsystemImpl extends MinimalEObjectImpl.Container imp
101 * @generated 142 * @generated
102 */ 143 */
103 @Override 144 @Override
145 public int getFrequency() {
146 return frequency;
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 @Override
155 public void setFrequency(int newFrequency) {
156 int oldFrequency = frequency;
157 frequency = newFrequency;
158 if (eNotificationRequired())
159 eNotify(new ENotificationImpl(this, Notification.SET, SatellitePackage.COMM_SUBSYSTEM__FREQUENCY,
160 oldFrequency, frequency));
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public int getPathLength() {
170 return pathLength;
171 }
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 @Override
179 public void setPathLength(int newPathLength) {
180 int oldPathLength = pathLength;
181 pathLength = newPathLength;
182 if (eNotificationRequired())
183 eNotify(new ENotificationImpl(this, Notification.SET, SatellitePackage.COMM_SUBSYSTEM__PATH_LENGTH,
184 oldPathLength, pathLength));
185 }
186
187 /**
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @generated
191 */
192 @Override
104 public Object eGet(int featureID, boolean resolve, boolean coreType) { 193 public Object eGet(int featureID, boolean resolve, boolean coreType) {
105 switch (featureID) { 194 switch (featureID) {
106 case SatellitePackage.COMM_SUBSYSTEM__TARGET: 195 case SatellitePackage.COMM_SUBSYSTEM__TARGET:
107 if (resolve) 196 if (resolve)
108 return getTarget(); 197 return getTarget();
109 return basicGetTarget(); 198 return basicGetTarget();
199 case SatellitePackage.COMM_SUBSYSTEM__FREQUENCY:
200 return getFrequency();
201 case SatellitePackage.COMM_SUBSYSTEM__PATH_LENGTH:
202 return getPathLength();
110 } 203 }
111 return super.eGet(featureID, resolve, coreType); 204 return super.eGet(featureID, resolve, coreType);
112 } 205 }
@@ -123,6 +216,12 @@ public abstract class CommSubsystemImpl extends MinimalEObjectImpl.Container imp
123 case SatellitePackage.COMM_SUBSYSTEM__TARGET: 216 case SatellitePackage.COMM_SUBSYSTEM__TARGET:
124 setTarget((CommSubsystem) newValue); 217 setTarget((CommSubsystem) newValue);
125 return; 218 return;
219 case SatellitePackage.COMM_SUBSYSTEM__FREQUENCY:
220 setFrequency((Integer) newValue);
221 return;
222 case SatellitePackage.COMM_SUBSYSTEM__PATH_LENGTH:
223 setPathLength((Integer) newValue);
224 return;
126 } 225 }
127 super.eSet(featureID, newValue); 226 super.eSet(featureID, newValue);
128 } 227 }
@@ -138,6 +237,12 @@ public abstract class CommSubsystemImpl extends MinimalEObjectImpl.Container imp
138 case SatellitePackage.COMM_SUBSYSTEM__TARGET: 237 case SatellitePackage.COMM_SUBSYSTEM__TARGET:
139 setTarget((CommSubsystem) null); 238 setTarget((CommSubsystem) null);
140 return; 239 return;
240 case SatellitePackage.COMM_SUBSYSTEM__FREQUENCY:
241 setFrequency(FREQUENCY_EDEFAULT);
242 return;
243 case SatellitePackage.COMM_SUBSYSTEM__PATH_LENGTH:
244 setPathLength(PATH_LENGTH_EDEFAULT);
245 return;
141 } 246 }
142 super.eUnset(featureID); 247 super.eUnset(featureID);
143 } 248 }
@@ -152,8 +257,31 @@ public abstract class CommSubsystemImpl extends MinimalEObjectImpl.Container imp
152 switch (featureID) { 257 switch (featureID) {
153 case SatellitePackage.COMM_SUBSYSTEM__TARGET: 258 case SatellitePackage.COMM_SUBSYSTEM__TARGET:
154 return target != null; 259 return target != null;
260 case SatellitePackage.COMM_SUBSYSTEM__FREQUENCY:
261 return frequency != FREQUENCY_EDEFAULT;
262 case SatellitePackage.COMM_SUBSYSTEM__PATH_LENGTH:
263 return pathLength != PATH_LENGTH_EDEFAULT;
155 } 264 }
156 return super.eIsSet(featureID); 265 return super.eIsSet(featureID);
157 } 266 }
158 267
268 /**
269 * <!-- begin-user-doc -->
270 * <!-- end-user-doc -->
271 * @generated
272 */
273 @Override
274 public String toString() {
275 if (eIsProxy())
276 return super.toString();
277
278 StringBuilder result = new StringBuilder(super.toString());
279 result.append(" (frequency: ");
280 result.append(frequency);
281 result.append(", pathLength: ");
282 result.append(pathLength);
283 result.append(')');
284 return result.toString();
285 }
286
159} //CommSubsystemImpl 287} //CommSubsystemImpl
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 f6dc1e30..39a6075f 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
@@ -2,6 +2,7 @@
2 */ 2 */
3package satellite.impl; 3package satellite.impl;
4 4
5import org.eclipse.emf.ecore.EAttribute;
5import org.eclipse.emf.ecore.EClass; 6import org.eclipse.emf.ecore.EClass;
6import org.eclipse.emf.ecore.EPackage; 7import org.eclipse.emf.ecore.EPackage;
7import org.eclipse.emf.ecore.EReference; 8import org.eclipse.emf.ecore.EReference;
@@ -317,6 +318,26 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
317 * @generated 318 * @generated
318 */ 319 */
319 @Override 320 @Override
321 public EAttribute getCommSubsystem_Frequency() {
322 return (EAttribute) commSubsystemEClass.getEStructuralFeatures().get(1);
323 }
324
325 /**
326 * <!-- begin-user-doc -->
327 * <!-- end-user-doc -->
328 * @generated
329 */
330 @Override
331 public EAttribute getCommSubsystem_PathLength() {
332 return (EAttribute) commSubsystemEClass.getEStructuralFeatures().get(2);
333 }
334
335 /**
336 * <!-- begin-user-doc -->
337 * <!-- end-user-doc -->
338 * @generated
339 */
340 @Override
320 public EClass getPayload() { 341 public EClass getPayload() {
321 return payloadEClass; 342 return payloadEClass;
322 } 343 }
@@ -447,6 +468,8 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
447 468
448 commSubsystemEClass = createEClass(COMM_SUBSYSTEM); 469 commSubsystemEClass = createEClass(COMM_SUBSYSTEM);
449 createEReference(commSubsystemEClass, COMM_SUBSYSTEM__TARGET); 470 createEReference(commSubsystemEClass, COMM_SUBSYSTEM__TARGET);
471 createEAttribute(commSubsystemEClass, COMM_SUBSYSTEM__FREQUENCY);
472 createEAttribute(commSubsystemEClass, COMM_SUBSYSTEM__PATH_LENGTH);
450 473
451 payloadEClass = createEClass(PAYLOAD); 474 payloadEClass = createEClass(PAYLOAD);
452 475
@@ -541,6 +564,12 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka
541 initEReference(getCommSubsystem_Target(), this.getCommSubsystem(), null, "target", null, 0, 1, 564 initEReference(getCommSubsystem_Target(), this.getCommSubsystem(), null, "target", null, 0, 1,
542 CommSubsystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, 565 CommSubsystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
543 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 566 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
567 initEAttribute(getCommSubsystem_Frequency(), ecorePackage.getEInt(), "frequency", null, 1, 1,
568 CommSubsystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
569 !IS_DERIVED, IS_ORDERED);
570 initEAttribute(getCommSubsystem_PathLength(), ecorePackage.getEInt(), "pathLength", null, 1, 1,
571 CommSubsystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
572 !IS_DERIVED, IS_ORDERED);
544 573
545 initEClass(payloadEClass, Payload.class, "Payload", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 574 initEClass(payloadEClass, Payload.class, "Payload", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
546 575
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.aird b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.aird
new file mode 100644
index 00000000..23e8b463
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.aird
@@ -0,0 +1,796 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style">
3 <viewpoint:DAnalysis uid="_7bw1kJL8EeqASt_f1N53dA" selectedViews="_7hH2sJL8EeqASt_f1N53dA _7haKkJL8EeqASt_f1N53dA _7hcm0JL8EeqASt_f1N53dA _7hkioJL8EeqASt_f1N53dA" version="14.1.0.201810161215">
4 <semanticResources>satellite.ecore</semanticResources>
5 <semanticResources>satellite.genmodel</semanticResources>
6 <ownedViews xmi:type="viewpoint:DView" uid="_7hH2sJL8EeqASt_f1N53dA">
7 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
8 <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_8OViAJL8EeqASt_f1N53dA" name="satellite class diagram" repPath="#_8NoXYJL8EeqASt_f1N53dA">
9 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
10 <target xmi:type="ecore:EPackage" href="satellite.ecore#/"/>
11 </ownedRepresentationDescriptors>
12 </ownedViews>
13 <ownedViews xmi:type="viewpoint:DView" uid="_7haKkJL8EeqASt_f1N53dA">
14 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Review']"/>
15 </ownedViews>
16 <ownedViews xmi:type="viewpoint:DView" uid="_7hcm0JL8EeqASt_f1N53dA">
17 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']"/>
18 </ownedViews>
19 <ownedViews xmi:type="viewpoint:DView" uid="_7hkioJL8EeqASt_f1N53dA">
20 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Generation']"/>
21 </ownedViews>
22 </viewpoint:DAnalysis>
23 <diagram:DSemanticDiagram uid="_8NoXYJL8EeqASt_f1N53dA" name="satellite class diagram">
24 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_8OM_IJL8EeqASt_f1N53dA" source="DANNOTATION_CUSTOMIZATION_KEY">
25 <data xmi:type="diagram:ComputedStyleDescriptionRegistry" uid="_8OM_IZL8EeqASt_f1N53dA">
26 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_855AcJL8EeqASt_f1N53dA" sourceArrow="FillDiamond" routingStyle="manhattan">
27 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
28 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_855AcZL8EeqASt_f1N53dA" showIcon="false" labelExpression="service:render">
29 <labelFormat>bold</labelFormat>
30 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
31 </centerLabelStyleDescription>
32 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_855AcpL8EeqASt_f1N53dA" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
33 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
34 </endLabelStyleDescription>
35 </computedStyleDescriptions>
36 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_858q0JL8EeqASt_f1N53dA" sourceArrow="FillDiamond" routingStyle="manhattan">
37 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
38 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_858q0ZL8EeqASt_f1N53dA" showIcon="false" labelExpression="service:render">
39 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
40 </centerLabelStyleDescription>
41 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_858q0pL8EeqASt_f1N53dA" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
42 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
43 </endLabelStyleDescription>
44 </computedStyleDescriptions>
45 <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_gEoLsJMEEeqASt_f1N53dA" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
46 <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
47 <labelFormat>bold</labelFormat>
48 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
49 <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
50 </computedStyleDescriptions>
51 </data>
52 </ownedAnnotationEntries>
53 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_8OsHUJL8EeqASt_f1N53dA" source="GMF_DIAGRAMS">
54 <data xmi:type="notation:Diagram" xmi:id="_8OsuYJL8EeqASt_f1N53dA" type="Sirius" element="_8NoXYJL8EeqASt_f1N53dA" measurementUnit="Pixel">
55 <children xmi:type="notation:Node" xmi:id="_86UeQJL8EeqASt_f1N53dA" type="2003" element="_85BdwJL8EeqASt_f1N53dA">
56 <children xmi:type="notation:Node" xmi:id="_86VsYJL8EeqASt_f1N53dA" type="5007"/>
57 <children xmi:type="notation:Node" xmi:id="_86W6gJL8EeqASt_f1N53dA" type="7004">
58 <styles xmi:type="notation:SortingStyle" xmi:id="_86W6gZL8EeqASt_f1N53dA"/>
59 <styles xmi:type="notation:FilteringStyle" xmi:id="_86W6gpL8EeqASt_f1N53dA"/>
60 </children>
61 <styles xmi:type="notation:ShapeStyle" xmi:id="_86UeQZL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8" italic="true"/>
62 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86UeQpL8EeqASt_f1N53dA" x="468" y="480"/>
63 </children>
64 <children xmi:type="notation:Node" xmi:id="_86XhkJL8EeqASt_f1N53dA" type="2003" element="_85FvMJL8EeqASt_f1N53dA">
65 <children xmi:type="notation:Node" xmi:id="_86YIoJL8EeqASt_f1N53dA" type="5007"/>
66 <children xmi:type="notation:Node" xmi:id="_86YIoZL8EeqASt_f1N53dA" type="7004">
67 <styles xmi:type="notation:SortingStyle" xmi:id="_86YIopL8EeqASt_f1N53dA"/>
68 <styles xmi:type="notation:FilteringStyle" xmi:id="_86YIo5L8EeqASt_f1N53dA"/>
69 </children>
70 <styles xmi:type="notation:ShapeStyle" xmi:id="_86XhkZL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
71 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86XhkpL8EeqASt_f1N53dA" x="456" y="636"/>
72 </children>
73 <children xmi:type="notation:Node" xmi:id="_86YIpJL8EeqASt_f1N53dA" type="2003" element="_85G9UJL8EeqASt_f1N53dA">
74 <children xmi:type="notation:Node" xmi:id="_86YvsJL8EeqASt_f1N53dA" type="5007"/>
75 <children xmi:type="notation:Node" xmi:id="_86YvsZL8EeqASt_f1N53dA" type="7004">
76 <styles xmi:type="notation:SortingStyle" xmi:id="_86YvspL8EeqASt_f1N53dA"/>
77 <styles xmi:type="notation:FilteringStyle" xmi:id="_86Yvs5L8EeqASt_f1N53dA"/>
78 </children>
79 <styles xmi:type="notation:ShapeStyle" xmi:id="_86YIpZL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8" italic="true"/>
80 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86YIppL8EeqASt_f1N53dA" x="552" y="156"/>
81 </children>
82 <children xmi:type="notation:Node" xmi:id="_86ZWwJL8EeqASt_f1N53dA" type="2003" element="_85ILcJL8EeqASt_f1N53dA">
83 <children xmi:type="notation:Node" xmi:id="_86Z90JL8EeqASt_f1N53dA" type="5007"/>
84 <children xmi:type="notation:Node" xmi:id="_86ak4JL8EeqASt_f1N53dA" type="7004">
85 <styles xmi:type="notation:SortingStyle" xmi:id="_86ak4ZL8EeqASt_f1N53dA"/>
86 <styles xmi:type="notation:FilteringStyle" xmi:id="_86ak4pL8EeqASt_f1N53dA"/>
87 </children>
88 <styles xmi:type="notation:ShapeStyle" xmi:id="_86ZWwZL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
89 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86ZWwpL8EeqASt_f1N53dA" x="444" y="324"/>
90 </children>
91 <children xmi:type="notation:Node" xmi:id="_86ak45L8EeqASt_f1N53dA" type="2003" element="_85JZkJL8EeqASt_f1N53dA">
92 <children xmi:type="notation:Node" xmi:id="_86bL8JL8EeqASt_f1N53dA" type="5007"/>
93 <children xmi:type="notation:Node" xmi:id="_86bL8ZL8EeqASt_f1N53dA" type="7004">
94 <styles xmi:type="notation:SortingStyle" xmi:id="_86bL8pL8EeqASt_f1N53dA"/>
95 <styles xmi:type="notation:FilteringStyle" xmi:id="_86bL85L8EeqASt_f1N53dA"/>
96 </children>
97 <styles xmi:type="notation:ShapeStyle" xmi:id="_86ak5JL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8" italic="true"/>
98 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86ak5ZL8EeqASt_f1N53dA" x="648" y="324"/>
99 </children>
100 <children xmi:type="notation:Node" xmi:id="_86bL9JL8EeqASt_f1N53dA" type="2003" element="_85KnsJL8EeqASt_f1N53dA">
101 <children xmi:type="notation:Node" xmi:id="_86bzAJL8EeqASt_f1N53dA" type="5007"/>
102 <children xmi:type="notation:Node" xmi:id="_86caEJL8EeqASt_f1N53dA" type="7004">
103 <children xmi:type="notation:Node" xmi:id="_HoGPkJL9EeqASt_f1N53dA" type="3010" element="_HnfLkJL9EeqASt_f1N53dA">
104 <styles xmi:type="notation:FontStyle" xmi:id="_HoGPkZL9EeqASt_f1N53dA" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
105 <layoutConstraint xmi:type="notation:Location" xmi:id="_HoGPkpL9EeqASt_f1N53dA"/>
106 </children>
107 <styles xmi:type="notation:SortingStyle" xmi:id="_86caEZL8EeqASt_f1N53dA"/>
108 <styles xmi:type="notation:FilteringStyle" xmi:id="_86caEpL8EeqASt_f1N53dA"/>
109 </children>
110 <styles xmi:type="notation:ShapeStyle" xmi:id="_86bL9ZL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8" italic="true"/>
111 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86bL9pL8EeqASt_f1N53dA" x="276"/>
112 </children>
113 <children xmi:type="notation:Node" xmi:id="_86caE5L8EeqASt_f1N53dA" type="2003" element="_85Mc4JL8EeqASt_f1N53dA">
114 <children xmi:type="notation:Node" xmi:id="_86dBIJL8EeqASt_f1N53dA" type="5007"/>
115 <children xmi:type="notation:Node" xmi:id="_86ePQJL8EeqASt_f1N53dA" type="7004">
116 <styles xmi:type="notation:SortingStyle" xmi:id="_86ePQZL8EeqASt_f1N53dA"/>
117 <styles xmi:type="notation:FilteringStyle" xmi:id="_86ePQpL8EeqASt_f1N53dA"/>
118 </children>
119 <styles xmi:type="notation:ShapeStyle" xmi:id="_86caFJL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8" italic="true"/>
120 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86caFZL8EeqASt_f1N53dA" x="744" y="156"/>
121 </children>
122 <children xmi:type="notation:Node" xmi:id="_86e2UJL8EeqASt_f1N53dA" type="2003" element="_85NrAJL8EeqASt_f1N53dA">
123 <children xmi:type="notation:Node" xmi:id="_86gEcJL8EeqASt_f1N53dA" type="5007"/>
124 <children xmi:type="notation:Node" xmi:id="_86gEcZL8EeqASt_f1N53dA" type="7004">
125 <styles xmi:type="notation:SortingStyle" xmi:id="_86gEcpL8EeqASt_f1N53dA"/>
126 <styles xmi:type="notation:FilteringStyle" xmi:id="_86gEc5L8EeqASt_f1N53dA"/>
127 </children>
128 <styles xmi:type="notation:ShapeStyle" xmi:id="_86e2UZL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
129 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86e2UpL8EeqASt_f1N53dA" x="828" y="324"/>
130 </children>
131 <children xmi:type="notation:Node" xmi:id="_86grgJL8EeqASt_f1N53dA" type="2003" element="_85PgMJL8EeqASt_f1N53dA">
132 <children xmi:type="notation:Node" xmi:id="_86hSkJL8EeqASt_f1N53dA" type="5007"/>
133 <children xmi:type="notation:Node" xmi:id="_86hSkZL8EeqASt_f1N53dA" type="7004">
134 <styles xmi:type="notation:SortingStyle" xmi:id="_86hSkpL8EeqASt_f1N53dA"/>
135 <styles xmi:type="notation:FilteringStyle" xmi:id="_86hSk5L8EeqASt_f1N53dA"/>
136 </children>
137 <styles xmi:type="notation:ShapeStyle" xmi:id="_86grgZL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
138 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86grgpL8EeqASt_f1N53dA" x="648" y="636"/>
139 </children>
140 <children xmi:type="notation:Node" xmi:id="_86h5oJL8EeqASt_f1N53dA" type="2003" element="_85RVYJL8EeqASt_f1N53dA">
141 <children xmi:type="notation:Node" xmi:id="_86h5o5L8EeqASt_f1N53dA" type="5007"/>
142 <children xmi:type="notation:Node" xmi:id="_86igsJL8EeqASt_f1N53dA" type="7004">
143 <styles xmi:type="notation:SortingStyle" xmi:id="_86igsZL8EeqASt_f1N53dA"/>
144 <styles xmi:type="notation:FilteringStyle" xmi:id="_86igspL8EeqASt_f1N53dA"/>
145 </children>
146 <styles xmi:type="notation:ShapeStyle" xmi:id="_86h5oZL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
147 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86h5opL8EeqASt_f1N53dA" x="828" y="636"/>
148 </children>
149 <children xmi:type="notation:Node" xmi:id="_86igs5L8EeqASt_f1N53dA" type="2003" element="_85SjgJL8EeqASt_f1N53dA">
150 <children xmi:type="notation:Node" xmi:id="_86jHwJL8EeqASt_f1N53dA" type="5007"/>
151 <children xmi:type="notation:Node" xmi:id="_86jHwZL8EeqASt_f1N53dA" type="7004">
152 <styles xmi:type="notation:SortingStyle" xmi:id="_86jHwpL8EeqASt_f1N53dA"/>
153 <styles xmi:type="notation:FilteringStyle" xmi:id="_86ju0JL8EeqASt_f1N53dA"/>
154 </children>
155 <styles xmi:type="notation:ShapeStyle" xmi:id="_86igtJL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
156 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86igtZL8EeqASt_f1N53dA" x="828" y="480"/>
157 </children>
158 <children xmi:type="notation:Node" xmi:id="_86kV4JL8EeqASt_f1N53dA" type="2003" element="_85UYsJL8EeqASt_f1N53dA">
159 <children xmi:type="notation:Node" xmi:id="_86k88JL8EeqASt_f1N53dA" type="5007"/>
160 <children xmi:type="notation:Node" xmi:id="_86k88ZL8EeqASt_f1N53dA" type="7004">
161 <styles xmi:type="notation:SortingStyle" xmi:id="_86k88pL8EeqASt_f1N53dA"/>
162 <styles xmi:type="notation:FilteringStyle" xmi:id="_86k885L8EeqASt_f1N53dA"/>
163 </children>
164 <styles xmi:type="notation:ShapeStyle" xmi:id="_86kV4ZL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8" italic="true"/>
165 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86kV4pL8EeqASt_f1N53dA" x="648" y="480"/>
166 </children>
167 <children xmi:type="notation:Node" xmi:id="_86lkAJL8EeqASt_f1N53dA" type="2003" element="_85WN4JL8EeqASt_f1N53dA">
168 <children xmi:type="notation:Node" xmi:id="_86myIJL8EeqASt_f1N53dA" type="5007"/>
169 <children xmi:type="notation:Node" xmi:id="_86myIZL8EeqASt_f1N53dA" type="7004">
170 <styles xmi:type="notation:SortingStyle" xmi:id="_86myIpL8EeqASt_f1N53dA"/>
171 <styles xmi:type="notation:FilteringStyle" xmi:id="_86myI5L8EeqASt_f1N53dA"/>
172 </children>
173 <styles xmi:type="notation:ShapeStyle" xmi:id="_86lkAZL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
174 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86lkApL8EeqASt_f1N53dA" x="180" y="156"/>
175 </children>
176 <children xmi:type="notation:Node" xmi:id="_86nZMJL8EeqASt_f1N53dA" type="2003" element="_85XcAJL8EeqASt_f1N53dA">
177 <children xmi:type="notation:Node" xmi:id="_86nZM5L8EeqASt_f1N53dA" type="5007"/>
178 <children xmi:type="notation:Node" xmi:id="_86oAQJL8EeqASt_f1N53dA" type="7004">
179 <styles xmi:type="notation:SortingStyle" xmi:id="_86oAQZL8EeqASt_f1N53dA"/>
180 <styles xmi:type="notation:FilteringStyle" xmi:id="_86oAQpL8EeqASt_f1N53dA"/>
181 </children>
182 <styles xmi:type="notation:ShapeStyle" xmi:id="_86nZMZL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
183 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86nZMpL8EeqASt_f1N53dA" x="372" y="156"/>
184 </children>
185 <children xmi:type="notation:Node" xmi:id="_86oAQ5L8EeqASt_f1N53dA" type="2003" element="_85YqIJL8EeqASt_f1N53dA">
186 <children xmi:type="notation:Node" xmi:id="_86onUJL8EeqASt_f1N53dA" type="5007"/>
187 <children xmi:type="notation:Node" xmi:id="_86onUZL8EeqASt_f1N53dA" type="7004">
188 <styles xmi:type="notation:SortingStyle" xmi:id="_86onUpL8EeqASt_f1N53dA"/>
189 <styles xmi:type="notation:FilteringStyle" xmi:id="_86onU5L8EeqASt_f1N53dA"/>
190 </children>
191 <styles xmi:type="notation:ShapeStyle" xmi:id="_86oARJL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
192 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86oARZL8EeqASt_f1N53dA" y="156"/>
193 </children>
194 <styles xmi:type="notation:DiagramStyle" xmi:id="_8OsuYZL8EeqASt_f1N53dA"/>
195 <edges xmi:type="notation:Edge" xmi:id="_86sRsJL8EeqASt_f1N53dA" type="4001" element="_853yUJL8EeqASt_f1N53dA" source="_86UeQJL8EeqASt_f1N53dA" target="_86ZWwJL8EeqASt_f1N53dA">
196 <children xmi:type="notation:Node" xmi:id="_86uG4JL8EeqASt_f1N53dA" type="6001">
197 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86uG4ZL8EeqASt_f1N53dA" y="-10"/>
198 </children>
199 <children xmi:type="notation:Node" xmi:id="_86vVAJL8EeqASt_f1N53dA" type="6002">
200 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86vVAZL8EeqASt_f1N53dA" y="10"/>
201 </children>
202 <children xmi:type="notation:Node" xmi:id="_86v8EJL8EeqASt_f1N53dA" type="6003">
203 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86v8EZL8EeqASt_f1N53dA" y="10"/>
204 </children>
205 <styles xmi:type="notation:ConnectorStyle" xmi:id="_86sRsZL8EeqASt_f1N53dA" routing="Rectilinear"/>
206 <styles xmi:type="notation:FontStyle" xmi:id="_86sRspL8EeqASt_f1N53dA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
207 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_86sRs5L8EeqASt_f1N53dA" points="[0, -50, 4, 110]$[-4, -110, 0, 50]"/>
208 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_862CsJL8EeqASt_f1N53dA" id="(0.5,0.5)"/>
209 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_862CsZL8EeqASt_f1N53dA" id="(0.5,0.5)"/>
210 </edges>
211 <edges xmi:type="notation:Edge" xmi:id="_862pwJL8EeqASt_f1N53dA" type="4001" element="_855ng5L8EeqASt_f1N53dA" source="_86UeQJL8EeqASt_f1N53dA" target="_86ak45L8EeqASt_f1N53dA">
212 <children xmi:type="notation:Node" xmi:id="_862pxJL8EeqASt_f1N53dA" type="6001">
213 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_862pxZL8EeqASt_f1N53dA" y="-10"/>
214 </children>
215 <children xmi:type="notation:Node" xmi:id="_863Q0JL8EeqASt_f1N53dA" type="6002">
216 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_863Q0ZL8EeqASt_f1N53dA" y="10"/>
217 </children>
218 <children xmi:type="notation:Node" xmi:id="_863Q0pL8EeqASt_f1N53dA" type="6003">
219 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_863Q05L8EeqASt_f1N53dA" y="10"/>
220 </children>
221 <styles xmi:type="notation:ConnectorStyle" xmi:id="_862pwZL8EeqASt_f1N53dA" routing="Rectilinear"/>
222 <styles xmi:type="notation:FontStyle" xmi:id="_862pwpL8EeqASt_f1N53dA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
223 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_862pw5L8EeqASt_f1N53dA" points="[0, -50, -188, 110]$[188, -110, 0, 50]"/>
224 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_863Q1JL8EeqASt_f1N53dA" id="(0.5,0.5)"/>
225 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_863Q1ZL8EeqASt_f1N53dA" id="(0.5,0.5)"/>
226 </edges>
227 <edges xmi:type="notation:Edge" xmi:id="_863Q1pL8EeqASt_f1N53dA" type="4001" element="_8561ppL8EeqASt_f1N53dA" source="_86YIpJL8EeqASt_f1N53dA" target="_86bL9JL8EeqASt_f1N53dA">
228 <children xmi:type="notation:Node" xmi:id="_86334JL8EeqASt_f1N53dA" type="6001">
229 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86334ZL8EeqASt_f1N53dA" y="10"/>
230 </children>
231 <children xmi:type="notation:Node" xmi:id="_86334pL8EeqASt_f1N53dA" type="6002">
232 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_863345L8EeqASt_f1N53dA" x="32" y="-157"/>
233 </children>
234 <children xmi:type="notation:Node" xmi:id="_86335JL8EeqASt_f1N53dA" type="6003">
235 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86335ZL8EeqASt_f1N53dA" x="15" y="10"/>
236 </children>
237 <styles xmi:type="notation:ConnectorStyle" xmi:id="_863Q15L8EeqASt_f1N53dA" routing="Rectilinear"/>
238 <styles xmi:type="notation:FontStyle" xmi:id="_863Q2JL8EeqASt_f1N53dA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
239 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_863Q2ZL8EeqASt_f1N53dA" points="[53, -49, 337, 107]$[53, -124, 337, 32]$[-225, -124, 59, 32]"/>
240 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_864e8JL8EeqASt_f1N53dA" id="(0.5,0.5)"/>
241 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_864e8ZL8EeqASt_f1N53dA" id="(0.5,0.5)"/>
242 </edges>
243 <edges xmi:type="notation:Edge" xmi:id="_864e8pL8EeqASt_f1N53dA" type="4001" element="_858DxpL8EeqASt_f1N53dA" source="_86ak45L8EeqASt_f1N53dA" target="_86caE5L8EeqASt_f1N53dA">
244 <children xmi:type="notation:Node" xmi:id="_865GAJL8EeqASt_f1N53dA" type="6001">
245 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_865GAZL8EeqASt_f1N53dA" y="-10"/>
246 </children>
247 <children xmi:type="notation:Node" xmi:id="_865GApL8EeqASt_f1N53dA" type="6002">
248 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_865GA5L8EeqASt_f1N53dA" y="10"/>
249 </children>
250 <children xmi:type="notation:Node" xmi:id="_865GBJL8EeqASt_f1N53dA" type="6003">
251 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_865GBZL8EeqASt_f1N53dA" y="10"/>
252 </children>
253 <styles xmi:type="notation:ConnectorStyle" xmi:id="_864e85L8EeqASt_f1N53dA" routing="Rectilinear"/>
254 <styles xmi:type="notation:FontStyle" xmi:id="_864e9JL8EeqASt_f1N53dA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
255 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_864e9ZL8EeqASt_f1N53dA" points="[-1, 0, -96, 60]$[94, -60, -1, 0]"/>
256 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_866UIJL8EeqASt_f1N53dA" id="(0.5084745762711864,0.0)"/>
257 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_866UIZL8EeqASt_f1N53dA" id="(0.5084745762711864,1.0)"/>
258 </edges>
259 <edges xmi:type="notation:Edge" xmi:id="_866UIpL8EeqASt_f1N53dA" type="4001" element="_859R5pL8EeqASt_f1N53dA" source="_86bL9JL8EeqASt_f1N53dA" target="_86bL9JL8EeqASt_f1N53dA">
260 <children xmi:type="notation:Node" xmi:id="_8667MJL8EeqASt_f1N53dA" type="6001">
261 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8667MZL8EeqASt_f1N53dA" x="31" y="-2"/>
262 </children>
263 <children xmi:type="notation:Node" xmi:id="_8667MpL8EeqASt_f1N53dA" type="6002">
264 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8667M5L8EeqASt_f1N53dA" x="11" y="10"/>
265 </children>
266 <children xmi:type="notation:Node" xmi:id="_8667NJL8EeqASt_f1N53dA" type="6003">
267 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8667NZL8EeqASt_f1N53dA" y="-10"/>
268 </children>
269 <styles xmi:type="notation:ConnectorStyle" xmi:id="_866UI5L8EeqASt_f1N53dA" routing="Rectilinear"/>
270 <styles xmi:type="notation:FontStyle" xmi:id="_866UJJL8EeqASt_f1N53dA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
271 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_866UJZL8EeqASt_f1N53dA" points="[59, 24, 59, 24]$[121, 24, 121, 24]$[121, -49, 121, -49]$[30, -49, 30, -49]"/>
272 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_867iQJL8EeqASt_f1N53dA" id="(0.5,0.5)"/>
273 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_867iQZL8EeqASt_f1N53dA" id="(0.5,0.5)"/>
274 </edges>
275 <edges xmi:type="notation:Edge" xmi:id="_867iQpL8EeqASt_f1N53dA" type="4001" element="_85_HEJL8EeqASt_f1N53dA" source="_86ak45L8EeqASt_f1N53dA" target="_86YIpJL8EeqASt_f1N53dA">
276 <children xmi:type="notation:Node" xmi:id="_868JUJL8EeqASt_f1N53dA" type="6001">
277 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_868JUZL8EeqASt_f1N53dA" y="-10"/>
278 </children>
279 <children xmi:type="notation:Node" xmi:id="_868JUpL8EeqASt_f1N53dA" type="6002">
280 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_868JU5L8EeqASt_f1N53dA" y="10"/>
281 </children>
282 <children xmi:type="notation:Node" xmi:id="_868JVJL8EeqASt_f1N53dA" type="6003">
283 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_868JVZL8EeqASt_f1N53dA" y="10"/>
284 </children>
285 <styles xmi:type="notation:ConnectorStyle" xmi:id="_867iQ5L8EeqASt_f1N53dA" routing="Tree"/>
286 <styles xmi:type="notation:FontStyle" xmi:id="_867iRJL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
287 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_867iRZL8EeqASt_f1N53dA" points="[-1, 0, 92, 60]$[-94, -60, -1, 0]"/>
288 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_868wYJL8EeqASt_f1N53dA" id="(0.5084745762711864,0.0)"/>
289 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_868wYZL8EeqASt_f1N53dA" id="(0.5074626865671642,1.0)"/>
290 </edges>
291 <edges xmi:type="notation:Edge" xmi:id="_868wYpL8EeqASt_f1N53dA" type="4001" element="_86BjU5L8EeqASt_f1N53dA" source="_86h5oJL8EeqASt_f1N53dA" target="_86kV4JL8EeqASt_f1N53dA">
292 <children xmi:type="notation:Node" xmi:id="_869XcJL8EeqASt_f1N53dA" type="6001">
293 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_869XcZL8EeqASt_f1N53dA" y="-10"/>
294 </children>
295 <children xmi:type="notation:Node" xmi:id="_869XcpL8EeqASt_f1N53dA" type="6002">
296 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_869Xc5L8EeqASt_f1N53dA" y="10"/>
297 </children>
298 <children xmi:type="notation:Node" xmi:id="_869XdJL8EeqASt_f1N53dA" type="6003">
299 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_869XdZL8EeqASt_f1N53dA" y="10"/>
300 </children>
301 <styles xmi:type="notation:ConnectorStyle" xmi:id="_868wY5L8EeqASt_f1N53dA" routing="Tree"/>
302 <styles xmi:type="notation:FontStyle" xmi:id="_868wZJL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
303 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_868wZZL8EeqASt_f1N53dA" points="[-1, 0, 179, 60]$[-181, -60, -1, 0]"/>
304 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_869-gJL8EeqASt_f1N53dA" id="(0.5084745762711864,0.0)"/>
305 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_869-gZL8EeqASt_f1N53dA" id="(0.5084745762711864,1.0)"/>
306 </edges>
307 <edges xmi:type="notation:Edge" xmi:id="_869-gpL8EeqASt_f1N53dA" type="4001" element="_86DYgJL8EeqASt_f1N53dA" source="_86e2UJL8EeqASt_f1N53dA" target="_86caE5L8EeqASt_f1N53dA">
308 <children xmi:type="notation:Node" xmi:id="_869-hpL8EeqASt_f1N53dA" type="6001">
309 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_869-h5L8EeqASt_f1N53dA" y="-10"/>
310 </children>
311 <children xmi:type="notation:Node" xmi:id="_86-lkJL8EeqASt_f1N53dA" type="6002">
312 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86-lkZL8EeqASt_f1N53dA" y="10"/>
313 </children>
314 <children xmi:type="notation:Node" xmi:id="_86-lkpL8EeqASt_f1N53dA" type="6003">
315 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86-lk5L8EeqASt_f1N53dA" y="10"/>
316 </children>
317 <styles xmi:type="notation:ConnectorStyle" xmi:id="_869-g5L8EeqASt_f1N53dA" routing="Tree"/>
318 <styles xmi:type="notation:FontStyle" xmi:id="_869-hJL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
319 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_869-hZL8EeqASt_f1N53dA" points="[-1, 0, 92, 60]$[-94, -60, -1, 0]"/>
320 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_86-llJL8EeqASt_f1N53dA" id="(0.5074626865671642,0.0)"/>
321 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_86-llZL8EeqASt_f1N53dA" id="(0.5084745762711864,1.0)"/>
322 </edges>
323 <edges xmi:type="notation:Edge" xmi:id="_86-llpL8EeqASt_f1N53dA" type="4001" element="_86D_lpL8EeqASt_f1N53dA" source="_86grgJL8EeqASt_f1N53dA" target="_86kV4JL8EeqASt_f1N53dA">
324 <children xmi:type="notation:Node" xmi:id="_86_MoJL8EeqASt_f1N53dA" type="6001">
325 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86_MoZL8EeqASt_f1N53dA" y="-10"/>
326 </children>
327 <children xmi:type="notation:Node" xmi:id="_86_MopL8EeqASt_f1N53dA" type="6002">
328 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86_Mo5L8EeqASt_f1N53dA" y="10"/>
329 </children>
330 <children xmi:type="notation:Node" xmi:id="_86_MpJL8EeqASt_f1N53dA" type="6003">
331 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86_MpZL8EeqASt_f1N53dA" y="10"/>
332 </children>
333 <styles xmi:type="notation:ConnectorStyle" xmi:id="_86-ll5L8EeqASt_f1N53dA" routing="Tree"/>
334 <styles xmi:type="notation:FontStyle" xmi:id="_86-lmJL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
335 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_86-lmZL8EeqASt_f1N53dA" points="[-1, 0, -1, 60]$[-1, -60, -1, 0]"/>
336 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_86_zsJL8EeqASt_f1N53dA" id="(0.5084745762711864,0.0)"/>
337 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_86_zsZL8EeqASt_f1N53dA" id="(0.5084745762711864,1.0)"/>
338 </edges>
339 <edges xmi:type="notation:Edge" xmi:id="_87AawJL8EeqASt_f1N53dA" type="4001" element="_86FNs5L8EeqASt_f1N53dA" source="_86kV4JL8EeqASt_f1N53dA" target="_86ak45L8EeqASt_f1N53dA">
340 <children xmi:type="notation:Node" xmi:id="_87AaxJL8EeqASt_f1N53dA" type="6001">
341 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87AaxZL8EeqASt_f1N53dA" y="-10"/>
342 </children>
343 <children xmi:type="notation:Node" xmi:id="_87AaxpL8EeqASt_f1N53dA" type="6002">
344 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87Aax5L8EeqASt_f1N53dA" y="10"/>
345 </children>
346 <children xmi:type="notation:Node" xmi:id="_87AayJL8EeqASt_f1N53dA" type="6003">
347 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87AayZL8EeqASt_f1N53dA" y="10"/>
348 </children>
349 <styles xmi:type="notation:ConnectorStyle" xmi:id="_87AawZL8EeqASt_f1N53dA" routing="Tree"/>
350 <styles xmi:type="notation:FontStyle" xmi:id="_87AawpL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
351 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_87Aaw5L8EeqASt_f1N53dA" points="[-1, 0, -1, 60]$[-1, -60, -1, 0]"/>
352 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_87BB0JL8EeqASt_f1N53dA" id="(0.5084745762711864,0.0)"/>
353 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_87BB0ZL8EeqASt_f1N53dA" id="(0.5084745762711864,1.0)"/>
354 </edges>
355 <edges xmi:type="notation:Edge" xmi:id="_87BB0pL8EeqASt_f1N53dA" type="4001" element="_86Gb05L8EeqASt_f1N53dA" source="_86lkAJL8EeqASt_f1N53dA" target="_86bL9JL8EeqASt_f1N53dA">
356 <children xmi:type="notation:Node" xmi:id="_87Bo4JL8EeqASt_f1N53dA" type="6001">
357 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87Bo4ZL8EeqASt_f1N53dA" y="-10"/>
358 </children>
359 <children xmi:type="notation:Node" xmi:id="_87Bo4pL8EeqASt_f1N53dA" type="6002">
360 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87Bo45L8EeqASt_f1N53dA" y="10"/>
361 </children>
362 <children xmi:type="notation:Node" xmi:id="_87Bo5JL8EeqASt_f1N53dA" type="6003">
363 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87Bo5ZL8EeqASt_f1N53dA" y="10"/>
364 </children>
365 <styles xmi:type="notation:ConnectorStyle" xmi:id="_87BB05L8EeqASt_f1N53dA" routing="Tree"/>
366 <styles xmi:type="notation:FontStyle" xmi:id="_87BB1JL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
367 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_87BB1ZL8EeqASt_f1N53dA" points="[-1, 0, -95, 60]$[93, -60, -1, 0]"/>
368 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_87CP8JL8EeqASt_f1N53dA" id="(0.5038759689922481,0.0)"/>
369 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_87CP8ZL8EeqASt_f1N53dA" id="(0.5084745762711864,1.0)"/>
370 </edges>
371 <edges xmi:type="notation:Edge" xmi:id="_87CP8pL8EeqASt_f1N53dA" type="4001" element="_86IRAJL8EeqASt_f1N53dA" source="_86oAQ5L8EeqASt_f1N53dA" target="_86bL9JL8EeqASt_f1N53dA">
372 <children xmi:type="notation:Node" xmi:id="_87C3AJL8EeqASt_f1N53dA" type="6001">
373 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87C3AZL8EeqASt_f1N53dA" y="-10"/>
374 </children>
375 <children xmi:type="notation:Node" xmi:id="_87C3ApL8EeqASt_f1N53dA" type="6002">
376 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87C3A5L8EeqASt_f1N53dA" y="10"/>
377 </children>
378 <children xmi:type="notation:Node" xmi:id="_87C3BJL8EeqASt_f1N53dA" type="6003">
379 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87C3BZL8EeqASt_f1N53dA" y="10"/>
380 </children>
381 <styles xmi:type="notation:ConnectorStyle" xmi:id="_87CP85L8EeqASt_f1N53dA" routing="Tree"/>
382 <styles xmi:type="notation:FontStyle" xmi:id="_87CP9JL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
383 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_87CP9ZL8EeqASt_f1N53dA" points="[-1, 0, -281, 60]$[279, -60, -1, 0]"/>
384 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_87DeEJL8EeqASt_f1N53dA" id="(0.5042016806722689,0.0)"/>
385 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_87DeEZL8EeqASt_f1N53dA" id="(0.5084745762711864,1.0)"/>
386 </edges>
387 <edges xmi:type="notation:Edge" xmi:id="_87DeEpL8EeqASt_f1N53dA" type="4001" element="_86KGMJL8EeqASt_f1N53dA" source="_86igs5L8EeqASt_f1N53dA" target="_86ak45L8EeqASt_f1N53dA">
388 <children xmi:type="notation:Node" xmi:id="_87DeFpL8EeqASt_f1N53dA" type="6001">
389 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87DeF5L8EeqASt_f1N53dA" y="-10"/>
390 </children>
391 <children xmi:type="notation:Node" xmi:id="_87EFIJL8EeqASt_f1N53dA" type="6002">
392 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87EFIZL8EeqASt_f1N53dA" y="10"/>
393 </children>
394 <children xmi:type="notation:Node" xmi:id="_87EFIpL8EeqASt_f1N53dA" type="6003">
395 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87EFI5L8EeqASt_f1N53dA" y="10"/>
396 </children>
397 <styles xmi:type="notation:ConnectorStyle" xmi:id="_87DeE5L8EeqASt_f1N53dA" routing="Tree"/>
398 <styles xmi:type="notation:FontStyle" xmi:id="_87DeFJL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
399 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_87DeFZL8EeqASt_f1N53dA" points="[-1, 0, 179, 60]$[-181, -60, -1, 0]"/>
400 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_87EFJJL8EeqASt_f1N53dA" id="(0.5084745762711864,0.0)"/>
401 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_87EFJZL8EeqASt_f1N53dA" id="(0.5084745762711864,1.0)"/>
402 </edges>
403 <edges xmi:type="notation:Edge" xmi:id="_87EFJpL8EeqASt_f1N53dA" type="4001" element="_86L7YJL8EeqASt_f1N53dA" source="_86nZMJL8EeqASt_f1N53dA" target="_86bL9JL8EeqASt_f1N53dA">
404 <children xmi:type="notation:Node" xmi:id="_87EsMJL8EeqASt_f1N53dA" type="6001">
405 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87EsMZL8EeqASt_f1N53dA" y="-10"/>
406 </children>
407 <children xmi:type="notation:Node" xmi:id="_87FTQJL8EeqASt_f1N53dA" type="6002">
408 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87FTQZL8EeqASt_f1N53dA" y="10"/>
409 </children>
410 <children xmi:type="notation:Node" xmi:id="_87FTQpL8EeqASt_f1N53dA" type="6003">
411 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87FTQ5L8EeqASt_f1N53dA" y="10"/>
412 </children>
413 <styles xmi:type="notation:ConnectorStyle" xmi:id="_87EFJ5L8EeqASt_f1N53dA" routing="Tree"/>
414 <styles xmi:type="notation:FontStyle" xmi:id="_87EFKJL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
415 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_87EFKZL8EeqASt_f1N53dA" points="[-1, 0, 91, 60]$[-93, -60, -1, 0]"/>
416 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_87FTRJL8EeqASt_f1N53dA" id="(0.5084745762711864,0.0)"/>
417 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_87FTRZL8EeqASt_f1N53dA" id="(0.5084745762711864,1.0)"/>
418 </edges>
419 <edges xmi:type="notation:Edge" xmi:id="_87F6UJL8EeqASt_f1N53dA" type="4001" element="_86Mic5L8EeqASt_f1N53dA" source="_86ZWwJL8EeqASt_f1N53dA" target="_86YIpJL8EeqASt_f1N53dA">
420 <children xmi:type="notation:Node" xmi:id="_87F6VJL8EeqASt_f1N53dA" type="6001">
421 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87F6VZL8EeqASt_f1N53dA" y="-10"/>
422 </children>
423 <children xmi:type="notation:Node" xmi:id="_87F6VpL8EeqASt_f1N53dA" type="6002">
424 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87F6V5L8EeqASt_f1N53dA" y="10"/>
425 </children>
426 <children xmi:type="notation:Node" xmi:id="_87F6WJL8EeqASt_f1N53dA" type="6003">
427 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87GhYJL8EeqASt_f1N53dA" y="10"/>
428 </children>
429 <styles xmi:type="notation:ConnectorStyle" xmi:id="_87F6UZL8EeqASt_f1N53dA" routing="Tree"/>
430 <styles xmi:type="notation:FontStyle" xmi:id="_87F6UpL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
431 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_87F6U5L8EeqASt_f1N53dA" points="[-1, 0, -100, 60]$[98, -60, -1, 0]"/>
432 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_87GhYZL8EeqASt_f1N53dA" id="(0.5070422535211268,0.0)"/>
433 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_87GhYpL8EeqASt_f1N53dA" id="(0.5074626865671642,1.0)"/>
434 </edges>
435 <edges xmi:type="notation:Edge" xmi:id="_87HvgJL8EeqASt_f1N53dA" type="4001" element="_86Nwk5L8EeqASt_f1N53dA" source="_86XhkJL8EeqASt_f1N53dA" target="_86UeQJL8EeqASt_f1N53dA">
436 <children xmi:type="notation:Node" xmi:id="_87I9oJL8EeqASt_f1N53dA" type="6001">
437 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87I9oZL8EeqASt_f1N53dA" y="-10"/>
438 </children>
439 <children xmi:type="notation:Node" xmi:id="_87KLwJL8EeqASt_f1N53dA" type="6002">
440 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87KLwZL8EeqASt_f1N53dA" y="10"/>
441 </children>
442 <children xmi:type="notation:Node" xmi:id="_87Ky0JL8EeqASt_f1N53dA" type="6003">
443 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87Ky0ZL8EeqASt_f1N53dA" y="10"/>
444 </children>
445 <styles xmi:type="notation:ConnectorStyle" xmi:id="_87HvgZL8EeqASt_f1N53dA" routing="Tree"/>
446 <styles xmi:type="notation:FontStyle" xmi:id="_87HvgpL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
447 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_87Hvg5L8EeqASt_f1N53dA" points="[-1, 0, -1, 60]$[-1, -60, -1, 0]"/>
448 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_87LZ4JL8EeqASt_f1N53dA" id="(0.5074626865671642,0.0)"/>
449 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_87LZ4ZL8EeqASt_f1N53dA" id="(0.5042016806722689,1.0)"/>
450 </edges>
451 </data>
452 </ownedAnnotationEntries>
453 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_85BdwJL8EeqASt_f1N53dA" name="ConstellationMission" tooltipText="" outgoingEdges="_853yUJL8EeqASt_f1N53dA _855ng5L8EeqASt_f1N53dA" incomingEdges="_86Nwk5L8EeqASt_f1N53dA" width="12" height="10">
454 <target xmi:type="ecore:EClass" href="satellite.ecore#//ConstellationMission"/>
455 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//ConstellationMission"/>
456 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_85Cr4JL8EeqASt_f1N53dA" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
457 <labelFormat>italic</labelFormat>
458 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
459 </ownedStyle>
460 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
461 </ownedDiagramElements>
462 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_85FvMJL8EeqASt_f1N53dA" name="InterferometryMission" tooltipText="" outgoingEdges="_86Nwk5L8EeqASt_f1N53dA" width="12" height="10">
463 <target xmi:type="ecore:EClass" href="satellite.ecore#//InterferometryMission"/>
464 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//InterferometryMission"/>
465 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_85GWQJL8EeqASt_f1N53dA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
466 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
467 </ownedStyle>
468 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
469 </ownedDiagramElements>
470 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_85G9UJL8EeqASt_f1N53dA" name="CommunicatingElement" tooltipText="" outgoingEdges="_8561ppL8EeqASt_f1N53dA" incomingEdges="_85_HEJL8EeqASt_f1N53dA _86Mic5L8EeqASt_f1N53dA" width="12" height="10">
471 <target xmi:type="ecore:EClass" href="satellite.ecore#//CommunicatingElement"/>
472 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//CommunicatingElement"/>
473 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_85HkYJL8EeqASt_f1N53dA" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
474 <labelFormat>italic</labelFormat>
475 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
476 </ownedStyle>
477 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
478 </ownedDiagramElements>
479 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_85ILcJL8EeqASt_f1N53dA" name="GroundStationNetwork" tooltipText="" outgoingEdges="_86Mic5L8EeqASt_f1N53dA" incomingEdges="_853yUJL8EeqASt_f1N53dA" width="12" height="10">
480 <target xmi:type="ecore:EClass" href="satellite.ecore#//GroundStationNetwork"/>
481 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//GroundStationNetwork"/>
482 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_85IygJL8EeqASt_f1N53dA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
483 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
484 </ownedStyle>
485 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
486 </ownedDiagramElements>
487 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_85JZkJL8EeqASt_f1N53dA" name="Spacecraft" tooltipText="" outgoingEdges="_858DxpL8EeqASt_f1N53dA _85_HEJL8EeqASt_f1N53dA" incomingEdges="_855ng5L8EeqASt_f1N53dA _86FNs5L8EeqASt_f1N53dA _86KGMJL8EeqASt_f1N53dA" width="12" height="10">
488 <target xmi:type="ecore:EClass" href="satellite.ecore#//Spacecraft"/>
489 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//Spacecraft"/>
490 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_85KAoJL8EeqASt_f1N53dA" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
491 <labelFormat>italic</labelFormat>
492 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
493 </ownedStyle>
494 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
495 </ownedDiagramElements>
496 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_85KnsJL8EeqASt_f1N53dA" name="CommSubsystem" tooltipText="" outgoingEdges="_859R5pL8EeqASt_f1N53dA" incomingEdges="_8561ppL8EeqASt_f1N53dA _859R5pL8EeqASt_f1N53dA _86Gb05L8EeqASt_f1N53dA _86IRAJL8EeqASt_f1N53dA _86L7YJL8EeqASt_f1N53dA" width="12" height="10">
497 <target xmi:type="ecore:EClass" href="satellite.ecore#//CommSubsystem"/>
498 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//CommSubsystem"/>
499 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_gEj6QZMEEeqASt_f1N53dA" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
500 <labelFormat>italic</labelFormat>
501 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
502 </ownedStyle>
503 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
504 <ownedElements xmi:type="diagram:DNodeListElement" uid="_HnfLkJL9EeqASt_f1N53dA" name="frequency : EInt" tooltipText="">
505 <target xmi:type="ecore:EAttribute" href="satellite.ecore#//CommSubsystem/frequency"/>
506 <semanticElements xmi:type="ecore:EAttribute" href="satellite.ecore#//CommSubsystem/frequency"/>
507 <ownedStyle xmi:type="diagram:BundledImage" uid="_gEoLspMEEeqASt_f1N53dA" labelAlignment="LEFT" description="_gEoLsJMEEeqASt_f1N53dA">
508 <labelFormat>bold</labelFormat>
509 </ownedStyle>
510 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
511 </ownedElements>
512 </ownedDiagramElements>
513 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_85Mc4JL8EeqASt_f1N53dA" name="Payload" tooltipText="" incomingEdges="_858DxpL8EeqASt_f1N53dA _86DYgJL8EeqASt_f1N53dA" width="12" height="10">
514 <target xmi:type="ecore:EClass" href="satellite.ecore#//Payload"/>
515 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//Payload"/>
516 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_85ND8JL8EeqASt_f1N53dA" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
517 <labelFormat>italic</labelFormat>
518 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
519 </ownedStyle>
520 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
521 </ownedDiagramElements>
522 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_85NrAJL8EeqASt_f1N53dA" name="InterferometryPayload" tooltipText="" outgoingEdges="_86DYgJL8EeqASt_f1N53dA" width="12" height="10">
523 <target xmi:type="ecore:EClass" href="satellite.ecore#//InterferometryPayload"/>
524 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//InterferometryPayload"/>
525 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_85OSEJL8EeqASt_f1N53dA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
526 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
527 </ownedStyle>
528 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
529 </ownedDiagramElements>
530 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_85PgMJL8EeqASt_f1N53dA" name="CubeSat3U" tooltipText="" outgoingEdges="_86D_lpL8EeqASt_f1N53dA" width="12" height="10">
531 <target xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat3U"/>
532 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat3U"/>
533 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_85QHQJL8EeqASt_f1N53dA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
534 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
535 </ownedStyle>
536 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
537 </ownedDiagramElements>
538 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_85RVYJL8EeqASt_f1N53dA" name="CubeSat6U" tooltipText="" outgoingEdges="_86BjU5L8EeqASt_f1N53dA" width="12" height="10">
539 <target xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat6U"/>
540 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat6U"/>
541 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_85R8cJL8EeqASt_f1N53dA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
542 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
543 </ownedStyle>
544 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
545 </ownedDiagramElements>
546 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_85SjgJL8EeqASt_f1N53dA" name="SmallSat" tooltipText="" outgoingEdges="_86KGMJL8EeqASt_f1N53dA" width="12" height="10">
547 <target xmi:type="ecore:EClass" href="satellite.ecore#//SmallSat"/>
548 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//SmallSat"/>
549 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_85TKkJL8EeqASt_f1N53dA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
550 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
551 </ownedStyle>
552 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
553 </ownedDiagramElements>
554 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_85UYsJL8EeqASt_f1N53dA" name="CubeSat" tooltipText="" outgoingEdges="_86FNs5L8EeqASt_f1N53dA" incomingEdges="_86BjU5L8EeqASt_f1N53dA _86D_lpL8EeqASt_f1N53dA" width="12" height="10">
555 <target xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat"/>
556 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat"/>
557 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_85U_wJL8EeqASt_f1N53dA" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
558 <labelFormat>italic</labelFormat>
559 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
560 </ownedStyle>
561 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
562 </ownedDiagramElements>
563 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_85WN4JL8EeqASt_f1N53dA" name="UHFCommSubsystem" tooltipText="" outgoingEdges="_86Gb05L8EeqASt_f1N53dA" width="12" height="10">
564 <target xmi:type="ecore:EClass" href="satellite.ecore#//UHFCommSubsystem"/>
565 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//UHFCommSubsystem"/>
566 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_85WN4ZL8EeqASt_f1N53dA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
567 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
568 </ownedStyle>
569 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
570 </ownedDiagramElements>
571 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_85XcAJL8EeqASt_f1N53dA" name="XCommSubsystem" tooltipText="" outgoingEdges="_86L7YJL8EeqASt_f1N53dA" width="12" height="10">
572 <target xmi:type="ecore:EClass" href="satellite.ecore#//XCommSubsystem"/>
573 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//XCommSubsystem"/>
574 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_85YDEJL8EeqASt_f1N53dA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
575 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
576 </ownedStyle>
577 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
578 </ownedDiagramElements>
579 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_85YqIJL8EeqASt_f1N53dA" name="KaCommSubsystem" tooltipText="" outgoingEdges="_86IRAJL8EeqASt_f1N53dA" width="12" height="10">
580 <target xmi:type="ecore:EClass" href="satellite.ecore#//KaCommSubsystem"/>
581 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//KaCommSubsystem"/>
582 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_85ZRMJL8EeqASt_f1N53dA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
583 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
584 </ownedStyle>
585 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
586 </ownedDiagramElements>
587 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_853yUJL8EeqASt_f1N53dA" name="[1..1] groundStationNetwork" sourceNode="_85BdwJL8EeqASt_f1N53dA" targetNode="_85ILcJL8EeqASt_f1N53dA">
588 <target xmi:type="ecore:EReference" href="satellite.ecore#//ConstellationMission/groundStationNetwork"/>
589 <semanticElements xmi:type="ecore:EReference" href="satellite.ecore#//ConstellationMission/groundStationNetwork"/>
590 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_855Ac5L8EeqASt_f1N53dA" description="_855AcJL8EeqASt_f1N53dA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
591 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_855AdZL8EeqASt_f1N53dA" showIcon="false">
592 <customFeatures>labelSize</customFeatures>
593 <labelFormat>bold</labelFormat>
594 </centerLabelStyle>
595 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_855AdJL8EeqASt_f1N53dA" showIcon="false" labelColor="39,76,114">
596 <customFeatures>labelSize</customFeatures>
597 </endLabelStyle>
598 </ownedStyle>
599 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
600 </ownedDiagramElements>
601 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_855ng5L8EeqASt_f1N53dA" name="[2..*] spacecraft" sourceNode="_85BdwJL8EeqASt_f1N53dA" targetNode="_85JZkJL8EeqASt_f1N53dA">
602 <target xmi:type="ecore:EReference" href="satellite.ecore#//ConstellationMission/spacecraft"/>
603 <semanticElements xmi:type="ecore:EReference" href="satellite.ecore#//ConstellationMission/spacecraft"/>
604 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_8561oJL8EeqASt_f1N53dA" description="_855AcJL8EeqASt_f1N53dA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
605 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_8561opL8EeqASt_f1N53dA" showIcon="false">
606 <customFeatures>labelSize</customFeatures>
607 <labelFormat>bold</labelFormat>
608 </centerLabelStyle>
609 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_8561oZL8EeqASt_f1N53dA" showIcon="false" labelColor="39,76,114">
610 <customFeatures>labelSize</customFeatures>
611 </endLabelStyle>
612 </ownedStyle>
613 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
614 </ownedDiagramElements>
615 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_8561ppL8EeqASt_f1N53dA" name="[1..2] commSubsystem" sourceNode="_85G9UJL8EeqASt_f1N53dA" targetNode="_85KnsJL8EeqASt_f1N53dA">
616 <target xmi:type="ecore:EReference" href="satellite.ecore#//CommunicatingElement/commSubsystem"/>
617 <semanticElements xmi:type="ecore:EReference" href="satellite.ecore#//CommunicatingElement/commSubsystem"/>
618 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_858DwJL8EeqASt_f1N53dA" description="_855AcJL8EeqASt_f1N53dA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
619 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_858DwpL8EeqASt_f1N53dA" showIcon="false">
620 <customFeatures>labelSize</customFeatures>
621 <labelFormat>bold</labelFormat>
622 </centerLabelStyle>
623 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_858DwZL8EeqASt_f1N53dA" showIcon="false" labelColor="39,76,114">
624 <customFeatures>labelSize</customFeatures>
625 </endLabelStyle>
626 </ownedStyle>
627 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
628 </ownedDiagramElements>
629 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_858DxpL8EeqASt_f1N53dA" name="[0..1] payload" sourceNode="_85JZkJL8EeqASt_f1N53dA" targetNode="_85Mc4JL8EeqASt_f1N53dA">
630 <target xmi:type="ecore:EReference" href="satellite.ecore#//Spacecraft/payload"/>
631 <semanticElements xmi:type="ecore:EReference" href="satellite.ecore#//Spacecraft/payload"/>
632 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_859R4JL8EeqASt_f1N53dA" description="_858q0JL8EeqASt_f1N53dA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
633 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_859R4pL8EeqASt_f1N53dA" showIcon="false">
634 <customFeatures>labelSize</customFeatures>
635 </centerLabelStyle>
636 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_859R4ZL8EeqASt_f1N53dA" showIcon="false" labelColor="39,76,114">
637 <customFeatures>labelSize</customFeatures>
638 </endLabelStyle>
639 </ownedStyle>
640 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
641 </ownedDiagramElements>
642 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_859R5pL8EeqASt_f1N53dA" name="[0..1] target" sourceNode="_85KnsJL8EeqASt_f1N53dA" targetNode="_85KnsJL8EeqASt_f1N53dA">
643 <target xmi:type="ecore:EReference" href="satellite.ecore#//CommSubsystem/target"/>
644 <semanticElements xmi:type="ecore:EReference" href="satellite.ecore#//CommSubsystem/target"/>
645 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_85948JL8EeqASt_f1N53dA" routingStyle="manhattan" strokeColor="0,0,0">
646 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
647 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_85948pL8EeqASt_f1N53dA" showIcon="false">
648 <customFeatures>labelSize</customFeatures>
649 </centerLabelStyle>
650 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_85948ZL8EeqASt_f1N53dA" showIcon="false" labelColor="39,76,114">
651 <customFeatures>labelSize</customFeatures>
652 </endLabelStyle>
653 </ownedStyle>
654 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
655 </ownedDiagramElements>
656 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_85_HEJL8EeqASt_f1N53dA" sourceNode="_85JZkJL8EeqASt_f1N53dA" targetNode="_85G9UJL8EeqASt_f1N53dA">
657 <target xmi:type="ecore:EClass" href="satellite.ecore#//Spacecraft"/>
658 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//Spacecraft"/>
659 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_86A8QJL8EeqASt_f1N53dA" targetArrow="InputClosedArrow" routingStyle="tree">
660 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
661 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_86A8QZL8EeqASt_f1N53dA" showIcon="false">
662 <labelFormat>italic</labelFormat>
663 </beginLabelStyle>
664 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_86A8QpL8EeqASt_f1N53dA" showIcon="false"/>
665 </ownedStyle>
666 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
667 </ownedDiagramElements>
668 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_86BjU5L8EeqASt_f1N53dA" sourceNode="_85RVYJL8EeqASt_f1N53dA" targetNode="_85UYsJL8EeqASt_f1N53dA">
669 <target xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat6U"/>
670 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat6U"/>
671 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_86CxcJL8EeqASt_f1N53dA" targetArrow="InputClosedArrow" routingStyle="tree">
672 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
673 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_86CxcZL8EeqASt_f1N53dA" showIcon="false">
674 <labelFormat>italic</labelFormat>
675 </beginLabelStyle>
676 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_86CxcpL8EeqASt_f1N53dA" showIcon="false"/>
677 </ownedStyle>
678 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
679 </ownedDiagramElements>
680 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_86DYgJL8EeqASt_f1N53dA" sourceNode="_85NrAJL8EeqASt_f1N53dA" targetNode="_85Mc4JL8EeqASt_f1N53dA">
681 <target xmi:type="ecore:EClass" href="satellite.ecore#//InterferometryPayload"/>
682 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//InterferometryPayload"/>
683 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_86D_kJL8EeqASt_f1N53dA" targetArrow="InputClosedArrow" routingStyle="tree">
684 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
685 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_86D_kZL8EeqASt_f1N53dA" showIcon="false">
686 <labelFormat>italic</labelFormat>
687 </beginLabelStyle>
688 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_86D_kpL8EeqASt_f1N53dA" showIcon="false"/>
689 </ownedStyle>
690 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
691 </ownedDiagramElements>
692 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_86D_lpL8EeqASt_f1N53dA" sourceNode="_85PgMJL8EeqASt_f1N53dA" targetNode="_85UYsJL8EeqASt_f1N53dA">
693 <target xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat3U"/>
694 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat3U"/>
695 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_86EmoJL8EeqASt_f1N53dA" targetArrow="InputClosedArrow" routingStyle="tree">
696 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
697 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_86EmoZL8EeqASt_f1N53dA" showIcon="false">
698 <labelFormat>italic</labelFormat>
699 </beginLabelStyle>
700 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_86EmopL8EeqASt_f1N53dA" showIcon="false"/>
701 </ownedStyle>
702 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
703 </ownedDiagramElements>
704 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_86FNs5L8EeqASt_f1N53dA" sourceNode="_85UYsJL8EeqASt_f1N53dA" targetNode="_85JZkJL8EeqASt_f1N53dA">
705 <target xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat"/>
706 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat"/>
707 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_86F0wJL8EeqASt_f1N53dA" targetArrow="InputClosedArrow" routingStyle="tree">
708 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
709 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_86F0wZL8EeqASt_f1N53dA" showIcon="false">
710 <labelFormat>italic</labelFormat>
711 </beginLabelStyle>
712 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_86F0wpL8EeqASt_f1N53dA" showIcon="false"/>
713 </ownedStyle>
714 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
715 </ownedDiagramElements>
716 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_86Gb05L8EeqASt_f1N53dA" sourceNode="_85WN4JL8EeqASt_f1N53dA" targetNode="_85KnsJL8EeqASt_f1N53dA">
717 <target xmi:type="ecore:EClass" href="satellite.ecore#//UHFCommSubsystem"/>
718 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//UHFCommSubsystem"/>
719 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_86Hp8JL8EeqASt_f1N53dA" targetArrow="InputClosedArrow" routingStyle="tree">
720 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
721 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_86Hp8ZL8EeqASt_f1N53dA" showIcon="false">
722 <labelFormat>italic</labelFormat>
723 </beginLabelStyle>
724 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_86Hp8pL8EeqASt_f1N53dA" showIcon="false"/>
725 </ownedStyle>
726 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
727 </ownedDiagramElements>
728 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_86IRAJL8EeqASt_f1N53dA" sourceNode="_85YqIJL8EeqASt_f1N53dA" targetNode="_85KnsJL8EeqASt_f1N53dA">
729 <target xmi:type="ecore:EClass" href="satellite.ecore#//KaCommSubsystem"/>
730 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//KaCommSubsystem"/>
731 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_86I4EJL8EeqASt_f1N53dA" targetArrow="InputClosedArrow" routingStyle="tree">
732 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
733 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_86I4EZL8EeqASt_f1N53dA" showIcon="false">
734 <labelFormat>italic</labelFormat>
735 </beginLabelStyle>
736 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_86I4EpL8EeqASt_f1N53dA" showIcon="false"/>
737 </ownedStyle>
738 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
739 </ownedDiagramElements>
740 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_86KGMJL8EeqASt_f1N53dA" sourceNode="_85SjgJL8EeqASt_f1N53dA" targetNode="_85JZkJL8EeqASt_f1N53dA">
741 <target xmi:type="ecore:EClass" href="satellite.ecore#//SmallSat"/>
742 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//SmallSat"/>
743 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_86KGMZL8EeqASt_f1N53dA" targetArrow="InputClosedArrow" routingStyle="tree">
744 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
745 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_86KGMpL8EeqASt_f1N53dA" showIcon="false">
746 <labelFormat>italic</labelFormat>
747 </beginLabelStyle>
748 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_86KtQJL8EeqASt_f1N53dA" showIcon="false"/>
749 </ownedStyle>
750 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
751 </ownedDiagramElements>
752 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_86L7YJL8EeqASt_f1N53dA" sourceNode="_85XcAJL8EeqASt_f1N53dA" targetNode="_85KnsJL8EeqASt_f1N53dA">
753 <target xmi:type="ecore:EClass" href="satellite.ecore#//XCommSubsystem"/>
754 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//XCommSubsystem"/>
755 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_86L7YZL8EeqASt_f1N53dA" targetArrow="InputClosedArrow" routingStyle="tree">
756 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
757 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_86L7YpL8EeqASt_f1N53dA" showIcon="false">
758 <labelFormat>italic</labelFormat>
759 </beginLabelStyle>
760 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_86L7Y5L8EeqASt_f1N53dA" showIcon="false"/>
761 </ownedStyle>
762 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
763 </ownedDiagramElements>
764 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_86Mic5L8EeqASt_f1N53dA" sourceNode="_85ILcJL8EeqASt_f1N53dA" targetNode="_85G9UJL8EeqASt_f1N53dA">
765 <target xmi:type="ecore:EClass" href="satellite.ecore#//GroundStationNetwork"/>
766 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//GroundStationNetwork"/>
767 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_86NJgJL8EeqASt_f1N53dA" targetArrow="InputClosedArrow" routingStyle="tree">
768 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
769 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_86NJgZL8EeqASt_f1N53dA" showIcon="false">
770 <labelFormat>italic</labelFormat>
771 </beginLabelStyle>
772 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_86NJgpL8EeqASt_f1N53dA" showIcon="false"/>
773 </ownedStyle>
774 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
775 </ownedDiagramElements>
776 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_86Nwk5L8EeqASt_f1N53dA" sourceNode="_85FvMJL8EeqASt_f1N53dA" targetNode="_85BdwJL8EeqASt_f1N53dA">
777 <target xmi:type="ecore:EClass" href="satellite.ecore#//InterferometryMission"/>
778 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//InterferometryMission"/>
779 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_86OXoJL8EeqASt_f1N53dA" targetArrow="InputClosedArrow" routingStyle="tree">
780 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
781 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_86OXoZL8EeqASt_f1N53dA" showIcon="false">
782 <labelFormat>italic</labelFormat>
783 </beginLabelStyle>
784 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_86OXopL8EeqASt_f1N53dA" showIcon="false"/>
785 </ownedStyle>
786 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
787 </ownedDiagramElements>
788 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
789 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_8N3A4JL8EeqASt_f1N53dA"/>
790 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
791 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
792 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
793 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']/@ownedRepresentationExtensions[name='Entities%20With%20Archetypes']/@layers[name='Archetypes']"/>
794 <target xmi:type="ecore:EPackage" href="satellite.ecore#/"/>
795 </diagram:DSemanticDiagram>
796</xmi:XMI>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.ecore b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.ecore
index 9f17d43c..362df382 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.ecore
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.ecore
@@ -1,32 +1,36 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="satellite" nsURI="http://www.example.org/satellite" nsPrefix="satellite"> 3 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="satellite" nsURI="http://www.example.org/satellite" nsPrefix="satellite">
4 <eClassifiers xsi:type="ecore:EClass" name="ConstellationMission" abstract="true"> 4 <eClassifiers xsi:type="ecore:EClass" name="ConstellationMission" abstract="true">
5 <eStructuralFeatures xsi:type="ecore:EReference" name="groundStationNetwork" lowerBound="1" 5 <eStructuralFeatures xsi:type="ecore:EReference" name="groundStationNetwork" lowerBound="1"
6 eType="#//GroundStationNetwork" containment="true"/> 6 eType="#//GroundStationNetwork" containment="true"/>
7 <eStructuralFeatures xsi:type="ecore:EReference" name="spacecraft" lowerBound="2" 7 <eStructuralFeatures xsi:type="ecore:EReference" name="spacecraft" lowerBound="2"
8 upperBound="-1" eType="#//Spacecraft" containment="true"/> 8 upperBound="-1" eType="#//Spacecraft" containment="true"/>
9 </eClassifiers> 9 </eClassifiers>
10 <eClassifiers xsi:type="ecore:EClass" name="InterferometryMission" eSuperTypes="#//ConstellationMission"/> 10 <eClassifiers xsi:type="ecore:EClass" name="InterferometryMission" eSuperTypes="#//ConstellationMission"/>
11 <eClassifiers xsi:type="ecore:EClass" name="CommunicatingElement" abstract="true"> 11 <eClassifiers xsi:type="ecore:EClass" name="CommunicatingElement" abstract="true">
12 <eStructuralFeatures xsi:type="ecore:EReference" name="commSubsystem" lowerBound="1" 12 <eStructuralFeatures xsi:type="ecore:EReference" name="commSubsystem" lowerBound="1"
13 upperBound="2" eType="#//CommSubsystem" containment="true"/> 13 upperBound="2" eType="#//CommSubsystem" containment="true"/>
14 </eClassifiers> 14 </eClassifiers>
15 <eClassifiers xsi:type="ecore:EClass" name="GroundStationNetwork" eSuperTypes="#//CommunicatingElement"/> 15 <eClassifiers xsi:type="ecore:EClass" name="GroundStationNetwork" eSuperTypes="#//CommunicatingElement"/>
16 <eClassifiers xsi:type="ecore:EClass" name="Spacecraft" abstract="true" eSuperTypes="#//CommunicatingElement"> 16 <eClassifiers xsi:type="ecore:EClass" name="Spacecraft" abstract="true" eSuperTypes="#//CommunicatingElement">
17 <eStructuralFeatures xsi:type="ecore:EReference" name="payload" eType="#//Payload" 17 <eStructuralFeatures xsi:type="ecore:EReference" name="payload" eType="#//Payload"
18 containment="true"/> 18 containment="true"/>
19 </eClassifiers> 19 </eClassifiers>
20 <eClassifiers xsi:type="ecore:EClass" name="CommSubsystem" abstract="true"> 20 <eClassifiers xsi:type="ecore:EClass" name="CommSubsystem" abstract="true">
21 <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//CommSubsystem"/> 21 <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//CommSubsystem"/>
22 </eClassifiers> 22 <eStructuralFeatures xsi:type="ecore:EAttribute" name="frequency" lowerBound="1"
23 <eClassifiers xsi:type="ecore:EClass" name="Payload" abstract="true"/> 23 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
24 <eClassifiers xsi:type="ecore:EClass" name="InterferometryPayload" eSuperTypes="#//Payload"/> 24 <eStructuralFeatures xsi:type="ecore:EAttribute" name="pathLength" lowerBound="1"
25 <eClassifiers xsi:type="ecore:EClass" name="CubeSat3U" eSuperTypes="#//CubeSat"/> 25 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
26 <eClassifiers xsi:type="ecore:EClass" name="CubeSat6U" eSuperTypes="#//CubeSat"/> 26 </eClassifiers>
27 <eClassifiers xsi:type="ecore:EClass" name="SmallSat" eSuperTypes="#//Spacecraft"/> 27 <eClassifiers xsi:type="ecore:EClass" name="Payload" abstract="true"/>
28 <eClassifiers xsi:type="ecore:EClass" name="CubeSat" abstract="true" eSuperTypes="#//Spacecraft"/> 28 <eClassifiers xsi:type="ecore:EClass" name="InterferometryPayload" eSuperTypes="#//Payload"/>
29 <eClassifiers xsi:type="ecore:EClass" name="UHFCommSubsystem" eSuperTypes="#//CommSubsystem"/> 29 <eClassifiers xsi:type="ecore:EClass" name="CubeSat3U" eSuperTypes="#//CubeSat"/>
30 <eClassifiers xsi:type="ecore:EClass" name="XCommSubsystem" eSuperTypes="#//CommSubsystem"/> 30 <eClassifiers xsi:type="ecore:EClass" name="CubeSat6U" eSuperTypes="#//CubeSat"/>
31 <eClassifiers xsi:type="ecore:EClass" name="KaCommSubsystem" eSuperTypes="#//CommSubsystem"/> 31 <eClassifiers xsi:type="ecore:EClass" name="SmallSat" eSuperTypes="#//Spacecraft"/>
32</ecore:EPackage> 32 <eClassifiers xsi:type="ecore:EClass" name="CubeSat" abstract="true" eSuperTypes="#//Spacecraft"/>
33 <eClassifiers xsi:type="ecore:EClass" name="UHFCommSubsystem" eSuperTypes="#//CommSubsystem"/>
34 <eClassifiers xsi:type="ecore:EClass" name="XCommSubsystem" eSuperTypes="#//CommSubsystem"/>
35 <eClassifiers xsi:type="ecore:EClass" name="KaCommSubsystem" eSuperTypes="#//CommSubsystem"/>
36</ecore:EPackage>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.genmodel b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.genmodel
index bc98abd6..4d04fed0 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
@@ -1,39 +1,41 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" 3 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel"
4 modelDirectory="/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen" 4 modelDirectory="/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen"
5 creationIcons="false" editDirectory="/hu.bme.mit.inf.dslreasoner.domains.satellite.edit/src-gen" 5 creationIcons="false" editDirectory="/hu.bme.mit.inf.dslreasoner.domains.satellite.edit/src-gen"
6 editorDirectory="/hu.bme.mit.inf.dslreasoner.domains.satellite.editor/src-gen" 6 editorDirectory="/hu.bme.mit.inf.dslreasoner.domains.satellite.editor/src-gen"
7 modelPluginID="hu.bme.mit.inf.dslreasoner.domains.satellite" modelName="Satellite" 7 modelPluginID="hu.bme.mit.inf.dslreasoner.domains.satellite" modelName="Satellite"
8 rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" codeFormatting="true" 8 rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" codeFormatting="true"
9 importerID="org.eclipse.emf.importer.ecore" complianceLevel="8.0" copyrightFields="false" 9 importerID="org.eclipse.emf.importer.ecore" complianceLevel="8.0" copyrightFields="false"
10 operationReflection="true" importOrganizing="true"> 10 operationReflection="true" importOrganizing="true">
11 <foreignModel>satellite.ecore</foreignModel> 11 <foreignModel>satellite.ecore</foreignModel>
12 <testsDirectory xsi:nil="true"/> 12 <testsDirectory xsi:nil="true"/>
13 <genPackages prefix="Satellite" disposableProviderFactory="true" ecorePackage="satellite.ecore#/"> 13 <genPackages prefix="Satellite" disposableProviderFactory="true" ecorePackage="satellite.ecore#/">
14 <genClasses image="false" ecoreClass="satellite.ecore#//ConstellationMission"> 14 <genClasses image="false" ecoreClass="satellite.ecore#//ConstellationMission">
15 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference satellite.ecore#//ConstellationMission/groundStationNetwork"/> 15 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference satellite.ecore#//ConstellationMission/groundStationNetwork"/>
16 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference satellite.ecore#//ConstellationMission/spacecraft"/> 16 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference satellite.ecore#//ConstellationMission/spacecraft"/>
17 </genClasses> 17 </genClasses>
18 <genClasses ecoreClass="satellite.ecore#//InterferometryMission"/> 18 <genClasses ecoreClass="satellite.ecore#//InterferometryMission"/>
19 <genClasses image="false" ecoreClass="satellite.ecore#//CommunicatingElement"> 19 <genClasses image="false" ecoreClass="satellite.ecore#//CommunicatingElement">
20 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference satellite.ecore#//CommunicatingElement/commSubsystem"/> 20 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference satellite.ecore#//CommunicatingElement/commSubsystem"/>
21 </genClasses> 21 </genClasses>
22 <genClasses ecoreClass="satellite.ecore#//GroundStationNetwork"/> 22 <genClasses ecoreClass="satellite.ecore#//GroundStationNetwork"/>
23 <genClasses image="false" ecoreClass="satellite.ecore#//Spacecraft"> 23 <genClasses image="false" ecoreClass="satellite.ecore#//Spacecraft">
24 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference satellite.ecore#//Spacecraft/payload"/> 24 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference satellite.ecore#//Spacecraft/payload"/>
25 </genClasses> 25 </genClasses>
26 <genClasses ecoreClass="satellite.ecore#//CommSubsystem"> 26 <genClasses ecoreClass="satellite.ecore#//CommSubsystem">
27 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference satellite.ecore#//CommSubsystem/target"/> 27 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference satellite.ecore#//CommSubsystem/target"/>
28 </genClasses> 28 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute satellite.ecore#//CommSubsystem/frequency"/>
29 <genClasses image="false" ecoreClass="satellite.ecore#//Payload"/> 29 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute satellite.ecore#//CommSubsystem/pathLength"/>
30 <genClasses ecoreClass="satellite.ecore#//InterferometryPayload"/> 30 </genClasses>
31 <genClasses ecoreClass="satellite.ecore#//CubeSat3U"/> 31 <genClasses image="false" ecoreClass="satellite.ecore#//Payload"/>
32 <genClasses ecoreClass="satellite.ecore#//CubeSat6U"/> 32 <genClasses ecoreClass="satellite.ecore#//InterferometryPayload"/>
33 <genClasses ecoreClass="satellite.ecore#//SmallSat"/> 33 <genClasses ecoreClass="satellite.ecore#//CubeSat3U"/>
34 <genClasses image="false" ecoreClass="satellite.ecore#//CubeSat"/> 34 <genClasses ecoreClass="satellite.ecore#//CubeSat6U"/>
35 <genClasses ecoreClass="satellite.ecore#//UHFCommSubsystem"/> 35 <genClasses ecoreClass="satellite.ecore#//SmallSat"/>
36 <genClasses ecoreClass="satellite.ecore#//XCommSubsystem"/> 36 <genClasses image="false" ecoreClass="satellite.ecore#//CubeSat"/>
37 <genClasses ecoreClass="satellite.ecore#//KaCommSubsystem"/> 37 <genClasses ecoreClass="satellite.ecore#//UHFCommSubsystem"/>
38 </genPackages> 38 <genClasses ecoreClass="satellite.ecore#//XCommSubsystem"/>
39</genmodel:GenModel> 39 <genClasses ecoreClass="satellite.ecore#//KaCommSubsystem"/>
40 </genPackages>
41</genmodel:GenModel>
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 fe1af62e..419d8640 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml
@@ -1,26 +1,30 @@
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"/>
13 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.transmittingGroundStationNetwork"/> 10 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.transmittingGroundStationNetwork"/>
14 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.roundStationNetworkUHF"/> 11 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.roundStationNetworkUHF"/>
15 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.notEnoughInterferometryPayloads"/> 12 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.notEnoughInterferometryPayloads"/>
16 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noLinkToGroundStation"/>
17 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.unsat_linkToGroundStation"/>
18 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noPotentialLinkToGroundStation"/>
19 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLoop"/> 13 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLoop"/>
20 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetBand"/> 14 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetBand"/>
21 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.threeUCubeSatWithNonUhfCrossLink"/> 15 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.threeUCubeSatWithNonUhfCrossLink"/>
22 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSatWithKaAntenna"/> 16 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSatWithKaAntenna"/>
23 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.smallSat"/> 17 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.smallSat"/>
18 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.differentFrequency"/>
19 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooHighFrequencyForUHF"/>
20 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooLowFrequencyForUHF"/>
21 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooHighFrequencyForKaComm"/>
22 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooLowFrequencyForKaComm"/>
23 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooHighFrequencyForXComm"/>
24 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooLowFrequencyForXComm"/>
25 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooHighPathLengthForSatelite"/>
26 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooLowPathLengthForSatelite"/>
27 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooLowPathLengthForGroundStation"/>
24 </group> 28 </group>
25 </extension> 29 </extension>
26</plugin> 30</plugin>
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 ba12bbda..57b5933a 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
@@ -51,13 +51,13 @@ private pattern spacecraftWithInterferometryPayload(Mission : ConstellationMissi
51 51
52// All spacecraft must have some communication path to the ground station 52// All spacecraft must have some communication path to the ground station
53 53
54@Constraint(severity = "error", key = {Spacecraft}, 54//@Constraint(severity = "error", key = {Spacecraft},
55 message = "Spacecraft has no communication path to the ground station.") 55// message = "Spacecraft has no communication path to the ground station.")
56pattern noLinkToGroundStation(Spacecraft : Spacecraft) { 56//pattern noLinkToGroundStation(Spacecraft : Spacecraft) {
57 ConstellationMission.groundStationNetwork(Mission, GroundStation); 57// ConstellationMission.groundStationNetwork(Mission, GroundStation);
58 ConstellationMission.spacecraft(Mission, Spacecraft); 58// ConstellationMission.spacecraft(Mission, Spacecraft);
59 neg find indirectCommunicationLink(Spacecraft, GroundStation); 59// neg find indirectCommunicationLink(Spacecraft, GroundStation);
60} 60//}
61 61
62//@Constraint(severity = "error", key = {Spacecraft}, message = "UNSAT") 62//@Constraint(severity = "error", key = {Spacecraft}, message = "UNSAT")
63//pattern unsat_linkToGroundStation(Spacecraft : Spacecraft) { 63//pattern unsat_linkToGroundStation(Spacecraft : Spacecraft) {
@@ -66,41 +66,41 @@ pattern noLinkToGroundStation(Spacecraft : Spacecraft) {
66// find indirectCommunicationLink(Spacecraft, GroundStation); 66// find indirectCommunicationLink(Spacecraft, GroundStation);
67//} 67//}
68 68
69@Constraint(severity = "error", key = {Mission}, message = "UNSAT") 69//@Constraint(severity = "error", key = {Mission}, message = "UNSAT")
70pattern unsat_linkToGroundStation(Mission : InterferometryMission) { 70//pattern unsat_linkToGroundStation(Mission : InterferometryMission) {
71 InterferometryMission(Mission); 71// InterferometryMission(Mission);
72 neg find noLinkToGroundStation(_); 72// neg find noLinkToGroundStation(_);
73} 73//}
74 74
75@Constraint(severity = "error", key = {Spacecraft}, 75//@Constraint(severity = "error", key = {Spacecraft},
76 message = "Spacecraft has no potential communication path to the ground station.") 76// message = "Spacecraft has no potential communication path to the ground station.")
77pattern noPotentialLinkToGroundStation(Spacecraft : Spacecraft) { 77//pattern noPotentialLinkToGroundStation(Spacecraft : Spacecraft) {
78 ConstellationMission.groundStationNetwork(Mission, GroundStation); 78// ConstellationMission.groundStationNetwork(Mission, GroundStation);
79 ConstellationMission.spacecraft(Mission, Spacecraft); 79// ConstellationMission.spacecraft(Mission, Spacecraft);
80 neg find indirectLinkAllowed(Spacecraft, GroundStation); 80// neg find indirectLinkAllowed(Spacecraft, GroundStation);
81} 81//}
82 82
83private pattern indirectLinkAllowed(From : Spacecraft, To : CommunicatingElement) { 83//private pattern indirectLinkAllowed(From : Spacecraft, To : CommunicatingElement) {
84 find linkAllowed+(From, To); 84// find linkAllowed+(From, To);
85} 85//}
86 86
87private pattern linkAllowed(From : Spacecraft, To : CommunicatingElement) { 87//private pattern linkAllowed(From : Spacecraft, To : CommunicatingElement) {
88 find matchingAntenna(From, To); 88// find matchingAntenna(From, To);
89 neg find cubeSat3U(From); 89// neg find cubeSat3U(From);
90} or { 90//} or {
91 find matchingAntenna(From, To); 91// find matchingAntenna(From, To);
92 CubeSat3U(From); 92// CubeSat3U(From);
93} or { 93//} or {
94 find matchingAntenna(From, To); 94// find matchingAntenna(From, To);
95 CubeSat3U(From); 95// CubeSat3U(From);
96 GroundStationNetwork(To); 96// GroundStationNetwork(To);
97} 97//}
98 98
99private pattern matchingAntenna(From : Spacecraft, To : CommunicatingElement) { 99//private pattern matchingAntenna(From : Spacecraft, To : CommunicatingElement) {
100 CommunicatingElement.commSubsystem(From, FromSys); 100// CommunicatingElement.commSubsystem(From, FromSys);
101 CommunicatingElement.commSubsystem(To, ToSys); 101// CommunicatingElement.commSubsystem(To, ToSys);
102 find matchingCommSubsystem(FromSys, ToSys); 102// find matchingCommSubsystem(FromSys, ToSys);
103} 103//}
104 104
105private pattern matchingCommSubsystem(From : CommSubsystem, To : CommSubsystem) { 105private pattern matchingCommSubsystem(From : CommSubsystem, To : CommSubsystem) {
106 UHFCommSubsystem(From); 106 UHFCommSubsystem(From);
@@ -113,9 +113,9 @@ private pattern matchingCommSubsystem(From : CommSubsystem, To : CommSubsystem)
113 KaCommSubsystem(To); 113 KaCommSubsystem(To);
114} 114}
115 115
116private pattern cubeSat3U(Sat : CubeSat3U) { 116//private pattern cubeSat3U(Sat : CubeSat3U) {
117 CubeSat3U(Sat); 117// CubeSat3U(Sat);
118} 118//}
119 119
120// No communication loops may exist 120// No communication loops may exist
121// No spacecraft may directly communicate with itself 121// No spacecraft may directly communicate with itself
@@ -180,6 +180,71 @@ pattern smallSat(Sat : SmallSat) {
180 SmallSat(Sat); 180 SmallSat(Sat);
181} 181}
182 182
183@Constraint(severity = "error", key = {c1,c2}, message = "error")
184pattern differentFrequency(c1 : CommSubsystem, c2 : CommSubsystem) {
185 CommSubsystem.target(c1,c2);
186 CommSubsystem.frequency(c1,f1);
187 CommSubsystem.frequency(c2,f2);
188 check(f1!=f2);
189}
190
191@Constraint(severity = "error", key = {s,s}, message = "error")
192pattern tooHighFrequencyForUHF(s : UHFCommSubsystem) {
193 UHFCommSubsystem(s);
194 CommSubsystem.frequency(s,f);
195 check(f>1000);//1GHz
196}
197@Constraint(severity = "error", key = {s,s}, message = "error")
198pattern tooLowFrequencyForUHF(s : UHFCommSubsystem) {
199 UHFCommSubsystem(s);
200 CommSubsystem.frequency(s,f);
201 check(f<300);//300MHz
202}
203@Constraint(severity = "error", key = {s,s}, message = "error")
204pattern tooHighFrequencyForKaComm(s : KaCommSubsystem) {
205 KaCommSubsystem(s);
206 CommSubsystem.frequency(s,f);
207 check(f>40000);//40GHz
208}
209@Constraint(severity = "error", key = {s,s}, message = "error")
210pattern tooLowFrequencyForKaComm(s : KaCommSubsystem) {
211 KaCommSubsystem(s);
212 CommSubsystem.frequency(s,f);
213 check(f<26500);//26.5GHz
214}
215@Constraint(severity = "error", key = {s,s}, message = "error")
216pattern tooHighFrequencyForXComm(s : XCommSubsystem) {
217 XCommSubsystem(s);
218 CommSubsystem.frequency(s,f);
219 check(f>12000);//12GHz
220}
221@Constraint(severity = "error", key = {s,s}, message = "error")
222pattern tooLowFrequencyForXComm(s : XCommSubsystem) {
223 XCommSubsystem(s);
224 CommSubsystem.frequency(s,f);
225 check(f<8000);//8GHz
226}
227@Constraint(severity = "error", key = {s,s}, message = "error")
228pattern tooHighPathLengthForSatelite(s:CommSubsystem) {
229 CommSubsystem.pathLength(s,l);
230 CommSubsystem.target(s,ts);
231 Spacecraft.commSubsystem(_,ts);
232 check(l>250);//250km
233}
234@Constraint(severity = "error", key = {s,s}, message = "error")
235pattern tooLowPathLengthForSatelite(s:CommSubsystem) {
236 CommSubsystem.pathLength(s,l);
237 CommSubsystem.target(s,ts);
238 Spacecraft.commSubsystem(_,ts);
239 check(l<150);//150km
240}
241@Constraint(severity = "error", key = {s,s}, message = "error")
242pattern tooLowPathLengthForGroundStation(s:CommSubsystem) {
243 CommSubsystem.pathLength(s,l);
244 CommSubsystem.target(s,ts);
245 GroundStationNetwork.commSubsystem(_,ts);
246 check(l!=385000);//385.000km
247}
183//// 248////
184//// Metrics 249//// Metrics
185//// 250////
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/runner/SatelliteGeneratorMain.xtend b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/runner/SatelliteGeneratorMain.xtend
index 5e4e4ef0..0ac66ce9 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/runner/SatelliteGeneratorMain.xtend
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/runner/SatelliteGeneratorMain.xtend
@@ -12,6 +12,7 @@ final class SatelliteGeneratorMain {
12 public static def void main(String[] args) { 12 public static def void main(String[] args) {
13 ViatraQueryEngineOptions.setSystemDefaultBackends(ReteBackendFactory.INSTANCE, ReteBackendFactory.INSTANCE, 13 ViatraQueryEngineOptions.setSystemDefaultBackends(ReteBackendFactory.INSTANCE, ReteBackendFactory.INSTANCE,
14 ReteBackendFactory.INSTANCE) 14 ReteBackendFactory.INSTANCE)
15 println(StandaloneScriptExecutor.executeScript("configs/generation.vsconfig")) 15 val res = StandaloneScriptExecutor.executeScript("configs/generation.vsconfig")
16 if(res!==null) println(res)
16 } 17 }
17} 18}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.genmodel b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.genmodel
index 4e34cf1d..0a658e2c 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.genmodel
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.genmodel
@@ -29,5 +29,6 @@
29 </genClasses> 29 </genClasses>
30 <genClasses ecoreClass="yakindu_simplified.ecore#//Choice"/> 30 <genClasses ecoreClass="yakindu_simplified.ecore#//Choice"/>
31 <genClasses ecoreClass="yakindu_simplified.ecore#//Exit"/> 31 <genClasses ecoreClass="yakindu_simplified.ecore#//Exit"/>
32 <genClasses ecoreClass="yakindu_simplified.ecore#//FinalState"/>
32 </genPackages> 33 </genPackages>
33</genmodel:GenModel> 34</genmodel:GenModel>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/plugin.xml b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/plugin.xml
index d4ab204e..331e2b61 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/plugin.xml
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/plugin.xml
@@ -39,4 +39,72 @@
39 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.twoSynch"/> 39 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.twoSynch"/>
40 </group> 40 </group>
41 </extension> 41 </extension>
42 <extension id="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.Mutated" point="org.eclipse.viatra.query.runtime.queryspecification">
43 <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.Mutated" id="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.Mutated">
44 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.entryInRegion_M0"/>
45 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.entryInRegion_M1"/>
46 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.entryInRegion_M2"/>
47 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noEntryInRegion_M0"/>
48 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noEntryInRegion_M1"/>
49 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noEntryInRegion_M2"/>
50 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noEntryInRegion_M3"/>
51 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noEntryInRegion_M4"/>
52 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noEntryInRegion_M5"/>
53 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleEntryInRegion_M0"/>
54 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleEntryInRegion_M1"/>
55 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleEntryInRegion_M2"/>
56 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleEntryInRegion_M3"/>
57 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleEntryInRegion_M4"/>
58 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleEntryInRegion_M5"/>
59 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.transition_M0"/>
60 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.transition_M1"/>
61 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.transition_M2"/>
62 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.transition_M3"/>
63 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.transition_M4"/>
64 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.incomingToEntry_M0"/>
65 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.incomingToEntry_1"/>
66 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.incomingToEntry_2"/>
67 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.incomingToEntry_3"/>
68 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.incomingToEntry_4"/>
69 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.incomingToEntry_5"/>
70 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noOutgoingTransitionFromEntry_M0"/>
71 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noOutgoingTransitionFromEntry_M1"/>
72 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noOutgoingTransitionFromEntry_M2"/>
73 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noOutgoingTransitionFromEntry_M3"/>
74 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noOutgoingTransitionFromEntry_M4"/>
75 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noOutgoingTransitionFromEntry_M5"/>
76 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleTransitionFromEntry_M0"/>
77 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleTransitionFromEntry_M1"/>
78 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleTransitionFromEntry_M2"/>
79 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleTransitionFromEntry_M3"/>
80 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.multipleTransitionFromEntry_M4"/>
81 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.outgoingFromExit_M0"/>
82 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.outgoingFromExit_M1"/>
83 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.outgoingFromExit_M2"/>
84 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.outgoingFromFinal_M0"/>
85 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.outgoingFromFinal_M1"/>
86 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.outgoingFromFinal_M2"/>
87 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noStateInRegion_M0"/>
88 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noStateInRegion_M1"/>
89 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noStateInRegion_M2"/>
90 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.noStateInRegion_M3"/>
91 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.StateInRegion_M0"/>
92 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.StateInRegion_M1"/>
93 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.StateInRegion_M2"/>
94 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoOutgoing_M0"/>
95 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoOutgoing_M1"/>
96 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoOutgoing_M2"/>
97 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoOutgoing_M3"/>
98 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoOutgoing_M4"/>
99 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoOutgoing_M5"/>
100 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoOutgoing_M6"/>
101 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoIncoming_M0"/>
102 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoIncoming_M1"/>
103 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoIncoming_M2"/>
104 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoIncoming_M3"/>
105 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoIncoming_M4"/>
106 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoIncoming_M5"/>
107 <query-specification fqn="hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.choiceHasNoIncoming_M6"/>
108 </group>
109 </extension>
42</plugin> 110</plugin>