diff options
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.xtend | 18 |
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 | |||
3 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.app.Domain | 3 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.app.Domain |
4 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.MetricSampleGroup | 4 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.MetricSampleGroup |
5 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl | 5 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl.YakindummPackageImpl |
6 | import 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 | */ |
10 | class RepMetricsReader { | 11 | class 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 | ||