aboutsummaryrefslogtreecommitdiffstats
path: root/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/app/Main.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/app/Main.xtend')
-rw-r--r--Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/app/Main.xtend21
1 files changed, 13 insertions, 8 deletions
diff --git a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/app/Main.xtend b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/app/Main.xtend
index 8d936a88..010e8f87 100644
--- a/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/app/Main.xtend
+++ b/Metrics/Metrics-Calculation/ca.mcgill.ecse.dslreasoner.realistic.metrics.calculator/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/calculator/app/Main.xtend
@@ -12,17 +12,20 @@ import org.eclipse.emf.ecore.EcorePackage
12import org.eclipse.viatra.query.runtime.rete.matcher.ReteEngine 12import org.eclipse.viatra.query.runtime.rete.matcher.ReteEngine
13import org.eclipse.emf.ecore.impl.EcorePackageImpl 13import org.eclipse.emf.ecore.impl.EcorePackageImpl
14import org.eclipse.emf.ecore.EReference 14import org.eclipse.emf.ecore.EReference
15import github.impl.GithubPackageImpl
15 16
16//import yakindumm2.impl.Yakindumm2PackageImpl 17//import yakindumm2.impl.Yakindumm2PackageImpl
17 18
18class Main { 19class Main {
19 var static Domain d = Domain.Ecore; 20 var static Domain d = Domain.Github;
20 val static String suffix = '.xmi' 21 val static String suffix = '.xmi'
21 val static String OUTPUT_FOLDER = "Inputs/random/ecore/"; 22 val static String OUTPUT_FOLDER = "Inputs/Github/Alloy/";
22 val static String INPUT_FOLDER = "outputs/random/ecore/"; 23 val static String INPUT_FOLDER = "outputs/Github/Alloy/";
23 val static int NUM_RUNS = 1; 24 val static int NUM_RUNS = 1;
24 var static validFiles = 0; 25 var static validFiles = 0;
25 var static totalFiles = 0; 26 var static totalFiles = 0;
27 var static ViolationCheck checker;
28 var static EPackage metamodel;
26 29
27 static class RWInformation{ 30 static class RWInformation{
28 public var String inputFolder; 31 public var String inputFolder;
@@ -38,7 +41,6 @@ class Main {
38 41
39 def static void main(String[] args){ 42 def static void main(String[] args){
40 //init model 43 //init model
41 var EPackage metamodel;
42 //init viatra engine for the violation checker 44 //init viatra engine for the violation checker
43 ReteEngine.getClass(); 45 ReteEngine.getClass();
44 46
@@ -49,10 +51,10 @@ class Main {
49 EcorePackage.eINSTANCE.eClass; 51 EcorePackage.eINSTANCE.eClass;
50 metamodel = EcorePackageImpl.eINSTANCE; 52 metamodel = EcorePackageImpl.eINSTANCE;
51 }else if (d == Domain.Github){ 53 }else if (d == Domain.Github){
52 //TODO: Initialize Github Package 54 metamodel = GithubPackageImpl.eINSTANCE;
53 } 55 }
54 56
55 57 checker = new ViolationCheck(d);
56 println("Start Reading Models..."); 58 println("Start Reading Models...");
57 var reader = new GraphReader(metamodel, suffix); 59 var reader = new GraphReader(metamodel, suffix);
58 60
@@ -68,7 +70,7 @@ class Main {
68 val models = new ArrayList<EMFGraph>(); 70 val models = new ArrayList<EMFGraph>();
69 models.addAll(reader.readModels(inputFolder + "run" + i)); 71 models.addAll(reader.readModels(inputFolder + "run" + i));
70 for(model : models){ 72 for(model : models){
71 calculateAndOutputMetrics(model, YakindummPackageImpl.eNAME, outputFolder+model.name+"_run_"+i+".csv"); 73 calculateAndOutputMetrics(model, metamodel.name, outputFolder+model.name+"_run_"+i+".csv");
72 } 74 }
73 } 75 }
74 println("output results Ended for: " + outputFolder); 76 println("output results Ended for: " + outputFolder);
@@ -90,7 +92,10 @@ class Main {
90 } 92 }
91 93
92 var outputs = model.evaluateAllMetrics(); 94 var outputs = model.evaluateAllMetrics();
93 var violations = ViolationCheck.calculateViolationCounts(model.root, d); 95 var violations = checker.calculateViolationCounts(model.root);
96 var map = checker.violationMaps(model.root);
97
98 println(violations);
94 if (violations == 0) { 99 if (violations == 0) {
95 validFiles += 1; 100 validFiles += 1;
96 } 101 }