diff options
Diffstat (limited to 'Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/GeneralTest.java')
-rw-r--r-- | Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/GeneralTest.java | 107 |
1 files changed, 11 insertions, 96 deletions
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/GeneralTest.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/GeneralTest.java index 0150ef1d..0bb8f76e 100644 --- a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/GeneralTest.java +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/GeneralTest.java | |||
@@ -1,27 +1,12 @@ | |||
1 | package ca.mcgill.ecse.dslreasoner.vampire.icse; | 1 | package ca.mcgill.ecse.dslreasoner.vampire.icse; |
2 | 2 | ||
3 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolver; | ||
4 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolverConfiguration; | ||
5 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory; | ||
6 | import com.google.common.base.Objects; | 3 | import com.google.common.base.Objects; |
7 | import com.google.common.collect.Iterables; | 4 | import com.google.common.collect.Iterables; |
8 | import functionalarchitecture.Function; | ||
9 | import functionalarchitecture.FunctionalOutput; | ||
10 | import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic; | 5 | import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic; |
11 | import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2LogicConfiguration; | ||
12 | import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic_Trace; | 6 | import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic_Trace; |
13 | import hu.bme.mit.inf.dslreasoner.ecore2logic.EcoreMetamodelDescriptor; | 7 | import hu.bme.mit.inf.dslreasoner.ecore2logic.EcoreMetamodelDescriptor; |
14 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.DocumentationLevel; | ||
15 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner; | ||
16 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput; | ||
17 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type; | 8 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type; |
18 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem; | ||
19 | import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult; | ||
20 | import hu.bme.mit.inf.dslreasoner.logic2ecore.Logic2Ecore; | ||
21 | import hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2Logic; | ||
22 | import hu.bme.mit.inf.dslreasoner.viatra2logic.ViatraQuerySetDescriptor; | 9 | import hu.bme.mit.inf.dslreasoner.viatra2logic.ViatraQuerySetDescriptor; |
23 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2Logic; | ||
24 | import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace; | ||
25 | import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace; | 10 | import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace; |
26 | import java.util.Collections; | 11 | import java.util.Collections; |
27 | import java.util.HashMap; | 12 | import java.util.HashMap; |
@@ -43,94 +28,24 @@ import org.eclipse.viatra.query.runtime.api.IQueryGroup; | |||
43 | import org.eclipse.viatra.query.runtime.api.IQuerySpecification; | 28 | import org.eclipse.viatra.query.runtime.api.IQuerySpecification; |
44 | import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; | 29 | import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; |
45 | import org.eclipse.xtext.xbase.lib.CollectionLiterals; | 30 | import org.eclipse.xtext.xbase.lib.CollectionLiterals; |
46 | import org.eclipse.xtext.xbase.lib.Exceptions; | ||
47 | import org.eclipse.xtext.xbase.lib.Extension; | ||
48 | import org.eclipse.xtext.xbase.lib.Functions.Function1; | 31 | import org.eclipse.xtext.xbase.lib.Functions.Function1; |
49 | import org.eclipse.xtext.xbase.lib.InputOutput; | ||
50 | import org.eclipse.xtext.xbase.lib.IterableExtensions; | 32 | import org.eclipse.xtext.xbase.lib.IterableExtensions; |
51 | import org.eclipse.xtext.xbase.lib.ListExtensions; | 33 | import org.eclipse.xtext.xbase.lib.ListExtensions; |
52 | import org.eclipse.xtext.xbase.lib.ObjectExtensions; | ||
53 | import org.eclipse.xtext.xbase.lib.Procedures.Procedure1; | ||
54 | 34 | ||
55 | @SuppressWarnings("all") | 35 | @SuppressWarnings("all") |
56 | public class GeneralTest { | 36 | public class GeneralTest { |
57 | public static String createAndSolveProblem(final EcoreMetamodelDescriptor metamodel, final List<EObject> partialModel, final ViatraQuerySetDescriptor queries, final FileSystemWorkspace workspace) { | 37 | public static Map<Type, Integer> getTypeMap(final Map<Class, Integer> classMap, final EcoreMetamodelDescriptor metamodel, final Ecore2Logic e2l, final Ecore2Logic_Trace trace) { |
58 | try { | 38 | final HashMap<Type, Integer> typeMap = new HashMap<Type, Integer>(); |
59 | String _xblockexpression = null; | 39 | final Function1<EClass, String> _function = (EClass s) -> { |
60 | { | 40 | return s.getName(); |
61 | @Extension | 41 | }; |
62 | final VampireLanguageFactory factory = VampireLanguageFactory.eINSTANCE; | 42 | final Map<String, EClass> listMap = IterableExtensions.<String, EClass>toMap(metamodel.getClasses(), _function); |
63 | final Ecore2Logic ecore2Logic = new Ecore2Logic(); | 43 | Set<Class> _keySet = classMap.keySet(); |
64 | final Logic2Ecore logic2Ecore = new Logic2Ecore(ecore2Logic); | 44 | for (final Class elem : _keySet) { |
65 | final Viatra2Logic viatra2Logic = new Viatra2Logic(ecore2Logic); | 45 | typeMap.put( |
66 | final InstanceModel2Logic instanceModel2Logic = new InstanceModel2Logic(); | 46 | e2l.TypeofEClass(trace, listMap.get(elem.getSimpleName())), classMap.get(elem)); |
67 | Ecore2LogicConfiguration _ecore2LogicConfiguration = new Ecore2LogicConfiguration(); | ||
68 | final TracedOutput<LogicProblem, Ecore2Logic_Trace> modelGenerationProblem = ecore2Logic.transformMetamodel(metamodel, _ecore2LogicConfiguration); | ||
69 | LogicProblem problem = modelGenerationProblem.getOutput(); | ||
70 | workspace.writeModel(problem, "Fam.logicproblem"); | ||
71 | InputOutput.<String>println("Problem created"); | ||
72 | long startTime = System.currentTimeMillis(); | ||
73 | LogicResult solution = null; | ||
74 | LogicReasoner reasoner = null; | ||
75 | VampireSolver _vampireSolver = new VampireSolver(); | ||
76 | reasoner = _vampireSolver; | ||
77 | final HashMap<Type, Integer> typeMapMin = new HashMap<Type, Integer>(); | ||
78 | final HashMap<Type, Integer> typeMapMax = new HashMap<Type, Integer>(); | ||
79 | final Function1<EClass, String> _function = (EClass s) -> { | ||
80 | return s.getName(); | ||
81 | }; | ||
82 | final Map<String, EClass> list2MapMin = IterableExtensions.<String, EClass>toMap(metamodel.getClasses(), _function); | ||
83 | final Function1<EClass, String> _function_1 = (EClass s) -> { | ||
84 | return s.getName(); | ||
85 | }; | ||
86 | final Map<String, EClass> list2MapMax = IterableExtensions.<String, EClass>toMap(metamodel.getClasses(), _function_1); | ||
87 | typeMapMin.put( | ||
88 | ecore2Logic.TypeofEClass(modelGenerationProblem.getTrace(), | ||
89 | list2MapMin.get(Function.class.getSimpleName())), Integer.valueOf(1)); | ||
90 | typeMapMin.put( | ||
91 | ecore2Logic.TypeofEClass(modelGenerationProblem.getTrace(), | ||
92 | list2MapMin.get(functionalarchitecture.FunctionalInterface.class.getSimpleName())), Integer.valueOf(2)); | ||
93 | typeMapMin.put( | ||
94 | ecore2Logic.TypeofEClass(modelGenerationProblem.getTrace(), | ||
95 | list2MapMin.get(FunctionalOutput.class.getSimpleName())), Integer.valueOf(3)); | ||
96 | typeMapMax.put( | ||
97 | ecore2Logic.TypeofEClass( | ||
98 | modelGenerationProblem.getTrace(), | ||
99 | list2MapMax.get(Function.class.getSimpleName())), Integer.valueOf(5)); | ||
100 | typeMapMax.put( | ||
101 | ecore2Logic.TypeofEClass( | ||
102 | modelGenerationProblem.getTrace(), | ||
103 | list2MapMax.get(functionalarchitecture.FunctionalInterface.class.getSimpleName())), Integer.valueOf(2)); | ||
104 | typeMapMax.put( | ||
105 | ecore2Logic.TypeofEClass( | ||
106 | modelGenerationProblem.getTrace(), | ||
107 | list2MapMax.get(FunctionalOutput.class.getSimpleName())), Integer.valueOf(4)); | ||
108 | VampireSolverConfiguration _vampireSolverConfiguration = new VampireSolverConfiguration(); | ||
109 | final Procedure1<VampireSolverConfiguration> _function_2 = (VampireSolverConfiguration it) -> { | ||
110 | it.documentationLevel = DocumentationLevel.FULL; | ||
111 | it.typeScopes.minNewElements = 4; | ||
112 | it.typeScopes.maxNewElements = 25; | ||
113 | it.typeScopes.minNewElementsByType = typeMapMin; | ||
114 | it.typeScopes.maxNewElementsByType = typeMapMax; | ||
115 | it.contCycleLevel = 5; | ||
116 | it.uniquenessDuplicates = false; | ||
117 | }; | ||
118 | final VampireSolverConfiguration vampireConfig = ObjectExtensions.<VampireSolverConfiguration>operator_doubleArrow(_vampireSolverConfiguration, _function_2); | ||
119 | solution = reasoner.solve(problem, vampireConfig, workspace); | ||
120 | long _currentTimeMillis = System.currentTimeMillis(); | ||
121 | long _minus = (_currentTimeMillis - startTime); | ||
122 | long totalTimeMin = (_minus / 60000); | ||
123 | long _currentTimeMillis_1 = System.currentTimeMillis(); | ||
124 | long _minus_1 = (_currentTimeMillis_1 - startTime); | ||
125 | long _divide = (_minus_1 / 1000); | ||
126 | long totalTimeSec = (_divide % 60); | ||
127 | InputOutput.<String>println("Problem solved"); | ||
128 | _xblockexpression = InputOutput.<String>println(((("Time was: " + Long.valueOf(totalTimeMin)) + ":") + Long.valueOf(totalTimeSec))); | ||
129 | } | ||
130 | return _xblockexpression; | ||
131 | } catch (Throwable _e) { | ||
132 | throw Exceptions.sneakyThrow(_e); | ||
133 | } | 47 | } |
48 | return typeMap; | ||
134 | } | 49 | } |
135 | 50 | ||
136 | public static EcoreMetamodelDescriptor loadMetamodel(final EPackage pckg) { | 51 | public static EcoreMetamodelDescriptor loadMetamodel(final EPackage pckg) { |