aboutsummaryrefslogtreecommitdiffstats
path: root/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/FAMTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/FAMTest.java')
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/FAMTest.java107
1 files changed, 90 insertions, 17 deletions
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/FAMTest.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/FAMTest.java
index 7b4bb578..5fc2a391 100644
--- a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/FAMTest.java
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/FAMTest.java
@@ -2,37 +2,110 @@ package ca.mcgill.ecse.dslreasoner.vampire.icse;
2 2
3import ca.mcgill.ecse.dslreasoner.vampire.icse.GeneralTest; 3import ca.mcgill.ecse.dslreasoner.vampire.icse.GeneralTest;
4import ca.mcgill.ecse.dslreasoner.vampire.queries.FamPatterns; 4import ca.mcgill.ecse.dslreasoner.vampire.queries.FamPatterns;
5import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolver;
6import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolverConfiguration;
7import functionalarchitecture.Function;
8import functionalarchitecture.FunctionalOutput;
5import functionalarchitecture.FunctionalarchitecturePackage; 9import functionalarchitecture.FunctionalarchitecturePackage;
10import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic;
11import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2LogicConfiguration;
12import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic_Trace;
6import hu.bme.mit.inf.dslreasoner.ecore2logic.EcoreMetamodelDescriptor; 13import hu.bme.mit.inf.dslreasoner.ecore2logic.EcoreMetamodelDescriptor;
14import hu.bme.mit.inf.dslreasoner.logic.model.builder.DocumentationLevel;
15import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner;
16import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput;
17import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type;
18import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem;
19import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult;
20import hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2Logic;
7import hu.bme.mit.inf.dslreasoner.viatra2logic.ViatraQuerySetDescriptor; 21import hu.bme.mit.inf.dslreasoner.viatra2logic.ViatraQuerySetDescriptor;
22import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2Logic;
8import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace; 23import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace;
24import java.util.HashMap;
9import java.util.Map; 25import java.util.Map;
10import org.eclipse.emf.common.util.EList; 26import org.eclipse.emf.common.util.EList;
11import org.eclipse.emf.ecore.EObject; 27import org.eclipse.emf.ecore.EObject;
12import org.eclipse.emf.ecore.resource.Resource; 28import org.eclipse.emf.ecore.resource.Resource;
13import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; 29import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
14import org.eclipse.xtend2.lib.StringConcatenation; 30import org.eclipse.xtend2.lib.StringConcatenation;
31import org.eclipse.xtext.xbase.lib.Exceptions;
15import org.eclipse.xtext.xbase.lib.InputOutput; 32import org.eclipse.xtext.xbase.lib.InputOutput;
33import org.eclipse.xtext.xbase.lib.ObjectExtensions;
34import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
16 35
17@SuppressWarnings("all") 36@SuppressWarnings("all")
18public class FAMTest { 37public class FAMTest {
19 public static void main(final String[] args) { 38 public static void main(final String[] args) {
20 StringConcatenation _builder = new StringConcatenation(); 39 try {
21 _builder.append("initialModels/"); 40 final Ecore2Logic ecore2Logic = new Ecore2Logic();
22 final FileSystemWorkspace inputs = new FileSystemWorkspace(_builder.toString(), ""); 41 final Viatra2Logic viatra2Logic = new Viatra2Logic(ecore2Logic);
23 StringConcatenation _builder_1 = new StringConcatenation(); 42 final InstanceModel2Logic instanceModel2Logic = new InstanceModel2Logic();
24 _builder_1.append("output/FAMTest/"); 43 StringConcatenation _builder = new StringConcatenation();
25 final FileSystemWorkspace workspace = new FileSystemWorkspace(_builder_1.toString(), ""); 44 _builder.append("initialModels/");
26 workspace.initAndClear(); 45 final FileSystemWorkspace inputs = new FileSystemWorkspace(_builder.toString(), "");
27 final Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; 46 StringConcatenation _builder_1 = new StringConcatenation();
28 final Map<String, Object> map = reg.getExtensionToFactoryMap(); 47 _builder_1.append("output/FAMTest/");
29 XMIResourceFactoryImpl _xMIResourceFactoryImpl = new XMIResourceFactoryImpl(); 48 final FileSystemWorkspace workspace = new FileSystemWorkspace(_builder_1.toString(), "");
30 map.put("logicproblem", _xMIResourceFactoryImpl); 49 workspace.initAndClear();
31 InputOutput.<String>println("Input and output workspaces are created"); 50 final Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE;
32 final EcoreMetamodelDescriptor metamodel = GeneralTest.loadMetamodel(FunctionalarchitecturePackage.eINSTANCE); 51 final Map<String, Object> map = reg.getExtensionToFactoryMap();
33 final EList<EObject> partialModel = GeneralTest.loadPartialModel(inputs, "FaModel.xmi"); 52 XMIResourceFactoryImpl _xMIResourceFactoryImpl = new XMIResourceFactoryImpl();
34 final ViatraQuerySetDescriptor queries = GeneralTest.loadQueries(metamodel, FamPatterns.instance()); 53 map.put("logicproblem", _xMIResourceFactoryImpl);
35 InputOutput.<String>println("DSL loaded"); 54 InputOutput.<String>println("Input and output workspaces are created");
36 GeneralTest.createAndSolveProblem(metamodel, partialModel, queries, workspace); 55 final EcoreMetamodelDescriptor metamodel = GeneralTest.loadMetamodel(FunctionalarchitecturePackage.eINSTANCE);
56 final EList<EObject> partialModel = GeneralTest.loadPartialModel(inputs, "FaModel.xmi");
57 final ViatraQuerySetDescriptor queries = GeneralTest.loadQueries(metamodel, FamPatterns.instance());
58 InputOutput.<String>println("DSL loaded");
59 Ecore2LogicConfiguration _ecore2LogicConfiguration = new Ecore2LogicConfiguration();
60 final TracedOutput<LogicProblem, Ecore2Logic_Trace> modelGenerationProblem = ecore2Logic.transformMetamodel(metamodel, _ecore2LogicConfiguration);
61 LogicProblem problem = modelGenerationProblem.getOutput();
62 workspace.writeModel(problem, "Fam.logicproblem");
63 InputOutput.<String>println("Problem created");
64 long startTime = System.currentTimeMillis();
65 LogicReasoner reasoner = null;
66 VampireSolver _vampireSolver = new VampireSolver();
67 reasoner = _vampireSolver;
68 final HashMap<Class, Integer> classMapMin = new HashMap<Class, Integer>();
69 classMapMin.put(Function.class, Integer.valueOf(1));
70 classMapMin.put(functionalarchitecture.FunctionalInterface.class, Integer.valueOf(2));
71 classMapMin.put(FunctionalOutput.class, Integer.valueOf(3));
72 final Map<Type, Integer> typeMapMin = GeneralTest.getTypeMap(classMapMin, metamodel, ecore2Logic, modelGenerationProblem.getTrace());
73 final HashMap<Class, Integer> classMapMax = new HashMap<Class, Integer>();
74 classMapMax.put(Function.class, Integer.valueOf(5));
75 classMapMax.put(functionalarchitecture.FunctionalInterface.class, Integer.valueOf(2));
76 classMapMax.put(FunctionalOutput.class, Integer.valueOf(4));
77 final Map<Type, Integer> typeMapMax = GeneralTest.getTypeMap(classMapMax, metamodel, ecore2Logic, modelGenerationProblem.getTrace());
78 VampireSolverConfiguration _vampireSolverConfiguration = new VampireSolverConfiguration();
79 final Procedure1<VampireSolverConfiguration> _function = (VampireSolverConfiguration it) -> {
80 it.documentationLevel = DocumentationLevel.FULL;
81 it.typeScopes.minNewElements = 4;
82 it.typeScopes.maxNewElements = 5;
83 int _size = typeMapMin.size();
84 boolean _notEquals = (_size != 0);
85 if (_notEquals) {
86 it.typeScopes.minNewElementsByType = typeMapMin;
87 }
88 int _size_1 = typeMapMin.size();
89 boolean _notEquals_1 = (_size_1 != 0);
90 if (_notEquals_1) {
91 it.typeScopes.maxNewElementsByType = typeMapMax;
92 }
93 it.contCycleLevel = 5;
94 it.uniquenessDuplicates = false;
95 };
96 final VampireSolverConfiguration vampireConfig = ObjectExtensions.<VampireSolverConfiguration>operator_doubleArrow(_vampireSolverConfiguration, _function);
97 LogicResult solution = reasoner.solve(problem, vampireConfig, workspace);
98 long _currentTimeMillis = System.currentTimeMillis();
99 long _minus = (_currentTimeMillis - startTime);
100 long totalTimeMin = (_minus / 60000);
101 long _currentTimeMillis_1 = System.currentTimeMillis();
102 long _minus_1 = (_currentTimeMillis_1 - startTime);
103 long _divide = (_minus_1 / 1000);
104 long totalTimeSec = (_divide % 60);
105 InputOutput.<String>println("Problem solved");
106 InputOutput.<String>println(((("Time was: " + Long.valueOf(totalTimeMin)) + ":") + Long.valueOf(totalTimeSec)));
107 } catch (Throwable _e) {
108 throw Exceptions.sneakyThrow(_e);
109 }
37 } 110 }
38} 111}