diff options
Diffstat (limited to 'Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolver.xtend')
-rw-r--r-- | Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolver.xtend | 49 |
1 files changed, 25 insertions, 24 deletions
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolver.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolver.xtend index 1fd40801..0ec4d0da 100644 --- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolver.xtend +++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolver.xtend | |||
@@ -3,11 +3,12 @@ package ca.mcgill.ecse.dslreasoner.vampire.reasoner | |||
3 | import ca.mcgill.ecse.dslreasoner.VampireLanguageStandaloneSetup | 3 | import ca.mcgill.ecse.dslreasoner.VampireLanguageStandaloneSetup |
4 | import ca.mcgill.ecse.dslreasoner.VampireLanguageStandaloneSetupGenerated | 4 | import ca.mcgill.ecse.dslreasoner.VampireLanguageStandaloneSetupGenerated |
5 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper | 5 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper |
6 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapperTrace | ||
7 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.MonitoredVampireSolution | ||
6 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Vampire2LogicMapper | 8 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Vampire2LogicMapper |
7 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.VampireHandler | 9 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.VampireHandler |
10 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.VampireModelInterpretation | ||
8 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage | 11 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage |
9 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel | ||
10 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.impl.VampireLanguageFactoryImpl | ||
11 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.DocumentationLevel | 12 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.DocumentationLevel |
12 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner | 13 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner |
13 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasonerException | 14 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasonerException |
@@ -15,7 +16,7 @@ import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration | |||
15 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem | 16 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem |
16 | import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult | 17 | import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult |
17 | import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace | 18 | import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace |
18 | import org.eclipse.emf.ecore.resource.Resource | 19 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel |
19 | 20 | ||
20 | class VampireSolver extends LogicReasoner { | 21 | class VampireSolver extends LogicReasoner { |
21 | 22 | ||
@@ -71,21 +72,21 @@ class VampireSolver extends LogicReasoner { | |||
71 | // Result as String | 72 | // Result as String |
72 | val transformationTime = System.currentTimeMillis - transformationStart | 73 | val transformationTime = System.currentTimeMillis - transformationStart |
73 | // Finish: Logic -> Vampire mapping | 74 | // Finish: Logic -> Vampire mapping |
75 | |||
74 | // Start: Solving .tptp problem | 76 | // Start: Solving .tptp problem |
75 | val solverStart = System.currentTimeMillis | 77 | val solverStart = System.currentTimeMillis |
76 | // Calling Solver (Currently Manually) | 78 | val MonitoredVampireSolution vampSol = handler.callSolver(vampireProblem, workspace, vampireConfig) |
77 | val result2 = handler.callSolver(vampireProblem, workspace, vampireConfig) | ||
78 | // val result2 = null | ||
79 | val solvingTime = System.currentTimeMillis - solverStart | 79 | val solvingTime = System.currentTimeMillis - solverStart |
80 | // TODO | 80 | // Finish: Solving .tptp problem |
81 | // val backTransformationStart = System.currentTimeMillis | 81 | |
82 | // // Backwards Mapper | 82 | // Start: Vampire -> Logic mapping |
83 | // val logicResult = backwardMapper.transformOutput(problem, config.solutionScope.numberOfRequiredSolution, | 83 | val backTransformationStart = System.currentTimeMillis |
84 | // result2, forwardTrace, transformationTime) | 84 | // Backwards Mapper |
85 | // | 85 | val logicResult = backwardMapper.transformOutput(problem,vampireConfig.solutionScope.numberOfRequiredSolution,vampSol,forwardTrace,transformationTime) |
86 | // val backTransformationTime = System.currentTimeMillis - backTransformationStart | 86 | |
87 | // Finish: Solving Alloy problem | 87 | val backTransformationTime = System.currentTimeMillis - backTransformationStart |
88 | return null | 88 | // Finish: Vampire -> Logic Mapping |
89 | return logicResult //currently only a ModelResult | ||
89 | } | 90 | } |
90 | 91 | ||
91 | def asConfig(LogicSolverConfiguration configuration) { | 92 | def asConfig(LogicSolverConfiguration configuration) { |
@@ -100,17 +101,17 @@ class VampireSolver extends LogicReasoner { | |||
100 | // * not for now | 101 | // * not for now |
101 | // * | 102 | // * |
102 | override getInterpretations(ModelResult modelResult) { | 103 | override getInterpretations(ModelResult modelResult) { |
103 | // val answers = (modelResult.representation as MonitoredAlloySolution).aswers.map[key] | 104 | // val answers = (modelResult.representation as MonitoredAlloySolution).aswers.map[key] |
104 | // val sols = modelResult.representation// as List<A4Solution> | 105 | val sols = modelResult.representation// as List<A4Solution> |
105 | // //val res = answers.map | 106 | //val res = answers.map |
106 | // sols.map[ | 107 | sols.map[ |
107 | // new VampireModelInterpretation( | 108 | new VampireModelInterpretation( |
108 | // forwardMapper.typeMapper.typeInterpreter, | 109 | // forwardMapper.typeMapper.typeInterpreter, |
109 | // it as A4Solution, | 110 | it as VampireModel, |
110 | // forwardMapper, | 111 | // forwardMapper, |
111 | // modelResult.trace as Logic2AlloyLanguageMapperTrace | 112 | modelResult.trace as Logic2VampireLanguageMapperTrace |
112 | // ) | 113 | ) |
113 | // ] | 114 | ] |
114 | } | 115 | } |
115 | // */ | 116 | // */ |
116 | } | 117 | } |