diff options
Diffstat (limited to 'Metrics/Metrics-Calculation/SocialNetwork_plugin/src/ca')
-rw-r--r-- | Metrics/Metrics-Calculation/SocialNetwork_plugin/src/ca/mcgill/ecse/socialnetwork/runner/Main.java | 52 |
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 | |||
11 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.graph.EMFGraph; | 11 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.graph.EMFGraph; |
12 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.io.CsvFileWriter; | 12 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.io.CsvFileWriter; |
13 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.io.GraphReader; | 13 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.io.GraphReader; |
14 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.io.RepMetricsReader; | ||
14 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.MetricSampleGroup; | 15 | import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.MetricSampleGroup; |
15 | import hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor; | 16 | import hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor; |
16 | import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.validation.ViolationCheck; | 17 | import 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(); |