aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar OszkarSemerath <oszka@192.168.122.1>2017-08-20 01:55:38 +0200
committerLibravatar OszkarSemerath <oszka@192.168.122.1>2017-08-20 01:55:38 +0200
commit78c806eebaf5b9d50b08768062755f0044cf107f (patch)
tree7db4d1b6a990b2572ed82a747dffac65a1c6fcc5
parentnull check before mapping value of a reference (diff)
downloadVIATRA-Generator-78c806eebaf5b9d50b08768062755f0044cf107f.tar.gz
VIATRA-Generator-78c806eebaf5b9d50b08768062755f0044cf107f.tar.zst
VIATRA-Generator-78c806eebaf5b9d50b08768062755f0044cf107f.zip
Alloy Examples
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/.classpath10
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/.gitignore1
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/.project40
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/META-INF/MANIFEST.MF25
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/build.properties9
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/examples/filesystem.als353
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/model/FileSytem.aird362
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/model/FileSytem.ecore32
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/model/FileSytem.genmodel26
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/patterns/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Ecore.vql29
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/patterns/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/FileSystem.vql24
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/plugin.properties4
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/plugin.xml26
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/.gitignore36
-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/Dir.java42
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/FSObject.java52
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/File.java18
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/FileSystem.java70
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/FilesystemFactory.java69
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/FilesystemPackage.java511
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/Model.java69
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/DirImpl.java165
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FSObjectImpl.java194
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FileImpl.java36
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FileSystemImpl.java205
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FilesystemFactoryImpl.java128
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FilesystemPackageImpl.java356
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/ModelImpl.java221
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/util/FilesystemAdapterFactory.java192
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/util/FilesystemSwitch.java196
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.run/initialModels/ecore.xmi6
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.run/initialModels/fs.xmi3
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/FileSystemInconsistencyDetector.xtend53
35 files changed, 3602 insertions, 0 deletions
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/.classpath b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/.classpath
new file mode 100644
index 00000000..3b808ec0
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/.classpath
@@ -0,0 +1,10 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
4 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
5 <classpathentry kind="src" path="src"/>
6 <classpathentry kind="src" path="xtend-gen"/>
7 <classpathentry kind="src" path="patterns"/>
8 <classpathentry kind="src" path="src-gen/"/>
9 <classpathentry kind="output" path="bin"/>
10</classpath>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/.gitignore
new file mode 100644
index 00000000..ae3c1726
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/.gitignore
@@ -0,0 +1 @@
/bin/
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/.project b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/.project
new file mode 100644
index 00000000..fe11e80b
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/.project
@@ -0,0 +1,40 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>hu.bme.mit.inf.dslreasoner.domains.alloyexamples</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.viatra.query.tooling.ui.projectbuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.jdt.core.javabuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 <buildCommand>
24 <name>org.eclipse.pde.ManifestBuilder</name>
25 <arguments>
26 </arguments>
27 </buildCommand>
28 <buildCommand>
29 <name>org.eclipse.pde.SchemaBuilder</name>
30 <arguments>
31 </arguments>
32 </buildCommand>
33 </buildSpec>
34 <natures>
35 <nature>org.eclipse.pde.PluginNature</nature>
36 <nature>org.eclipse.jdt.core.javanature</nature>
37 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
38 <nature>org.eclipse.viatra.query.projectnature</nature>
39 </natures>
40</projectDescription>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/.settings/org.eclipse.jdt.core.prefs b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..295926d9
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
1eclipse.preferences.version=1
2org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
4org.eclipse.jdt.core.compiler.compliance=1.8
5org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
6org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
7org.eclipse.jdt.core.compiler.source=1.8
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
new file mode 100644
index 00000000..41726ae6
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/META-INF/MANIFEST.MF
@@ -0,0 +1,25 @@
1Manifest-Version: 1.0
2Bundle-ManifestVersion: 2
3Bundle-Name: %pluginName
4Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.domains.alloyexamples;singleton:=true
5Bundle-Version: 1.0.0.qualifier
6Bundle-ClassPath: .
7Bundle-Vendor: %providerName
8Bundle-Localization: plugin
9Export-Package: hu.bme.mit.inf.dslreasoner.domains.alloyexamples,
10 hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem,
11 hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl,
12 hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.util,
13 hu.bme.mit.inf.dslreasoner.domains.alloyexamples.util
14Require-Bundle: org.eclipse.viatra.addon.querybasedfeatures.runtime,
15 org.eclipse.viatra.query.runtime,
16 org.eclipse.core.runtime,
17 org.eclipse.emf.ecore;visibility:=reexport,
18 org.eclipse.emf.emfstore.common,
19 com.google.guava,
20 org.eclipse.xtext.xbase.lib,
21 org.eclipse.xtend.lib,
22 org.eclipse.xtend.lib.macro
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
new file mode 100644
index 00000000..a9ab8b56
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/build.properties
@@ -0,0 +1,9 @@
1bin.includes = .,\
2 model/,\
3 META-INF/,\
4 plugin.xml,\
5 plugin.properties
6jars.compile.order = .
7source.. = src/,\
8 src-gen/
9output.. = bin/
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/examples/filesystem.als b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/examples/filesystem.als
new file mode 100644
index 00000000..819f1247
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/examples/filesystem.als
@@ -0,0 +1,353 @@
1// A file system object in the file system
2abstract sig FSObject { }
3
4// File system objects must be either directories or files.
5sig File, Dir extends FSObject { }
6
7// A File System
8sig FileSystem {
9 root: Dir,
10 live: set FSObject,
11 contents: Dir lone-> FSObject,
12 parent: FSObject ->lone Dir
13}{
14 // root has no parent
15 no root.parent
16 // live objects are those reachable from the root
17 live = root.*contents
18 // contents only defined on live objects
19 contents in live->live
20 // parent is the inverse of contents
21 parent = ~contents
22}
23
24run xrx1s5 {} for exactly 1 FileSystem, exactly 4 FSObject
25run xrx2s5 {} for exactly 1 FileSystem, exactly 4 FSObject
26run xrx3s5 {} for exactly 1 FileSystem, exactly 4 FSObject
27run rxx4s5 {} for exactly 1 FileSystem, exactly 4 FSObject
28run rxx5s5 {} for exactly 1 FileSystem, exactly 4 FSObject
29run rx6s5 {} for exactly 1 FileSystem, exactly 4 FSObject
30run rx7s5 {} for exactly 1 FileSystem, exactly 4 FSObject
31run rx8s5 {} for exactly 1 FileSystem, exactly 4 FSObject
32run rx9s5 {} for exactly 1 FileSystem, exactly 4 FSObject
33run rx10s5 {} for exactly 1 FileSystem, exactly 4 FSObject
34run r11s5 {} for exactly 1 FileSystem, exactly 4 FSObject
35run rx12s5 {} for exactly 1 FileSystem, exactly 4 FSObject
36run rx13s5 {} for exactly 1 FileSystem, exactly 4 FSObject
37run rx14s5 {} for exactly 1 FileSystem, exactly 4 FSObject
38run rx15s5 {} for exactly 1 FileSystem, exactly 4 FSObject
39run rx16s5 {} for exactly 1 FileSystem, exactly 4 FSObject
40run rx17s5 {} for exactly 1 FileSystem, exactly 4 FSObject
41run rx18s5 {} for exactly 1 FileSystem, exactly 4 FSObject
42run rx19s5 {} for exactly 1 FileSystem, exactly 4 FSObject
43run rx20s5 {} for exactly 1 FileSystem, exactly 4 FSObject
44run rx21s5 {} for exactly 1 FileSystem, exactly 4 FSObject
45run rx22s5 {} for exactly 1 FileSystem, exactly 4 FSObject
46run rx23s5 {} for exactly 1 FileSystem, exactly 4 FSObject
47run rx24s5 {} for exactly 1 FileSystem, exactly 4 FSObject
48run rx25s5 {} for exactly 1 FileSystem, exactly 4 FSObject
49run rx26s5 {} for exactly 1 FileSystem, exactly 4 FSObject
50run rx27s5 {} for exactly 1 FileSystem, exactly 4 FSObject
51run rx28s5 {} for exactly 1 FileSystem, exactly 4 FSObject
52run rx29s5 {} for exactly 1 FileSystem, exactly 4 FSObject
53run rx30s5 {} for exactly 1 FileSystem, exactly 4 FSObject
54run r1s5 {} for exactly 1 FileSystem, exactly 4 FSObject
55run r2s5 {} for exactly 1 FileSystem, exactly 4 FSObject
56run r3s5 {} for exactly 1 FileSystem, exactly 4 FSObject
57run r4s5 {} for exactly 1 FileSystem, exactly 4 FSObject
58run r5s5 {} for exactly 1 FileSystem, exactly 4 FSObject
59run r6s5 {} for exactly 1 FileSystem, exactly 4 FSObject
60run r7s5 {} for exactly 1 FileSystem, exactly 4 FSObject
61run r8s5 {} for exactly 1 FileSystem, exactly 4 FSObject
62run r9s5 {} for exactly 1 FileSystem, exactly 4 FSObject
63run r10s5 {} for exactly 1 FileSystem, exactly 4 FSObject
64run r11s5 {} for exactly 1 FileSystem, exactly 4 FSObject
65run r12s5 {} for exactly 1 FileSystem, exactly 4 FSObject
66run r13s5 {} for exactly 1 FileSystem, exactly 4 FSObject
67run r14s5 {} for exactly 1 FileSystem, exactly 4 FSObject
68run r15s5 {} for exactly 1 FileSystem, exactly 4 FSObject
69run r16s5 {} for exactly 1 FileSystem, exactly 4 FSObject
70run r17s5 {} for exactly 1 FileSystem, exactly 4 FSObject
71run r18s5 {} for exactly 1 FileSystem, exactly 4 FSObject
72run r19s5 {} for exactly 1 FileSystem, exactly 4 FSObject
73run r20s5 {} for exactly 1 FileSystem, exactly 4 FSObject
74run r21s5 {} for exactly 1 FileSystem, exactly 4 FSObject
75run r22s5 {} for exactly 1 FileSystem, exactly 4 FSObject
76run r23s5 {} for exactly 1 FileSystem, exactly 4 FSObject
77run r24s5 {} for exactly 1 FileSystem, exactly 4 FSObject
78run r25s5 {} for exactly 1 FileSystem, exactly 4 FSObject
79run r26s5 {} for exactly 1 FileSystem, exactly 4 FSObject
80run r27s5 {} for exactly 1 FileSystem, exactly 4 FSObject
81run r28s5 {} for exactly 1 FileSystem, exactly 4 FSObject
82run r29s5 {} for exactly 1 FileSystem, exactly 4 FSObject
83run r30s5 {} for exactly 1 FileSystem, exactly 4 FSObject
84run r1s10 {} for exactly 1 FileSystem, exactly 9 FSObject
85run r2s10 {} for exactly 1 FileSystem, exactly 9 FSObject
86run r3s10 {} for exactly 1 FileSystem, exactly 9 FSObject
87run r4s10 {} for exactly 1 FileSystem, exactly 9 FSObject
88run r5s10 {} for exactly 1 FileSystem, exactly 9 FSObject
89run r6s10 {} for exactly 1 FileSystem, exactly 9 FSObject
90run r7s10 {} for exactly 1 FileSystem, exactly 9 FSObject
91run r8s10 {} for exactly 1 FileSystem, exactly 9 FSObject
92run r9s10 {} for exactly 1 FileSystem, exactly 9 FSObject
93run r10s10 {} for exactly 1 FileSystem, exactly 9 FSObject
94run r11s10 {} for exactly 1 FileSystem, exactly 9 FSObject
95run r12s10 {} for exactly 1 FileSystem, exactly 9 FSObject
96run r13s10 {} for exactly 1 FileSystem, exactly 9 FSObject
97run r14s10 {} for exactly 1 FileSystem, exactly 9 FSObject
98run r15s10 {} for exactly 1 FileSystem, exactly 9 FSObject
99run r16s10 {} for exactly 1 FileSystem, exactly 9 FSObject
100run r17s10 {} for exactly 1 FileSystem, exactly 9 FSObject
101run r18s10 {} for exactly 1 FileSystem, exactly 9 FSObject
102run r19s10 {} for exactly 1 FileSystem, exactly 9 FSObject
103run r20s10 {} for exactly 1 FileSystem, exactly 9 FSObject
104run r21s10 {} for exactly 1 FileSystem, exactly 9 FSObject
105run r22s10 {} for exactly 1 FileSystem, exactly 9 FSObject
106run r23s10 {} for exactly 1 FileSystem, exactly 9 FSObject
107run r24s10 {} for exactly 1 FileSystem, exactly 9 FSObject
108run r25s10 {} for exactly 1 FileSystem, exactly 9 FSObject
109run r26s10 {} for exactly 1 FileSystem, exactly 9 FSObject
110run r27s10 {} for exactly 1 FileSystem, exactly 9 FSObject
111run r28s10 {} for exactly 1 FileSystem, exactly 9 FSObject
112run r29s10 {} for exactly 1 FileSystem, exactly 9 FSObject
113run r30s10 {} for exactly 1 FileSystem, exactly 9 FSObject
114run r1s15 {} for exactly 1 FileSystem, exactly 14 FSObject
115run r2s15 {} for exactly 1 FileSystem, exactly 14 FSObject
116run r3s15 {} for exactly 1 FileSystem, exactly 14 FSObject
117run r4s15 {} for exactly 1 FileSystem, exactly 14 FSObject
118run r5s15 {} for exactly 1 FileSystem, exactly 14 FSObject
119run r6s15 {} for exactly 1 FileSystem, exactly 14 FSObject
120run r7s15 {} for exactly 1 FileSystem, exactly 14 FSObject
121run r8s15 {} for exactly 1 FileSystem, exactly 14 FSObject
122run r9s15 {} for exactly 1 FileSystem, exactly 14 FSObject
123run r10s15 {} for exactly 1 FileSystem, exactly 14 FSObject
124run r11s15 {} for exactly 1 FileSystem, exactly 14 FSObject
125run r12s15 {} for exactly 1 FileSystem, exactly 14 FSObject
126run r13s15 {} for exactly 1 FileSystem, exactly 14 FSObject
127run r14s15 {} for exactly 1 FileSystem, exactly 14 FSObject
128run r15s15 {} for exactly 1 FileSystem, exactly 14 FSObject
129run r16s15 {} for exactly 1 FileSystem, exactly 14 FSObject
130run r17s15 {} for exactly 1 FileSystem, exactly 14 FSObject
131run r18s15 {} for exactly 1 FileSystem, exactly 14 FSObject
132run r19s15 {} for exactly 1 FileSystem, exactly 14 FSObject
133run r20s15 {} for exactly 1 FileSystem, exactly 14 FSObject
134run r21s15 {} for exactly 1 FileSystem, exactly 14 FSObject
135run r22s15 {} for exactly 1 FileSystem, exactly 14 FSObject
136run r23s15 {} for exactly 1 FileSystem, exactly 14 FSObject
137run r24s15 {} for exactly 1 FileSystem, exactly 14 FSObject
138run r25s15 {} for exactly 1 FileSystem, exactly 14 FSObject
139run r26s15 {} for exactly 1 FileSystem, exactly 14 FSObject
140run r27s15 {} for exactly 1 FileSystem, exactly 14 FSObject
141run r28s15 {} for exactly 1 FileSystem, exactly 14 FSObject
142run r29s15 {} for exactly 1 FileSystem, exactly 14 FSObject
143run r30s15 {} for exactly 1 FileSystem, exactly 14 FSObject
144run r1s20 {} for exactly 1 FileSystem, exactly 19 FSObject
145run r2s20 {} for exactly 1 FileSystem, exactly 19 FSObject
146run r3s20 {} for exactly 1 FileSystem, exactly 19 FSObject
147run r4s20 {} for exactly 1 FileSystem, exactly 19 FSObject
148run r5s20 {} for exactly 1 FileSystem, exactly 19 FSObject
149run r6s20 {} for exactly 1 FileSystem, exactly 19 FSObject
150run r7s20 {} for exactly 1 FileSystem, exactly 19 FSObject
151run r8s20 {} for exactly 1 FileSystem, exactly 19 FSObject
152run r9s20 {} for exactly 1 FileSystem, exactly 19 FSObject
153run r10s20 {} for exactly 1 FileSystem, exactly 19 FSObject
154run r11s20 {} for exactly 1 FileSystem, exactly 19 FSObject
155run r12s20 {} for exactly 1 FileSystem, exactly 19 FSObject
156run r13s20 {} for exactly 1 FileSystem, exactly 19 FSObject
157run r14s20 {} for exactly 1 FileSystem, exactly 19 FSObject
158run r15s20 {} for exactly 1 FileSystem, exactly 19 FSObject
159run r16s20 {} for exactly 1 FileSystem, exactly 19 FSObject
160run r17s20 {} for exactly 1 FileSystem, exactly 19 FSObject
161run r18s20 {} for exactly 1 FileSystem, exactly 19 FSObject
162run r19s20 {} for exactly 1 FileSystem, exactly 19 FSObject
163run r20s20 {} for exactly 1 FileSystem, exactly 19 FSObject
164run r21s20 {} for exactly 1 FileSystem, exactly 19 FSObject
165run r22s20 {} for exactly 1 FileSystem, exactly 19 FSObject
166run r23s20 {} for exactly 1 FileSystem, exactly 19 FSObject
167run r24s20 {} for exactly 1 FileSystem, exactly 19 FSObject
168run r25s20 {} for exactly 1 FileSystem, exactly 19 FSObject
169run r26s20 {} for exactly 1 FileSystem, exactly 19 FSObject
170run r27s20 {} for exactly 1 FileSystem, exactly 19 FSObject
171run r28s20 {} for exactly 1 FileSystem, exactly 19 FSObject
172run r29s20 {} for exactly 1 FileSystem, exactly 19 FSObject
173run r30s20 {} for exactly 1 FileSystem, exactly 19 FSObject
174run r1s25 {} for exactly 1 FileSystem, exactly 24 FSObject
175run r2s25 {} for exactly 1 FileSystem, exactly 24 FSObject
176run r3s25 {} for exactly 1 FileSystem, exactly 24 FSObject
177run r4s25 {} for exactly 1 FileSystem, exactly 24 FSObject
178run r5s25 {} for exactly 1 FileSystem, exactly 24 FSObject
179run r6s25 {} for exactly 1 FileSystem, exactly 24 FSObject
180run r7s25 {} for exactly 1 FileSystem, exactly 24 FSObject
181run r8s25 {} for exactly 1 FileSystem, exactly 24 FSObject
182run r9s25 {} for exactly 1 FileSystem, exactly 24 FSObject
183run r10s25 {} for exactly 1 FileSystem, exactly 24 FSObject
184run r11s25 {} for exactly 1 FileSystem, exactly 24 FSObject
185run r12s25 {} for exactly 1 FileSystem, exactly 24 FSObject
186run r13s25 {} for exactly 1 FileSystem, exactly 24 FSObject
187run r14s25 {} for exactly 1 FileSystem, exactly 24 FSObject
188run r15s25 {} for exactly 1 FileSystem, exactly 24 FSObject
189run r16s25 {} for exactly 1 FileSystem, exactly 24 FSObject
190run r17s25 {} for exactly 1 FileSystem, exactly 24 FSObject
191run r18s25 {} for exactly 1 FileSystem, exactly 24 FSObject
192run r19s25 {} for exactly 1 FileSystem, exactly 24 FSObject
193run r20s25 {} for exactly 1 FileSystem, exactly 24 FSObject
194run r21s25 {} for exactly 1 FileSystem, exactly 24 FSObject
195run r22s25 {} for exactly 1 FileSystem, exactly 24 FSObject
196run r23s25 {} for exactly 1 FileSystem, exactly 24 FSObject
197run r24s25 {} for exactly 1 FileSystem, exactly 24 FSObject
198run r25s25 {} for exactly 1 FileSystem, exactly 24 FSObject
199run r26s25 {} for exactly 1 FileSystem, exactly 24 FSObject
200run r27s25 {} for exactly 1 FileSystem, exactly 24 FSObject
201run r28s25 {} for exactly 1 FileSystem, exactly 24 FSObject
202run r29s25 {} for exactly 1 FileSystem, exactly 24 FSObject
203run r30s25 {} for exactly 1 FileSystem, exactly 24 FSObject
204run r1s30 {} for exactly 1 FileSystem, exactly 29 FSObject
205run r2s30 {} for exactly 1 FileSystem, exactly 29 FSObject
206run r3s30 {} for exactly 1 FileSystem, exactly 29 FSObject
207run r4s30 {} for exactly 1 FileSystem, exactly 29 FSObject
208run r5s30 {} for exactly 1 FileSystem, exactly 29 FSObject
209run r6s30 {} for exactly 1 FileSystem, exactly 29 FSObject
210run r7s30 {} for exactly 1 FileSystem, exactly 29 FSObject
211run r8s30 {} for exactly 1 FileSystem, exactly 29 FSObject
212run r9s30 {} for exactly 1 FileSystem, exactly 29 FSObject
213run r10s30 {} for exactly 1 FileSystem, exactly 29 FSObject
214run r11s30 {} for exactly 1 FileSystem, exactly 29 FSObject
215run r12s30 {} for exactly 1 FileSystem, exactly 29 FSObject
216run r13s30 {} for exactly 1 FileSystem, exactly 29 FSObject
217run r14s30 {} for exactly 1 FileSystem, exactly 29 FSObject
218run r15s30 {} for exactly 1 FileSystem, exactly 29 FSObject
219run r16s30 {} for exactly 1 FileSystem, exactly 29 FSObject
220run r17s30 {} for exactly 1 FileSystem, exactly 29 FSObject
221run r18s30 {} for exactly 1 FileSystem, exactly 29 FSObject
222run r19s30 {} for exactly 1 FileSystem, exactly 29 FSObject
223run r20s30 {} for exactly 1 FileSystem, exactly 29 FSObject
224run r21s30 {} for exactly 1 FileSystem, exactly 29 FSObject
225run r22s30 {} for exactly 1 FileSystem, exactly 29 FSObject
226run r23s30 {} for exactly 1 FileSystem, exactly 29 FSObject
227run r24s30 {} for exactly 1 FileSystem, exactly 29 FSObject
228run r25s30 {} for exactly 1 FileSystem, exactly 29 FSObject
229run r26s30 {} for exactly 1 FileSystem, exactly 29 FSObject
230run r27s30 {} for exactly 1 FileSystem, exactly 29 FSObject
231run r28s30 {} for exactly 1 FileSystem, exactly 29 FSObject
232run r29s30 {} for exactly 1 FileSystem, exactly 29 FSObject
233run r30s30 {} for exactly 1 FileSystem, exactly 29 FSObject
234run r1s35 {} for exactly 1 FileSystem, exactly 34 FSObject
235run r2s35 {} for exactly 1 FileSystem, exactly 34 FSObject
236run r3s35 {} for exactly 1 FileSystem, exactly 34 FSObject
237run r4s35 {} for exactly 1 FileSystem, exactly 34 FSObject
238run r5s35 {} for exactly 1 FileSystem, exactly 34 FSObject
239run r6s35 {} for exactly 1 FileSystem, exactly 34 FSObject
240run r7s35 {} for exactly 1 FileSystem, exactly 34 FSObject
241run r8s35 {} for exactly 1 FileSystem, exactly 34 FSObject
242run r9s35 {} for exactly 1 FileSystem, exactly 34 FSObject
243run r10s35 {} for exactly 1 FileSystem, exactly 34 FSObject
244run r11s35 {} for exactly 1 FileSystem, exactly 34 FSObject
245run r12s35 {} for exactly 1 FileSystem, exactly 34 FSObject
246run r13s35 {} for exactly 1 FileSystem, exactly 34 FSObject
247run r14s35 {} for exactly 1 FileSystem, exactly 34 FSObject
248run r15s35 {} for exactly 1 FileSystem, exactly 34 FSObject
249run r16s35 {} for exactly 1 FileSystem, exactly 34 FSObject
250run r17s35 {} for exactly 1 FileSystem, exactly 34 FSObject
251run r18s35 {} for exactly 1 FileSystem, exactly 34 FSObject
252run r19s35 {} for exactly 1 FileSystem, exactly 34 FSObject
253run r20s35 {} for exactly 1 FileSystem, exactly 34 FSObject
254run r21s35 {} for exactly 1 FileSystem, exactly 34 FSObject
255run r22s35 {} for exactly 1 FileSystem, exactly 34 FSObject
256run r23s35 {} for exactly 1 FileSystem, exactly 34 FSObject
257run r24s35 {} for exactly 1 FileSystem, exactly 34 FSObject
258run r25s35 {} for exactly 1 FileSystem, exactly 34 FSObject
259run r26s35 {} for exactly 1 FileSystem, exactly 34 FSObject
260run r27s35 {} for exactly 1 FileSystem, exactly 34 FSObject
261run r28s35 {} for exactly 1 FileSystem, exactly 34 FSObject
262run r29s35 {} for exactly 1 FileSystem, exactly 34 FSObject
263run r30s35 {} for exactly 1 FileSystem, exactly 34 FSObject
264run r1s40 {} for exactly 1 FileSystem, exactly 39 FSObject
265run r2s40 {} for exactly 1 FileSystem, exactly 39 FSObject
266run r3s40 {} for exactly 1 FileSystem, exactly 39 FSObject
267run r4s40 {} for exactly 1 FileSystem, exactly 39 FSObject
268run r5s40 {} for exactly 1 FileSystem, exactly 39 FSObject
269run r6s40 {} for exactly 1 FileSystem, exactly 39 FSObject
270run r7s40 {} for exactly 1 FileSystem, exactly 39 FSObject
271run r8s40 {} for exactly 1 FileSystem, exactly 39 FSObject
272run r9s40 {} for exactly 1 FileSystem, exactly 39 FSObject
273run r10s40 {} for exactly 1 FileSystem, exactly 39 FSObject
274run r11s40 {} for exactly 1 FileSystem, exactly 39 FSObject
275run r12s40 {} for exactly 1 FileSystem, exactly 39 FSObject
276run r13s40 {} for exactly 1 FileSystem, exactly 39 FSObject
277run r14s40 {} for exactly 1 FileSystem, exactly 39 FSObject
278run r15s40 {} for exactly 1 FileSystem, exactly 39 FSObject
279run r16s40 {} for exactly 1 FileSystem, exactly 39 FSObject
280run r17s40 {} for exactly 1 FileSystem, exactly 39 FSObject
281run r18s40 {} for exactly 1 FileSystem, exactly 39 FSObject
282run r19s40 {} for exactly 1 FileSystem, exactly 39 FSObject
283run r20s40 {} for exactly 1 FileSystem, exactly 39 FSObject
284run r21s40 {} for exactly 1 FileSystem, exactly 39 FSObject
285run r22s40 {} for exactly 1 FileSystem, exactly 39 FSObject
286run r23s40 {} for exactly 1 FileSystem, exactly 39 FSObject
287run r24s40 {} for exactly 1 FileSystem, exactly 39 FSObject
288run r25s40 {} for exactly 1 FileSystem, exactly 39 FSObject
289run r26s40 {} for exactly 1 FileSystem, exactly 39 FSObject
290run r27s40 {} for exactly 1 FileSystem, exactly 39 FSObject
291run r28s40 {} for exactly 1 FileSystem, exactly 39 FSObject
292run r29s40 {} for exactly 1 FileSystem, exactly 39 FSObject
293run r30s40 {} for exactly 1 FileSystem, exactly 39 FSObject
294run r1s45 {} for exactly 1 FileSystem, exactly 44 FSObject
295run r2s45 {} for exactly 1 FileSystem, exactly 44 FSObject
296run r3s45 {} for exactly 1 FileSystem, exactly 44 FSObject
297run r4s45 {} for exactly 1 FileSystem, exactly 44 FSObject
298run r5s45 {} for exactly 1 FileSystem, exactly 44 FSObject
299run r6s45 {} for exactly 1 FileSystem, exactly 44 FSObject
300run r7s45 {} for exactly 1 FileSystem, exactly 44 FSObject
301run r8s45 {} for exactly 1 FileSystem, exactly 44 FSObject
302run r9s45 {} for exactly 1 FileSystem, exactly 44 FSObject
303run r10s45 {} for exactly 1 FileSystem, exactly 44 FSObject
304run r11s45 {} for exactly 1 FileSystem, exactly 44 FSObject
305run r12s45 {} for exactly 1 FileSystem, exactly 44 FSObject
306run r13s45 {} for exactly 1 FileSystem, exactly 44 FSObject
307run r14s45 {} for exactly 1 FileSystem, exactly 44 FSObject
308run r15s45 {} for exactly 1 FileSystem, exactly 44 FSObject
309run r16s45 {} for exactly 1 FileSystem, exactly 44 FSObject
310run r17s45 {} for exactly 1 FileSystem, exactly 44 FSObject
311run r18s45 {} for exactly 1 FileSystem, exactly 44 FSObject
312run r19s45 {} for exactly 1 FileSystem, exactly 44 FSObject
313run r20s45 {} for exactly 1 FileSystem, exactly 44 FSObject
314run r21s45 {} for exactly 1 FileSystem, exactly 44 FSObject
315run r22s45 {} for exactly 1 FileSystem, exactly 44 FSObject
316run r23s45 {} for exactly 1 FileSystem, exactly 44 FSObject
317run r24s45 {} for exactly 1 FileSystem, exactly 44 FSObject
318run r25s45 {} for exactly 1 FileSystem, exactly 44 FSObject
319run r26s45 {} for exactly 1 FileSystem, exactly 44 FSObject
320run r27s45 {} for exactly 1 FileSystem, exactly 44 FSObject
321run r28s45 {} for exactly 1 FileSystem, exactly 44 FSObject
322run r29s45 {} for exactly 1 FileSystem, exactly 44 FSObject
323run r30s45 {} for exactly 1 FileSystem, exactly 44 FSObject
324run r1s50 {} for exactly 1 FileSystem, exactly 49 FSObject
325run r2s50 {} for exactly 1 FileSystem, exactly 49 FSObject
326run r3s50 {} for exactly 1 FileSystem, exactly 49 FSObject
327run r4s50 {} for exactly 1 FileSystem, exactly 49 FSObject
328run r5s50 {} for exactly 1 FileSystem, exactly 49 FSObject
329run r6s50 {} for exactly 1 FileSystem, exactly 49 FSObject
330run r7s50 {} for exactly 1 FileSystem, exactly 49 FSObject
331run r8s50 {} for exactly 1 FileSystem, exactly 49 FSObject
332run r9s50 {} for exactly 1 FileSystem, exactly 49 FSObject
333run r10s50 {} for exactly 1 FileSystem, exactly 49 FSObject
334run r11s50 {} for exactly 1 FileSystem, exactly 49 FSObject
335run r12s50 {} for exactly 1 FileSystem, exactly 49 FSObject
336run r13s50 {} for exactly 1 FileSystem, exactly 49 FSObject
337run r14s50 {} for exactly 1 FileSystem, exactly 49 FSObject
338run r15s50 {} for exactly 1 FileSystem, exactly 49 FSObject
339run r16s50 {} for exactly 1 FileSystem, exactly 49 FSObject
340run r17s50 {} for exactly 1 FileSystem, exactly 49 FSObject
341run r18s50 {} for exactly 1 FileSystem, exactly 49 FSObject
342run r19s50 {} for exactly 1 FileSystem, exactly 49 FSObject
343run r20s50 {} for exactly 1 FileSystem, exactly 49 FSObject
344run r21s50 {} for exactly 1 FileSystem, exactly 49 FSObject
345run r22s50 {} for exactly 1 FileSystem, exactly 49 FSObject
346run r23s50 {} for exactly 1 FileSystem, exactly 49 FSObject
347run r24s50 {} for exactly 1 FileSystem, exactly 49 FSObject
348run r25s50 {} for exactly 1 FileSystem, exactly 49 FSObject
349run r26s50 {} for exactly 1 FileSystem, exactly 49 FSObject
350run r27s50 {} for exactly 1 FileSystem, exactly 49 FSObject
351run r28s50 {} for exactly 1 FileSystem, exactly 49 FSObject
352run r29s50 {} for exactly 1 FileSystem, exactly 49 FSObject
353run r30s50 {} for exactly 1 FileSystem, exactly 49 FSObject
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/model/FileSytem.aird b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/model/FileSytem.aird
new file mode 100644
index 00000000..4a9486e2
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/model/FileSytem.aird
@@ -0,0 +1,362 @@
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 xmi:id="_D7j2MIK5EeeAppuRs-roLg" selectedViews="_D98b0IK5EeeAppuRs-roLg _D-GM0IK5EeeAppuRs-roLg _D-GM0YK5EeeAppuRs-roLg _D-P90IK5EeeAppuRs-roLg" version="11.1.0.201608251200">
4 <semanticResources>FileSytem.ecore</semanticResources>
5 <ownedViews xmi:type="viewpoint:DView" xmi:id="_D98b0IK5EeeAppuRs-roLg">
6 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
7 <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" xmi:id="_EphIYIK5EeeAppuRs-roLg" name="Filesystem class diagram" representation="_EphIYYK5EeeAppuRs-roLg">
8 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
9 <target xmi:type="ecore:EPackage" href="FileSytem.ecore#/"/>
10 </ownedRepresentationDescriptors>
11 </ownedViews>
12 <ownedViews xmi:type="viewpoint:DView" xmi:id="_D-GM0IK5EeeAppuRs-roLg">
13 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Review']"/>
14 </ownedViews>
15 <ownedViews xmi:type="viewpoint:DView" xmi:id="_D-GM0YK5EeeAppuRs-roLg">
16 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']"/>
17 </ownedViews>
18 <ownedViews xmi:type="viewpoint:DView" xmi:id="_D-P90IK5EeeAppuRs-roLg">
19 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Generation']"/>
20 </ownedViews>
21 </viewpoint:DAnalysis>
22 <diagram:DSemanticDiagram xmi:id="_EphIYYK5EeeAppuRs-roLg" name="Filesystem class diagram">
23 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_EphIYoK5EeeAppuRs-roLg" source="DANNOTATION_CUSTOMIZATION_KEY">
24 <data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_EphIY4K5EeeAppuRs-roLg">
25 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_TrxKIIK6EeeAppuRs-roLg" sourceArrow="FillDiamond" routingStyle="manhattan">
26 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
27 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_TrxKIYK6EeeAppuRs-roLg" showIcon="false" labelExpression="service:render">
28 <labelFormat>bold</labelFormat>
29 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
30 </centerLabelStyleDescription>
31 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_TrxKIoK6EeeAppuRs-roLg" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
32 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
33 </endLabelStyleDescription>
34 </computedStyleDescriptions>
35 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_MlEPYILJEeeAppuRs-roLg" sourceArrow="FillDiamond" routingStyle="manhattan">
36 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
37 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_MlEPYYLJEeeAppuRs-roLg" showIcon="false" labelExpression="service:render">
38 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
39 </centerLabelStyleDescription>
40 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_MlEPYoLJEeeAppuRs-roLg" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
41 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
42 </endLabelStyleDescription>
43 </computedStyleDescriptions>
44 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_6IIkkILJEeeAppuRs-roLg" routingStyle="manhattan">
45 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='blue']"/>
46 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_6IIkkYLJEeeAppuRs-roLg" showIcon="false" labelExpression="service:render">
47 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
48 </centerLabelStyleDescription>
49 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_6IIkkoLJEeeAppuRs-roLg" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
50 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
51 </endLabelStyleDescription>
52 </computedStyleDescriptions>
53 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_ggoFQYLREeeAppuRs-roLg" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan">
54 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
55 <beginLabelStyleDescription xmi:type="style:BeginLabelStyleDescription" xmi:id="_ggoFQoLREeeAppuRs-roLg" showIcon="false" labelExpression="service:renderEOpposite">
56 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
57 </beginLabelStyleDescription>
58 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_ggoFQ4LREeeAppuRs-roLg" showIcon="false" labelExpression="service:render">
59 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
60 </endLabelStyleDescription>
61 </computedStyleDescriptions>
62 </data>
63 </ownedAnnotationEntries>
64 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_EphIZYK5EeeAppuRs-roLg" source="GMF_DIAGRAMS">
65 <data xmi:type="notation:Diagram" xmi:id="_EphIZoK5EeeAppuRs-roLg" type="Sirius" element="_EphIYYK5EeeAppuRs-roLg" measurementUnit="Pixel">
66 <children xmi:type="notation:Node" xmi:id="_FMQCA4K5EeeAppuRs-roLg" type="2003" element="_FMQCAIK5EeeAppuRs-roLg">
67 <children xmi:type="notation:Node" xmi:id="_FMQCBoK5EeeAppuRs-roLg" type="5007"/>
68 <children xmi:type="notation:Node" xmi:id="_FMQCB4K5EeeAppuRs-roLg" type="7004">
69 <styles xmi:type="notation:SortingStyle" xmi:id="_FMQCCIK5EeeAppuRs-roLg"/>
70 <styles xmi:type="notation:FilteringStyle" xmi:id="_FMQCCYK5EeeAppuRs-roLg"/>
71 </children>
72 <styles xmi:type="notation:ShapeStyle" xmi:id="_FMQCBIK5EeeAppuRs-roLg" fontName="Segoe UI" fontHeight="8"/>
73 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FMQCBYK5EeeAppuRs-roLg" x="70" y="355" width="120" height="43"/>
74 </children>
75 <children xmi:type="notation:Node" xmi:id="_KKYI4IK5EeeAppuRs-roLg" type="2003" element="_KKO-8IK5EeeAppuRs-roLg">
76 <children xmi:type="notation:Node" xmi:id="_KKYI44K5EeeAppuRs-roLg" type="5007"/>
77 <children xmi:type="notation:Node" xmi:id="_KKYI5IK5EeeAppuRs-roLg" type="7004">
78 <styles xmi:type="notation:SortingStyle" xmi:id="_KKYI5YK5EeeAppuRs-roLg"/>
79 <styles xmi:type="notation:FilteringStyle" xmi:id="_KKYI5oK5EeeAppuRs-roLg"/>
80 </children>
81 <styles xmi:type="notation:ShapeStyle" xmi:id="_KKYI4YK5EeeAppuRs-roLg" fontName="Segoe UI" fontHeight="8"/>
82 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KKYI4oK5EeeAppuRs-roLg" x="325" y="199" width="120" height="44"/>
83 </children>
84 <children xmi:type="notation:Node" xmi:id="_nE2UIoK5EeeAppuRs-roLg" type="2003" element="_nE2UIIK5EeeAppuRs-roLg">
85 <children xmi:type="notation:Node" xmi:id="_nE2UJYK5EeeAppuRs-roLg" type="5007"/>
86 <children xmi:type="notation:Node" xmi:id="_nE2UJoK5EeeAppuRs-roLg" type="7004">
87 <styles xmi:type="notation:SortingStyle" xmi:id="_nE2UJ4K5EeeAppuRs-roLg"/>
88 <styles xmi:type="notation:FilteringStyle" xmi:id="_nE2UKIK5EeeAppuRs-roLg"/>
89 </children>
90 <styles xmi:type="notation:ShapeStyle" xmi:id="_nE2UI4K5EeeAppuRs-roLg" fontName="Segoe UI" fontHeight="8"/>
91 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nE2UJIK5EeeAppuRs-roLg" x="270" y="355" width="120" height="43"/>
92 </children>
93 <children xmi:type="notation:Node" xmi:id="_xFTscoK5EeeAppuRs-roLg" type="2003" element="_xFTscIK5EeeAppuRs-roLg">
94 <children xmi:type="notation:Node" xmi:id="_xFTsdYK5EeeAppuRs-roLg" type="5007"/>
95 <children xmi:type="notation:Node" xmi:id="_xFTsdoK5EeeAppuRs-roLg" type="7004">
96 <styles xmi:type="notation:SortingStyle" xmi:id="_xFTsd4K5EeeAppuRs-roLg"/>
97 <styles xmi:type="notation:FilteringStyle" xmi:id="_xFTseIK5EeeAppuRs-roLg"/>
98 </children>
99 <styles xmi:type="notation:ShapeStyle" xmi:id="_xFTsc4K5EeeAppuRs-roLg" fontName="Segoe UI" fontHeight="8"/>
100 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xFTsdIK5EeeAppuRs-roLg" x="410" y="355" width="120" height="43"/>
101 </children>
102 <children xmi:type="notation:Node" xmi:id="_C7VVA4LJEeeAppuRs-roLg" type="2003" element="_C7VVAILJEeeAppuRs-roLg">
103 <children xmi:type="notation:Node" xmi:id="_C7VVBoLJEeeAppuRs-roLg" type="5007"/>
104 <children xmi:type="notation:Node" xmi:id="_C7VVB4LJEeeAppuRs-roLg" type="7004">
105 <styles xmi:type="notation:SortingStyle" xmi:id="_C7VVCILJEeeAppuRs-roLg"/>
106 <styles xmi:type="notation:FilteringStyle" xmi:id="_C7VVCYLJEeeAppuRs-roLg"/>
107 </children>
108 <styles xmi:type="notation:ShapeStyle" xmi:id="_C7VVBILJEeeAppuRs-roLg" fontName="Segoe UI" fontHeight="8"/>
109 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C7VVBYLJEeeAppuRs-roLg" x="70" y="193" width="120" height="50"/>
110 </children>
111 <styles xmi:type="notation:DiagramStyle" xmi:id="_EphIZ4K5EeeAppuRs-roLg"/>
112 <edges xmi:type="notation:Edge" xmi:id="_0PAoUIK5EeeAppuRs-roLg" type="4001" element="_0O23UIK5EeeAppuRs-roLg" source="_nE2UIoK5EeeAppuRs-roLg" target="_KKYI4IK5EeeAppuRs-roLg">
113 <children xmi:type="notation:Node" xmi:id="_0PAoVIK5EeeAppuRs-roLg" type="6001">
114 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0PAoVYK5EeeAppuRs-roLg" y="-10"/>
115 </children>
116 <children xmi:type="notation:Node" xmi:id="_0PAoVoK5EeeAppuRs-roLg" type="6002">
117 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0PAoV4K5EeeAppuRs-roLg" y="10"/>
118 </children>
119 <children xmi:type="notation:Node" xmi:id="_0PAoWIK5EeeAppuRs-roLg" type="6003">
120 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0PAoWYK5EeeAppuRs-roLg" y="10"/>
121 </children>
122 <styles xmi:type="notation:ConnectorStyle" xmi:id="_0PAoUYK5EeeAppuRs-roLg" routing="Tree"/>
123 <styles xmi:type="notation:FontStyle" xmi:id="_0PAoUoK5EeeAppuRs-roLg" fontName="Segoe UI" fontHeight="8"/>
124 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0PAoU4K5EeeAppuRs-roLg" points="[0, 0, -89, 135]$[0, -15, -89, 120]$[90, -15, 1, 120]$[90, -114, 1, 21]"/>
125 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0PAoWoK5EeeAppuRs-roLg" id="(0.211864406779661,0.0)"/>
126 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0PAoW4K5EeeAppuRs-roLg" id="(0.5,0.5)"/>
127 </edges>
128 <edges xmi:type="notation:Edge" xmi:id="_0nTzlIK5EeeAppuRs-roLg" type="4001" element="_0nTzkIK5EeeAppuRs-roLg" source="_xFTscoK5EeeAppuRs-roLg" target="_KKYI4IK5EeeAppuRs-roLg">
129 <children xmi:type="notation:Node" xmi:id="_0nTzmIK5EeeAppuRs-roLg" type="6001">
130 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nTzmYK5EeeAppuRs-roLg" x="-16" y="55"/>
131 </children>
132 <children xmi:type="notation:Node" xmi:id="_0nTzmoK5EeeAppuRs-roLg" type="6002">
133 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nTzm4K5EeeAppuRs-roLg" x="-22" y="-10"/>
134 </children>
135 <children xmi:type="notation:Node" xmi:id="_0nTznIK5EeeAppuRs-roLg" type="6003">
136 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nTznYK5EeeAppuRs-roLg" x="19" y="9"/>
137 </children>
138 <styles xmi:type="notation:ConnectorStyle" xmi:id="_0nTzlYK5EeeAppuRs-roLg" routing="Tree"/>
139 <styles xmi:type="notation:FontStyle" xmi:id="_0nTzloK5EeeAppuRs-roLg" fontName="Segoe UI" fontHeight="8"/>
140 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0nTzl4K5EeeAppuRs-roLg" points="[0, 0, 66, 135]$[0, -15, 66, 120]$[-65, -15, 1, 120]$[-65, -114, 1, 21]"/>
141 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0nTznoK5EeeAppuRs-roLg" id="(0.3389830508474576,0.0)"/>
142 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0nTzn4K5EeeAppuRs-roLg" id="(0.5,0.5)"/>
143 </edges>
144 <edges xmi:type="notation:Edge" xmi:id="_Rau7oIK6EeeAppuRs-roLg" type="4001" element="_RalKoIK6EeeAppuRs-roLg" source="_FMQCA4K5EeeAppuRs-roLg" target="_nE2UIoK5EeeAppuRs-roLg">
145 <children xmi:type="notation:Node" xmi:id="_Rau7pIK6EeeAppuRs-roLg" type="6001">
146 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Rau7pYK6EeeAppuRs-roLg" x="1" y="-9"/>
147 </children>
148 <children xmi:type="notation:Node" xmi:id="_Rau7poK6EeeAppuRs-roLg" type="6002">
149 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Rau7p4K6EeeAppuRs-roLg" x="9" y="10"/>
150 </children>
151 <children xmi:type="notation:Node" xmi:id="_Rau7qIK6EeeAppuRs-roLg" type="6003">
152 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Rau7qYK6EeeAppuRs-roLg" x="-1" y="10"/>
153 </children>
154 <styles xmi:type="notation:ConnectorStyle" xmi:id="_Rau7oYK6EeeAppuRs-roLg" routing="Rectilinear"/>
155 <styles xmi:type="notation:FontStyle" xmi:id="_Rau7ooK6EeeAppuRs-roLg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
156 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Rau7o4K6EeeAppuRs-roLg" points="[0, -36, -82, -1]$[82, -36, 0, -1]"/>
157 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Rau7qoK6EeeAppuRs-roLg" id="(1.0,1.3658536585365855)"/>
158 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Rau7q4K6EeeAppuRs-roLg" id="(0.0,0.5121951219512195)"/>
159 </edges>
160 <edges xmi:type="notation:Edge" xmi:id="_F0O0wILJEeeAppuRs-roLg" type="4001" element="_F0FDwILJEeeAppuRs-roLg" source="_C7VVA4LJEeeAppuRs-roLg" target="_FMQCA4K5EeeAppuRs-roLg">
161 <children xmi:type="notation:Node" xmi:id="_F0O0xILJEeeAppuRs-roLg" type="6001">
162 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_F0O0xYLJEeeAppuRs-roLg" x="-47" y="-46"/>
163 </children>
164 <children xmi:type="notation:Node" xmi:id="_F0O0xoLJEeeAppuRs-roLg" type="6002">
165 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_F0O0x4LJEeeAppuRs-roLg" x="-17" y="10"/>
166 </children>
167 <children xmi:type="notation:Node" xmi:id="_F0O0yILJEeeAppuRs-roLg" type="6003">
168 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_F0O0yYLJEeeAppuRs-roLg" x="-80" y="10"/>
169 </children>
170 <styles xmi:type="notation:ConnectorStyle" xmi:id="_F0O0wYLJEeeAppuRs-roLg" routing="Rectilinear"/>
171 <styles xmi:type="notation:FontStyle" xmi:id="_F0O0woLJEeeAppuRs-roLg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
172 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_F0O0w4LJEeeAppuRs-roLg" points="[-5, 0, -35, -114]$[-5, 114, -35, 0]"/>
173 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_F0O0yoLJEeeAppuRs-roLg" id="(0.423728813559322,1.0)"/>
174 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_F0O0y4LJEeeAppuRs-roLg" id="(0.6779661016949152,0.0)"/>
175 </edges>
176 <edges xmi:type="notation:Edge" xmi:id="_H0mKAILJEeeAppuRs-roLg" type="4001" element="_H0cZAILJEeeAppuRs-roLg" source="_C7VVA4LJEeeAppuRs-roLg" target="_KKYI4IK5EeeAppuRs-roLg">
177 <children xmi:type="notation:Node" xmi:id="_H0mKBILJEeeAppuRs-roLg" type="6001">
178 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H0mKBYLJEeeAppuRs-roLg" x="1" y="-36"/>
179 </children>
180 <children xmi:type="notation:Node" xmi:id="_H0mKBoLJEeeAppuRs-roLg" type="6002">
181 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H0mKB4LJEeeAppuRs-roLg" x="6" y="10"/>
182 </children>
183 <children xmi:type="notation:Node" xmi:id="_H0mKCILJEeeAppuRs-roLg" type="6003">
184 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H0mKCYLJEeeAppuRs-roLg" x="-1" y="10"/>
185 </children>
186 <styles xmi:type="notation:ConnectorStyle" xmi:id="_H0mKAYLJEeeAppuRs-roLg" routing="Rectilinear"/>
187 <styles xmi:type="notation:FontStyle" xmi:id="_H0mKAoLJEeeAppuRs-roLg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
188 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_H0mKA4LJEeeAppuRs-roLg" points="[0, 0, -137, 2]$[137, 0, 0, 2]"/>
189 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_H0mKCoLJEeeAppuRs-roLg" id="(1.0,0.5)"/>
190 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_H0mKC4LJEeeAppuRs-roLg" id="(0.0,0.38095238095238093)"/>
191 </edges>
192 <edges xmi:type="notation:Edge" xmi:id="_1iWsRILJEeeAppuRs-roLg" type="4001" element="_1iWsQILJEeeAppuRs-roLg" source="_FMQCA4K5EeeAppuRs-roLg" target="_KKYI4IK5EeeAppuRs-roLg">
193 <children xmi:type="notation:Node" xmi:id="_1if2MILJEeeAppuRs-roLg" type="6001">
194 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1if2MYLJEeeAppuRs-roLg" x="5" y="-9"/>
195 </children>
196 <children xmi:type="notation:Node" xmi:id="_1if2MoLJEeeAppuRs-roLg" type="6002">
197 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1if2M4LJEeeAppuRs-roLg" x="-5" y="5"/>
198 </children>
199 <children xmi:type="notation:Node" xmi:id="_1if2NILJEeeAppuRs-roLg" type="6003">
200 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1if2NYLJEeeAppuRs-roLg" x="-4" y="6"/>
201 </children>
202 <styles xmi:type="notation:ConnectorStyle" xmi:id="_1iWsRYLJEeeAppuRs-roLg"/>
203 <styles xmi:type="notation:FontStyle" xmi:id="_1iWsRoLJEeeAppuRs-roLg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
204 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1iWsR4LJEeeAppuRs-roLg" points="[5, -4, -152, 119]$[152, -118, -5, 5]"/>
205 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1if2NoLJEeeAppuRs-roLg" id="(0.9083333333333333,0.11627906976744186)"/>
206 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1if2N4LJEeeAppuRs-roLg" id="(0.08333333333333333,0.8863636363636364)"/>
207 </edges>
208 <edges xmi:type="notation:Edge" xmi:id="_ggoFR4LREeeAppuRs-roLg" type="4001" element="_ggoFQILREeeAppuRs-roLg" source="_KKYI4IK5EeeAppuRs-roLg" target="_nE2UIoK5EeeAppuRs-roLg">
209 <children xmi:type="notation:Node" xmi:id="_ggoFS4LREeeAppuRs-roLg" type="6001">
210 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ggoFTILREeeAppuRs-roLg" x="52" y="-3"/>
211 </children>
212 <children xmi:type="notation:Node" xmi:id="_ggoFTYLREeeAppuRs-roLg" type="6002">
213 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ggoFToLREeeAppuRs-roLg" x="31" y="38"/>
214 </children>
215 <children xmi:type="notation:Node" xmi:id="_ggoFT4LREeeAppuRs-roLg" type="6003">
216 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ggoFUILREeeAppuRs-roLg" y="-40"/>
217 </children>
218 <styles xmi:type="notation:ConnectorStyle" xmi:id="_ggoFSILREeeAppuRs-roLg" routing="Rectilinear"/>
219 <styles xmi:type="notation:FontStyle" xmi:id="_ggoFSYLREeeAppuRs-roLg" fontName="Segoe UI" fontHeight="8"/>
220 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ggoFSoLREeeAppuRs-roLg" points="[-18, 21, 79, -114]$[-18, 95, 79, -40]$[-99, 95, -2, -40]$[-99, 135, -2, 0]"/>
221 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ggoFUYLREeeAppuRs-roLg" id="(0.5,0.5)"/>
222 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ggoFUoLREeeAppuRs-roLg" id="(0.15,0.0)"/>
223 </edges>
224 </data>
225 </ownedAnnotationEntries>
226 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_FMQCAIK5EeeAppuRs-roLg" name="FileSystem" tooltipText="" outgoingEdges="_RalKoIK6EeeAppuRs-roLg _1iWsQILJEeeAppuRs-roLg" incomingEdges="_F0FDwILJEeeAppuRs-roLg" width="12" height="10">
227 <target xmi:type="ecore:EClass" href="FileSytem.ecore#//FileSystem"/>
228 <semanticElements xmi:type="ecore:EClass" href="FileSytem.ecore#//FileSystem"/>
229 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
230 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
231 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
232 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_FMQCAYK5EeeAppuRs-roLg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
233 <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"/>
234 </ownedStyle>
235 <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']"/>
236 </ownedDiagramElements>
237 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_KKO-8IK5EeeAppuRs-roLg" name="FSObject" tooltipText="" outgoingEdges="_ggoFQILREeeAppuRs-roLg" incomingEdges="_0O23UIK5EeeAppuRs-roLg _0nTzkIK5EeeAppuRs-roLg _H0cZAILJEeeAppuRs-roLg _1iWsQILJEeeAppuRs-roLg" width="12" height="10">
238 <target xmi:type="ecore:EClass" href="FileSytem.ecore#//FSObject"/>
239 <semanticElements xmi:type="ecore:EClass" href="FileSytem.ecore#//FSObject"/>
240 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_mVRRUIK5EeeAppuRs-roLg" 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">
241 <labelFormat>italic</labelFormat>
242 <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"/>
243 </ownedStyle>
244 <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']"/>
245 </ownedDiagramElements>
246 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_nE2UIIK5EeeAppuRs-roLg" name="Dir" tooltipText="" outgoingEdges="_0O23UIK5EeeAppuRs-roLg" incomingEdges="_RalKoIK6EeeAppuRs-roLg _ggoFQILREeeAppuRs-roLg" width="12" height="10">
247 <target xmi:type="ecore:EClass" href="FileSytem.ecore#//Dir"/>
248 <semanticElements xmi:type="ecore:EClass" href="FileSytem.ecore#//Dir"/>
249 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
250 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
251 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
252 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_B3iooIK8EeeAppuRs-roLg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
253 <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"/>
254 </ownedStyle>
255 <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']"/>
256 </ownedDiagramElements>
257 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_xFTscIK5EeeAppuRs-roLg" name="File" tooltipText="" outgoingEdges="_0nTzkIK5EeeAppuRs-roLg" width="12" height="10">
258 <target xmi:type="ecore:EClass" href="FileSytem.ecore#//File"/>
259 <semanticElements xmi:type="ecore:EClass" href="FileSytem.ecore#//File"/>
260 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
261 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
262 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
263 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_xFTscYK5EeeAppuRs-roLg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
264 <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"/>
265 </ownedStyle>
266 <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']"/>
267 </ownedDiagramElements>
268 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_0O23UIK5EeeAppuRs-roLg" sourceNode="_nE2UIIK5EeeAppuRs-roLg" targetNode="_KKO-8IK5EeeAppuRs-roLg">
269 <target xmi:type="ecore:EClass" href="FileSytem.ecore#//Dir"/>
270 <semanticElements xmi:type="ecore:EGenericType" href="FileSytem.ecore#//Dir/@eGenericSuperTypes.0"/>
271 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_B3iooYK8EeeAppuRs-roLg" targetArrow="InputClosedArrow" routingStyle="tree">
272 <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"/>
273 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_B3ioooK8EeeAppuRs-roLg" showIcon="false">
274 <labelFormat>italic</labelFormat>
275 </beginLabelStyle>
276 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_B3ioo4K8EeeAppuRs-roLg" showIcon="false"/>
277 </ownedStyle>
278 <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']"/>
279 </ownedDiagramElements>
280 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_0nTzkIK5EeeAppuRs-roLg" sourceNode="_xFTscIK5EeeAppuRs-roLg" targetNode="_KKO-8IK5EeeAppuRs-roLg">
281 <target xmi:type="ecore:EClass" href="FileSytem.ecore#//File"/>
282 <semanticElements xmi:type="ecore:EGenericType" href="FileSytem.ecore#//File/@eGenericSuperTypes.0"/>
283 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_0nTzkYK5EeeAppuRs-roLg" targetArrow="InputClosedArrow" routingStyle="tree">
284 <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"/>
285 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_0nTzkoK5EeeAppuRs-roLg" showIcon="false">
286 <labelFormat>italic</labelFormat>
287 </beginLabelStyle>
288 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_0nTzk4K5EeeAppuRs-roLg" showIcon="false"/>
289 </ownedStyle>
290 <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']"/>
291 </ownedDiagramElements>
292 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_RalKoIK6EeeAppuRs-roLg" name="[1..1] root" sourceNode="_FMQCAIK5EeeAppuRs-roLg" targetNode="_nE2UIIK5EeeAppuRs-roLg">
293 <target xmi:type="ecore:EReference" href="FileSytem.ecore#//FileSystem/root"/>
294 <semanticElements xmi:type="ecore:EReference" href="FileSytem.ecore#//FileSystem/root"/>
295 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_TrxKI4K6EeeAppuRs-roLg" description="_TrxKIIK6EeeAppuRs-roLg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
296 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_TrxKJIK6EeeAppuRs-roLg" showIcon="false">
297 <labelFormat>bold</labelFormat>
298 </centerLabelStyle>
299 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_TrxKJYK6EeeAppuRs-roLg" labelSize="6" showIcon="false" labelColor="39,76,114"/>
300 </ownedStyle>
301 <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']"/>
302 </ownedDiagramElements>
303 <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_C7VVAILJEeeAppuRs-roLg" name="Model" tooltipText="" outgoingEdges="_F0FDwILJEeeAppuRs-roLg _H0cZAILJEeeAppuRs-roLg" width="12" height="10">
304 <target xmi:type="ecore:EClass" href="FileSytem.ecore#//Model"/>
305 <semanticElements xmi:type="ecore:EClass" href="FileSytem.ecore#//Model"/>
306 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
307 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
308 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
309 <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_C7VVAYLJEeeAppuRs-roLg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
310 <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"/>
311 </ownedStyle>
312 <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']"/>
313 </ownedDiagramElements>
314 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_F0FDwILJEeeAppuRs-roLg" name="[1..1] filesystems" sourceNode="_C7VVAILJEeeAppuRs-roLg" targetNode="_FMQCAIK5EeeAppuRs-roLg">
315 <target xmi:type="ecore:EReference" href="FileSytem.ecore#//Model/filesystems"/>
316 <semanticElements xmi:type="ecore:EReference" href="FileSytem.ecore#//Model/filesystems"/>
317 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_zqLCoILJEeeAppuRs-roLg" description="_TrxKIIK6EeeAppuRs-roLg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
318 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_zqLCoYLJEeeAppuRs-roLg" showIcon="false">
319 <labelFormat>bold</labelFormat>
320 </centerLabelStyle>
321 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_zqLCooLJEeeAppuRs-roLg" labelSize="6" showIcon="false" labelColor="39,76,114"/>
322 </ownedStyle>
323 <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']"/>
324 </ownedDiagramElements>
325 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_H0cZAILJEeeAppuRs-roLg" name="[0..*] otherFSObjects" sourceNode="_C7VVAILJEeeAppuRs-roLg" targetNode="_KKO-8IK5EeeAppuRs-roLg">
326 <target xmi:type="ecore:EReference" href="FileSytem.ecore#//Model/otherFSObjects"/>
327 <semanticElements xmi:type="ecore:EReference" href="FileSytem.ecore#//Model/otherFSObjects"/>
328 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_MlEPY4LJEeeAppuRs-roLg" description="_MlEPYILJEeeAppuRs-roLg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
329 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_MlEPZILJEeeAppuRs-roLg" showIcon="false"/>
330 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_MlEPZYLJEeeAppuRs-roLg" labelSize="6" showIcon="false" labelColor="39,76,114"/>
331 </ownedStyle>
332 <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']"/>
333 </ownedDiagramElements>
334 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_1iWsQILJEeeAppuRs-roLg" name="[0..*] /live" sourceNode="_FMQCAIK5EeeAppuRs-roLg" targetNode="_KKO-8IK5EeeAppuRs-roLg">
335 <target xmi:type="ecore:EReference" href="FileSytem.ecore#//FileSystem/live"/>
336 <semanticElements xmi:type="ecore:EReference" href="FileSytem.ecore#//FileSystem/live"/>
337 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_6IIkk4LJEeeAppuRs-roLg" description="_6IIkkILJEeeAppuRs-roLg" strokeColor="114,159,207">
338 <customFeatures>routingStyle</customFeatures>
339 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_6IIklILJEeeAppuRs-roLg" showIcon="false" labelColor="39,76,114"/>
340 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_6IIklYLJEeeAppuRs-roLg" labelSize="6" showIcon="false" labelColor="39,76,114"/>
341 </ownedStyle>
342 <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']"/>
343 </ownedDiagramElements>
344 <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_ggoFQILREeeAppuRs-roLg" sourceNode="_KKO-8IK5EeeAppuRs-roLg" targetNode="_nE2UIIK5EeeAppuRs-roLg" beginLabel="[0..*] contents" endLabel="[0..1] parent">
345 <target xmi:type="ecore:EReference" href="FileSytem.ecore#//FSObject/parent"/>
346 <semanticElements xmi:type="ecore:EReference" href="FileSytem.ecore#//Dir/contents"/>
347 <semanticElements xmi:type="ecore:EReference" href="FileSytem.ecore#//FSObject/parent"/>
348 <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_ggoFRILREeeAppuRs-roLg" description="_ggoFQYLREeeAppuRs-roLg" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
349 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_ggoFRYLREeeAppuRs-roLg" showIcon="false"/>
350 <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_ggoFRoLREeeAppuRs-roLg" showIcon="false"/>
351 </ownedStyle>
352 <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='Bi-directional%20EC_EReference%20']"/>
353 </ownedDiagramElements>
354 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
355 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_EphIZIK5EeeAppuRs-roLg"/>
356 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
357 <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']"/>
358 <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']"/>
359 <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']"/>
360 <target xmi:type="ecore:EPackage" href="FileSytem.ecore#/"/>
361 </diagram:DSemanticDiagram>
362</xmi:XMI>
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
new file mode 100644
index 00000000..c928d2b0
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/model/FileSytem.ecore
@@ -0,0 +1,32 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="Filesystem" nsURI="FS" nsPrefix="FS">
4 <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
5 <details key="settingDelegates" value="org.eclipse.viatra.query.querybasedfeature"/>
6 </eAnnotations>
7 <eClassifiers xsi:type="ecore:EClass" name="FileSystem">
8 <eStructuralFeatures xsi:type="ecore:EReference" name="root" lowerBound="1" eType="#//Dir"
9 containment="true"/>
10 <eStructuralFeatures xsi:type="ecore:EReference" name="live" upperBound="-1" eType="#//FSObject"
11 changeable="false" volatile="true" transient="true" derived="true">
12 <eAnnotations source="org.eclipse.viatra.query.querybasedfeature">
13 <details key="patternFQN" value="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.live"/>
14 </eAnnotations>
15 </eStructuralFeatures>
16 </eClassifiers>
17 <eClassifiers xsi:type="ecore:EClass" name="FSObject" abstract="true">
18 <eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//Dir"
19 eOpposite="#//Dir/contents"/>
20 </eClassifiers>
21 <eClassifiers xsi:type="ecore:EClass" name="Dir" eSuperTypes="#//FSObject">
22 <eStructuralFeatures xsi:type="ecore:EReference" name="contents" upperBound="-1"
23 eType="#//FSObject" containment="true" eOpposite="#//FSObject/parent"/>
24 </eClassifiers>
25 <eClassifiers xsi:type="ecore:EClass" name="File" eSuperTypes="#//FSObject"/>
26 <eClassifiers xsi:type="ecore:EClass" name="Model">
27 <eStructuralFeatures xsi:type="ecore:EReference" name="filesystems" lowerBound="1"
28 eType="#//FileSystem" containment="true"/>
29 <eStructuralFeatures xsi:type="ecore:EReference" name="otherFSObjects" upperBound="-1"
30 eType="#//FSObject" containment="true"/>
31 </eClassifiers>
32</ecore:EPackage>
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
new file mode 100644
index 00000000..355ac109
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/model/FileSytem.genmodel
@@ -0,0 +1,26 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
3 xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src"
4 modelPluginID="hu.bme.mit.inf.dslreasoner.domains.alloyexamples" modelName="FileSytem"
5 rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" importerID="org.eclipse.emf.importer.ecore"
6 complianceLevel="8.0" copyrightFields="false" operationReflection="true" importOrganizing="true">
7 <foreignModel>FileSytem.ecore</foreignModel>
8 <genPackages prefix="Filesystem" basePackage="hu.bme.mit.inf.dslreasoner.domains.alloyexamples"
9 disposableProviderFactory="true" ecorePackage="FileSytem.ecore#/">
10 <genClasses ecoreClass="FileSytem.ecore#//FileSystem">
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"/>
13 </genClasses>
14 <genClasses image="false" ecoreClass="FileSytem.ecore#//FSObject"/>
15 <genClasses ecoreClass="FileSytem.ecore#//Dir">
16 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FileSytem.ecore#//Dir/contents"/>
17 </genClasses>
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">
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"/>
24 </genClasses>
25 </genPackages>
26</genmodel:GenModel>
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
new file mode 100644
index 00000000..78525a35
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/patterns/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Ecore.vql
@@ -0,0 +1,29 @@
1package hu.bme.mit.inf.dslreasoner.domains.alloyexamples
2
3import epackage "http://www.eclipse.org/emf/2002/Ecore"
4
5pattern directSupertype(a: EClass, b:EClass) {
6 EClass.eSuperTypes(a,b);
7}
8
9@Constraint(key={a}, severity="error", message="error")
10pattern loopInInheritence(a: EClass) {
11 find directSupertype+(a,a);
12}
13
14pattern opposite(a:EReference, b: EReference) {
15 EReference.eOpposite(a,b);
16}
17@Constraint(key={a}, severity="error", message="error")
18pattern oppositeDifferentClass(a:EReference) {
19 EReference.eOpposite(a,b);
20 EReference.eContainingClass(a,aContaining);
21 EReference.eType(b,bTarget);
22 aContaining != bTarget;
23}
24
25@Constraint(key={a}, severity="error", message="error")
26pattern nonSymmetricOpposite(a:EReference, b:EReference) {
27 find opposite(a,b);
28 neg find opposite(b,a);
29} \ No newline at end of file
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
new file mode 100644
index 00000000..719a9d96
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/patterns/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/FileSystem.vql
@@ -0,0 +1,24 @@
1package hu.bme.mit.inf.dslreasoner.domains.alloyexamples
2
3import epackage "FS"
4
5pattern patternContent(o1: FSObject, o2: FSObject) {
6 Dir.contents(o1,o2);
7}
8
9@QueryBasedFeature
10pattern live(this: FileSystem, l: FSObject) {
11 FileSystem.root(this,l);
12} or {
13 FileSystem.root(this,root);
14 find patternContent+(root,l);
15}
16
17@Constraint(key={child}, severity="error", message="error")
18pattern contentInNotLive(parent : Dir, child: FSObject) {
19 Dir.contents(parent,child);
20 neg find live(_,parent);
21} or {
22 Dir.contents(parent,child);
23 neg find live(_,child);
24}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/plugin.properties b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/plugin.properties
new file mode 100644
index 00000000..5c045a20
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/plugin.properties
@@ -0,0 +1,4 @@
1#
2
3pluginName = FileSytem Model
4providerName = www.example.org
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/plugin.xml b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/plugin.xml
new file mode 100644
index 00000000..576aa06e
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/plugin.xml
@@ -0,0 +1,26 @@
1<?xml version="1.0" encoding="UTF-8"?><?eclipse version="3.0"?><!--
2--><plugin>
3 <extension point="org.eclipse.emf.ecore.generated_package">
4 <!-- @generated FileSytem -->
5 <package class="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemPackage" genModel="model/FileSytem.genmodel" uri="FS"/>
6 </extension>
7 <extension id="extension.derived.hu.bme.mit.inf.dslreasoner.domains.alloyexamples.live" point="org.eclipse.viatra.query.runtime.base.wellbehaving.derived.features">
8 <wellbehaving-derived-feature classifier-name="FileSystem" feature-name="live" package-nsUri="FS"/>
9 </extension>
10 <extension id="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Ecore" point="org.eclipse.viatra.query.runtime.queryspecification">
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"/>
13 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.loopInInheritence"/>
14 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.opposite"/>
15 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.oppositeDifferentClass"/>
16 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.nonSymmetricOpposite"/>
17 </group>
18 </extension>
19 <extension id="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.FileSystem" point="org.eclipse.viatra.query.runtime.queryspecification">
20 <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:hu.bme.mit.inf.dslreasoner.domains.alloyexamples.FileSystem" id="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.FileSystem">
21 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.patternContent"/>
22 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.live"/>
23 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.alloyexamples.contentInNotLive"/>
24 </group>
25 </extension>
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
new file mode 100644
index 00000000..9d608403
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/.gitignore
@@ -0,0 +1,36 @@
1/.ContentInNotLiveMatch.java._trace
2/.ContentInNotLiveMatcher.java._trace
3/.DirectSupertypeMatch.java._trace
4/.DirectSupertypeMatcher.java._trace
5/.Ecore.java._trace
6/.FileSystem.java._trace
7/.LiveMatch.java._trace
8/.LiveMatcher.java._trace
9/.LoopInInheritenceMatch.java._trace
10/.LoopInInheritenceMatcher.java._trace
11/.NonSymmetricOppositeMatch.java._trace
12/.NonSymmetricOppositeMatcher.java._trace
13/.OppositeDifferentClassMatch.java._trace
14/.OppositeDifferentClassMatcher.java._trace
15/.OppositeMatch.java._trace
16/.OppositeMatcher.java._trace
17/.PatternContentMatch.java._trace
18/.PatternContentMatcher.java._trace
19/ContentInNotLiveMatch.java
20/ContentInNotLiveMatcher.java
21/DirectSupertypeMatch.java
22/DirectSupertypeMatcher.java
23/Ecore.java
24/FileSystem.java
25/LiveMatch.java
26/LiveMatcher.java
27/LoopInInheritenceMatch.java
28/LoopInInheritenceMatcher.java
29/NonSymmetricOppositeMatch.java
30/NonSymmetricOppositeMatcher.java
31/OppositeDifferentClassMatch.java
32/OppositeDifferentClassMatcher.java
33/OppositeMatch.java
34/OppositeMatcher.java
35/PatternContentMatch.java
36/PatternContentMatcher.java
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/Dir.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/Dir.java
new file mode 100644
index 00000000..59900ac7
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/Dir.java
@@ -0,0 +1,42 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem;
4
5import org.eclipse.emf.common.util.EList;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Dir</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.Dir#getContents <em>Contents</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemPackage#getDir()
20 * @model
21 * @generated
22 */
23public interface Dir extends FSObject {
24 /**
25 * Returns the value of the '<em><b>Contents</b></em>' containment reference list.
26 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FSObject}.
27 * It is bidirectional and its opposite is '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FSObject#getParent <em>Parent</em>}'.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>Contents</em>' containment reference list isn't clear,
31 * there really should be more of a description here...
32 * </p>
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Contents</em>' containment reference list.
35 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemPackage#getDir_Contents()
36 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FSObject#getParent
37 * @model opposite="parent" containment="true"
38 * @generated
39 */
40 EList<FSObject> getContents();
41
42} // Dir
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/FSObject.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/FSObject.java
new file mode 100644
index 00000000..2cc4d454
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/FSObject.java
@@ -0,0 +1,52 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>FS Object</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FSObject#getParent <em>Parent</em>}</li>
17 * </ul>
18 *
19 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemPackage#getFSObject()
20 * @model abstract="true"
21 * @generated
22 */
23public interface FSObject extends EObject {
24
25 /**
26 * Returns the value of the '<em><b>Parent</b></em>' container reference.
27 * It is bidirectional and its opposite is '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.Dir#getContents <em>Contents</em>}'.
28 * <!-- begin-user-doc -->
29 * <p>
30 * If the meaning of the '<em>Parent</em>' container reference isn't clear,
31 * there really should be more of a description here...
32 * </p>
33 * <!-- end-user-doc -->
34 * @return the value of the '<em>Parent</em>' container reference.
35 * @see #setParent(Dir)
36 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemPackage#getFSObject_Parent()
37 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.Dir#getContents
38 * @model opposite="contents" transient="false"
39 * @generated
40 */
41 Dir getParent();
42
43 /**
44 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FSObject#getParent <em>Parent</em>}' container reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @param value the new value of the '<em>Parent</em>' container reference.
48 * @see #getParent()
49 * @generated
50 */
51 void setParent(Dir value);
52} // FSObject
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/File.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/File.java
new file mode 100644
index 00000000..e765cbda
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/File.java
@@ -0,0 +1,18 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem;
4
5
6/**
7 * <!-- begin-user-doc -->
8 * A representation of the model object '<em><b>File</b></em>'.
9 * <!-- end-user-doc -->
10 *
11 *
12 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemPackage#getFile()
13 * @model
14 * @generated
15 */
16public interface File extends FSObject {
17
18} // File
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
new file mode 100644
index 00000000..1896e31e
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/FileSystem.java
@@ -0,0 +1,70 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem;
4
5import org.eclipse.emf.common.util.EList;
6
7import org.eclipse.emf.ecore.EObject;
8
9/**
10 * <!-- begin-user-doc -->
11 * A representation of the model object '<em><b>File System</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FileSystem#getRoot <em>Root</em>}</li>
19 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FileSystem#getLive <em>Live</em>}</li>
20 * </ul>
21 *
22 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemPackage#getFileSystem()
23 * @model
24 * @generated
25 */
26public interface FileSystem extends EObject {
27 /**
28 * Returns the value of the '<em><b>Root</b></em>' containment reference.
29 * <!-- begin-user-doc -->
30 * <p>
31 * If the meaning of the '<em>Root</em>' containment reference isn't clear,
32 * there really should be more of a description here...
33 * </p>
34 * <!-- end-user-doc -->
35 * @return the value of the '<em>Root</em>' containment reference.
36 * @see #setRoot(Dir)
37 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemPackage#getFileSystem_Root()
38 * @model containment="true" required="true"
39 * @generated
40 */
41 Dir getRoot();
42
43 /**
44 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FileSystem#getRoot <em>Root</em>}' containment reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @param value the new value of the '<em>Root</em>' containment reference.
48 * @see #getRoot()
49 * @generated
50 */
51 void setRoot(Dir value);
52
53 /**
54 * Returns the value of the '<em><b>Live</b></em>' reference list.
55 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FSObject}.
56 * <!-- begin-user-doc -->
57 * <p>
58 * If the meaning of the '<em>Live</em>' reference list isn't clear,
59 * there really should be more of a description here...
60 * </p>
61 * <!-- end-user-doc -->
62 * @return the value of the '<em>Live</em>' reference list.
63 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemPackage#getFileSystem_Live()
64 * @model transient="true" changeable="false" volatile="true" derived="true"
65 * annotation="org.eclipse.viatra.query.querybasedfeature patternFQN='hu.bme.mit.inf.dslreasoner.domains.alloyexamples.live'"
66 * @generated
67 */
68 EList<FSObject> getLive();
69
70} // FileSystem
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/FilesystemFactory.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/FilesystemFactory.java
new file mode 100644
index 00000000..aaba633f
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/FilesystemFactory.java
@@ -0,0 +1,69 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem;
4
5import org.eclipse.emf.ecore.EFactory;
6
7/**
8 * <!-- begin-user-doc -->
9 * The <b>Factory</b> for the model.
10 * It provides a create method for each non-abstract class of the model.
11 * <!-- end-user-doc -->
12 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemPackage
13 * @generated
14 */
15public interface FilesystemFactory extends EFactory {
16 /**
17 * The singleton instance of the factory.
18 * <!-- begin-user-doc -->
19 * <!-- end-user-doc -->
20 * @generated
21 */
22 FilesystemFactory eINSTANCE = hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.FilesystemFactoryImpl.init();
23
24 /**
25 * Returns a new object of class '<em>File System</em>'.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return a new object of class '<em>File System</em>'.
29 * @generated
30 */
31 FileSystem createFileSystem();
32
33 /**
34 * Returns a new object of class '<em>Dir</em>'.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @return a new object of class '<em>Dir</em>'.
38 * @generated
39 */
40 Dir createDir();
41
42 /**
43 * Returns a new object of class '<em>File</em>'.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @return a new object of class '<em>File</em>'.
47 * @generated
48 */
49 File createFile();
50
51 /**
52 * Returns a new object of class '<em>Model</em>'.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return a new object of class '<em>Model</em>'.
56 * @generated
57 */
58 Model createModel();
59
60 /**
61 * Returns the package supported by this factory.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @return the package supported by this factory.
65 * @generated
66 */
67 FilesystemPackage getFilesystemPackage();
68
69} //FilesystemFactory
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/FilesystemPackage.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/FilesystemPackage.java
new file mode 100644
index 00000000..cad9293e
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/FilesystemPackage.java
@@ -0,0 +1,511 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem;
4
5import org.eclipse.emf.ecore.EClass;
6import org.eclipse.emf.ecore.EPackage;
7import org.eclipse.emf.ecore.EReference;
8
9/**
10 * <!-- begin-user-doc -->
11 * The <b>Package</b> for the model.
12 * It contains accessors for the meta objects to represent
13 * <ul>
14 * <li>each class,</li>
15 * <li>each feature of each class,</li>
16 * <li>each operation of each class,</li>
17 * <li>each enum,</li>
18 * <li>and each data type</li>
19 * </ul>
20 * <!-- end-user-doc -->
21 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemFactory
22 * @model kind="package"
23 * annotation="http://www.eclipse.org/emf/2002/Ecore settingDelegates='org.eclipse.viatra.query.querybasedfeature'"
24 * @generated
25 */
26public interface FilesystemPackage extends EPackage {
27 /**
28 * The package name.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @generated
32 */
33 String eNAME = "Filesystem";
34
35 /**
36 * The package namespace URI.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @generated
40 */
41 String eNS_URI = "FS";
42
43 /**
44 * The package namespace name.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @generated
48 */
49 String eNS_PREFIX = "FS";
50
51 /**
52 * The singleton instance of the package.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 FilesystemPackage eINSTANCE = hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.FilesystemPackageImpl.init();
58
59 /**
60 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.FileSystemImpl <em>File System</em>}' class.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.FileSystemImpl
64 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.FilesystemPackageImpl#getFileSystem()
65 * @generated
66 */
67 int FILE_SYSTEM = 0;
68
69 /**
70 * The feature id for the '<em><b>Root</b></em>' containment reference.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 * @ordered
75 */
76 int FILE_SYSTEM__ROOT = 0;
77
78 /**
79 * The feature id for the '<em><b>Live</b></em>' reference list.
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 * @ordered
84 */
85 int FILE_SYSTEM__LIVE = 1;
86
87 /**
88 * The number of structural features of the '<em>File System</em>' class.
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 * @ordered
93 */
94 int FILE_SYSTEM_FEATURE_COUNT = 2;
95
96 /**
97 * The number of operations of the '<em>File System</em>' class.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 * @ordered
102 */
103 int FILE_SYSTEM_OPERATION_COUNT = 0;
104
105 /**
106 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.FSObjectImpl <em>FS Object</em>}' class.
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.FSObjectImpl
110 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.FilesystemPackageImpl#getFSObject()
111 * @generated
112 */
113 int FS_OBJECT = 1;
114
115 /**
116 * The feature id for the '<em><b>Parent</b></em>' container reference.
117 * <!-- begin-user-doc -->
118 * <!-- end-user-doc -->
119 * @generated
120 * @ordered
121 */
122 int FS_OBJECT__PARENT = 0;
123
124 /**
125 * The number of structural features of the '<em>FS Object</em>' class.
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 * @ordered
130 */
131 int FS_OBJECT_FEATURE_COUNT = 1;
132
133 /**
134 * The number of operations of the '<em>FS Object</em>' class.
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 * @ordered
139 */
140 int FS_OBJECT_OPERATION_COUNT = 0;
141
142 /**
143 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.DirImpl <em>Dir</em>}' class.
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.DirImpl
147 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.FilesystemPackageImpl#getDir()
148 * @generated
149 */
150 int DIR = 2;
151
152 /**
153 * The feature id for the '<em><b>Parent</b></em>' container reference.
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 * @ordered
158 */
159 int DIR__PARENT = FS_OBJECT__PARENT;
160
161 /**
162 * The feature id for the '<em><b>Contents</b></em>' containment reference list.
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 * @ordered
167 */
168 int DIR__CONTENTS = FS_OBJECT_FEATURE_COUNT + 0;
169
170 /**
171 * The number of structural features of the '<em>Dir</em>' class.
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 * @ordered
176 */
177 int DIR_FEATURE_COUNT = FS_OBJECT_FEATURE_COUNT + 1;
178
179 /**
180 * The number of operations of the '<em>Dir</em>' class.
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 * @ordered
185 */
186 int DIR_OPERATION_COUNT = FS_OBJECT_OPERATION_COUNT + 0;
187
188 /**
189 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.FileImpl <em>File</em>}' class.
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.FileImpl
193 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.FilesystemPackageImpl#getFile()
194 * @generated
195 */
196 int FILE = 3;
197
198 /**
199 * The feature id for the '<em><b>Parent</b></em>' container reference.
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @generated
203 * @ordered
204 */
205 int FILE__PARENT = FS_OBJECT__PARENT;
206
207 /**
208 * The number of structural features of the '<em>File</em>' class.
209 * <!-- begin-user-doc -->
210 * <!-- end-user-doc -->
211 * @generated
212 * @ordered
213 */
214 int FILE_FEATURE_COUNT = FS_OBJECT_FEATURE_COUNT + 0;
215
216 /**
217 * The number of operations of the '<em>File</em>' class.
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @generated
221 * @ordered
222 */
223 int FILE_OPERATION_COUNT = FS_OBJECT_OPERATION_COUNT + 0;
224
225 /**
226 * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.ModelImpl <em>Model</em>}' class.
227 * <!-- begin-user-doc -->
228 * <!-- end-user-doc -->
229 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.ModelImpl
230 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.FilesystemPackageImpl#getModel()
231 * @generated
232 */
233 int MODEL = 4;
234
235 /**
236 * The feature id for the '<em><b>Filesystems</b></em>' containment reference.
237 * <!-- begin-user-doc -->
238 * <!-- end-user-doc -->
239 * @generated
240 * @ordered
241 */
242 int MODEL__FILESYSTEMS = 0;
243
244 /**
245 * The feature id for the '<em><b>Other FS Objects</b></em>' containment reference list.
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @generated
249 * @ordered
250 */
251 int MODEL__OTHER_FS_OBJECTS = 1;
252
253 /**
254 * The number of structural features of the '<em>Model</em>' class.
255 * <!-- begin-user-doc -->
256 * <!-- end-user-doc -->
257 * @generated
258 * @ordered
259 */
260 int MODEL_FEATURE_COUNT = 2;
261
262 /**
263 * The number of operations of the '<em>Model</em>' class.
264 * <!-- begin-user-doc -->
265 * <!-- end-user-doc -->
266 * @generated
267 * @ordered
268 */
269 int MODEL_OPERATION_COUNT = 0;
270
271
272 /**
273 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FileSystem <em>File System</em>}'.
274 * <!-- begin-user-doc -->
275 * <!-- end-user-doc -->
276 * @return the meta object for class '<em>File System</em>'.
277 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FileSystem
278 * @generated
279 */
280 EClass getFileSystem();
281
282 /**
283 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FileSystem#getRoot <em>Root</em>}'.
284 * <!-- begin-user-doc -->
285 * <!-- end-user-doc -->
286 * @return the meta object for the containment reference '<em>Root</em>'.
287 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FileSystem#getRoot()
288 * @see #getFileSystem()
289 * @generated
290 */
291 EReference getFileSystem_Root();
292
293 /**
294 * Returns the meta object for the reference list '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FileSystem#getLive <em>Live</em>}'.
295 * <!-- begin-user-doc -->
296 * <!-- end-user-doc -->
297 * @return the meta object for the reference list '<em>Live</em>'.
298 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FileSystem#getLive()
299 * @see #getFileSystem()
300 * @generated
301 */
302 EReference getFileSystem_Live();
303
304 /**
305 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FSObject <em>FS Object</em>}'.
306 * <!-- begin-user-doc -->
307 * <!-- end-user-doc -->
308 * @return the meta object for class '<em>FS Object</em>'.
309 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FSObject
310 * @generated
311 */
312 EClass getFSObject();
313
314 /**
315 * Returns the meta object for the container reference '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FSObject#getParent <em>Parent</em>}'.
316 * <!-- begin-user-doc -->
317 * <!-- end-user-doc -->
318 * @return the meta object for the container reference '<em>Parent</em>'.
319 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FSObject#getParent()
320 * @see #getFSObject()
321 * @generated
322 */
323 EReference getFSObject_Parent();
324
325 /**
326 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.Dir <em>Dir</em>}'.
327 * <!-- begin-user-doc -->
328 * <!-- end-user-doc -->
329 * @return the meta object for class '<em>Dir</em>'.
330 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.Dir
331 * @generated
332 */
333 EClass getDir();
334
335 /**
336 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.Dir#getContents <em>Contents</em>}'.
337 * <!-- begin-user-doc -->
338 * <!-- end-user-doc -->
339 * @return the meta object for the containment reference list '<em>Contents</em>'.
340 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.Dir#getContents()
341 * @see #getDir()
342 * @generated
343 */
344 EReference getDir_Contents();
345
346 /**
347 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.File <em>File</em>}'.
348 * <!-- begin-user-doc -->
349 * <!-- end-user-doc -->
350 * @return the meta object for class '<em>File</em>'.
351 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.File
352 * @generated
353 */
354 EClass getFile();
355
356 /**
357 * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.Model <em>Model</em>}'.
358 * <!-- begin-user-doc -->
359 * <!-- end-user-doc -->
360 * @return the meta object for class '<em>Model</em>'.
361 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.Model
362 * @generated
363 */
364 EClass getModel();
365
366 /**
367 * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.Model#getFilesystems <em>Filesystems</em>}'.
368 * <!-- begin-user-doc -->
369 * <!-- end-user-doc -->
370 * @return the meta object for the containment reference '<em>Filesystems</em>'.
371 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.Model#getFilesystems()
372 * @see #getModel()
373 * @generated
374 */
375 EReference getModel_Filesystems();
376
377 /**
378 * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.Model#getOtherFSObjects <em>Other FS Objects</em>}'.
379 * <!-- begin-user-doc -->
380 * <!-- end-user-doc -->
381 * @return the meta object for the containment reference list '<em>Other FS Objects</em>'.
382 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.Model#getOtherFSObjects()
383 * @see #getModel()
384 * @generated
385 */
386 EReference getModel_OtherFSObjects();
387
388 /**
389 * Returns the factory that creates the instances of the model.
390 * <!-- begin-user-doc -->
391 * <!-- end-user-doc -->
392 * @return the factory that creates the instances of the model.
393 * @generated
394 */
395 FilesystemFactory getFilesystemFactory();
396
397 /**
398 * <!-- begin-user-doc -->
399 * Defines literals for the meta objects that represent
400 * <ul>
401 * <li>each class,</li>
402 * <li>each feature of each class,</li>
403 * <li>each operation of each class,</li>
404 * <li>each enum,</li>
405 * <li>and each data type</li>
406 * </ul>
407 * <!-- end-user-doc -->
408 * @generated
409 */
410 interface Literals {
411 /**
412 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.FileSystemImpl <em>File System</em>}' class.
413 * <!-- begin-user-doc -->
414 * <!-- end-user-doc -->
415 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.FileSystemImpl
416 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.FilesystemPackageImpl#getFileSystem()
417 * @generated
418 */
419 EClass FILE_SYSTEM = eINSTANCE.getFileSystem();
420
421 /**
422 * The meta object literal for the '<em><b>Root</b></em>' containment reference feature.
423 * <!-- begin-user-doc -->
424 * <!-- end-user-doc -->
425 * @generated
426 */
427 EReference FILE_SYSTEM__ROOT = eINSTANCE.getFileSystem_Root();
428
429 /**
430 * The meta object literal for the '<em><b>Live</b></em>' reference list feature.
431 * <!-- begin-user-doc -->
432 * <!-- end-user-doc -->
433 * @generated
434 */
435 EReference FILE_SYSTEM__LIVE = eINSTANCE.getFileSystem_Live();
436
437 /**
438 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.FSObjectImpl <em>FS Object</em>}' class.
439 * <!-- begin-user-doc -->
440 * <!-- end-user-doc -->
441 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.FSObjectImpl
442 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.FilesystemPackageImpl#getFSObject()
443 * @generated
444 */
445 EClass FS_OBJECT = eINSTANCE.getFSObject();
446
447 /**
448 * The meta object literal for the '<em><b>Parent</b></em>' container reference feature.
449 * <!-- begin-user-doc -->
450 * <!-- end-user-doc -->
451 * @generated
452 */
453 EReference FS_OBJECT__PARENT = eINSTANCE.getFSObject_Parent();
454
455 /**
456 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.DirImpl <em>Dir</em>}' class.
457 * <!-- begin-user-doc -->
458 * <!-- end-user-doc -->
459 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.DirImpl
460 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.FilesystemPackageImpl#getDir()
461 * @generated
462 */
463 EClass DIR = eINSTANCE.getDir();
464
465 /**
466 * The meta object literal for the '<em><b>Contents</b></em>' containment reference list feature.
467 * <!-- begin-user-doc -->
468 * <!-- end-user-doc -->
469 * @generated
470 */
471 EReference DIR__CONTENTS = eINSTANCE.getDir_Contents();
472
473 /**
474 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.FileImpl <em>File</em>}' class.
475 * <!-- begin-user-doc -->
476 * <!-- end-user-doc -->
477 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.FileImpl
478 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.FilesystemPackageImpl#getFile()
479 * @generated
480 */
481 EClass FILE = eINSTANCE.getFile();
482
483 /**
484 * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.ModelImpl <em>Model</em>}' class.
485 * <!-- begin-user-doc -->
486 * <!-- end-user-doc -->
487 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.ModelImpl
488 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.FilesystemPackageImpl#getModel()
489 * @generated
490 */
491 EClass MODEL = eINSTANCE.getModel();
492
493 /**
494 * The meta object literal for the '<em><b>Filesystems</b></em>' containment reference feature.
495 * <!-- begin-user-doc -->
496 * <!-- end-user-doc -->
497 * @generated
498 */
499 EReference MODEL__FILESYSTEMS = eINSTANCE.getModel_Filesystems();
500
501 /**
502 * The meta object literal for the '<em><b>Other FS Objects</b></em>' containment reference list feature.
503 * <!-- begin-user-doc -->
504 * <!-- end-user-doc -->
505 * @generated
506 */
507 EReference MODEL__OTHER_FS_OBJECTS = eINSTANCE.getModel_OtherFSObjects();
508
509 }
510
511} //FilesystemPackage
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/Model.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/Model.java
new file mode 100644
index 00000000..c67a3c8a
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/Model.java
@@ -0,0 +1,69 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem;
4
5import org.eclipse.emf.common.util.EList;
6
7import org.eclipse.emf.ecore.EObject;
8
9/**
10 * <!-- begin-user-doc -->
11 * A representation of the model object '<em><b>Model</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.Model#getFilesystems <em>Filesystems</em>}</li>
19 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.Model#getOtherFSObjects <em>Other FS Objects</em>}</li>
20 * </ul>
21 *
22 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemPackage#getModel()
23 * @model
24 * @generated
25 */
26public interface Model extends EObject {
27 /**
28 * Returns the value of the '<em><b>Filesystems</b></em>' containment reference.
29 * <!-- begin-user-doc -->
30 * <p>
31 * If the meaning of the '<em>Filesystems</em>' containment reference isn't clear,
32 * there really should be more of a description here...
33 * </p>
34 * <!-- end-user-doc -->
35 * @return the value of the '<em>Filesystems</em>' containment reference.
36 * @see #setFilesystems(FileSystem)
37 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemPackage#getModel_Filesystems()
38 * @model containment="true" required="true"
39 * @generated
40 */
41 FileSystem getFilesystems();
42
43 /**
44 * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.Model#getFilesystems <em>Filesystems</em>}' containment reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @param value the new value of the '<em>Filesystems</em>' containment reference.
48 * @see #getFilesystems()
49 * @generated
50 */
51 void setFilesystems(FileSystem value);
52
53 /**
54 * Returns the value of the '<em><b>Other FS Objects</b></em>' containment reference list.
55 * The list contents are of type {@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FSObject}.
56 * <!-- begin-user-doc -->
57 * <p>
58 * If the meaning of the '<em>Other FS Objects</em>' containment reference list isn't clear,
59 * there really should be more of a description here...
60 * </p>
61 * <!-- end-user-doc -->
62 * @return the value of the '<em>Other FS Objects</em>' containment reference list.
63 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemPackage#getModel_OtherFSObjects()
64 * @model containment="true"
65 * @generated
66 */
67 EList<FSObject> getOtherFSObjects();
68
69} // Model
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
new file mode 100644
index 00000000..62df04af
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/DirImpl.java
@@ -0,0 +1,165 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.Dir;
6import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FSObject;
7import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemPackage;
8
9import java.util.Collection;
10
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.common.util.EList;
14
15import org.eclipse.emf.ecore.EClass;
16import org.eclipse.emf.ecore.InternalEObject;
17
18import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
19import org.eclipse.emf.ecore.util.InternalEList;
20
21/**
22 * <!-- begin-user-doc -->
23 * An implementation of the model object '<em><b>Dir</b></em>'.
24 * <!-- end-user-doc -->
25 * <p>
26 * The following features are implemented:
27 * </p>
28 * <ul>
29 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.DirImpl#getContents <em>Contents</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public class DirImpl extends FSObjectImpl implements Dir {
35 /**
36 * The cached value of the '{@link #getContents() <em>Contents</em>}' containment reference list.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getContents()
40 * @generated
41 * @ordered
42 */
43 protected EList<FSObject> contents;
44
45 /**
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 protected DirImpl() {
51 super();
52 }
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 @Override
60 protected EClass eStaticClass() {
61 return FilesystemPackage.Literals.DIR;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 public EList<FSObject> getContents() {
70 if (contents == null) {
71 contents = new EObjectContainmentWithInverseEList<FSObject>(FSObject.class, this, FilesystemPackage.DIR__CONTENTS, FilesystemPackage.FS_OBJECT__PARENT);
72 }
73 return contents;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 @SuppressWarnings("unchecked")
82 @Override
83 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
84 switch (featureID) {
85 case FilesystemPackage.DIR__CONTENTS:
86 return ((InternalEList<InternalEObject>)(InternalEList<?>)getContents()).basicAdd(otherEnd, msgs);
87 }
88 return super.eInverseAdd(otherEnd, featureID, msgs);
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 @Override
97 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
98 switch (featureID) {
99 case FilesystemPackage.DIR__CONTENTS:
100 return ((InternalEList<?>)getContents()).basicRemove(otherEnd, msgs);
101 }
102 return super.eInverseRemove(otherEnd, featureID, msgs);
103 }
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 @Override
111 public Object eGet(int featureID, boolean resolve, boolean coreType) {
112 switch (featureID) {
113 case FilesystemPackage.DIR__CONTENTS:
114 return getContents();
115 }
116 return super.eGet(featureID, resolve, coreType);
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @SuppressWarnings("unchecked")
125 @Override
126 public void eSet(int featureID, Object newValue) {
127 switch (featureID) {
128 case FilesystemPackage.DIR__CONTENTS:
129 getContents().clear();
130 getContents().addAll((Collection<? extends FSObject>)newValue);
131 return;
132 }
133 super.eSet(featureID, newValue);
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public void eUnset(int featureID) {
143 switch (featureID) {
144 case FilesystemPackage.DIR__CONTENTS:
145 getContents().clear();
146 return;
147 }
148 super.eUnset(featureID);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public boolean eIsSet(int featureID) {
158 switch (featureID) {
159 case FilesystemPackage.DIR__CONTENTS:
160 return contents != null && !contents.isEmpty();
161 }
162 return super.eIsSet(featureID);
163 }
164
165} //DirImpl
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
new file mode 100644
index 00000000..c8e73b4e
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FSObjectImpl.java
@@ -0,0 +1,194 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.Dir;
6import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FSObject;
7import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemPackage;
8
9import org.eclipse.emf.common.notify.Notification;
10import org.eclipse.emf.common.notify.NotificationChain;
11import org.eclipse.emf.ecore.EClass;
12
13import org.eclipse.emf.ecore.InternalEObject;
14import org.eclipse.emf.ecore.impl.ENotificationImpl;
15import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
16import org.eclipse.emf.ecore.util.EcoreUtil;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>FS Object</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.FSObjectImpl#getParent <em>Parent</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public abstract class FSObjectImpl extends MinimalEObjectImpl.Container implements FSObject {
32 /**
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 protected FSObjectImpl() {
38 super();
39 }
40
41 /**
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @generated
45 */
46 @Override
47 protected EClass eStaticClass() {
48 return FilesystemPackage.Literals.FS_OBJECT;
49 }
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 public Dir getParent() {
57 if (eContainerFeatureID() != FilesystemPackage.FS_OBJECT__PARENT) return null;
58 return (Dir)eInternalContainer();
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 public NotificationChain basicSetParent(Dir newParent, NotificationChain msgs) {
67 msgs = eBasicSetContainer((InternalEObject)newParent, FilesystemPackage.FS_OBJECT__PARENT, msgs);
68 return msgs;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 public void setParent(Dir newParent) {
77 if (newParent != eInternalContainer() || (eContainerFeatureID() != FilesystemPackage.FS_OBJECT__PARENT && newParent != null)) {
78 if (EcoreUtil.isAncestor(this, newParent))
79 throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
80 NotificationChain msgs = null;
81 if (eInternalContainer() != null)
82 msgs = eBasicRemoveFromContainer(msgs);
83 if (newParent != null)
84 msgs = ((InternalEObject)newParent).eInverseAdd(this, FilesystemPackage.DIR__CONTENTS, Dir.class, msgs);
85 msgs = basicSetParent(newParent, msgs);
86 if (msgs != null) msgs.dispatch();
87 }
88 else if (eNotificationRequired())
89 eNotify(new ENotificationImpl(this, Notification.SET, FilesystemPackage.FS_OBJECT__PARENT, newParent, newParent));
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
99 switch (featureID) {
100 case FilesystemPackage.FS_OBJECT__PARENT:
101 if (eInternalContainer() != null)
102 msgs = eBasicRemoveFromContainer(msgs);
103 return basicSetParent((Dir)otherEnd, msgs);
104 }
105 return super.eInverseAdd(otherEnd, featureID, msgs);
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 @Override
114 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
115 switch (featureID) {
116 case FilesystemPackage.FS_OBJECT__PARENT:
117 return basicSetParent(null, msgs);
118 }
119 return super.eInverseRemove(otherEnd, featureID, msgs);
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 @Override
128 public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
129 switch (eContainerFeatureID()) {
130 case FilesystemPackage.FS_OBJECT__PARENT:
131 return eInternalContainer().eInverseRemove(this, FilesystemPackage.DIR__CONTENTS, Dir.class, msgs);
132 }
133 return super.eBasicRemoveFromContainerFeature(msgs);
134 }
135
136 /**
137 * <!-- begin-user-doc -->
138 * <!-- end-user-doc -->
139 * @generated
140 */
141 @Override
142 public Object eGet(int featureID, boolean resolve, boolean coreType) {
143 switch (featureID) {
144 case FilesystemPackage.FS_OBJECT__PARENT:
145 return getParent();
146 }
147 return super.eGet(featureID, resolve, coreType);
148 }
149
150 /**
151 * <!-- begin-user-doc -->
152 * <!-- end-user-doc -->
153 * @generated
154 */
155 @Override
156 public void eSet(int featureID, Object newValue) {
157 switch (featureID) {
158 case FilesystemPackage.FS_OBJECT__PARENT:
159 setParent((Dir)newValue);
160 return;
161 }
162 super.eSet(featureID, newValue);
163 }
164
165 /**
166 * <!-- begin-user-doc -->
167 * <!-- end-user-doc -->
168 * @generated
169 */
170 @Override
171 public void eUnset(int featureID) {
172 switch (featureID) {
173 case FilesystemPackage.FS_OBJECT__PARENT:
174 setParent((Dir)null);
175 return;
176 }
177 super.eUnset(featureID);
178 }
179
180 /**
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 */
185 @Override
186 public boolean eIsSet(int featureID) {
187 switch (featureID) {
188 case FilesystemPackage.FS_OBJECT__PARENT:
189 return getParent() != null;
190 }
191 return super.eIsSet(featureID);
192 }
193
194} //FSObjectImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FileImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FileImpl.java
new file mode 100644
index 00000000..55cd8a23
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FileImpl.java
@@ -0,0 +1,36 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.File;
6import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemPackage;
7import org.eclipse.emf.ecore.EClass;
8
9/**
10 * <!-- begin-user-doc -->
11 * An implementation of the model object '<em><b>File</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * @generated
15 */
16public class FileImpl extends FSObjectImpl implements File {
17 /**
18 * <!-- begin-user-doc -->
19 * <!-- end-user-doc -->
20 * @generated
21 */
22 protected FileImpl() {
23 super();
24 }
25
26 /**
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @generated
30 */
31 @Override
32 protected EClass eStaticClass() {
33 return FilesystemPackage.Literals.FILE;
34 }
35
36} //FileImpl
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
new file mode 100644
index 00000000..adf30f3a
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FileSystemImpl.java
@@ -0,0 +1,205 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.Dir;
6import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FSObject;
7import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FileSystem;
8import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemPackage;
9
10import org.eclipse.emf.common.notify.Notification;
11import org.eclipse.emf.common.notify.NotificationChain;
12
13import org.eclipse.emf.common.util.EList;
14
15import org.eclipse.emf.ecore.EClass;
16import org.eclipse.emf.ecore.EStructuralFeature;
17import org.eclipse.emf.ecore.InternalEObject;
18
19import org.eclipse.emf.ecore.impl.ENotificationImpl;
20import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
21
22/**
23 * <!-- begin-user-doc -->
24 * An implementation of the model object '<em><b>File System</b></em>'.
25 * <!-- end-user-doc -->
26 * <p>
27 * The following features are implemented:
28 * </p>
29 * <ul>
30 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.FileSystemImpl#getRoot <em>Root</em>}</li>
31 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.FileSystemImpl#getLive <em>Live</em>}</li>
32 * </ul>
33 *
34 * @generated
35 */
36public class FileSystemImpl extends MinimalEObjectImpl.Container implements FileSystem {
37 /**
38 * The cached value of the '{@link #getRoot() <em>Root</em>}' containment reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @see #getRoot()
42 * @generated
43 * @ordered
44 */
45 protected Dir root;
46
47 /**
48 * The cached setting delegate for the '{@link #getLive() <em>Live</em>}' reference list.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @see #getLive()
52 * @generated
53 * @ordered
54 */
55 protected EStructuralFeature.Internal.SettingDelegate LIVE__ESETTING_DELEGATE = ((EStructuralFeature.Internal)FilesystemPackage.Literals.FILE_SYSTEM__LIVE).getSettingDelegate();
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 protected FileSystemImpl() {
63 super();
64 }
65
66 /**
67 * <!-- begin-user-doc -->
68 * <!-- end-user-doc -->
69 * @generated
70 */
71 @Override
72 protected EClass eStaticClass() {
73 return FilesystemPackage.Literals.FILE_SYSTEM;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public Dir getRoot() {
82 return root;
83 }
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 public NotificationChain basicSetRoot(Dir newRoot, NotificationChain msgs) {
91 Dir oldRoot = root;
92 root = newRoot;
93 if (eNotificationRequired()) {
94 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FilesystemPackage.FILE_SYSTEM__ROOT, oldRoot, newRoot);
95 if (msgs == null) msgs = notification; else msgs.add(notification);
96 }
97 return msgs;
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 public void setRoot(Dir newRoot) {
106 if (newRoot != root) {
107 NotificationChain msgs = null;
108 if (root != null)
109 msgs = ((InternalEObject)root).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FilesystemPackage.FILE_SYSTEM__ROOT, null, msgs);
110 if (newRoot != null)
111 msgs = ((InternalEObject)newRoot).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FilesystemPackage.FILE_SYSTEM__ROOT, null, msgs);
112 msgs = basicSetRoot(newRoot, msgs);
113 if (msgs != null) msgs.dispatch();
114 }
115 else if (eNotificationRequired())
116 eNotify(new ENotificationImpl(this, Notification.SET, FilesystemPackage.FILE_SYSTEM__ROOT, newRoot, newRoot));
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @SuppressWarnings("unchecked")
125 public EList<FSObject> getLive() {
126 return (EList<FSObject>)LIVE__ESETTING_DELEGATE.dynamicGet(this, null, 0, true, false);
127 }
128
129 /**
130 * <!-- begin-user-doc -->
131 * <!-- end-user-doc -->
132 * @generated
133 */
134 @Override
135 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
136 switch (featureID) {
137 case FilesystemPackage.FILE_SYSTEM__ROOT:
138 return basicSetRoot(null, msgs);
139 }
140 return super.eInverseRemove(otherEnd, featureID, msgs);
141 }
142
143 /**
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 */
148 @Override
149 public Object eGet(int featureID, boolean resolve, boolean coreType) {
150 switch (featureID) {
151 case FilesystemPackage.FILE_SYSTEM__ROOT:
152 return getRoot();
153 case FilesystemPackage.FILE_SYSTEM__LIVE:
154 return getLive();
155 }
156 return super.eGet(featureID, resolve, coreType);
157 }
158
159 /**
160 * <!-- begin-user-doc -->
161 * <!-- end-user-doc -->
162 * @generated
163 */
164 @Override
165 public void eSet(int featureID, Object newValue) {
166 switch (featureID) {
167 case FilesystemPackage.FILE_SYSTEM__ROOT:
168 setRoot((Dir)newValue);
169 return;
170 }
171 super.eSet(featureID, newValue);
172 }
173
174 /**
175 * <!-- begin-user-doc -->
176 * <!-- end-user-doc -->
177 * @generated
178 */
179 @Override
180 public void eUnset(int featureID) {
181 switch (featureID) {
182 case FilesystemPackage.FILE_SYSTEM__ROOT:
183 setRoot((Dir)null);
184 return;
185 }
186 super.eUnset(featureID);
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public boolean eIsSet(int featureID) {
196 switch (featureID) {
197 case FilesystemPackage.FILE_SYSTEM__ROOT:
198 return root != null;
199 case FilesystemPackage.FILE_SYSTEM__LIVE:
200 return LIVE__ESETTING_DELEGATE.dynamicIsSet(this, null, 0);
201 }
202 return super.eIsSet(featureID);
203 }
204
205} //FileSystemImpl
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
new file mode 100644
index 00000000..e40b0bd1
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FilesystemFactoryImpl.java
@@ -0,0 +1,128 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.*;
6
7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.EObject;
9import org.eclipse.emf.ecore.EPackage;
10
11import org.eclipse.emf.ecore.impl.EFactoryImpl;
12
13import org.eclipse.emf.ecore.plugin.EcorePlugin;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model <b>Factory</b>.
18 * <!-- end-user-doc -->
19 * @generated
20 */
21public class FilesystemFactoryImpl extends EFactoryImpl implements FilesystemFactory {
22 /**
23 * Creates the default factory implementation.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @generated
27 */
28 public static FilesystemFactory init() {
29 try {
30 FilesystemFactory theFilesystemFactory = (FilesystemFactory)EPackage.Registry.INSTANCE.getEFactory(FilesystemPackage.eNS_URI);
31 if (theFilesystemFactory != null) {
32 return theFilesystemFactory;
33 }
34 }
35 catch (Exception exception) {
36 EcorePlugin.INSTANCE.log(exception);
37 }
38 return new FilesystemFactoryImpl();
39 }
40
41 /**
42 * Creates an instance of the factory.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 public FilesystemFactoryImpl() {
48 super();
49 }
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 @Override
57 public EObject create(EClass eClass) {
58 switch (eClass.getClassifierID()) {
59 case FilesystemPackage.FILE_SYSTEM: return createFileSystem();
60 case FilesystemPackage.DIR: return createDir();
61 case FilesystemPackage.FILE: return createFile();
62 case FilesystemPackage.MODEL: return createModel();
63 default:
64 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
65 }
66 }
67
68 /**
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @generated
72 */
73 public FileSystem createFileSystem() {
74 FileSystemImpl fileSystem = new FileSystemImpl();
75 return fileSystem;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 public Dir createDir() {
84 DirImpl dir = new DirImpl();
85 return dir;
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 public File createFile() {
94 FileImpl file = new FileImpl();
95 return file;
96 }
97
98 /**
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 */
103 public Model createModel() {
104 ModelImpl model = new ModelImpl();
105 return model;
106 }
107
108 /**
109 * <!-- begin-user-doc -->
110 * <!-- end-user-doc -->
111 * @generated
112 */
113 public FilesystemPackage getFilesystemPackage() {
114 return (FilesystemPackage)getEPackage();
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @deprecated
121 * @generated
122 */
123 @Deprecated
124 public static FilesystemPackage getPackage() {
125 return FilesystemPackage.eINSTANCE;
126 }
127
128} //FilesystemFactoryImpl
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
new file mode 100644
index 00000000..87390fee
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/FilesystemPackageImpl.java
@@ -0,0 +1,356 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl;
4
5import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.Dir;
6import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FSObject;
7import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.File;
8import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FileSystem;
9import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemFactory;
10import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemPackage;
11import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.Model;
12
13import org.eclipse.emf.ecore.EClass;
14import org.eclipse.emf.ecore.EPackage;
15import org.eclipse.emf.ecore.EReference;
16
17import org.eclipse.emf.ecore.impl.EPackageImpl;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model <b>Package</b>.
22 * <!-- end-user-doc -->
23 * @generated
24 */
25public class FilesystemPackageImpl extends EPackageImpl implements FilesystemPackage {
26 /**
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @generated
30 */
31 private EClass fileSystemEClass = null;
32
33 /**
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @generated
37 */
38 private EClass fsObjectEClass = null;
39
40 /**
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @generated
44 */
45 private EClass dirEClass = null;
46
47 /**
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @generated
51 */
52 private EClass fileEClass = null;
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 private EClass modelEClass = null;
60
61 /**
62 * Creates an instance of the model <b>Package</b>, registered with
63 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
64 * package URI value.
65 * <p>Note: the correct way to create the package is via the static
66 * factory method {@link #init init()}, which also performs
67 * initialization of the package, or returns the registered package,
68 * if one already exists.
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @see org.eclipse.emf.ecore.EPackage.Registry
72 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemPackage#eNS_URI
73 * @see #init()
74 * @generated
75 */
76 private FilesystemPackageImpl() {
77 super(eNS_URI, FilesystemFactory.eINSTANCE);
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 private static boolean isInited = false;
86
87 /**
88 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
89 *
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.
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @see #eNS_URI
95 * @see #createPackageContents()
96 * @see #initializePackageContents()
97 * @generated
98 */
99 public static FilesystemPackage init() {
100 if (isInited) return (FilesystemPackage)EPackage.Registry.INSTANCE.getEPackage(FilesystemPackage.eNS_URI);
101
102 // Obtain or create and register package
103 FilesystemPackageImpl theFilesystemPackage = (FilesystemPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof FilesystemPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new FilesystemPackageImpl());
104
105 isInited = true;
106
107 // Create package meta-data objects
108 theFilesystemPackage.createPackageContents();
109
110 // Initialize created meta-data
111 theFilesystemPackage.initializePackageContents();
112
113 // Mark meta-data to indicate it can't be changed
114 theFilesystemPackage.freeze();
115
116
117 // Update the registry and return the package
118 EPackage.Registry.INSTANCE.put(FilesystemPackage.eNS_URI, theFilesystemPackage);
119 return theFilesystemPackage;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 public EClass getFileSystem() {
128 return fileSystemEClass;
129 }
130
131 /**
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @generated
135 */
136 public EReference getFileSystem_Root() {
137 return (EReference)fileSystemEClass.getEStructuralFeatures().get(0);
138 }
139
140 /**
141 * <!-- begin-user-doc -->
142 * <!-- end-user-doc -->
143 * @generated
144 */
145 public EReference getFileSystem_Live() {
146 return (EReference)fileSystemEClass.getEStructuralFeatures().get(1);
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 public EClass getFSObject() {
155 return fsObjectEClass;
156 }
157
158 /**
159 * <!-- begin-user-doc -->
160 * <!-- end-user-doc -->
161 * @generated
162 */
163 public EReference getFSObject_Parent() {
164 return (EReference)fsObjectEClass.getEStructuralFeatures().get(0);
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 public EClass getDir() {
173 return dirEClass;
174 }
175
176 /**
177 * <!-- begin-user-doc -->
178 * <!-- end-user-doc -->
179 * @generated
180 */
181 public EReference getDir_Contents() {
182 return (EReference)dirEClass.getEStructuralFeatures().get(0);
183 }
184
185 /**
186 * <!-- begin-user-doc -->
187 * <!-- end-user-doc -->
188 * @generated
189 */
190 public EClass getFile() {
191 return fileEClass;
192 }
193
194 /**
195 * <!-- begin-user-doc -->
196 * <!-- end-user-doc -->
197 * @generated
198 */
199 public EClass getModel() {
200 return modelEClass;
201 }
202
203 /**
204 * <!-- begin-user-doc -->
205 * <!-- end-user-doc -->
206 * @generated
207 */
208 public EReference getModel_Filesystems() {
209 return (EReference)modelEClass.getEStructuralFeatures().get(0);
210 }
211
212 /**
213 * <!-- begin-user-doc -->
214 * <!-- end-user-doc -->
215 * @generated
216 */
217 public EReference getModel_OtherFSObjects() {
218 return (EReference)modelEClass.getEStructuralFeatures().get(1);
219 }
220
221 /**
222 * <!-- begin-user-doc -->
223 * <!-- end-user-doc -->
224 * @generated
225 */
226 public FilesystemFactory getFilesystemFactory() {
227 return (FilesystemFactory)getEFactoryInstance();
228 }
229
230 /**
231 * <!-- begin-user-doc -->
232 * <!-- end-user-doc -->
233 * @generated
234 */
235 private boolean isCreated = false;
236
237 /**
238 * Creates the meta-model objects for the package. This method is
239 * guarded to have no affect on any invocation but its first.
240 * <!-- begin-user-doc -->
241 * <!-- end-user-doc -->
242 * @generated
243 */
244 public void createPackageContents() {
245 if (isCreated) return;
246 isCreated = true;
247
248 // Create classes and their features
249 fileSystemEClass = createEClass(FILE_SYSTEM);
250 createEReference(fileSystemEClass, FILE_SYSTEM__ROOT);
251 createEReference(fileSystemEClass, FILE_SYSTEM__LIVE);
252
253 fsObjectEClass = createEClass(FS_OBJECT);
254 createEReference(fsObjectEClass, FS_OBJECT__PARENT);
255
256 dirEClass = createEClass(DIR);
257 createEReference(dirEClass, DIR__CONTENTS);
258
259 fileEClass = createEClass(FILE);
260
261 modelEClass = createEClass(MODEL);
262 createEReference(modelEClass, MODEL__FILESYSTEMS);
263 createEReference(modelEClass, MODEL__OTHER_FS_OBJECTS);
264 }
265
266 /**
267 * <!-- begin-user-doc -->
268 * <!-- end-user-doc -->
269 * @generated
270 */
271 private boolean isInitialized = false;
272
273 /**
274 * Complete the initialization of the package and its meta-model. This
275 * method is guarded to have no affect on any invocation but its first.
276 * <!-- begin-user-doc -->
277 * <!-- end-user-doc -->
278 * @generated
279 */
280 public void initializePackageContents() {
281 if (isInitialized) return;
282 isInitialized = true;
283
284 // Initialize package
285 setName(eNAME);
286 setNsPrefix(eNS_PREFIX);
287 setNsURI(eNS_URI);
288
289 // Create type parameters
290
291 // Set bounds for type parameters
292
293 // Add supertypes to classes
294 dirEClass.getESuperTypes().add(this.getFSObject());
295 fileEClass.getESuperTypes().add(this.getFSObject());
296
297 // Initialize classes, features, and operations; add parameters
298 initEClass(fileSystemEClass, FileSystem.class, "FileSystem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
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);
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);
301
302 initEClass(fsObjectEClass, FSObject.class, "FSObject", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
303 initEReference(getFSObject_Parent(), this.getDir(), this.getDir_Contents(), "parent", null, 0, 1, FSObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
304
305 initEClass(dirEClass, Dir.class, "Dir", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
306 initEReference(getDir_Contents(), this.getFSObject(), this.getFSObject_Parent(), "contents", null, 0, -1, Dir.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
307
308 initEClass(fileEClass, File.class, "File", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
309
310 initEClass(modelEClass, Model.class, "Model", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
311 initEReference(getModel_Filesystems(), this.getFileSystem(), null, "filesystems", null, 1, 1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
312 initEReference(getModel_OtherFSObjects(), this.getFSObject(), null, "otherFSObjects", null, 0, -1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
313
314 // Create resource
315 createResource(eNS_URI);
316
317 // Create annotations
318 // http://www.eclipse.org/emf/2002/Ecore
319 createEcoreAnnotations();
320 // org.eclipse.viatra.query.querybasedfeature
321 createOrgAnnotations();
322 }
323
324 /**
325 * Initializes the annotations for <b>http://www.eclipse.org/emf/2002/Ecore</b>.
326 * <!-- begin-user-doc -->
327 * <!-- end-user-doc -->
328 * @generated
329 */
330 protected void createEcoreAnnotations() {
331 String source = "http://www.eclipse.org/emf/2002/Ecore";
332 addAnnotation
333 (this,
334 source,
335 new String[] {
336 "settingDelegates", "org.eclipse.viatra.query.querybasedfeature"
337 });
338 }
339
340 /**
341 * Initializes the annotations for <b>org.eclipse.viatra.query.querybasedfeature</b>.
342 * <!-- begin-user-doc -->
343 * <!-- end-user-doc -->
344 * @generated
345 */
346 protected void createOrgAnnotations() {
347 String source = "org.eclipse.viatra.query.querybasedfeature";
348 addAnnotation
349 (getFileSystem_Live(),
350 source,
351 new String[] {
352 "patternFQN", "hu.bme.mit.inf.dslreasoner.domains.alloyexamples.live"
353 });
354 }
355
356} //FilesystemPackageImpl
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
new file mode 100644
index 00000000..4c236e8e
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/impl/ModelImpl.java
@@ -0,0 +1,221 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl;
4
5import 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.FilesystemPackage;
8import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.Model;
9
10import java.util.Collection;
11
12import org.eclipse.emf.common.notify.Notification;
13import org.eclipse.emf.common.notify.NotificationChain;
14
15import org.eclipse.emf.common.util.EList;
16
17import org.eclipse.emf.ecore.EClass;
18import org.eclipse.emf.ecore.InternalEObject;
19
20import org.eclipse.emf.ecore.impl.ENotificationImpl;
21import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
22
23import org.eclipse.emf.ecore.util.EObjectContainmentEList;
24import org.eclipse.emf.ecore.util.InternalEList;
25
26/**
27 * <!-- begin-user-doc -->
28 * An implementation of the model object '<em><b>Model</b></em>'.
29 * <!-- end-user-doc -->
30 * <p>
31 * The following features are implemented:
32 * </p>
33 * <ul>
34 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.ModelImpl#getFilesystems <em>Filesystems</em>}</li>
35 * <li>{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl.ModelImpl#getOtherFSObjects <em>Other FS Objects</em>}</li>
36 * </ul>
37 *
38 * @generated
39 */
40public class ModelImpl extends MinimalEObjectImpl.Container implements Model {
41 /**
42 * The cached value of the '{@link #getFilesystems() <em>Filesystems</em>}' containment reference.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getFilesystems()
46 * @generated
47 * @ordered
48 */
49 protected FileSystem filesystems;
50
51 /**
52 * The cached value of the '{@link #getOtherFSObjects() <em>Other FS Objects</em>}' containment reference list.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #getOtherFSObjects()
56 * @generated
57 * @ordered
58 */
59 protected EList<FSObject> otherFSObjects;
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 protected ModelImpl() {
67 super();
68 }
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 @Override
76 protected EClass eStaticClass() {
77 return FilesystemPackage.Literals.MODEL;
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 public FileSystem getFilesystems() {
86 return filesystems;
87 }
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 public NotificationChain basicSetFilesystems(FileSystem newFilesystems, NotificationChain msgs) {
95 FileSystem oldFilesystems = filesystems;
96 filesystems = newFilesystems;
97 if (eNotificationRequired()) {
98 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FilesystemPackage.MODEL__FILESYSTEMS, oldFilesystems, newFilesystems);
99 if (msgs == null) msgs = notification; else msgs.add(notification);
100 }
101 return msgs;
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 public void setFilesystems(FileSystem newFilesystems) {
110 if (newFilesystems != filesystems) {
111 NotificationChain msgs = null;
112 if (filesystems != null)
113 msgs = ((InternalEObject)filesystems).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FilesystemPackage.MODEL__FILESYSTEMS, null, msgs);
114 if (newFilesystems != null)
115 msgs = ((InternalEObject)newFilesystems).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FilesystemPackage.MODEL__FILESYSTEMS, null, msgs);
116 msgs = basicSetFilesystems(newFilesystems, msgs);
117 if (msgs != null) msgs.dispatch();
118 }
119 else if (eNotificationRequired())
120 eNotify(new ENotificationImpl(this, Notification.SET, FilesystemPackage.MODEL__FILESYSTEMS, newFilesystems, newFilesystems));
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public EList<FSObject> getOtherFSObjects() {
129 if (otherFSObjects == null) {
130 otherFSObjects = new EObjectContainmentEList<FSObject>(FSObject.class, this, FilesystemPackage.MODEL__OTHER_FS_OBJECTS);
131 }
132 return otherFSObjects;
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 @Override
141 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
142 switch (featureID) {
143 case FilesystemPackage.MODEL__FILESYSTEMS:
144 return basicSetFilesystems(null, msgs);
145 case FilesystemPackage.MODEL__OTHER_FS_OBJECTS:
146 return ((InternalEList<?>)getOtherFSObjects()).basicRemove(otherEnd, msgs);
147 }
148 return super.eInverseRemove(otherEnd, featureID, msgs);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public Object eGet(int featureID, boolean resolve, boolean coreType) {
158 switch (featureID) {
159 case FilesystemPackage.MODEL__FILESYSTEMS:
160 return getFilesystems();
161 case FilesystemPackage.MODEL__OTHER_FS_OBJECTS:
162 return getOtherFSObjects();
163 }
164 return super.eGet(featureID, resolve, coreType);
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 @SuppressWarnings("unchecked")
173 @Override
174 public void eSet(int featureID, Object newValue) {
175 switch (featureID) {
176 case FilesystemPackage.MODEL__FILESYSTEMS:
177 setFilesystems((FileSystem)newValue);
178 return;
179 case FilesystemPackage.MODEL__OTHER_FS_OBJECTS:
180 getOtherFSObjects().clear();
181 getOtherFSObjects().addAll((Collection<? extends FSObject>)newValue);
182 return;
183 }
184 super.eSet(featureID, newValue);
185 }
186
187 /**
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @generated
191 */
192 @Override
193 public void eUnset(int featureID) {
194 switch (featureID) {
195 case FilesystemPackage.MODEL__FILESYSTEMS:
196 setFilesystems((FileSystem)null);
197 return;
198 case FilesystemPackage.MODEL__OTHER_FS_OBJECTS:
199 getOtherFSObjects().clear();
200 return;
201 }
202 super.eUnset(featureID);
203 }
204
205 /**
206 * <!-- begin-user-doc -->
207 * <!-- end-user-doc -->
208 * @generated
209 */
210 @Override
211 public boolean eIsSet(int featureID) {
212 switch (featureID) {
213 case FilesystemPackage.MODEL__FILESYSTEMS:
214 return filesystems != null;
215 case FilesystemPackage.MODEL__OTHER_FS_OBJECTS:
216 return otherFSObjects != null && !otherFSObjects.isEmpty();
217 }
218 return super.eIsSet(featureID);
219 }
220
221} //ModelImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/util/FilesystemAdapterFactory.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/util/FilesystemAdapterFactory.java
new file mode 100644
index 00000000..dc87e685
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/util/FilesystemAdapterFactory.java
@@ -0,0 +1,192 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.util;
4
5import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.*;
6
7import org.eclipse.emf.common.notify.Adapter;
8import org.eclipse.emf.common.notify.Notifier;
9
10import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
11
12import org.eclipse.emf.ecore.EObject;
13
14/**
15 * <!-- begin-user-doc -->
16 * The <b>Adapter Factory</b> for the model.
17 * It provides an adapter <code>createXXX</code> method for each class of the model.
18 * <!-- end-user-doc -->
19 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemPackage
20 * @generated
21 */
22public class FilesystemAdapterFactory extends AdapterFactoryImpl {
23 /**
24 * The cached model package.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @generated
28 */
29 protected static FilesystemPackage modelPackage;
30
31 /**
32 * Creates an instance of the adapter factory.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 public FilesystemAdapterFactory() {
38 if (modelPackage == null) {
39 modelPackage = FilesystemPackage.eINSTANCE;
40 }
41 }
42
43 /**
44 * Returns whether this factory is applicable for the type of the object.
45 * <!-- begin-user-doc -->
46 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
47 * <!-- end-user-doc -->
48 * @return whether this factory is applicable for the type of the object.
49 * @generated
50 */
51 @Override
52 public boolean isFactoryForType(Object object) {
53 if (object == modelPackage) {
54 return true;
55 }
56 if (object instanceof EObject) {
57 return ((EObject)object).eClass().getEPackage() == modelPackage;
58 }
59 return false;
60 }
61
62 /**
63 * The switch that delegates to the <code>createXXX</code> methods.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 protected FilesystemSwitch<Adapter> modelSwitch =
69 new FilesystemSwitch<Adapter>() {
70 @Override
71 public Adapter caseFileSystem(FileSystem object) {
72 return createFileSystemAdapter();
73 }
74 @Override
75 public Adapter caseFSObject(FSObject object) {
76 return createFSObjectAdapter();
77 }
78 @Override
79 public Adapter caseDir(Dir object) {
80 return createDirAdapter();
81 }
82 @Override
83 public Adapter caseFile(File object) {
84 return createFileAdapter();
85 }
86 @Override
87 public Adapter caseModel(Model object) {
88 return createModelAdapter();
89 }
90 @Override
91 public Adapter defaultCase(EObject object) {
92 return createEObjectAdapter();
93 }
94 };
95
96 /**
97 * Creates an adapter for the <code>target</code>.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @param target the object to adapt.
101 * @return the adapter for the <code>target</code>.
102 * @generated
103 */
104 @Override
105 public Adapter createAdapter(Notifier target) {
106 return modelSwitch.doSwitch((EObject)target);
107 }
108
109
110 /**
111 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FileSystem <em>File System</em>}'.
112 * <!-- begin-user-doc -->
113 * This default implementation returns null so that we can easily ignore cases;
114 * it's useful to ignore a case when inheritance will catch all the cases anyway.
115 * <!-- end-user-doc -->
116 * @return the new adapter.
117 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FileSystem
118 * @generated
119 */
120 public Adapter createFileSystemAdapter() {
121 return null;
122 }
123
124 /**
125 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FSObject <em>FS Object</em>}'.
126 * <!-- begin-user-doc -->
127 * This default implementation returns null so that we can easily ignore cases;
128 * it's useful to ignore a case when inheritance will catch all the cases anyway.
129 * <!-- end-user-doc -->
130 * @return the new adapter.
131 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FSObject
132 * @generated
133 */
134 public Adapter createFSObjectAdapter() {
135 return null;
136 }
137
138 /**
139 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.Dir <em>Dir</em>}'.
140 * <!-- begin-user-doc -->
141 * This default implementation returns null so that we can easily ignore cases;
142 * it's useful to ignore a case when inheritance will catch all the cases anyway.
143 * <!-- end-user-doc -->
144 * @return the new adapter.
145 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.Dir
146 * @generated
147 */
148 public Adapter createDirAdapter() {
149 return null;
150 }
151
152 /**
153 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.File <em>File</em>}'.
154 * <!-- begin-user-doc -->
155 * This default implementation returns null so that we can easily ignore cases;
156 * it's useful to ignore a case when inheritance will catch all the cases anyway.
157 * <!-- end-user-doc -->
158 * @return the new adapter.
159 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.File
160 * @generated
161 */
162 public Adapter createFileAdapter() {
163 return null;
164 }
165
166 /**
167 * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.Model <em>Model</em>}'.
168 * <!-- begin-user-doc -->
169 * This default implementation returns null so that we can easily ignore cases;
170 * it's useful to ignore a case when inheritance will catch all the cases anyway.
171 * <!-- end-user-doc -->
172 * @return the new adapter.
173 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.Model
174 * @generated
175 */
176 public Adapter createModelAdapter() {
177 return null;
178 }
179
180 /**
181 * Creates a new adapter for the default case.
182 * <!-- begin-user-doc -->
183 * This default implementation returns null.
184 * <!-- end-user-doc -->
185 * @return the new adapter.
186 * @generated
187 */
188 public Adapter createEObjectAdapter() {
189 return null;
190 }
191
192} //FilesystemAdapterFactory
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/util/FilesystemSwitch.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/util/FilesystemSwitch.java
new file mode 100644
index 00000000..ce2079c8
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/Filesystem/util/FilesystemSwitch.java
@@ -0,0 +1,196 @@
1/**
2 */
3package hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.util;
4
5import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.*;
6
7import org.eclipse.emf.ecore.EObject;
8import org.eclipse.emf.ecore.EPackage;
9
10import org.eclipse.emf.ecore.util.Switch;
11
12/**
13 * <!-- begin-user-doc -->
14 * The <b>Switch</b> for the model's inheritance hierarchy.
15 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
16 * to invoke the <code>caseXXX</code> method for each class of the model,
17 * starting with the actual class of the object
18 * and proceeding up the inheritance hierarchy
19 * until a non-null result is returned,
20 * which is the result of the switch.
21 * <!-- end-user-doc -->
22 * @see hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemPackage
23 * @generated
24 */
25public class FilesystemSwitch<T> extends Switch<T> {
26 /**
27 * The cached model package
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 protected static FilesystemPackage modelPackage;
33
34 /**
35 * Creates an instance of the switch.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @generated
39 */
40 public FilesystemSwitch() {
41 if (modelPackage == null) {
42 modelPackage = FilesystemPackage.eINSTANCE;
43 }
44 }
45
46 /**
47 * Checks whether this is a switch for the given package.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @param ePackage the package in question.
51 * @return whether this is a switch for the given package.
52 * @generated
53 */
54 @Override
55 protected boolean isSwitchFor(EPackage ePackage) {
56 return ePackage == modelPackage;
57 }
58
59 /**
60 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @return the first non-null result returned by a <code>caseXXX</code> call.
64 * @generated
65 */
66 @Override
67 protected T doSwitch(int classifierID, EObject theEObject) {
68 switch (classifierID) {
69 case FilesystemPackage.FILE_SYSTEM: {
70 FileSystem fileSystem = (FileSystem)theEObject;
71 T result = caseFileSystem(fileSystem);
72 if (result == null) result = defaultCase(theEObject);
73 return result;
74 }
75 case FilesystemPackage.FS_OBJECT: {
76 FSObject fsObject = (FSObject)theEObject;
77 T result = caseFSObject(fsObject);
78 if (result == null) result = defaultCase(theEObject);
79 return result;
80 }
81 case FilesystemPackage.DIR: {
82 Dir dir = (Dir)theEObject;
83 T result = caseDir(dir);
84 if (result == null) result = caseFSObject(dir);
85 if (result == null) result = defaultCase(theEObject);
86 return result;
87 }
88 case FilesystemPackage.FILE: {
89 File file = (File)theEObject;
90 T result = caseFile(file);
91 if (result == null) result = caseFSObject(file);
92 if (result == null) result = defaultCase(theEObject);
93 return result;
94 }
95 case FilesystemPackage.MODEL: {
96 Model model = (Model)theEObject;
97 T result = caseModel(model);
98 if (result == null) result = defaultCase(theEObject);
99 return result;
100 }
101 default: return defaultCase(theEObject);
102 }
103 }
104
105 /**
106 * Returns the result of interpreting the object as an instance of '<em>File System</em>'.
107 * <!-- begin-user-doc -->
108 * This implementation returns null;
109 * returning a non-null result will terminate the switch.
110 * <!-- end-user-doc -->
111 * @param object the target of the switch.
112 * @return the result of interpreting the object as an instance of '<em>File System</em>'.
113 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
114 * @generated
115 */
116 public T caseFileSystem(FileSystem object) {
117 return null;
118 }
119
120 /**
121 * Returns the result of interpreting the object as an instance of '<em>FS Object</em>'.
122 * <!-- begin-user-doc -->
123 * This implementation returns null;
124 * returning a non-null result will terminate the switch.
125 * <!-- end-user-doc -->
126 * @param object the target of the switch.
127 * @return the result of interpreting the object as an instance of '<em>FS Object</em>'.
128 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
129 * @generated
130 */
131 public T caseFSObject(FSObject object) {
132 return null;
133 }
134
135 /**
136 * Returns the result of interpreting the object as an instance of '<em>Dir</em>'.
137 * <!-- begin-user-doc -->
138 * This implementation returns null;
139 * returning a non-null result will terminate the switch.
140 * <!-- end-user-doc -->
141 * @param object the target of the switch.
142 * @return the result of interpreting the object as an instance of '<em>Dir</em>'.
143 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
144 * @generated
145 */
146 public T caseDir(Dir object) {
147 return null;
148 }
149
150 /**
151 * Returns the result of interpreting the object as an instance of '<em>File</em>'.
152 * <!-- begin-user-doc -->
153 * This implementation returns null;
154 * returning a non-null result will terminate the switch.
155 * <!-- end-user-doc -->
156 * @param object the target of the switch.
157 * @return the result of interpreting the object as an instance of '<em>File</em>'.
158 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
159 * @generated
160 */
161 public T caseFile(File object) {
162 return null;
163 }
164
165 /**
166 * Returns the result of interpreting the object as an instance of '<em>Model</em>'.
167 * <!-- begin-user-doc -->
168 * This implementation returns null;
169 * returning a non-null result will terminate the switch.
170 * <!-- end-user-doc -->
171 * @param object the target of the switch.
172 * @return the result of interpreting the object as an instance of '<em>Model</em>'.
173 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
174 * @generated
175 */
176 public T caseModel(Model object) {
177 return null;
178 }
179
180 /**
181 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
182 * <!-- begin-user-doc -->
183 * This implementation returns null;
184 * returning a non-null result will terminate the switch, but this is the last case anyway.
185 * <!-- end-user-doc -->
186 * @param object the target of the switch.
187 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
188 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
189 * @generated
190 */
191 @Override
192 public T defaultCase(EObject object) {
193 return null;
194 }
195
196} //FilesystemSwitch
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/initialModels/ecore.xmi b/Tests/hu.bme.mit.inf.dslreasoner.run/initialModels/ecore.xmi
new file mode 100644
index 00000000..867e5049
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.run/initialModels/ecore.xmi
@@ -0,0 +1,6 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<ecore:EPackage
3 xmi:version="2.0"
4 xmlns:xmi="http://www.omg.org/XMI"
5 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
6 name="init"/>
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/initialModels/fs.xmi b/Tests/hu.bme.mit.inf.dslreasoner.run/initialModels/fs.xmi
new file mode 100644
index 00000000..56879c1a
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.run/initialModels/fs.xmi
@@ -0,0 +1,3 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<FS:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns:FS="FS" xsi:schemaLocation="FS FileSytem.ecore"/>
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/FileSystemInconsistencyDetector.xtend b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/FileSystemInconsistencyDetector.xtend
new file mode 100644
index 00000000..e79a6261
--- /dev/null
+++ b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/FileSystemInconsistencyDetector.xtend
@@ -0,0 +1,53 @@
1package hu.bme.mit.inf.dslreasoner.run
2
3import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher
4import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
5import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ModelGenerationMethodBasedGlobalConstraint
6import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.ModelGenerationMethod
7import org.eclipse.viatra.dse.base.ThreadContext
8
9class FileSystemInconsistencyDetector extends ModelGenerationMethodBasedGlobalConstraint {
10 var PartialInterpretation partialInterpretation
11
12 //unfinishedLowerMultiplicity_root_reference_FileSystem
13 //unfinishedLowerMultiplicity_filesystems_reference_Model
14 var ViatraQueryMatcher<?> filesystem
15 var ViatraQueryMatcher<?> root
16
17 new(ModelGenerationMethod method) {
18 super(method)
19 }
20
21 override init(ThreadContext context) {
22 partialInterpretation = context.model as PartialInterpretation
23
24 try{
25 this.filesystem = method.allPatterns.filter[
26 it.fullyQualifiedName.equals("unfinishedLowerMultiplicity_root_reference_FileSystem")
27 ].head.getMatcher(context.queryEngine)
28
29 this.root = method.allPatterns.filter[
30 it.fullyQualifiedName.equals("unfinishedLowerMultiplicity_filesystems_reference_Model")
31 ].head.getMatcher(context.queryEngine)
32
33 } catch(Exception e) { }
34 }
35
36 override checkGlobalConstraint(ThreadContext context) {
37 var requiredNewObjects =
38 filesystem.countMatches*2 +
39 root.countMatches
40 val availableNewObjects = partialInterpretation.maxNewElements
41 val res = availableNewObjects >= requiredNewObjects
42 //println('''[«availableNewObjects» >= «requiredNewObjects»] = «res»''')
43 return res
44 }
45
46 override createNew() {
47 return new FileSystemInconsistencyDetector(this.method)
48 }
49
50 override getName() {
51 this.class.simpleName
52 }
53}