aboutsummaryrefslogtreecommitdiffstats
path: root/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/Graph.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/graph/Graph.xtend')
-rw-r--r--Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/Graph.xtend41
1 files changed, 41 insertions, 0 deletions
diff --git a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/Graph.xtend b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/Graph.xtend
new file mode 100644
index 00000000..6d65367f
--- /dev/null
+++ b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/graph/Graph.xtend
@@ -0,0 +1,41 @@
1package ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.graph
2
3import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.Metric
4import java.util.ArrayList
5import java.util.List
6
7abstract class Graph {
8
9 protected static val String META_MODEL_HEADER = "Meta Mode"
10 protected static val String NUM_NODE_HEADER = "Number Of Nodes";
11 protected static val String NUM_EDGE_TYPE_HEADER = "Number of Edge types";
12 protected static val String STATE_ID_HEADER = "State Id";
13
14 protected val statistic = new GraphStatistic();
15 protected var List<Metric> metrics;
16 protected var String name = "";
17 protected var String metaModel = "";
18
19 /**
20 * evaluate all metrics for this model
21 * return the result as a two dimentional list
22 */
23 def ArrayList<ArrayList<String>> evaluateAllMetrics(){
24 val result = new ArrayList<ArrayList<String>>();
25 setBasicInformation(result);
26
27 for(metric : this.metrics){
28 val datas = metric.evaluate(this.statistic);
29 for(row : datas){
30 result.add(new ArrayList<String>(row));
31 }
32 }
33 return result;
34 }
35
36 def void setBasicInformation(ArrayList<ArrayList<String>> result);
37
38 def GraphStatistic getStatistic();
39
40 def String getName();
41} \ No newline at end of file