aboutsummaryrefslogtreecommitdiffstats
path: root/Metrics
diff options
context:
space:
mode:
authorLibravatar 20001LastOrder <boqi.chen@mail.mcgill.ca>2019-05-29 10:36:18 -0400
committerLibravatar 20001LastOrder <boqi.chen@mail.mcgill.ca>2019-05-29 10:36:18 -0400
commit3016134a4e49fdbbde62c96660e35297f5a5de96 (patch)
tree4412e31318cadd5d2d67768b4e7e23dd2c54248f /Metrics
parentMerge branch 'Realistic-Generation-SURE' of https://github.com/viatra/VIATRA-... (diff)
downloadVIATRA-Generator-3016134a4e49fdbbde62c96660e35297f5a5de96.tar.gz
VIATRA-Generator-3016134a4e49fdbbde62c96660e35297f5a5de96.tar.zst
VIATRA-Generator-3016134a4e49fdbbde62c96660e35297f5a5de96.zip
fix the metric calculation could mix edge types and constraints
Diffstat (limited to 'Metrics')
-rw-r--r--Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/app/PartialInterpretationMetric.xtend5
-rw-r--r--Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/PartialInterpretationGraph.xtend12
2 files changed, 13 insertions, 4 deletions
diff --git a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/app/PartialInterpretationMetric.xtend b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/app/PartialInterpretationMetric.xtend
index d786e6f0..0e505d30 100644
--- a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/app/PartialInterpretationMetric.xtend
+++ b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/app/PartialInterpretationMetric.xtend
@@ -18,6 +18,11 @@ import org.eclipse.viatra.dse.api.Solution
18class PartialInterpretationMetric { 18class PartialInterpretationMetric {
19 var static state = 0; 19 var static state = 0;
20 20
21 def static void initPaths(){
22 new File("debug/metric/").mkdir();
23 new File("debug/metric/trajectories/").mkdir();
24 }
25
21 // calculate the metrics for a state 26 // calculate the metrics for a state
22 def static void calculateMetric(PartialInterpretation partial, String path, String currentStateId, Integer counter){ 27 def static void calculateMetric(PartialInterpretation partial, String path, String currentStateId, Integer counter){
23 val metrics = new ArrayList<Metric>(); 28 val metrics = new ArrayList<Metric>();
diff --git a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/PartialInterpretationGraph.xtend b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/PartialInterpretationGraph.xtend
index 074a75da..14337ab0 100644
--- a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/PartialInterpretationGraph.xtend
+++ b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/PartialInterpretationGraph.xtend
@@ -1,6 +1,7 @@
1package ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.graph 1package ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.graph
2 2
3import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.Metric 3import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.Metric
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
4import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink 5import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.BinaryElementRelationLink
5import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation 6import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
6import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.BooleanElementImpl 7import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.impl.BooleanElementImpl
@@ -8,10 +9,13 @@ import java.util.ArrayList
8import java.util.List 9import java.util.List
9 10
10class PartialInterpretationGraph extends Graph{ 11class PartialInterpretationGraph extends Graph{
11 var lastStateId="";
12 12
13 new(PartialInterpretation partial, List<Metric> metrics, String name){ 13 /**
14 partial.problem.relations.forEach[ 14 * Define a new PartialInterpretationGraph by parse every element from a PartialInterpretation
15 */
16 new(PartialInterpretation partial, List<Metric> metrics, String name){
17 //the edge types are defined in terms of RelationDeclaration
18 partial.problem.relations.filter(RelationDeclaration).forEach[
15 this.statistic.addType(it.name); 19 this.statistic.addType(it.name);
16 ] 20 ]
17 // add all elements 21 // add all elements
@@ -32,7 +36,7 @@ class PartialInterpretationGraph extends Graph{
32 this.metrics = metrics; 36 this.metrics = metrics;
33 } 37 }
34 38
35 /** 39 /**
36 * Set basic information for the output 40 * Set basic information for the output
37 */ 41 */
38 override setBasicInformation(ArrayList<ArrayList<String>> output){ 42 override setBasicInformation(ArrayList<ArrayList<String>> output){