aboutsummaryrefslogtreecommitdiffstats
path: root/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/io/RepMetricsReader.xtend
diff options
context:
space:
mode:
Diffstat (limited to 'Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/io/RepMetricsReader.xtend')
-rw-r--r--Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/io/RepMetricsReader.xtend18
1 files changed, 16 insertions, 2 deletions
diff --git a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/io/RepMetricsReader.xtend b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/io/RepMetricsReader.xtend
index 2ea12581..6af0b6c7 100644
--- a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/io/RepMetricsReader.xtend
+++ b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/io/RepMetricsReader.xtend
@@ -3,13 +3,14 @@ package ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.io
3import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.app.Domain 3import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.app.Domain
4import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.MetricSampleGroup 4import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.MetricSampleGroup
5import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl 5import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl
6import java.util.HashMap
6 7
7/** 8/**
8 * Read the sample of the distribution of a metric provided the csv file of the metric 9 * Read the sample of the distribution of a metric provided the csv file of the metric
9 */ 10 */
10class RepMetricsReader { 11class RepMetricsReader {
11 static def read(Domain d){ 12 static def read(Domain d){
12 var reader = new GraphReader(YakindummPackageImpl.eINSTANCE); 13 var reader = new GraphReader(YakindummPackageImpl.eINSTANCE, '.xmi');
13 14
14 15
15 var domainRepPath = DataName.REP_PATH + d.name + '/'; 16 var domainRepPath = DataName.REP_PATH + d.name + '/';
@@ -20,7 +21,20 @@ class RepMetricsReader {
20 rep.naSamples = readMetrics(reader, domainRepPath + DataName.NA_REP).naSamples; 21 rep.naSamples = readMetrics(reader, domainRepPath + DataName.NA_REP).naSamples;
21 rep.typedOutDegreeSamples = out_d.typedOutDegreeSamples; 22 rep.typedOutDegreeSamples = out_d.typedOutDegreeSamples;
22 rep.edgeTypeSamples = out_d.edgeTypeSamples; 23 rep.edgeTypeSamples = out_d.edgeTypeSamples;
23 rep.nodeTypeSamples = out_d.nodeTypeSamples; 24
25 //TODO: Parameterize the prior node distribution
26 var nodeTypeSamples = new HashMap<String, Double>();
27 nodeTypeSamples.put('Entry', 0.04257802080554814);
28 nodeTypeSamples.put('Choice', 0.1267671379034409);
29 nodeTypeSamples.put('State', 0.1596092291277674);
30 nodeTypeSamples.put('Transition', 0.6138636969858629);
31 nodeTypeSamples.put('Statechart', 0.010136036276340358);
32 nodeTypeSamples.put('Region', 0.04467858095492131);
33 nodeTypeSamples.put('Exit', 0.0018338223526273673);
34 nodeTypeSamples.put('FinalState', 0.0005334755934915977);
35
36
37 rep.nodeTypeSamples = nodeTypeSamples;
24 return rep; 38 return rep;
25 } 39 }
26 40