aboutsummaryrefslogtreecommitdiffstats
path: root/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/YakinduTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/YakinduTest.java')
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/YakinduTest.java148
1 files changed, 145 insertions, 3 deletions
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/YakinduTest.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/YakinduTest.java
index f8502439..616868a6 100644
--- a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/YakinduTest.java
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/YakinduTest.java
@@ -1,10 +1,152 @@
1package ca.mcgill.ecse.dslreasoner.vampire.icse; 1package ca.mcgill.ecse.dslreasoner.vampire.icse;
2 2
3import ca.mcgill.ecse.dslreasoner.standalone.test.fam.queries.FamPatterns;
4import ca.mcgill.ecse.dslreasoner.vampire.icse.GeneralTest;
5import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolver;
6import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolverConfiguration;
7import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel;
8import functionalarchitecture.FunctionalarchitecturePackage;
9import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic;
10import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2LogicConfiguration;
11import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic_Trace;
12import hu.bme.mit.inf.dslreasoner.ecore2logic.EcoreMetamodelDescriptor;
13import hu.bme.mit.inf.dslreasoner.logic.model.builder.DocumentationLevel;
14import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput;
15import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem;
16import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult;
17import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult;
18import hu.bme.mit.inf.dslreasoner.logic2ecore.Logic2Ecore;
19import hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2Logic;
20import hu.bme.mit.inf.dslreasoner.viatra2logic.ViatraQuerySetDescriptor;
21import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2Logic;
22import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace;
23import java.io.PrintWriter;
24import java.util.Map;
25import org.eclipse.emf.common.util.EList;
26import org.eclipse.emf.common.util.URI;
27import org.eclipse.emf.ecore.EObject;
28import org.eclipse.emf.ecore.resource.Resource;
29import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
30import org.eclipse.xtend2.lib.StringConcatenation;
31import org.eclipse.xtext.xbase.lib.Exceptions;
32import org.eclipse.xtext.xbase.lib.InputOutput;
33import org.eclipse.xtext.xbase.lib.ObjectExtensions;
34import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
35
3@SuppressWarnings("all") 36@SuppressWarnings("all")
4public class YakinduTest { 37public class YakinduTest {
5 public static void main(final String[] args) { 38 public static void main(final String[] args) {
6 throw new Error("Unresolved compilation problems:" 39 try {
7 + "\nThe method or field yakinduPackage is undefined" 40 final Ecore2Logic ecore2Logic = new Ecore2Logic();
8 + "\neINSTANCE cannot be resolved"); 41 final Logic2Ecore logic2Ecore = new Logic2Ecore(ecore2Logic);
42 final Viatra2Logic viatra2Logic = new Viatra2Logic(ecore2Logic);
43 final InstanceModel2Logic instanceModel2Logic = new InstanceModel2Logic();
44 StringConcatenation _builder = new StringConcatenation();
45 _builder.append("initialModels/");
46 final FileSystemWorkspace inputs = new FileSystemWorkspace(_builder.toString(), "");
47 StringConcatenation _builder_1 = new StringConcatenation();
48 _builder_1.append("output/YakinduTest/");
49 final FileSystemWorkspace workspace = new FileSystemWorkspace(_builder_1.toString(), "");
50 workspace.initAndClear();
51 final Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE;
52 final Map<String, Object> map = reg.getExtensionToFactoryMap();
53 XMIResourceFactoryImpl _xMIResourceFactoryImpl = new XMIResourceFactoryImpl();
54 map.put("logicproblem", _xMIResourceFactoryImpl);
55 InputOutput.<String>println("Input and output workspaces are created");
56 final EcoreMetamodelDescriptor metamodel = GeneralTest.loadMetamodel(FunctionalarchitecturePackage.eINSTANCE);
57 final EList<EObject> partialModel = GeneralTest.loadPartialModel(inputs, "FAM/FaModel.xmi");
58 final ViatraQuerySetDescriptor queries = GeneralTest.loadQueries(metamodel, FamPatterns.instance());
59 InputOutput.<String>println("DSL loaded");
60 int MAX = 150;
61 int START = 10;
62 int INC = 20;
63 int REPS = 1;
64 final int EXACT = (-1);
65 if ((EXACT != (-1))) {
66 MAX = EXACT;
67 START = EXACT;
68 INC = 1;
69 REPS = 5;
70 }
71 URI _workspaceURI = workspace.getWorkspaceURI();
72 String _plus = (_workspaceURI + "//yakinduStats.csv");
73 PrintWriter writer = new PrintWriter(_plus);
74 writer.append("size,");
75 for (int x = 0; (x < REPS); x++) {
76 writer.append((("t" + Integer.valueOf(x)) + ","));
77 }
78 writer.append("avg\n");
79 double totalTime = 0.0;
80 double totFound = 0.0;
81 boolean modelFound = true;
82 LogicResult solution = null;
83 {
84 int i = START;
85 boolean _while = (i <= MAX);
86 while (_while) {
87 {
88 final int num = ((i - START) / INC);
89 InputOutput.<String>print((((("Generation " + Integer.valueOf(num)) + ": SIZE=") + Integer.valueOf(i)) + " Attempt: "));
90 String _plus_1 = (Integer.valueOf(i) + ",");
91 writer.append(_plus_1);
92 totalTime = 0.0;
93 totFound = 0.0;
94 modelFound = true;
95 for (int j = 0; (j < REPS); j++) {
96 {
97 InputOutput.<Integer>print(Integer.valueOf(j));
98 Ecore2LogicConfiguration _ecore2LogicConfiguration = new Ecore2LogicConfiguration();
99 final TracedOutput<LogicProblem, Ecore2Logic_Trace> modelGenerationProblem = ecore2Logic.transformMetamodel(metamodel, _ecore2LogicConfiguration);
100 LogicProblem problem = modelGenerationProblem.getOutput();
101 problem = instanceModel2Logic.transform(modelGenerationProblem, partialModel).getOutput();
102 workspace.writeModel(problem, "Yakindu.logicproblem");
103 long startTime = System.currentTimeMillis();
104 VampireSolver reasoner = null;
105 VampireSolver _vampireSolver = new VampireSolver();
106 reasoner = _vampireSolver;
107 final int size = i;
108 final int inc = INC;
109 VampireSolverConfiguration _vampireSolverConfiguration = new VampireSolverConfiguration();
110 final Procedure1<VampireSolverConfiguration> _function = (VampireSolverConfiguration it) -> {
111 it.documentationLevel = DocumentationLevel.FULL;
112 it.typeScopes.minNewElements = (size - inc);
113 it.typeScopes.maxNewElements = size;
114 it.contCycleLevel = 5;
115 it.uniquenessDuplicates = false;
116 };
117 final VampireSolverConfiguration vampireConfig = ObjectExtensions.<VampireSolverConfiguration>operator_doubleArrow(_vampireSolverConfiguration, _function);
118 solution = reasoner.solve(problem, vampireConfig, workspace);
119 Object _get = ((ModelResult) solution).getRepresentation().get(0);
120 final VampireModel soln = ((VampireModel) _get);
121 int _transformationTime = solution.getStatistics().getTransformationTime();
122 final double time = (_transformationTime / 1000.0);
123 String _plus_2 = (Double.valueOf(time) + ",");
124 writer.append(_plus_2);
125 InputOutput.<String>print((("(" + Double.valueOf(time)) + ").."));
126 double _talTime = totalTime;
127 totalTime = (_talTime + time);
128 double _tFound = totFound;
129 totFound = (_tFound + 1);
130 }
131 }
132 InputOutput.println();
133 double avg = 0.0;
134 if ((totFound == 0)) {
135 avg = (-1);
136 } else {
137 avg = (totalTime / totFound);
138 }
139 writer.append(Double.valueOf(avg).toString());
140 writer.append("\n");
141 }
142 int _i = i;
143 i = (_i + INC);
144 _while = (i <= MAX);
145 }
146 }
147 writer.close();
148 } catch (Throwable _e) {
149 throw Exceptions.sneakyThrow(_e);
150 }
9 } 151 }
10} 152}