aboutsummaryrefslogtreecommitdiffstats
path: root/Metrics
diff options
context:
space:
mode:
authorLibravatar 20001LastOrder <boqi.chen@mail.mcgill.ca>2020-11-04 01:33:58 -0500
committerLibravatar 20001LastOrder <boqi.chen@mail.mcgill.ca>2020-11-04 01:33:58 -0500
commita20af4d0dbf5eab84ee271d426528aabb5a8ac3b (patch)
treea9ab772ee313125aaf3a941d66e131b408d949ba /Metrics
parentchanges in settings of measurements (diff)
parentmerge with current master, comment numerical solver related logging (diff)
downloadVIATRA-Generator-a20af4d0dbf5eab84ee271d426528aabb5a8ac3b.tar.gz
VIATRA-Generator-a20af4d0dbf5eab84ee271d426528aabb5a8ac3b.tar.zst
VIATRA-Generator-a20af4d0dbf5eab84ee271d426528aabb5a8ac3b.zip
fix merging issue
Diffstat (limited to 'Metrics')
-rw-r--r--Metrics/Metrics-Calculation/.project11
-rw-r--r--Metrics/Metrics-Calculation/SocialNetwork_plugin/META-INF/MANIFEST.MF4
-rw-r--r--Metrics/Metrics-Calculation/SocialNetwork_plugin/Measurement_Runner_yakindu.launch17
-rw-r--r--Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/.gitignore2
-rw-r--r--Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/ca/mcgill/ecse/socialnetwork/plugin/.gitignore10
-rw-r--r--Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/ca/mcgill/ecse/socialnetwork/plugin/Queries.vql54
-rw-r--r--Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/queries/.gitignore9
-rw-r--r--Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/queries/Ecore.vql33
-rw-r--r--Metrics/Metrics-Calculation/SocialNetwork_plugin/debug/errors.txt27
-rw-r--r--Metrics/Metrics-Calculation/SocialNetwork_plugin/ecore.vsconfig7
-rw-r--r--Metrics/Metrics-Calculation/SocialNetwork_plugin/github.vsconfig333
-rw-r--r--Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/DirectSupertype.java21
-rw-r--r--Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/LoopInInheritence.java18
-rw-r--r--Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/NonSymmetricOpposite.java21
-rw-r--r--Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/Opposite.java21
-rw-r--r--Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/OppositeDifferentClass.java18
-rw-r--r--Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/SuperTypes.java21
-rw-r--r--Metrics/Metrics-Calculation/SocialNetwork_plugin/src/ca/mcgill/ecse/socialnetwork/runner/Main.java168
-rw-r--r--Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Ecore/warmup.csv8
-rw-r--r--Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/140.csv42
-rw-r--r--Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/warmup.csv8
-rw-r--r--Metrics/Metrics-Calculation/SocialNetwork_plugin/yakinduGeneration.vsconfig135
-rw-r--r--Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/META-INF/MANIFEST.MF5
23 files changed, 594 insertions, 399 deletions
diff --git a/Metrics/Metrics-Calculation/.project b/Metrics/Metrics-Calculation/.project
new file mode 100644
index 00000000..8cdd9483
--- /dev/null
+++ b/Metrics/Metrics-Calculation/.project
@@ -0,0 +1,11 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>Metrics-Calculation</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 </buildSpec>
9 <natures>
10 </natures>
11</projectDescription>
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/META-INF/MANIFEST.MF b/Metrics/Metrics-Calculation/SocialNetwork_plugin/META-INF/MANIFEST.MF
index 6317c9fb..833b6fd8 100644
--- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/META-INF/MANIFEST.MF
+++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/META-INF/MANIFEST.MF
@@ -25,8 +25,8 @@ Require-Bundle: org.eclipse.viatra.query.runtime.rete,
25 org.junit;bundle-version="4.12.0", 25 org.junit;bundle-version="4.12.0",
26 org.eclipse.collections;bundle-version="9.2.0", 26 org.eclipse.collections;bundle-version="9.2.0",
27 hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph;bundle-version="1.0.0", 27 hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph;bundle-version="1.0.0",
28 hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.validation;bundle-version="0.0.1", 28 ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator;bundle-version="1.0.0",
29 ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator;bundle-version="1.0.0" 29 hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.validation;bundle-version="0.0.1"
30Bundle-RequiredExecutionEnvironment: JavaSE-1.8 30Bundle-RequiredExecutionEnvironment: JavaSE-1.8
31Bundle-ActivationPolicy: lazy 31Bundle-ActivationPolicy: lazy
32Main-Class: ca.mcgill.ecse.socialnetwork.runner.Main 32Main-Class: ca.mcgill.ecse.socialnetwork.runner.Main
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/Measurement_Runner_yakindu.launch b/Metrics/Metrics-Calculation/SocialNetwork_plugin/Measurement_Runner_yakindu.launch
new file mode 100644
index 00000000..c9301097
--- /dev/null
+++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/Measurement_Runner_yakindu.launch
@@ -0,0 +1,17 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
3<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
4<listEntry value="/SocialNetwork_plugin/src/ca/mcgill/ecse/socialnetwork/runner/Main.java"/>
5</listAttribute>
6<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
7<listEntry value="1"/>
8</listAttribute>
9<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.launching.sourceLocator.JavaAdvancedSourceLookupDirector"/>
10<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;sourceLookupDirector&gt;&#13;&#10;&lt;sourceContainers duplicates=&quot;false&quot;&gt;&#13;&#10;&lt;container memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;javaProject name=&amp;quot;hu.bme.mit.inf.dslreasoner.viatra2logic&amp;quot;/&amp;gt;&amp;#13;&amp;#10;&quot; typeId=&quot;org.eclipse.jdt.launching.sourceContainer.javaProject&quot;/&gt;&#13;&#10;&lt;container memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;javaProject name=&amp;quot;ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator&amp;quot;/&amp;gt;&amp;#13;&amp;#10;&quot; typeId=&quot;org.eclipse.jdt.launching.sourceContainer.javaProject&quot;/&gt;&#13;&#10;&lt;container memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;directory nest=&amp;quot;false&amp;quot; path=&amp;quot;C:\Users\chenp\eclipse-workspace\VIATRA-Generator\Solvers\VIATRA-Solver\hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra\src\hu\bme\mit\inf\dslreasoner\viatrasolver&amp;quot;/&amp;gt;&amp;#13;&amp;#10;&quot; typeId=&quot;org.eclipse.debug.core.containerType.directory&quot;/&gt;&#13;&#10;&lt;container memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;directory nest=&amp;quot;false&amp;quot; path=&amp;quot;C:\Users\chenp\eclipse-workspace\VIATRA-Generator\Solvers\VIATRA-Solver\hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra\src\hu\bme\mit\inf\dslreasoner\viatrasolver\logic2viatra&amp;quot;/&amp;gt;&amp;#13;&amp;#10;&quot; typeId=&quot;org.eclipse.debug.core.containerType.directory&quot;/&gt;&#13;&#10;&lt;container memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;directory nest=&amp;quot;false&amp;quot; path=&amp;quot;C:\Users\chenp\eclipse-workspace\VIATRA-Generator\Solvers\VIATRA-Solver\hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra\src\hu\bme\mit\inf\dslreasoner\viatrasolver\logic2viatra\rules&amp;quot;/&amp;gt;&amp;#13;&amp;#10;&quot; typeId=&quot;org.eclipse.debug.core.containerType.directory&quot;/&gt;&#13;&#10;&lt;container memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;default/&amp;gt;&amp;#13;&amp;#10;&quot; typeId=&quot;org.eclipse.debug.core.containerType.default&quot;/&gt;&#13;&#10;&lt;/sourceContainers&gt;&#13;&#10;&lt;/sourceLookupDirector&gt;&#13;&#10;"/>
11<booleanAttribute key="org.eclipse.jdt.launching.ATTR_EXCLUDE_TEST_CODE" value="true"/>
12<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="ca.mcgill.ecse.socialnetwork.runner.Main"/>
13<stringAttribute key="org.eclipse.jdt.launching.MODULE_NAME" value="SocialNetwork_plugin"/>
14<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="yakinduGeneration.vsconfig"/>
15<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="SocialNetwork_plugin"/>
16<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx8G&#13;&#10;-Djava.library.path=&quot;D:\Program Files\z3-4.8.8-x64-win\z3-4.8.8-x64-win\bin&quot;"/>
17</launchConfiguration>
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/.gitignore b/Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/.gitignore
deleted file mode 100644
index 25056e9e..00000000
--- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
1/ca/
2/queries/
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/ca/mcgill/ecse/socialnetwork/plugin/.gitignore b/Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/ca/mcgill/ecse/socialnetwork/plugin/.gitignore
new file mode 100644
index 00000000..f2558cf5
--- /dev/null
+++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/ca/mcgill/ecse/socialnetwork/plugin/.gitignore
@@ -0,0 +1,10 @@
1/.Friendship.java._trace
2/.NoFriend.java._trace
3/.Queries.java._trace
4/.SelfFriend.java._trace
5/.SingleFriendship.java._trace
6/Friendship.java
7/NoFriend.java
8/Queries.java
9/SelfFriend.java
10/SingleFriendship.java
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/ca/mcgill/ecse/socialnetwork/plugin/Queries.vql b/Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/ca/mcgill/ecse/socialnetwork/plugin/Queries.vql
new file mode 100644
index 00000000..3e7fc68c
--- /dev/null
+++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/ca/mcgill/ecse/socialnetwork/plugin/Queries.vql
@@ -0,0 +1,54 @@
1package ca.mcgill.ecse.socialnetwork.plugin
2
3import epackage "http://ecse.mcgill.ca/socialnetwork"
4
5//@Constraint(message="terminatorAndInformation", severity="error", key={T})
6//pattern terminatorAndInformation(T : FAMTerminator, I : InformationLink) = {
7// FunctionalOutput.outgoingLinks(Out,I);
8// FunctionalOutput.terminator(Out,T);
9//} or {
10// InformationLink.to(I,In);
11// FunctionalInput.terminator(In,T);
12//}
13
14@Constraint(message="singleFriendship", severity="error", key={p1})
15pattern singleFriendship(p1: Person) {
16 find friendship(p1, p);
17 neg find friendship(p, p1);
18}
19
20//@Constraint(message="cycle", severity="error", key={p})
21//pattern cycleInParenthood(p: Person) {
22// find isAncestor(p, p);
23//}
24
25@Constraint(message="noFriend", severity="error", key={p})
26pattern noFriend(p: Person){
27 neg find friendship(p, _);
28}
29
30//@Constraint(message="brothhoodParent", severity="error", key={p1,p2})
31//pattern brothhoodParent(p1: Person, p2: Person){
32// Person.parents(p1, parent1);
33// Person.parents(p2, parent2);
34// parent1 == parent2;
35// find isAncestor(p1, p2);
36//}
37@Constraint(message="selfFriend", severity="error", key={p})
38pattern selfFriend(p: Person){
39 Person.friends(p,p);
40}
41
42pattern friendship(p1: Person, p2: Person){
43 Person.friends(p1,p2);
44}
45
46//pattern isAncestor(person : Person, ancestor : Person){
47// Person.parents(person, ancestor);
48//} or {
49// Person.parents(person, parent);
50// find isAncestor(parent, ancestor);
51//}
52
53
54
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/queries/.gitignore b/Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/queries/.gitignore
new file mode 100644
index 00000000..e9d711d4
--- /dev/null
+++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/queries/.gitignore
@@ -0,0 +1,9 @@
1/.Ecore_pattern.java._trace
2/.MoreThenFiveSuperTypes.java._trace
3/.DirectSupertype.java._trace
4/.Ecore.java._trace
5/.LoopInInheritence.java._trace
6/.NonSymmetricOpposite.java._trace
7/.Opposite.java._trace
8/.OppositeDifferentClass.java._trace
9/.SuperTypes.java._trace
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/queries/Ecore.vql b/Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/queries/Ecore.vql
new file mode 100644
index 00000000..9ddb64c9
--- /dev/null
+++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/bin/queries/Ecore.vql
@@ -0,0 +1,33 @@
1package queries
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}
30
31pattern superTypes(c1:EClass, c2:EClass){
32 EClass.eSuperTypes(c1,c2);
33}
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/debug/errors.txt b/Metrics/Metrics-Calculation/SocialNetwork_plugin/debug/errors.txt
index 27d00bd9..cbbf6c0f 100644
--- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/debug/errors.txt
+++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/debug/errors.txt
@@ -1,13 +1,14 @@
1Error occured (DiagnosticWrappedException): java.io.FileNotFoundException: C:\Users\chenp\eclipse-workspace\VIATRA-Generator\Metrics\Metrics-Calculation\SocialNetwork_plugin\inputs\github.xmi (The system cannot find the file specified) 1Error occured (NullPointerException):
2 org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.handleDemandLoadException(ResourceSetImpl.java:319) 2 hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasoner.lambda$23(ViatraReasoner.java:447)
3 org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:278) 3 org.eclipse.xtext.xbase.lib.ObjectExtensions.operator_doubleArrow(ObjectExtensions.java:140)
4 org.eclipse.xtext.resource.XtextResourceSet.getResource(XtextResourceSet.java:265) 4 hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasoner.lambda$1(ViatraReasoner.java:451)
5 org.eclipse.xtext.resource.SynchronizedXtextResourceSet.getResource(SynchronizedXtextResourceSet.java:25) 5 org.eclipse.xtext.xbase.lib.ObjectExtensions.operator_doubleArrow(ObjectExtensions.java:140)
6 hu.bme.mit.inf.dslreasoner.application.execution.ModelLoader.loadModel(ModelLoader.java:41) 6 hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasoner.solve(ViatraReasoner.java:531)
7 hu.bme.mit.inf.dslreasoner.application.execution.GenerationTaskExecutor.executeGenerationTask(GenerationTaskExecutor.java:174) 7 hu.bme.mit.inf.dslreasoner.application.execution.GenerationTaskExecutor.executeGenerationTask(GenerationTaskExecutor.java:329)
8 hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor._execute(ScriptExecutor.java:137) 8 hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor._execute(ScriptExecutor.java:141)
9 hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor.execute(ScriptExecutor.java:346) 9 hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor.execute(ScriptExecutor.java:382)
10 hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor.executeScript(ScriptExecutor.java:115) 10 hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor.executeScript(ScriptExecutor.java:122)
11 hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor.executeScript(StandaloneScriptExecutor.java:149) 11 hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor.executeScript(StandaloneScriptExecutor.java:155)
12 ca.mcgill.ecse.socialnetwork.runner.Main.runWithPath(Main.java:25) 12 hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor.executeScript(StandaloneScriptExecutor.java:147)
13 ca.mcgill.ecse.socialnetwork.runner.Main.main(Main.java:38) 13 ca.mcgill.ecse.socialnetwork.runner.Main.runWithPath(Main.java:24)
14 ca.mcgill.ecse.socialnetwork.runner.Main.main(Main.java:40)
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/ecore.vsconfig b/Metrics/Metrics-Calculation/SocialNetwork_plugin/ecore.vsconfig
index e63095e1..9d3dd0e9 100644
--- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/ecore.vsconfig
+++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/ecore.vsconfig
@@ -30,18 +30,19 @@ generate {
30 30
31 //median run time 31 //median run time
32 scope = { 32 scope = {
33 #node = 10 // (warm-up: 10) 30, 50, 80, 100, 120 .... 33 #node = 30 // (warm-up: 10) 30, 50, 80, 100, 120 ....
34 } 34 }
35 35
36 number = 1 36 number = 1
37 runs = 5 37 runs = 1
38 config = { 38 config = {
39 log-level = none, 39 log-level = none,
40 runtime = 300, // the runtime is in seconds, want to set is to 5 mins 40 runtime = 300, // the runtime is in seconds, want to set is to 5 mins
41 "optional-wf" = "false", 41 "optional-wf" = "false",
42 "realistic-guidance" = "Composite", 42 "realistic-guidance" = "Composite",
43 "allow-must-violations" = "false", 43 "allow-must-violations" = "false",
44 "domain" = "Ecore" 44 "domain" = "Ecore",
45 "scopePropagator" = "typeHierarchy"
45 } 46 }
46 47
47 debug = "debug" 48 debug = "debug"
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/github.vsconfig b/Metrics/Metrics-Calculation/SocialNetwork_plugin/github.vsconfig
index 1e1ee05a..e9f9a8d5 100644
--- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/github.vsconfig
+++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/github.vsconfig
@@ -12,7 +12,7 @@ generate {
12 solver = ViatraSolver 12 solver = ViatraSolver
13 13
14 scope = { 14 scope = {
15 #node = 10 15 #node = 30
16 } 16 }
17 17
18 number = 1 18 number = 1
@@ -20,10 +20,11 @@ generate {
20 config = { 20 config = {
21 log-level = none, 21 log-level = none,
22 runtime = 300, 22 runtime = 300,
23 "optional-wf" = "true", 23 "optional-wf" = "false",
24 "realistic-guidance" = "Composite", 24 "realistic-guidance" = "Composite",
25 "allow-must-violations" = "true", 25 "allow-must-violations" = "false",
26 "domain" = "Github" 26 "domain" = "Github",
27 "scopePropagator" = "typeHierarchy"
27 } 28 }
28 29
29 debug = "debug" 30 debug = "debug"
@@ -31,182 +32,182 @@ generate {
31 output = "output/Github/Composite" 32 output = "output/Github/Composite"
32} 33}
33 34
34generate { 35// generate {
35 metamodel = {package github excluding{ Project.creatd_at, Project.updated_at, Project.url, User.name, User.url, 36// metamodel = {package github excluding{ Project.creatd_at, Project.updated_at, Project.url, User.name, User.url,
36 Commit.created_at, Commit.sha, Commit.parents_sha, Issue.created_at, Issue.url, PullRequest.url, IssueEvent.created_at, 37// Commit.created_at, Commit.sha, Commit.parents_sha, Issue.created_at, Issue.url, PullRequest.url, IssueEvent.created_at,
37 IssueEvent.actor_url, Action, IssueEvent.action, Project.deleted}} 38// IssueEvent.actor_url, Action, IssueEvent.action, Project.deleted}}
38 partial-model = { "inputs/github.xmi"} 39// partial-model = { "inputs/github.xmi"}
39 constraints = { package queries } 40// constraints = { package queries }
40 41
41 42
42 solver = ViatraSolver 43// solver = ViatraSolver
43 44
44 scope = { 45// scope = {
45 #node = 30 46// #node = 30
46 } 47// }
47 48
48 number = 1 49// number = 1
49 runs = 20 50// runs = 20
50 config = { 51// config = {
51 log-level = none, 52// log-level = none,
52 runtime = 300, 53// runtime = 300,
53 "optional-wf" = "true", 54// "optional-wf" = "true",
54 "realistic-guidance" = "Composite", 55// "realistic-guidance" = "Composite",
55 "allow-must-violations" = "true", 56// "allow-must-violations" = "true",
56 "domain" = "Github" 57// "domain" = "Github"
57 } 58// }
58 59
59 debug = "debug" 60// debug = "debug"
60 statistics = "statistics/Github/30.csv" 61// statistics = "statistics/Github/30.csv"
61 output = "output/Github/Composite" 62// output = "output/Github/Composite"
62} 63// }
63 64
64generate { 65// generate {
65 metamodel = {package github excluding{ Project.creatd_at, Project.updated_at, Project.url, User.name, User.url, 66// metamodel = {package github excluding{ Project.creatd_at, Project.updated_at, Project.url, User.name, User.url,
66 Commit.created_at, Commit.sha, Commit.parents_sha, Issue.created_at, Issue.url, PullRequest.url, IssueEvent.created_at, 67// Commit.created_at, Commit.sha, Commit.parents_sha, Issue.created_at, Issue.url, PullRequest.url, IssueEvent.created_at,
67 IssueEvent.actor_url, Action, IssueEvent.action, Project.deleted}} 68// IssueEvent.actor_url, Action, IssueEvent.action, Project.deleted}}
68 partial-model = { "inputs/github.xmi"} 69// partial-model = { "inputs/github.xmi"}
69 constraints = { package queries } 70// constraints = { package queries }
70 71
71 72
72 solver = ViatraSolver 73// solver = ViatraSolver
73 74
74 scope = { 75// scope = {
75 #node = 50 76// #node = 50
76 } 77// }
77 78
78 number = 1 79// number = 1
79 runs = 20 80// runs = 20
80 config = { 81// config = {
81 log-level = none, 82// log-level = none,
82 runtime = 300, 83// runtime = 300,
83 "optional-wf" = "true", 84// "optional-wf" = "true",
84 "realistic-guidance" = "Composite", 85// "realistic-guidance" = "Composite",
85 "allow-must-violations" = "true", 86// "allow-must-violations" = "true",
86 "domain" = "Github" 87// "domain" = "Github"
87 } 88// }
88 89
89 debug = "debug" 90// debug = "debug"
90 statistics = "statistics/Github/50.csv" 91// statistics = "statistics/Github/50.csv"
91 output = "output/Github/Composite" 92// output = "output/Github/Composite"
92} 93// }
93 94
94generate { 95// generate {
95 metamodel = {package github excluding{ Project.creatd_at, Project.updated_at, Project.url, User.name, User.url, 96// metamodel = {package github excluding{ Project.creatd_at, Project.updated_at, Project.url, User.name, User.url,
96 Commit.created_at, Commit.sha, Commit.parents_sha, Issue.created_at, Issue.url, PullRequest.url, IssueEvent.created_at, 97// Commit.created_at, Commit.sha, Commit.parents_sha, Issue.created_at, Issue.url, PullRequest.url, IssueEvent.created_at,
97 IssueEvent.actor_url, Action, IssueEvent.action, Project.deleted}} 98// IssueEvent.actor_url, Action, IssueEvent.action, Project.deleted}}
98 partial-model = { "inputs/github.xmi"} 99// partial-model = { "inputs/github.xmi"}
99 constraints = { package queries } 100// constraints = { package queries }
100 101
101 102
102 solver = ViatraSolver 103// solver = ViatraSolver
103 104
104 scope = { 105// scope = {
105 #node = 80 106// #node = 80
106 } 107// }
107 108
108 number = 1 109// number = 1
109 runs = 20 110// runs = 20
110 config = { 111// config = {
111 log-level = none, 112// log-level = none,
112 runtime = 300, 113// runtime = 300,
113 "optional-wf" = "true", 114// "optional-wf" = "true",
114 "realistic-guidance" = "Composite", 115// "realistic-guidance" = "Composite",
115 "allow-must-violations" = "true", 116// "allow-must-violations" = "true",
116 "domain" = "Github" 117// "domain" = "Github"
117 } 118// }
118 119
119 debug = "debug" 120// debug = "debug"
120 statistics = "statistics/Github/80.csv" 121// statistics = "statistics/Github/80.csv"
121 output = "output/Github/Composite" 122// output = "output/Github/Composite"
122} 123// }
123 124
124generate { 125// generate {
125 metamodel = {package github excluding{ Project.creatd_at, Project.updated_at, Project.url, User.name, User.url, 126// metamodel = {package github excluding{ Project.creatd_at, Project.updated_at, Project.url, User.name, User.url,
126 Commit.created_at, Commit.sha, Commit.parents_sha, Issue.created_at, Issue.url, PullRequest.url, IssueEvent.created_at, 127// Commit.created_at, Commit.sha, Commit.parents_sha, Issue.created_at, Issue.url, PullRequest.url, IssueEvent.created_at,
127 IssueEvent.actor_url, Action, IssueEvent.action, Project.deleted}} 128// IssueEvent.actor_url, Action, IssueEvent.action, Project.deleted}}
128 partial-model = { "inputs/github.xmi"} 129// partial-model = { "inputs/github.xmi"}
129 constraints = { package queries } 130// constraints = { package queries }
130 131
131 132
132 solver = ViatraSolver 133// solver = ViatraSolver
133 134
134 scope = { 135// scope = {
135 #node = 100 136// #node = 100
136 } 137// }
137 138
138 number = 1 139// number = 1
139 runs = 20 140// runs = 20
140 config = { 141// config = {
141 log-level = none, 142// log-level = none,
142 runtime = 300, 143// runtime = 300,
143 "optional-wf" = "true", 144// "optional-wf" = "true",
144 "realistic-guidance" = "Composite", 145// "realistic-guidance" = "Composite",
145 "allow-must-violations" = "true", 146// "allow-must-violations" = "true",
146 "domain" = "Github" 147// "domain" = "Github"
147 } 148// }
148 149
149 debug = "debug" 150// debug = "debug"
150 statistics = "statistics/Github/100.csv" 151// statistics = "statistics/Github/100.csv"
151 output = "output/Github/Composite" 152// output = "output/Github/Composite"
152} 153// }
153 154
154generate { 155// generate {
155 metamodel = {package github excluding{ Project.creatd_at, Project.updated_at, Project.url, User.name, User.url, 156// metamodel = {package github excluding{ Project.creatd_at, Project.updated_at, Project.url, User.name, User.url,
156 Commit.created_at, Commit.sha, Commit.parents_sha, Issue.created_at, Issue.url, PullRequest.url, IssueEvent.created_at, 157// Commit.created_at, Commit.sha, Commit.parents_sha, Issue.created_at, Issue.url, PullRequest.url, IssueEvent.created_at,
157 IssueEvent.actor_url, Action, IssueEvent.action, Project.deleted}} 158// IssueEvent.actor_url, Action, IssueEvent.action, Project.deleted}}
158 partial-model = { "inputs/github.xmi"} 159// partial-model = { "inputs/github.xmi"}
159 constraints = { package queries } 160// constraints = { package queries }
160 161
161 162
162 solver = ViatraSolver 163// solver = ViatraSolver
163 164
164 scope = { 165// scope = {
165 #node = 120 166// #node = 120
166 } 167// }
167 168
168 number = 1 169// number = 1
169 runs = 20 170// runs = 20
170 config = { 171// config = {
171 log-level = none, 172// log-level = none,
172 runtime = 300, 173// runtime = 300,
173 "optional-wf" = "true", 174// "optional-wf" = "true",
174 "realistic-guidance" = "Composite", 175// "realistic-guidance" = "Composite",
175 "allow-must-violations" = "true", 176// "allow-must-violations" = "true",
176 "domain" = "Github" 177// "domain" = "Github"
177 } 178// }
178 179
179 debug = "debug" 180// debug = "debug"
180 statistics = "statistics/Github/120.csv" 181// statistics = "statistics/Github/120.csv"
181 output = "output/Github/Composite" 182// output = "output/Github/Composite"
182} 183// }
183 184
184generate { 185// generate {
185 metamodel = {package github excluding{ Project.creatd_at, Project.updated_at, Project.url, User.name, User.url, 186// metamodel = {package github excluding{ Project.creatd_at, Project.updated_at, Project.url, User.name, User.url,
186 Commit.created_at, Commit.sha, Commit.parents_sha, Issue.created_at, Issue.url, PullRequest.url, IssueEvent.created_at, 187// Commit.created_at, Commit.sha, Commit.parents_sha, Issue.created_at, Issue.url, PullRequest.url, IssueEvent.created_at,
187 IssueEvent.actor_url, Action, IssueEvent.action, Project.deleted}} 188// IssueEvent.actor_url, Action, IssueEvent.action, Project.deleted}}
188 partial-model = { "inputs/github.xmi"} 189// partial-model = { "inputs/github.xmi"}
189 constraints = { package queries } 190// constraints = { package queries }
190 191
191 192
192 solver = ViatraSolver 193// solver = ViatraSolver
193 194
194 scope = { 195// scope = {
195 #node = 140 196// #node = 140
196 } 197// }
197 198
198 number = 1 199// number = 1
199 runs = 20 200// runs = 20
200 config = { 201// config = {
201 log-level = none, 202// log-level = none,
202 runtime = 300, 203// runtime = 300,
203 "optional-wf" = "true", 204// "optional-wf" = "true",
204 "realistic-guidance" = "Composite", 205// "realistic-guidance" = "Composite",
205 "allow-must-violations" = "true", 206// "allow-must-violations" = "true",
206 "domain" = "Github" 207// "domain" = "Github"
207 } 208// }
208 209
209 debug = "debug" 210// debug = "debug"
210 statistics = "statistics/Github/140.csv" 211// statistics = "statistics/Github/140.csv"
211 output = "output/Github/Composite" 212// output = "output/Github/Composite"
212} \ No newline at end of file 213// } \ No newline at end of file
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/DirectSupertype.java b/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/DirectSupertype.java
index 003dbe3f..a557d865 100644
--- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/DirectSupertype.java
+++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/DirectSupertype.java
@@ -79,9 +79,20 @@ public final class DirectSupertype extends BaseGeneratedEMFQuerySpecification<Di
79 79
80 @Override 80 @Override
81 public Object get(final String parameterName) { 81 public Object get(final String parameterName) {
82 if ("a".equals(parameterName)) return this.fA; 82 switch(parameterName) {
83 if ("b".equals(parameterName)) return this.fB; 83 case "a": return this.fA;
84 return null; 84 case "b": return this.fB;
85 default: return null;
86 }
87 }
88
89 @Override
90 public Object get(final int index) {
91 switch(index) {
92 case 0: return this.fA;
93 case 1: return this.fB;
94 default: return null;
95 }
85 } 96 }
86 97
87 public EClass getA() { 98 public EClass getA() {
@@ -611,9 +622,9 @@ public final class DirectSupertype extends BaseGeneratedEMFQuerySpecification<Di
611 } 622 }
612 623
613 /** 624 /**
614 * Inner class allowing the singleton instance of {@link JvmGenericType: queries.DirectSupertype (visibility: PUBLIC, simpleName: DirectSupertype, identifier: queries.DirectSupertype, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created 625 * Inner class allowing the singleton instance of {@link DirectSupertype} to be created
615 * <b>not</b> at the class load time of the outer class, 626 * <b>not</b> at the class load time of the outer class,
616 * but rather at the first call to {@link JvmGenericType: queries.DirectSupertype (visibility: PUBLIC, simpleName: DirectSupertype, identifier: queries.DirectSupertype, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. 627 * but rather at the first call to {@link DirectSupertype#instance()}.
617 * 628 *
618 * <p> This workaround is required e.g. to support recursion. 629 * <p> This workaround is required e.g. to support recursion.
619 * 630 *
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/LoopInInheritence.java b/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/LoopInInheritence.java
index 18ef65f0..5212e3d2 100644
--- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/LoopInInheritence.java
+++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/LoopInInheritence.java
@@ -79,8 +79,18 @@ public final class LoopInInheritence extends BaseGeneratedEMFQuerySpecification<
79 79
80 @Override 80 @Override
81 public Object get(final String parameterName) { 81 public Object get(final String parameterName) {
82 if ("a".equals(parameterName)) return this.fA; 82 switch(parameterName) {
83 return null; 83 case "a": return this.fA;
84 default: return null;
85 }
86 }
87
88 @Override
89 public Object get(final int index) {
90 switch(index) {
91 case 0: return this.fA;
92 default: return null;
93 }
84 } 94 }
85 95
86 public EClass getA() { 96 public EClass getA() {
@@ -467,9 +477,9 @@ public final class LoopInInheritence extends BaseGeneratedEMFQuerySpecification<
467 } 477 }
468 478
469 /** 479 /**
470 * Inner class allowing the singleton instance of {@link JvmGenericType: queries.LoopInInheritence (visibility: PUBLIC, simpleName: LoopInInheritence, identifier: queries.LoopInInheritence, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created 480 * Inner class allowing the singleton instance of {@link LoopInInheritence} to be created
471 * <b>not</b> at the class load time of the outer class, 481 * <b>not</b> at the class load time of the outer class,
472 * but rather at the first call to {@link JvmGenericType: queries.LoopInInheritence (visibility: PUBLIC, simpleName: LoopInInheritence, identifier: queries.LoopInInheritence, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. 482 * but rather at the first call to {@link LoopInInheritence#instance()}.
473 * 483 *
474 * <p> This workaround is required e.g. to support recursion. 484 * <p> This workaround is required e.g. to support recursion.
475 * 485 *
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/NonSymmetricOpposite.java b/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/NonSymmetricOpposite.java
index cecbe2d8..c98014f5 100644
--- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/NonSymmetricOpposite.java
+++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/NonSymmetricOpposite.java
@@ -85,9 +85,20 @@ public final class NonSymmetricOpposite extends BaseGeneratedEMFQuerySpecificati
85 85
86 @Override 86 @Override
87 public Object get(final String parameterName) { 87 public Object get(final String parameterName) {
88 if ("a".equals(parameterName)) return this.fA; 88 switch(parameterName) {
89 if ("b".equals(parameterName)) return this.fB; 89 case "a": return this.fA;
90 return null; 90 case "b": return this.fB;
91 default: return null;
92 }
93 }
94
95 @Override
96 public Object get(final int index) {
97 switch(index) {
98 case 0: return this.fA;
99 case 1: return this.fB;
100 default: return null;
101 }
91 } 102 }
92 103
93 public EReference getA() { 104 public EReference getA() {
@@ -619,9 +630,9 @@ public final class NonSymmetricOpposite extends BaseGeneratedEMFQuerySpecificati
619 } 630 }
620 631
621 /** 632 /**
622 * Inner class allowing the singleton instance of {@link JvmGenericType: queries.NonSymmetricOpposite (visibility: PUBLIC, simpleName: NonSymmetricOpposite, identifier: queries.NonSymmetricOpposite, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created 633 * Inner class allowing the singleton instance of {@link NonSymmetricOpposite} to be created
623 * <b>not</b> at the class load time of the outer class, 634 * <b>not</b> at the class load time of the outer class,
624 * but rather at the first call to {@link JvmGenericType: queries.NonSymmetricOpposite (visibility: PUBLIC, simpleName: NonSymmetricOpposite, identifier: queries.NonSymmetricOpposite, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. 635 * but rather at the first call to {@link NonSymmetricOpposite#instance()}.
625 * 636 *
626 * <p> This workaround is required e.g. to support recursion. 637 * <p> This workaround is required e.g. to support recursion.
627 * 638 *
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/Opposite.java b/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/Opposite.java
index 8c501b8e..ab808e10 100644
--- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/Opposite.java
+++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/Opposite.java
@@ -80,9 +80,20 @@ public final class Opposite extends BaseGeneratedEMFQuerySpecification<Opposite.
80 80
81 @Override 81 @Override
82 public Object get(final String parameterName) { 82 public Object get(final String parameterName) {
83 if ("a".equals(parameterName)) return this.fA; 83 switch(parameterName) {
84 if ("b".equals(parameterName)) return this.fB; 84 case "a": return this.fA;
85 return null; 85 case "b": return this.fB;
86 default: return null;
87 }
88 }
89
90 @Override
91 public Object get(final int index) {
92 switch(index) {
93 case 0: return this.fA;
94 case 1: return this.fB;
95 default: return null;
96 }
86 } 97 }
87 98
88 public EReference getA() { 99 public EReference getA() {
@@ -612,9 +623,9 @@ public final class Opposite extends BaseGeneratedEMFQuerySpecification<Opposite.
612 } 623 }
613 624
614 /** 625 /**
615 * Inner class allowing the singleton instance of {@link JvmGenericType: queries.Opposite (visibility: PUBLIC, simpleName: Opposite, identifier: queries.Opposite, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created 626 * Inner class allowing the singleton instance of {@link Opposite} to be created
616 * <b>not</b> at the class load time of the outer class, 627 * <b>not</b> at the class load time of the outer class,
617 * but rather at the first call to {@link JvmGenericType: queries.Opposite (visibility: PUBLIC, simpleName: Opposite, identifier: queries.Opposite, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. 628 * but rather at the first call to {@link Opposite#instance()}.
618 * 629 *
619 * <p> This workaround is required e.g. to support recursion. 630 * <p> This workaround is required e.g. to support recursion.
620 * 631 *
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/OppositeDifferentClass.java b/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/OppositeDifferentClass.java
index 05f3a312..ff46566d 100644
--- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/OppositeDifferentClass.java
+++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/OppositeDifferentClass.java
@@ -84,8 +84,18 @@ public final class OppositeDifferentClass extends BaseGeneratedEMFQuerySpecifica
84 84
85 @Override 85 @Override
86 public Object get(final String parameterName) { 86 public Object get(final String parameterName) {
87 if ("a".equals(parameterName)) return this.fA; 87 switch(parameterName) {
88 return null; 88 case "a": return this.fA;
89 default: return null;
90 }
91 }
92
93 @Override
94 public Object get(final int index) {
95 switch(index) {
96 case 0: return this.fA;
97 default: return null;
98 }
89 } 99 }
90 100
91 public EReference getA() { 101 public EReference getA() {
@@ -475,9 +485,9 @@ public final class OppositeDifferentClass extends BaseGeneratedEMFQuerySpecifica
475 } 485 }
476 486
477 /** 487 /**
478 * Inner class allowing the singleton instance of {@link JvmGenericType: queries.OppositeDifferentClass (visibility: PUBLIC, simpleName: OppositeDifferentClass, identifier: queries.OppositeDifferentClass, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created 488 * Inner class allowing the singleton instance of {@link OppositeDifferentClass} to be created
479 * <b>not</b> at the class load time of the outer class, 489 * <b>not</b> at the class load time of the outer class,
480 * but rather at the first call to {@link JvmGenericType: queries.OppositeDifferentClass (visibility: PUBLIC, simpleName: OppositeDifferentClass, identifier: queries.OppositeDifferentClass, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. 490 * but rather at the first call to {@link OppositeDifferentClass#instance()}.
481 * 491 *
482 * <p> This workaround is required e.g. to support recursion. 492 * <p> This workaround is required e.g. to support recursion.
483 * 493 *
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/SuperTypes.java b/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/SuperTypes.java
index 823e55da..4bf7a455 100644
--- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/SuperTypes.java
+++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/src-gen/queries/SuperTypes.java
@@ -79,9 +79,20 @@ public final class SuperTypes extends BaseGeneratedEMFQuerySpecification<SuperTy
79 79
80 @Override 80 @Override
81 public Object get(final String parameterName) { 81 public Object get(final String parameterName) {
82 if ("c1".equals(parameterName)) return this.fC1; 82 switch(parameterName) {
83 if ("c2".equals(parameterName)) return this.fC2; 83 case "c1": return this.fC1;
84 return null; 84 case "c2": return this.fC2;
85 default: return null;
86 }
87 }
88
89 @Override
90 public Object get(final int index) {
91 switch(index) {
92 case 0: return this.fC1;
93 case 1: return this.fC2;
94 default: return null;
95 }
85 } 96 }
86 97
87 public EClass getC1() { 98 public EClass getC1() {
@@ -611,9 +622,9 @@ public final class SuperTypes extends BaseGeneratedEMFQuerySpecification<SuperTy
611 } 622 }
612 623
613 /** 624 /**
614 * Inner class allowing the singleton instance of {@link JvmGenericType: queries.SuperTypes (visibility: PUBLIC, simpleName: SuperTypes, identifier: queries.SuperTypes, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created 625 * Inner class allowing the singleton instance of {@link SuperTypes} to be created
615 * <b>not</b> at the class load time of the outer class, 626 * <b>not</b> at the class load time of the outer class,
616 * but rather at the first call to {@link JvmGenericType: queries.SuperTypes (visibility: PUBLIC, simpleName: SuperTypes, identifier: queries.SuperTypes, deprecated: <unset>) (abstract: false, static: false, final: true, packageName: queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. 627 * but rather at the first call to {@link SuperTypes#instance()}.
617 * 628 *
618 * <p> This workaround is required e.g. to support recursion. 629 * <p> This workaround is required e.g. to support recursion.
619 * 630 *
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/src/ca/mcgill/ecse/socialnetwork/runner/Main.java b/Metrics/Metrics-Calculation/SocialNetwork_plugin/src/ca/mcgill/ecse/socialnetwork/runner/Main.java
index 383852f1..e4e5b61f 100644
--- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/src/ca/mcgill/ecse/socialnetwork/runner/Main.java
+++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/src/ca/mcgill/ecse/socialnetwork/runner/Main.java
@@ -15,7 +15,6 @@ import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.io.GraphReader;
15import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.io.RepMetricsReader; 15import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.io.RepMetricsReader;
16import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.MetricSampleGroup; 16import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.MetricSampleGroup;
17import hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor; 17import hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor;
18import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.validation.ViolationCheck;
19import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage; 18import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage;
20import socialnetwork.Person; 19import socialnetwork.Person;
21 20
@@ -34,10 +33,13 @@ public class Main {
34 public static void main(String args[]) { 33 public static void main(String args[]) {
35 String ecoreFile = args[0]; 34 String ecoreFile = args[0];
36 System.out.println("Generation Started"); 35 System.out.println("Generation Started");
36
37 System.out.println(System.getProperty("java.library.path"));
38
37 long begin = System.currentTimeMillis(); 39 long begin = System.currentTimeMillis();
38 String message = runWithPath(ecoreFile); 40 String message = runWithPath(ecoreFile);
39 long elapsed = System.currentTimeMillis() - begin; 41 long elapsed = System.currentTimeMillis() - begin;
40 42
41 if(message != null) { 43 if(message != null) {
42 System.out.println(message); 44 System.out.println(message);
43 return; 45 return;
@@ -62,87 +64,87 @@ public class Main {
62 System.out.println("Finished"); 64 System.out.println("Finished");
63 } 65 }
64 66
65 public static void generateModel(int run) { 67// public static void generateModel(int run) {
66 String filename = run+"_1.xmi"; 68// String filename = run+"_1.xmi";
67 //prepare initial info 69// //prepare initial info
68 ArrayList<ArrayList<String>> output = new ArrayList<ArrayList<String>>(); 70// ArrayList<ArrayList<String>> output = new ArrayList<ArrayList<String>>();
69 ArrayList<String> infoOutput = new ArrayList<String>(); 71// ArrayList<String> infoOutput = new ArrayList<String>();
70 infoOutput.add(run+ ""); 72// infoOutput.add(run+ "");
71 infoOutput.addAll(calculateMetric(run)); 73// infoOutput.addAll(calculateMetric(run));
72 74//
73 YakinduumModel model = new YakinduumModel(fileReadFolder +"run" +run + "/" + filename); 75// YakinduumModel model = new YakinduumModel(fileReadFolder +"run" +run + "/" + filename);
74 int violationCount = ViolationCheck.calculateViolationCounts(model.yakinduum); 76// int violationCount = ViolationCheck.calculateViolationCounts(model.yakinduum);
75 infoOutput.add(violationCount + ""); 77// infoOutput.add(violationCount + "");
76 78//
77 79//
78 80//
79 //save model to another directory 81// //save model to another directory
80 model.save(configFolder + run + ".xmi"); 82// model.save(configFolder + run + ".xmi");
81 output.add(infoOutput); 83// output.add(infoOutput);
82 CsvFileWriter.append(output, configFileName); 84// CsvFileWriter.append(output, configFileName);
83 } 85// }
84 86//
85 public static void singleModelViolationMeasure(int run) { 87// public static void singleModelViolationMeasure(int run) {
86 String filename = run+"_1.xmi"; 88// String filename = run+"_1.xmi";
87 //prepare initial info 89// //prepare initial info
88 ArrayList<ArrayList<String>> output = new ArrayList<ArrayList<String>>(); 90// ArrayList<ArrayList<String>> output = new ArrayList<ArrayList<String>>();
89 ArrayList<String> infoOutput = new ArrayList<String>(); 91// ArrayList<String> infoOutput = new ArrayList<String>();
90 infoOutput.add(run+ ""); 92// infoOutput.add(run+ "");
91 93//
92 YakinduumModel model = new YakinduumModel(fileReadFolder+"/run"+run+"/"+ filename); 94// YakinduumModel model = new YakinduumModel(fileReadFolder+"/run"+run+"/"+ filename);
93 95//
94 //parse map of violation counts to two list and add them to the result list 96// //parse map of violation counts to two list and add them to the result list
95 Map<String, Integer> map = ViolationCheck.violationMaps(model.yakinduum); 97// Map<String, Integer> map = ViolationCheck.violationMaps(model.yakinduum);
96 ArrayList<String> counts = new ArrayList<String>(); 98// ArrayList<String> counts = new ArrayList<String>();
97 ArrayList<String> violationNames = new ArrayList<String>(map.keySet()); 99// ArrayList<String> violationNames = new ArrayList<String>(map.keySet());
98 for(int i = 0; i < violationNames.size(); i++) { 100// for(int i = 0; i < violationNames.size(); i++) {
99 String name = violationNames.get(i); 101// String name = violationNames.get(i);
100 int total = map.get(name); 102// int total = map.get(name);
101 counts.add(total + ""); 103// counts.add(total + "");
102 } 104// }
103 output.add(infoOutput); 105// output.add(infoOutput);
104 output.add(violationNames); 106// output.add(violationNames);
105 output.add(counts); 107// output.add(counts);
106 108//
107 CsvFileWriter.append(output, configFileName); 109// CsvFileWriter.append(output, configFileName);
108 } 110// }
109 111//
110 public static void aggregateViolationMeasure(int size) { 112// public static void aggregateViolationMeasure(int size) {
111 ArrayList<ArrayList<String>> output = new ArrayList<ArrayList<String>>(); 113// ArrayList<ArrayList<String>> output = new ArrayList<ArrayList<String>>();
112 ArrayList<String> counts = new ArrayList<String>(); 114// ArrayList<String> counts = new ArrayList<String>();
113 ArrayList<String> violationNames = null; 115// ArrayList<String> violationNames = null;
114 for(int run = 1; run < size+1; run++) { 116// for(int run = 1; run < size+1; run++) {
115 String filename = run+"_1.xmi"; 117// String filename = run+"_1.xmi";
116 YakinduumModel model = new YakinduumModel(fileReadFolder+"/run"+run+"/"+ filename); 118// YakinduumModel model = new YakinduumModel(fileReadFolder+"/run"+run+"/"+ filename);
117 119//
118 Map<String, Integer> map = ViolationCheck.violationMaps(model.yakinduum); 120// Map<String, Integer> map = ViolationCheck.violationMaps(model.yakinduum);
119 if(run == 1) { 121// if(run == 1) {
120 violationNames = new ArrayList<String>(map.keySet()); 122// violationNames = new ArrayList<String>(map.keySet());
121 for(int i = 0; i < violationNames.size(); i++) { 123// for(int i = 0; i < violationNames.size(); i++) {
122 String name = violationNames.get(i); 124// String name = violationNames.get(i);
123 int total = map.get(name); 125// int total = map.get(name);
124 counts.add(total + ""); 126// counts.add(total + "");
125 } 127// }
126 }else { 128// }else {
127 for(int i = 0; i < violationNames.size(); i++) { 129// for(int i = 0; i < violationNames.size(); i++) {
128 int count = Integer.parseInt(counts.get(i)); 130// int count = Integer.parseInt(counts.get(i));
129 String name = violationNames.get(i); 131// String name = violationNames.get(i);
130 int total = count + map.get(name); 132// int total = count + map.get(name);
131 counts.set(i, total + ""); 133// counts.set(i, total + "");
132 } 134// }
133 } 135// }
134 } 136// }
135 137//
136 for(int i = 0; i < counts.size(); i++) { 138// for(int i = 0; i < counts.size(); i++) {
137 double count = Integer.parseInt(counts.get(i)) / (double) size; 139// double count = Integer.parseInt(counts.get(i)) / (double) size;
138 counts.set(i, count + ""); 140// counts.set(i, count + "");
139 } 141// }
140 142//
141 output.add(violationNames); 143// output.add(violationNames);
142 output.add(counts); 144// output.add(counts);
143 CsvFileWriter.write(output, aggregateViolationMeasureFileName); 145// CsvFileWriter.write(output, aggregateViolationMeasureFileName);
144 } 146// }
145 147//
146 public static ArrayList<String> calculateMetric(int run) { 148 public static ArrayList<String> calculateMetric(int run) {
147 //read model and metric 149 //read model and metric
148 ArrayList<String> output = new ArrayList<String>(); 150 ArrayList<String> output = new ArrayList<String>();
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Ecore/warmup.csv b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Ecore/warmup.csv
index ad791735..13617342 100644
--- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Ecore/warmup.csv
+++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Ecore/warmup.csv
@@ -1,7 +1,3 @@
1Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,_Solution0FoundAt,TransformationExecutionTime,TypeAnalysisTime,MetricCalculationTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime 1Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,Solution0FoundAt,ExplorationInitializationTime,TransformationExecutionTime,ScopePropagationTime,MustRelationPropagationTime,TypeAnalysisTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime,States,ForwardTime,BacktrackingTime,GlobalConstraintEvaluationTime,FitnessCalculationTime,ActivationSelectionTime,Decisions,Transformations,ScopePropagations,ScopePropagationsSolverCalls
21,1,ModelResultImpl,1470,4786,7771,66116800,3921,1682,480,154,550,0,3 21,1,ModelResultImpl,910,7801,7469,66,7546,765,258,95,0,228,1118,0,2,1495,2706,1379,10,0,1,0,1769,654,0
31,2,ModelResultImpl,1470,2113,8817,10699700,5927,1993,3,300,1326,0,1
41,3,ModelResultImpl,1470,1856,6810,12033700,3907,1602,1,111,692,0,1
51,4,ModelResultImpl,1470,2441,6387,8147100,3326,1412,2,100,427,0,1
61,5,ModelResultImpl,1470,1705,6328,8393300,2039,1123,0,56,190,0,1
7 3
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/140.csv b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/140.csv
index 2ea01c80..293f51a5 100644
--- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/140.csv
+++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/140.csv
@@ -1,22 +1,22 @@
1Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,_Solution0FoundAt,TransformationExecutionTime,TypeAnalysisTime,MetricCalculationTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime 1Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,Solution1FoundAt,ExplorationInitializationTime,TransformationExecutionTime,TypeAnalysisTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime,ActivationSelectionTime,NumericalSolverSumTime,NumericalSolverProblemFormingTime,NumericalSolverSolvingTime,NumericalSolverInterpretingSolution,NumericalSolverCachingTime,NumericalSolverCallNumber,NumericalSolverCachedAnswerNumber
22,1,ModelResultImpl,28,1125,232547,238441100,231464,32513,30,5381,174058,0,3 22,1,ModelResultImpl,49,948,55965,249,54293,1336,6134,11,17708,0,3,2,0,0,0,0,0,0,0
32,2,ModelResultImpl,28,932,262316,161173500,261382,26096,0,5936,207379,0,1 32,2,ModelResultImpl,49,638,65106,310,63703,837,7067,0,20870,0,3,2,0,0,0,0,0,0,0
42,3,ModelResultImpl,28,1227,292535,143575400,291587,32776,0,5863,228470,0,1 42,3,ModelResultImpl,49,1929,69666,268,67267,1926,7537,0,20708,0,1,0,0,0,0,0,0,0,0
52,4,ModelResultImpl,28,1048,291142,138985400,290250,31729,1,6141,227996,0,1 52,4,ModelResultImpl,49,617,67091,318,65452,1078,8304,0,18694,0,1,0,0,0,0,0,0,0,0
62,5,ModelResultImpl,28,962,226481,144946000,225670,28211,0,5305,172447,0,1 62,5,ModelResultImpl,49,1068,75850,145,74083,1480,8386,0,19637,0,1,0,0,0,0,0,0,0,0
72,6,ModelResultImpl,28,913,236598,135164100,235765,24945,0,5586,184729,0,1 72,6,ModelResultImpl,49,785,65738,301,63408,1430,7695,0,16497,0,3,0,0,0,0,0,0,0,0
82,7,ModelResultImpl,28,885,234174,143088000,233346,27412,0,5184,182189,0,1 82,7,ModelResultImpl,49,1055,85078,387,82888,1365,9313,0,22220,0,1,0,0,0,0,0,0,0,0
92,8,ModelResultImpl,28,879,205042,135824000,204263,25417,0,4926,157017,0,1 92,8,ModelResultImpl,49,1189,63131,136,61246,1586,7804,0,17380,0,2,1,0,0,0,0,0,0,0
102,9,ModelResultImpl,28,975,237992,154320900,237160,26181,0,5287,185721,0,0 102,9,ModelResultImpl,49,530,60098,248,58756,657,6900,0,18737,0,2,0,0,0,0,0,0,0,0
112,10,ModelResultImpl,28,908,213258,140980300,212461,28371,0,5041,161035,0,1 112,10,ModelResultImpl,49,706,58634,247,56728,1023,6237,0,18909,0,1,0,0,0,0,0,0,0,0
122,11,ModelResultImpl,28,868,220191,146847500,219407,29612,0,4923,167193,0,1 122,11,ModelResultImpl,49,683,55087,174,53903,749,5838,0,17665,0,1,0,0,0,0,0,0,0,0
132,12,ModelResultImpl,28,986,217681,137838200,216908,27339,0,4956,166377,0,1 132,12,ModelResultImpl,49,533,69793,206,68720,625,7827,0,22340,0,1,0,0,0,0,0,0,0,0
142,13,ModelResultImpl,28,930,228167,126599800,227404,30279,0,5075,174085,0,0 142,13,ModelResultImpl,49,625,58198,256,56830,781,6177,0,20134,0,2,0,0,0,0,0,0,0,0
152,14,ModelResultImpl,28,878,246742,128511700,245938,21629,0,5670,199512,0,0 152,14,ModelResultImpl,49,555,66046,250,64950,664,7385,0,15860,0,0,0,0,0,0,0,0,0,0
162,15,ModelResultImpl,28,903,212514,141892400,211665,31163,0,4913,158072,0,0 162,15,ModelResultImpl,49,586,96452,367,92042,1007,12651,0,23019,0,6,0,0,0,0,0,0,0,0
172,16,ModelResultImpl,28,928,233910,127925600,233102,23749,0,5410,184087,0,0 172,16,ModelResultImpl,49,1523,72460,210,70549,1181,9123,1,21222,0,2,0,0,0,0,0,0,0,0
182,17,ModelResultImpl,28,901,248732,134197200,247867,25543,0,5436,198007,0,1 182,17,ModelResultImpl,49,734,74551,417,72763,842,8117,0,21326,0,3,0,0,0,0,0,0,0,0
192,18,ModelResultImpl,28,926,277407,128580900,276418,27387,0,5841,220797,0,1 192,18,ModelResultImpl,49,1282,75020,208,72887,1459,8671,0,22596,0,3,1,0,0,0,0,0,0,0
202,19,ModelResultImpl,28,1090,272687,171318300,271352,29653,0,5675,212248,0,1 202,19,ModelResultImpl,49,871,70125,286,68362,947,8755,0,18829,0,1,0,0,0,0,0,0,0,0
212,20,ModelResultImpl,28,971,259569,148475200,258629,28250,0,5574,204259,0,2 212,20,ModelResultImpl,49,633,65564,149,64398,816,7912,0,15815,0,0,0,0,0,0,0,0,0,0
22 22
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/warmup.csv b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/warmup.csv
index 94da3ec9..e874d546 100644
--- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/warmup.csv
+++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/statistics/Yakindu/warmup.csv
@@ -1,7 +1,3 @@
1Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,_Solution0FoundAt,TransformationExecutionTime,TypeAnalysisTime,MetricCalculationTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime 1Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,Solution0FoundAt,ExplorationInitializationTime,TransformationExecutionTime,ScopePropagationTime,MustRelationPropagationTime,TypeAnalysisTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime,States,ForwardTime,BacktrackingTime,GlobalConstraintEvaluationTime,FitnessCalculationTime,ActivationSelectionTime,Decisions,MetricCalculationTime,Transformations,ScopePropagations,ScopePropagationsSolverCalls
21,1,ModelResultImpl,494,2798,2766,45079800,1362,547,125,46,190,0,3 21,1,ModelResultImpl,2352,10681,69124,604,69169,829,1295,348,0,1040,24989,0,6,15152,20133,10141,18,0,6,0,8446,15835,6904,0
31,2,ModelResultImpl,494,1544,1988,11110900,1033,357,0,30,249,0,1
41,3,ModelResultImpl,494,1366,1867,7926900,1060,364,2,24,258,0,1
51,4,ModelResultImpl,494,1233,1588,8919800,863,312,0,19,146,0,1
61,5,ModelResultImpl,494,1253,1434,7416800,681,268,1,17,133,0,0
7 3
diff --git a/Metrics/Metrics-Calculation/SocialNetwork_plugin/yakinduGeneration.vsconfig b/Metrics/Metrics-Calculation/SocialNetwork_plugin/yakinduGeneration.vsconfig
index 721d506a..618d7b48 100644
--- a/Metrics/Metrics-Calculation/SocialNetwork_plugin/yakinduGeneration.vsconfig
+++ b/Metrics/Metrics-Calculation/SocialNetwork_plugin/yakinduGeneration.vsconfig
@@ -3,23 +3,24 @@ import viatra "../../../Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgrap
3 3
4generate { 4generate {
5 metamodel = { package yakindumm excluding { Synchronization}} 5 metamodel = { package yakindumm excluding { Synchronization}}
6 constraints = { package hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu } 6 constraints = { package hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu }
7 partial-model = { "inputs/start.xmi"} 7 partial-model = { "inputs/start.xmi"}
8 8
9 solver = ViatraSolver 9 solver = ViatraSolver
10 10
11 scope = { 11 scope = {
12 #node = 10 12 #node = 200
13 } 13 }
14 14
15 number = 1 15 number = 1
16 runs = 5 16 runs = 1
17 config = { 17 config = {
18 log-level = none, 18 log-level = none,
19 "optional-wf" = "false", 19 "optional-wf" = "false",
20 "realistic-guidance" = "Composite", 20 "realistic-guidance" = "Composite",
21 "allow-must-violations" = "false", 21 "allow-must-violations" = "false",
22 "domain" = "Yakindumm" 22 "domain" = "Yakindumm",
23 "scopePropagator" = "typeHierarchy"
23 } 24 }
24 25
25 statistics = "statistics/Yakindu/warmup.csv" //give different set up different filenames 26 statistics = "statistics/Yakindu/warmup.csv" //give different set up different filenames
@@ -27,80 +28,80 @@ generate {
27 output = "output/Yakindu/run_time/" 28 output = "output/Yakindu/run_time/"
28} 29}
29 30
30generate { 31// generate {
31 metamodel = { package yakindumm excluding { Synchronization}} 32// metamodel = { package yakindumm excluding { Synchronization}}
32 constraints = { package hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu } 33// constraints = { package hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu }
33 partial-model = { "inputs/start.xmi"} 34// partial-model = { "inputs/start.xmi"}
34 35
35 solver = ViatraSolver 36// solver = ViatraSolver
36 37
37 scope = { 38// scope = {
38 #node = 140 39// #node = 140
39 } 40// }
40 41
41 number = 1 42// number = 1
42 runs = 20 43// runs = 20
43 config = { 44// config = {
44 log-level = none, 45// log-level = none,
45 "optional-wf" = "false", 46// "optional-wf" = "false",
46 "realistic-guidance" = "Composite", 47// "realistic-guidance" = "Composite",
47 "allow-must-violations" = "false", 48// "allow-must-violations" = "false",
48 "domain" = "Yakindumm" 49// "domain" = "Yakindumm"
49 } 50// }
50 51
51 statistics = "statistics/Yakindu/140.csv" //give different set up different filenames 52// statistics = "statistics/Yakindu/140.csv" //give different set up different filenames
52 debug = "debug" 53// debug = "debug"
53 output = "output/Yakindu/run_time/" 54// output = "output/Yakindu/run_time/"
54} 55// }
55 56
56generate { 57// generate {
57 metamodel = { package yakindumm excluding { Synchronization}} 58// metamodel = { package yakindumm excluding { Synchronization}}
58 constraints = { package hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu } 59// constraints = { package hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu }
59 partial-model = { "inputs/start.xmi"} 60// partial-model = { "inputs/start.xmi"}
60 61
61 solver = ViatraSolver 62// solver = ViatraSolver
62 63
63 scope = { 64// scope = {
64 #node = 160 65// #node = 160
65 } 66// }
66 67
67 number = 1 68// number = 1
68 runs = 20 69// runs = 20
69 config = { 70// config = {
70 log-level = none, 71// log-level = none,
71 "optional-wf" = "false", 72// "optional-wf" = "false",
72 "realistic-guidance" = "Composite", 73// "realistic-guidance" = "Composite",
73 "allow-must-violations" = "false", 74// "allow-must-violations" = "false",
74 "domain" = "Yakindumm" 75// "domain" = "Yakindumm"
75 } 76// }
76 77
77 statistics = "statistics/Yakindu/160.csv" //give different set up different filenames 78// statistics = "statistics/Yakindu/160.csv" //give different set up different filenames
78 debug = "debug" 79// debug = "debug"
79 output = "output/Yakindu/run_time/" 80// output = "output/Yakindu/run_time/"
80} 81// }
81 82
82generate { 83// generate {
83 metamodel = { package yakindumm excluding { Synchronization}} 84// metamodel = { package yakindumm excluding { Synchronization}}
84 constraints = { package hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu } 85// constraints = { package hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu }
85 partial-model = { "inputs/start.xmi"} 86// partial-model = { "inputs/start.xmi"}
86 87
87 solver = ViatraSolver 88// solver = ViatraSolver
88 89
89 scope = { 90// scope = {
90 #node = 180 91// #node = 180
91 } 92// }
92 93
93 number = 1 94// number = 1
94 runs = 20 95// runs = 20
95 config = { 96// config = {
96 log-level = none, 97// log-level = none,
97 "optional-wf" = "false", 98// "optional-wf" = "false",
98 "realistic-guidance" = "Composite", 99// "realistic-guidance" = "Composite",
99 "allow-must-violations" = "false", 100// "allow-must-violations" = "false",
100 "domain" = "Yakindumm" 101// "domain" = "Yakindumm"
101 } 102// }
102 103
103 statistics = "statistics/Yakindu/180.csv" //give different set up different filenames 104// statistics = "statistics/Yakindu/180.csv" //give different set up different filenames
104 debug = "debug" 105// debug = "debug"
105 output = "output/Yakindu/run_time/" 106// output = "output/Yakindu/run_time/"
106} \ No newline at end of file 107// } \ No newline at end of file
diff --git a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/META-INF/MANIFEST.MF b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/META-INF/MANIFEST.MF
index eacce276..7c4f553d 100644
--- a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/META-INF/MANIFEST.MF
+++ b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/META-INF/MANIFEST.MF
@@ -12,7 +12,6 @@ Require-Bundle: com.google.guava,
12 org.eclipse.emf.ecore;bundle-version="2.17.0", 12 org.eclipse.emf.ecore;bundle-version="2.17.0",
13 org.eclipse.emf.ecore.xmi;bundle-version="2.15.0", 13 org.eclipse.emf.ecore.xmi;bundle-version="2.15.0",
14 hu.bme.mit.inf.dslreasoner.viatra2logic;bundle-version="1.0.0", 14 hu.bme.mit.inf.dslreasoner.viatra2logic;bundle-version="1.0.0",
15 hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph;bundle-version="1.0.0",
16 hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage;bundle-version="1.0.0", 15 hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage;bundle-version="1.0.0",
17 org.eclipse.viatra.dse;bundle-version="0.21.2", 16 org.eclipse.viatra.dse;bundle-version="0.21.2",
18 org.eclipse.viatra.query.runtime.rete;bundle-version="2.1.2", 17 org.eclipse.viatra.query.runtime.rete;bundle-version="2.1.2",
@@ -20,10 +19,12 @@ Require-Bundle: com.google.guava,
20 org.eclipse.collections;bundle-version="9.2.0", 19 org.eclipse.collections;bundle-version="9.2.0",
21 org.eclipse.viatra.query.runtime.localsearch;bundle-version="2.1.2", 20 org.eclipse.viatra.query.runtime.localsearch;bundle-version="2.1.2",
22 org.apache.log4j;bundle-version="1.2.15", 21 org.apache.log4j;bundle-version="1.2.15",
22 hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph;bundle-version="1.0.0",
23 github-graph;bundle-version="0.1.0" 23 github-graph;bundle-version="0.1.0"
24Export-Package: ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.app, 24Export-Package: ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.app,
25 ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.distance, 25 ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.distance,
26 ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.graph, 26 ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.graph,
27 ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.io, 27 ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.io,
28 ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics, 28 ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics,
29 ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.predictor 29 ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.predictor,
30 ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.validation