diff options
Diffstat (limited to 'Metrics')
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" |
30 | Bundle-RequiredExecutionEnvironment: JavaSE-1.8 | 30 | Bundle-RequiredExecutionEnvironment: JavaSE-1.8 |
31 | Bundle-ActivationPolicy: lazy | 31 | Bundle-ActivationPolicy: lazy |
32 | Main-Class: ca.mcgill.ecse.socialnetwork.runner.Main | 32 | Main-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="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;hu.bme.mit.inf.dslreasoner.viatra2logic&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;javaProject name=&quot;ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator&quot;/&gt;&#13;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;directory nest=&quot;false&quot; path=&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&quot;/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.directory"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;directory nest=&quot;false&quot; path=&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&quot;/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.directory"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;directory nest=&quot;false&quot; path=&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&quot;/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.directory"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;default/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> </sourceContainers> </sourceLookupDirector> "/> | ||
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 -Djava.library.path="D:\Program Files\z3-4.8.8-x64-win\z3-4.8.8-x64-win\bin""/> | ||
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 @@ | |||
1 | package ca.mcgill.ecse.socialnetwork.plugin | ||
2 | |||
3 | import 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}) | ||
15 | pattern 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}) | ||
26 | pattern 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}) | ||
38 | pattern selfFriend(p: Person){ | ||
39 | Person.friends(p,p); | ||
40 | } | ||
41 | |||
42 | pattern 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 @@ | |||
1 | package queries | ||
2 | |||
3 | import epackage "http://www.eclipse.org/emf/2002/Ecore" | ||
4 | |||
5 | pattern directSupertype(a: EClass, b:EClass) { | ||
6 | EClass.eSuperTypes(a,b); | ||
7 | } | ||
8 | |||
9 | @Constraint(key={a}, severity="error", message="error") | ||
10 | pattern loopInInheritence(a: EClass) { | ||
11 | find directSupertype+(a,a); | ||
12 | } | ||
13 | |||
14 | pattern opposite(a:EReference, b: EReference) { | ||
15 | EReference.eOpposite(a,b); | ||
16 | } | ||
17 | @Constraint(key={a}, severity="error", message="error") | ||
18 | pattern 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") | ||
26 | pattern nonSymmetricOpposite(a:EReference, b:EReference) { | ||
27 | find opposite(a,b); | ||
28 | neg find opposite(b,a); | ||
29 | } | ||
30 | |||
31 | pattern 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 @@ | |||
1 | Error 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) | 1 | Error 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 | ||
34 | generate { | 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 | ||
64 | generate { | 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 | ||
94 | generate { | 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 | ||
124 | generate { | 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 | ||
154 | generate { | 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 | ||
184 | generate { | 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; | |||
15 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.io.RepMetricsReader; | 15 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.io.RepMetricsReader; |
16 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.MetricSampleGroup; | 16 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.MetricSampleGroup; |
17 | import hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor; | 17 | import hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor; |
18 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.validation.ViolationCheck; | ||
19 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage; | 18 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage; |
20 | import socialnetwork.Person; | 19 | import 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 @@ | |||
1 | Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,_Solution0FoundAt,TransformationExecutionTime,TypeAnalysisTime,MetricCalculationTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime | 1 | Task,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 |
2 | 1,1,ModelResultImpl,1470,4786,7771,66116800,3921,1682,480,154,550,0,3 | 2 | 1,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 |
3 | 1,2,ModelResultImpl,1470,2113,8817,10699700,5927,1993,3,300,1326,0,1 | ||
4 | 1,3,ModelResultImpl,1470,1856,6810,12033700,3907,1602,1,111,692,0,1 | ||
5 | 1,4,ModelResultImpl,1470,2441,6387,8147100,3326,1412,2,100,427,0,1 | ||
6 | 1,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 @@ | |||
1 | Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,_Solution0FoundAt,TransformationExecutionTime,TypeAnalysisTime,MetricCalculationTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime | 1 | Task,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 |
2 | 2,1,ModelResultImpl,28,1125,232547,238441100,231464,32513,30,5381,174058,0,3 | 2 | 2,1,ModelResultImpl,49,948,55965,249,54293,1336,6134,11,17708,0,3,2,0,0,0,0,0,0,0 |
3 | 2,2,ModelResultImpl,28,932,262316,161173500,261382,26096,0,5936,207379,0,1 | 3 | 2,2,ModelResultImpl,49,638,65106,310,63703,837,7067,0,20870,0,3,2,0,0,0,0,0,0,0 |
4 | 2,3,ModelResultImpl,28,1227,292535,143575400,291587,32776,0,5863,228470,0,1 | 4 | 2,3,ModelResultImpl,49,1929,69666,268,67267,1926,7537,0,20708,0,1,0,0,0,0,0,0,0,0 |
5 | 2,4,ModelResultImpl,28,1048,291142,138985400,290250,31729,1,6141,227996,0,1 | 5 | 2,4,ModelResultImpl,49,617,67091,318,65452,1078,8304,0,18694,0,1,0,0,0,0,0,0,0,0 |
6 | 2,5,ModelResultImpl,28,962,226481,144946000,225670,28211,0,5305,172447,0,1 | 6 | 2,5,ModelResultImpl,49,1068,75850,145,74083,1480,8386,0,19637,0,1,0,0,0,0,0,0,0,0 |
7 | 2,6,ModelResultImpl,28,913,236598,135164100,235765,24945,0,5586,184729,0,1 | 7 | 2,6,ModelResultImpl,49,785,65738,301,63408,1430,7695,0,16497,0,3,0,0,0,0,0,0,0,0 |
8 | 2,7,ModelResultImpl,28,885,234174,143088000,233346,27412,0,5184,182189,0,1 | 8 | 2,7,ModelResultImpl,49,1055,85078,387,82888,1365,9313,0,22220,0,1,0,0,0,0,0,0,0,0 |
9 | 2,8,ModelResultImpl,28,879,205042,135824000,204263,25417,0,4926,157017,0,1 | 9 | 2,8,ModelResultImpl,49,1189,63131,136,61246,1586,7804,0,17380,0,2,1,0,0,0,0,0,0,0 |
10 | 2,9,ModelResultImpl,28,975,237992,154320900,237160,26181,0,5287,185721,0,0 | 10 | 2,9,ModelResultImpl,49,530,60098,248,58756,657,6900,0,18737,0,2,0,0,0,0,0,0,0,0 |
11 | 2,10,ModelResultImpl,28,908,213258,140980300,212461,28371,0,5041,161035,0,1 | 11 | 2,10,ModelResultImpl,49,706,58634,247,56728,1023,6237,0,18909,0,1,0,0,0,0,0,0,0,0 |
12 | 2,11,ModelResultImpl,28,868,220191,146847500,219407,29612,0,4923,167193,0,1 | 12 | 2,11,ModelResultImpl,49,683,55087,174,53903,749,5838,0,17665,0,1,0,0,0,0,0,0,0,0 |
13 | 2,12,ModelResultImpl,28,986,217681,137838200,216908,27339,0,4956,166377,0,1 | 13 | 2,12,ModelResultImpl,49,533,69793,206,68720,625,7827,0,22340,0,1,0,0,0,0,0,0,0,0 |
14 | 2,13,ModelResultImpl,28,930,228167,126599800,227404,30279,0,5075,174085,0,0 | 14 | 2,13,ModelResultImpl,49,625,58198,256,56830,781,6177,0,20134,0,2,0,0,0,0,0,0,0,0 |
15 | 2,14,ModelResultImpl,28,878,246742,128511700,245938,21629,0,5670,199512,0,0 | 15 | 2,14,ModelResultImpl,49,555,66046,250,64950,664,7385,0,15860,0,0,0,0,0,0,0,0,0,0 |
16 | 2,15,ModelResultImpl,28,903,212514,141892400,211665,31163,0,4913,158072,0,0 | 16 | 2,15,ModelResultImpl,49,586,96452,367,92042,1007,12651,0,23019,0,6,0,0,0,0,0,0,0,0 |
17 | 2,16,ModelResultImpl,28,928,233910,127925600,233102,23749,0,5410,184087,0,0 | 17 | 2,16,ModelResultImpl,49,1523,72460,210,70549,1181,9123,1,21222,0,2,0,0,0,0,0,0,0,0 |
18 | 2,17,ModelResultImpl,28,901,248732,134197200,247867,25543,0,5436,198007,0,1 | 18 | 2,17,ModelResultImpl,49,734,74551,417,72763,842,8117,0,21326,0,3,0,0,0,0,0,0,0,0 |
19 | 2,18,ModelResultImpl,28,926,277407,128580900,276418,27387,0,5841,220797,0,1 | 19 | 2,18,ModelResultImpl,49,1282,75020,208,72887,1459,8671,0,22596,0,3,1,0,0,0,0,0,0,0 |
20 | 2,19,ModelResultImpl,28,1090,272687,171318300,271352,29653,0,5675,212248,0,1 | 20 | 2,19,ModelResultImpl,49,871,70125,286,68362,947,8755,0,18829,0,1,0,0,0,0,0,0,0,0 |
21 | 2,20,ModelResultImpl,28,971,259569,148475200,258629,28250,0,5574,204259,0,2 | 21 | 2,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 @@ | |||
1 | Task,Run,Result,Domain to logic transformation time,Logic to solver transformation time,Solver time,Postprocessing time,_Solution0FoundAt,TransformationExecutionTime,TypeAnalysisTime,MetricCalculationTime,StateCoderTime,StateCoderFailCount,SolutionCopyTime | 1 | Task,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 |
2 | 1,1,ModelResultImpl,494,2798,2766,45079800,1362,547,125,46,190,0,3 | 2 | 1,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 |
3 | 1,2,ModelResultImpl,494,1544,1988,11110900,1033,357,0,30,249,0,1 | ||
4 | 1,3,ModelResultImpl,494,1366,1867,7926900,1060,364,2,24,258,0,1 | ||
5 | 1,4,ModelResultImpl,494,1233,1588,8919800,863,312,0,19,146,0,1 | ||
6 | 1,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 | ||
4 | generate { | 4 | generate { |
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 | ||
30 | generate { | 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 | ||
56 | generate { | 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 | ||
82 | generate { | 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" |
24 | Export-Package: ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.app, | 24 | Export-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 | ||