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 | 56 |
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 @@ | |||
1 | package ca.mcgill.ecse.dslreasoner.vampire.reasoner | 1 | package ca.mcgill.ecse.dslreasoner.vampire.reasoner |
2 | 2 | ||
3 | import ca.mcgill.ecse.dslreasoner.VampireLanguageStandaloneSetup | ||
3 | import ca.mcgill.ecse.dslreasoner.VampireLanguageStandaloneSetupGenerated | 4 | import ca.mcgill.ecse.dslreasoner.VampireLanguageStandaloneSetupGenerated |
5 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper | ||
6 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_TypeMapper_FilteredTypes | ||
7 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Vampire2LogicMapper | ||
8 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.VampireHandler | ||
9 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage | ||
4 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner | 10 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner |
5 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasonerException | 11 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasonerException |
6 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration | 12 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration |
7 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem | 13 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem |
8 | import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult | 14 | import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult |
9 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper | ||
10 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguagePackage | ||
11 | import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace | 15 | import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace |
12 | import java.io.PrintWriter | ||
13 | import ca.mcgill.ecse.dslreasoner.VampireLanguageStandaloneSetup | ||
14 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_TypeMapper | ||
15 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.Logic2VampireLanguageMapper_TypeMapper_FilteredTypes | ||
16 | 16 | ||
17 | class VampireSolver extends LogicReasoner{ | 17 | class 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){ |