From 5e8b8c3a817dd9f7ae46338b6dbd3684dfb885fe Mon Sep 17 00:00:00 2001 From: 20001LastOrder Date: Wed, 31 Jul 2019 14:45:06 -0400 Subject: Further development of realistic solver, create generation config for ecore models --- .../ca/mcgill/ecse/socialnetwork/runner/Main.java | 52 +++++++++++----------- 1 file changed, 27 insertions(+), 25 deletions(-) (limited to 'Metrics/Metrics-Calculation/SocialNetwork_plugin/src/ca/mcgill/ecse/socialnetwork/runner') 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 import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.graph.EMFGraph; import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.io.CsvFileWriter; import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.io.GraphReader; +import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.io.RepMetricsReader; import ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator.metrics.MetricSampleGroup; import hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor; import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.validation.ViolationCheck; @@ -24,8 +25,8 @@ public class Main { return message; } - private static String configFolder = "yakinduum/config15/"; - private static String configFileName = configFolder + "info_new_metric.csv"; + private static String configFolder = "yakinduum/config22/"; + private static String configFileName = configFolder + "info_old_metric.csv"; private static String aggregateViolationMeasureFileName = configFolder + "aggregateInfo.csv"; private static String fileReadFolder = "output/Viatra_100/"; @@ -33,29 +34,30 @@ public class Main { long begin = System.currentTimeMillis(); - String message = runWithPath("yakinduGeneration.vsconfig"); + String message = runWithPath("ecore.vsconfig"); long elapsed = System.currentTimeMillis() - begin; if(message != null) { + System.out.println(message); return; } - ArrayList> output = new ArrayList>(); - String time = formatTime(elapsed); - ArrayList infoOutput = new ArrayList(); - infoOutput.add(time); - output.add(infoOutput); - System.out.println(time); - CsvFileWriter.write(output, configFileName); - - - output = new ArrayList>(); - output.add(prepareInfo()); - CsvFileWriter.append(output, configFileName); - - for(int i = 0; i < 50; i++) { - generateModel(i+1); - } - //aggregateViolationMeasure(50); +// ArrayList> output = new ArrayList>(); +// String time = formatTime(elapsed); +// ArrayList infoOutput = new ArrayList(); +// infoOutput.add(time); +// output.add(infoOutput); +// System.out.println(time); +// CsvFileWriter.write(output, configFileName); +// +// +// output = new ArrayList>(); +// output.add(prepareInfo()); +// CsvFileWriter.append(output, configFileName); +// +// for(int i = 0; i < 50; i++) { +// generateModel(i+1); +// } +// aggregateViolationMeasure(50); System.out.println("Finished"); } @@ -86,7 +88,7 @@ public class Main { ArrayList infoOutput = new ArrayList(); infoOutput.add(run+ ""); - YakinduumModel model = new YakinduumModel("output/Viatra_100/run"+run+"/"+ filename); + YakinduumModel model = new YakinduumModel(fileReadFolder+"/run"+run+"/"+ filename); //parse map of violation counts to two list and add them to the result list Map map = ViolationCheck.violationMaps(model.yakinduum); @@ -110,7 +112,7 @@ public class Main { ArrayList violationNames = null; for(int run = 1; run < size+1; run++) { String filename = run+"_1.xmi"; - YakinduumModel model = new YakinduumModel("output/Viatra_100/run"+run+"/"+ filename); + YakinduumModel model = new YakinduumModel(fileReadFolder+"/run"+run+"/"+ filename); Map map = ViolationCheck.violationMaps(model.yakinduum); if(run == 1) { @@ -143,11 +145,11 @@ public class Main { public static ArrayList calculateMetric(int run) { //read model and metric ArrayList output = new ArrayList(); - GraphReader reader = new GraphReader(YakindummPackage.eINSTANCE); + GraphReader reader = new GraphReader(YakindummPackage.eINSTANCE, ".xmi"); EMFGraph graph = reader.readModel(fileReadFolder+"/run"+run, run + "_1.xmi"); - + MetricSampleGroup metrics = RepMetricsReader.read(Domain.Yakinduum); //KS distance - KSDistance ks = new KSDistance(Domain.Yakinduum); + KSDistance ks = new KSDistance(metrics); //calculate and put metric data to output array MetricSampleGroup samples = graph.evaluateAllMetricsToSamples(); -- cgit v1.2.3-54-g00ecf