aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/VampireSolver.xtend
diff options
context:
space:
mode:
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.xtend56
1 files changed, 29 insertions, 27 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 64484b88..cbe53bff 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
@@ -1,18 +1,18 @@
1package ca.mcgill.ecse.dslreasoner.vampire.reasoner 1package ca.mcgill.ecse.dslreasoner.vampire.reasoner
2 2
3import ca.mcgill.ecse.dslreasoner.VampireLanguageStandaloneSetup
3import ca.mcgill.ecse.dslreasoner.VampireLanguageStandaloneSetupGenerated 4import ca.mcgill.ecse.dslreasoner.VampireLanguageStandaloneSetupGenerated
5import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper
6import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_TypeMapper_FilteredTypes
7import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Vampire2LogicMapper
8import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.VampireHandler
9import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage
4import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner 10import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner
5import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasonerException 11import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasonerException
6import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration 12import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration
7import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem 13import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
8import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult 14import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult
9import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper
10import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage
11import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace 15import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace
12import java.io.PrintWriter
13import ca.mcgill.ecse.dslreasoner.VampireLanguageStandaloneSetup
14import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_TypeMapper
15import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_TypeMapper_FilteredTypes
16 16
17class VampireSolver extends LogicReasoner{ 17class VampireSolver extends LogicReasoner{
18 18
@@ -23,14 +23,14 @@ class VampireSolver extends LogicReasoner{
23 } 23 }
24 24
25 val Logic2VampireLanguageMapper forwardMapper = new Logic2VampireLanguageMapper(new Logic2VampireLanguageMapper_TypeMapper_FilteredTypes) 25 val Logic2VampireLanguageMapper forwardMapper = new Logic2VampireLanguageMapper(new Logic2VampireLanguageMapper_TypeMapper_FilteredTypes)
26// //not for now 26 val Vampire2LogicMapper backwardMapper = new Vampire2LogicMapper
27// val VampireHandler handler = new VampireHandler 27 val VampireHandler handler = new VampireHandler
28// val Vampire2LogicMapper backwardMapper = new Vampire2LogicMapper
29 28
30 val fileName = "problem.tptp"
31 29
32 override solve(LogicProblem problem, LogicSolverConfiguration configuration, ReasonerWorkspace workspace) throws LogicReasonerException { 30 val fileName = "vampireProblem.tptp"
33 val vampireConfig = configuration.asConfig 31
32 override solve(LogicProblem problem, LogicSolverConfiguration config, ReasonerWorkspace workspace) throws LogicReasonerException {
33 val vampireConfig = config.asConfig
34 34
35 // Start: Logic -> Vampire mapping 35 // Start: Logic -> Vampire mapping
36 val transformationStart = System.currentTimeMillis 36 val transformationStart = System.currentTimeMillis
@@ -41,36 +41,38 @@ class VampireSolver extends LogicReasoner{
41 41
42 var String fileURI = null; 42 var String fileURI = null;
43 var String vampireCode = null; 43 var String vampireCode = null;
44 vampireCode = workspace.writeModelToString(vampireProblem,fileName)
44 if(vampireConfig.writeToFile) { 45 if(vampireConfig.writeToFile) {
45 fileURI = workspace.writeModel(vampireProblem,fileName).toFileString 46 fileURI = workspace.writeModel(vampireProblem,fileName).toFileString
46 } else { 47 }
47 vampireCode = workspace.writeModelToString(vampireProblem,fileName) 48
48 } 49 //Result as String
50
51
49 val transformationTime = System.currentTimeMillis - transformationStart 52 val transformationTime = System.currentTimeMillis - transformationStart
50 // Finish: Logic -> Vampire mapping 53 // Finish: Logic -> Vampire mapping
51 54
52 //Creates a file containing the tptp code after transformation 55
53 val out = new PrintWriter("output/files/vampireCode.tptp") 56 /*
54 out.println(vampireCode)
55 out.close()
56
57
58 /*
59 * not for now -> Start: Solving Alloy problem
60 *
61 // Start: Solving Alloy problem 57 // Start: Solving Alloy problem
62 val solverStart = System.currentTimeMillis 58 val solverStart = System.currentTimeMillis
63 val result2 = handler.callSolver(alloyProblem,workspace,alloyConfig,fileURI,alloyCode) 59 //Calling Solver (Currently Manually)
64 val logicResult = backwardMapper.transformOutput(problem,configuration.solutionScope.numberOfRequiredSolution,result2,forwardTrace,transformationTime) 60 val result2 = handler.callSolver(vampireProblem,workspace,vampireConfig,vampireCode)
61// val result2 = null
62 //TODO
63 //Backwards Mapper
64 val logicResult = backwardMapper.transformOutput(problem,config.solutionScope.numberOfRequiredSolution,result2,forwardTrace,transformationTime)
65
65 val solverFinish = System.currentTimeMillis-solverStart 66 val solverFinish = System.currentTimeMillis-solverStart
66 // Finish: Solving Alloy problem 67 // Finish: Solving Alloy problem
67 68
68 if(vampireConfig.writeToFile) workspace.deactivateModel(fileName) 69 if(vampireConfig.writeToFile) workspace.deactivateModel(fileName)
69 70
70 return logicResult 71 return logicResult
71 */
72 72
73 /*/
73 return null // for now 74 return null // for now
75 //*/
74 } 76 }
75 77
76 def asConfig(LogicSolverConfiguration configuration){ 78 def asConfig(LogicSolverConfiguration configuration){