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.java52
1 files changed, 27 insertions, 25 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 261f32cc..9b426200 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
@@ -11,6 +11,7 @@ import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.distance.KSDistan
11import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.graph.EMFGraph; 11import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.graph.EMFGraph;
12import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.io.CsvFileWriter; 12import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.io.CsvFileWriter;
13import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.io.GraphReader; 13import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.io.GraphReader;
14import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.io.RepMetricsReader;
14import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.MetricSampleGroup; 15import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.MetricSampleGroup;
15import hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor; 16import hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor;
16import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.validation.ViolationCheck; 17import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.validation.ViolationCheck;
@@ -24,8 +25,8 @@ public class Main {
24 return message; 25 return message;
25 } 26 }
26 27
27 private static String configFolder = "yakinduum/config15/"; 28 private static String configFolder = "yakinduum/config22/";
28 private static String configFileName = configFolder + "info_new_metric.csv"; 29 private static String configFileName = configFolder + "info_old_metric.csv";
29 private static String aggregateViolationMeasureFileName = configFolder + "aggregateInfo.csv"; 30 private static String aggregateViolationMeasureFileName = configFolder + "aggregateInfo.csv";
30 private static String fileReadFolder = "output/Viatra_100/"; 31 private static String fileReadFolder = "output/Viatra_100/";
31 32
@@ -33,29 +34,30 @@ public class Main {
33 34
34 35
35 long begin = System.currentTimeMillis(); 36 long begin = System.currentTimeMillis();
36 String message = runWithPath("yakinduGeneration.vsconfig"); 37 String message = runWithPath("ecore.vsconfig");
37 long elapsed = System.currentTimeMillis() - begin; 38 long elapsed = System.currentTimeMillis() - begin;
38 39
39 if(message != null) { 40 if(message != null) {
41 System.out.println(message);
40 return; 42 return;
41 } 43 }
42 ArrayList<ArrayList<String>> output = new ArrayList<ArrayList<String>>(); 44// ArrayList<ArrayList<String>> output = new ArrayList<ArrayList<String>>();
43 String time = formatTime(elapsed); 45// String time = formatTime(elapsed);
44 ArrayList<String> infoOutput = new ArrayList<String>(); 46// ArrayList<String> infoOutput = new ArrayList<String>();
45 infoOutput.add(time); 47// infoOutput.add(time);
46 output.add(infoOutput); 48// output.add(infoOutput);
47 System.out.println(time); 49// System.out.println(time);
48 CsvFileWriter.write(output, configFileName); 50// CsvFileWriter.write(output, configFileName);
49 51//
50 52//
51 output = new ArrayList<ArrayList<String>>(); 53// output = new ArrayList<ArrayList<String>>();
52 output.add(prepareInfo()); 54// output.add(prepareInfo());
53 CsvFileWriter.append(output, configFileName); 55// CsvFileWriter.append(output, configFileName);
54 56//
55 for(int i = 0; i < 50; i++) { 57// for(int i = 0; i < 50; i++) {
56 generateModel(i+1); 58// generateModel(i+1);
57 } 59// }
58 //aggregateViolationMeasure(50); 60// aggregateViolationMeasure(50);
59 System.out.println("Finished"); 61 System.out.println("Finished");
60 } 62 }
61 63
@@ -86,7 +88,7 @@ public class Main {
86 ArrayList<String> infoOutput = new ArrayList<String>(); 88 ArrayList<String> infoOutput = new ArrayList<String>();
87 infoOutput.add(run+ ""); 89 infoOutput.add(run+ "");
88 90
89 YakinduumModel model = new YakinduumModel("output/Viatra_100/run"+run+"/"+ filename); 91 YakinduumModel model = new YakinduumModel(fileReadFolder+"/run"+run+"/"+ filename);
90 92
91 //parse map of violation counts to two list and add them to the result list 93 //parse map of violation counts to two list and add them to the result list
92 Map<String, Integer> map = ViolationCheck.violationMaps(model.yakinduum); 94 Map<String, Integer> map = ViolationCheck.violationMaps(model.yakinduum);
@@ -110,7 +112,7 @@ public class Main {
110 ArrayList<String> violationNames = null; 112 ArrayList<String> violationNames = null;
111 for(int run = 1; run < size+1; run++) { 113 for(int run = 1; run < size+1; run++) {
112 String filename = run+"_1.xmi"; 114 String filename = run+"_1.xmi";
113 YakinduumModel model = new YakinduumModel("output/Viatra_100/run"+run+"/"+ filename); 115 YakinduumModel model = new YakinduumModel(fileReadFolder+"/run"+run+"/"+ filename);
114 116
115 Map<String, Integer> map = ViolationCheck.violationMaps(model.yakinduum); 117 Map<String, Integer> map = ViolationCheck.violationMaps(model.yakinduum);
116 if(run == 1) { 118 if(run == 1) {
@@ -143,11 +145,11 @@ public class Main {
143 public static ArrayList<String> calculateMetric(int run) { 145 public static ArrayList<String> calculateMetric(int run) {
144 //read model and metric 146 //read model and metric
145 ArrayList<String> output = new ArrayList<String>(); 147 ArrayList<String> output = new ArrayList<String>();
146 GraphReader reader = new GraphReader(YakindummPackage.eINSTANCE); 148 GraphReader reader = new GraphReader(YakindummPackage.eINSTANCE, ".xmi");
147 EMFGraph graph = reader.readModel(fileReadFolder+"/run"+run, run + "_1.xmi"); 149 EMFGraph graph = reader.readModel(fileReadFolder+"/run"+run, run + "_1.xmi");
148 150 MetricSampleGroup metrics = RepMetricsReader.read(Domain.Yakinduum);
149 //KS distance 151 //KS distance
150 KSDistance ks = new KSDistance(Domain.Yakinduum); 152 KSDistance ks = new KSDistance(metrics);
151 153
152 //calculate and put metric data to output array 154 //calculate and put metric data to output array
153 MetricSampleGroup samples = graph.evaluateAllMetricsToSamples(); 155 MetricSampleGroup samples = graph.evaluateAllMetricsToSamples();