aboutsummaryrefslogtreecommitdiffstats
path: root/Metrics/Metrics-Calculation/SocialNetwork_plugin/src/ca/mcgill/ecse/socialnetwork/runner/Main.java
diff options
context:
space:
mode:
Diffstat (limited to 'Metrics/Metrics-Calculation/SocialNetwork_plugin/src/ca/mcgill/ecse/socialnetwork/runner/Main.java')
-rw-r--r--Metrics/Metrics-Calculation/SocialNetwork_plugin/src/ca/mcgill/ecse/socialnetwork/runner/Main.java39
1 files changed, 18 insertions, 21 deletions
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 e1698e5b..261f32cc 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
@@ -4,11 +4,8 @@ import java.io.File;
4import java.io.FileNotFoundException; 4import java.io.FileNotFoundException;
5import java.io.PrintStream; 5import java.io.PrintStream;
6import java.util.ArrayList; 6import java.util.ArrayList;
7import java.util.List;
8import java.util.Map; 7import java.util.Map;
9 8
10import org.eclipse.viatra.query.runtime.matchers.aggregators.count;
11
12import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.app.Domain; 9import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.app.Domain;
13import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.distance.KSDistance; 10import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.distance.KSDistance;
14import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.graph.EMFGraph; 11import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.graph.EMFGraph;
@@ -27,16 +24,16 @@ public class Main {
27 return message; 24 return message;
28 } 25 }
29 26
30 private static String configFolder = "yakinduum/"; 27 private static String configFolder = "yakinduum/config15/";
31 private static String configFileName = configFolder + "info.csv"; 28 private static String configFileName = configFolder + "info_new_metric.csv";
32 private static String aggregateViolationMeasureFileName = configFolder + "aggregateInfo2.csv"; 29 private static String aggregateViolationMeasureFileName = configFolder + "aggregateInfo.csv";
30 private static String fileReadFolder = "output/Viatra_100/";
33 31
34 public static void main(String args[]) { 32 public static void main(String args[]) {
35// try {
36 33
37 34
38 long begin = System.currentTimeMillis(); 35 long begin = System.currentTimeMillis();
39 String message = null;//runWithPath("yakinduGeneration.vsconfig"); 36 String message = runWithPath("yakinduGeneration.vsconfig");
40 long elapsed = System.currentTimeMillis() - begin; 37 long elapsed = System.currentTimeMillis() - begin;
41 38
42 if(message != null) { 39 if(message != null) {
@@ -48,17 +45,17 @@ public class Main {
48 infoOutput.add(time); 45 infoOutput.add(time);
49 output.add(infoOutput); 46 output.add(infoOutput);
50 System.out.println(time); 47 System.out.println(time);
51 //CsvFileWriter.write(output, configFileName); 48 CsvFileWriter.write(output, configFileName);
52 49
53 50
54 output = new ArrayList<ArrayList<String>>(); 51 output = new ArrayList<ArrayList<String>>();
55 output.add(prepareInfo()); 52 output.add(prepareInfo());
56 //CsvFileWriter.append(output, configFileName); 53 CsvFileWriter.append(output, configFileName);
57 54
58// for(int i = 0; i < 50; i++) { 55 for(int i = 0; i < 50; i++) {
59// singleModelViolationMeasure(i+1); 56 generateModel(i+1);
60// } 57 }
61 aggregateViolationMeasure(50); 58 //aggregateViolationMeasure(50);
62 System.out.println("Finished"); 59 System.out.println("Finished");
63 } 60 }
64 61
@@ -70,7 +67,7 @@ public class Main {
70 infoOutput.add(run+ ""); 67 infoOutput.add(run+ "");
71 infoOutput.addAll(calculateMetric(run)); 68 infoOutput.addAll(calculateMetric(run));
72 69
73 YakinduumModel model = new YakinduumModel("output/Viatra_100/run"+run+"/"+ filename); 70 YakinduumModel model = new YakinduumModel(fileReadFolder +"run" +run + "/" + filename);
74 int violationCount = ViolationCheck.calculateViolationCounts(model.yakinduum); 71 int violationCount = ViolationCheck.calculateViolationCounts(model.yakinduum);
75 infoOutput.add(violationCount + ""); 72 infoOutput.add(violationCount + "");
76 73
@@ -78,18 +75,18 @@ public class Main {
78 75
79 //save model to another directory 76 //save model to another directory
80 model.save(configFolder + run + ".xmi"); 77 model.save(configFolder + run + ".xmi");
81 78 output.add(infoOutput);
82 CsvFileWriter.append(output, configFileName); 79 CsvFileWriter.append(output, configFileName);
83 } 80 }
84 81
85 public static void singleModelViolationMeasure(int run) { 82 public static void singleModelViolationMeasure(int run) {
86 String filename = run+".xmi"; 83 String filename = run+"_1.xmi";
87 //prepare initial info 84 //prepare initial info
88 ArrayList<ArrayList<String>> output = new ArrayList<ArrayList<String>>(); 85 ArrayList<ArrayList<String>> output = new ArrayList<ArrayList<String>>();
89 ArrayList<String> infoOutput = new ArrayList<String>(); 86 ArrayList<String> infoOutput = new ArrayList<String>();
90 infoOutput.add(run+ ""); 87 infoOutput.add(run+ "");
91 88
92 YakinduumModel model = new YakinduumModel("yakinduum\\config8\\"+ filename); 89 YakinduumModel model = new YakinduumModel("output/Viatra_100/run"+run+"/"+ filename);
93 90
94 //parse map of violation counts to two list and add them to the result list 91 //parse map of violation counts to two list and add them to the result list
95 Map<String, Integer> map = ViolationCheck.violationMaps(model.yakinduum); 92 Map<String, Integer> map = ViolationCheck.violationMaps(model.yakinduum);
@@ -112,8 +109,8 @@ public class Main {
112 ArrayList<String> counts = new ArrayList<String>(); 109 ArrayList<String> counts = new ArrayList<String>();
113 ArrayList<String> violationNames = null; 110 ArrayList<String> violationNames = null;
114 for(int run = 1; run < size+1; run++) { 111 for(int run = 1; run < size+1; run++) {
115 String filename = run+".xmi"; 112 String filename = run+"_1.xmi";
116 YakinduumModel model = new YakinduumModel("yakinduum\\config8\\"+ filename); 113 YakinduumModel model = new YakinduumModel("output/Viatra_100/run"+run+"/"+ filename);
117 114
118 Map<String, Integer> map = ViolationCheck.violationMaps(model.yakinduum); 115 Map<String, Integer> map = ViolationCheck.violationMaps(model.yakinduum);
119 if(run == 1) { 116 if(run == 1) {
@@ -147,7 +144,7 @@ public class Main {
147 //read model and metric 144 //read model and metric
148 ArrayList<String> output = new ArrayList<String>(); 145 ArrayList<String> output = new ArrayList<String>();
149 GraphReader reader = new GraphReader(YakindummPackage.eINSTANCE); 146 GraphReader reader = new GraphReader(YakindummPackage.eINSTANCE);
150 EMFGraph graph = reader.readModels("output/Viatra_100/run"+run+"/").get(0); 147 EMFGraph graph = reader.readModel(fileReadFolder+"/run"+run, run + "_1.xmi");
151 148
152 //KS distance 149 //KS distance
153 KSDistance ks = new KSDistance(Domain.Yakinduum); 150 KSDistance ks = new KSDistance(Domain.Yakinduum);