diff options
author | Aren Babikian <aren.babikian@mail.mcgill.ca> | 2021-02-16 03:06:22 +0100 |
---|---|---|
committer | Aren Babikian <aren.babikian@mail.mcgill.ca> | 2021-02-16 03:06:22 +0100 |
commit | 0ebddc8dd265cd5b1b439e3c06f1de1047641559 (patch) | |
tree | 7141673072f4d6a48a9b12d23b9f01261717a8f7 | |
parent | Ready for strategies case study (diff) | |
download | VIATRA-Generator-0ebddc8dd265cd5b1b439e3c06f1de1047641559.tar.gz VIATRA-Generator-0ebddc8dd265cd5b1b439e3c06f1de1047641559.tar.zst VIATRA-Generator-0ebddc8dd265cd5b1b439e3c06f1de1047641559.zip |
add dreal-timeout flag
6 files changed, 15 insertions, 8 deletions
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend index 045387a0..ac4f29a9 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend +++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend | |||
@@ -156,6 +156,10 @@ class SolverLoader { | |||
156 | c.drealLocalPath = stringValue; | 156 | c.drealLocalPath = stringValue; |
157 | } | 157 | } |
158 | } | 158 | } |
159 | if (config.containsKey("dreal-timeout")) { | ||
160 | val stringValue = config.get("dreal-timeout") | ||
161 | c.drealTimeout = Integer.parseInt(stringValue) | ||
162 | } | ||
159 | if (config.containsKey("scopePropagator")) { | 163 | if (config.containsKey("scopePropagator")) { |
160 | val stringValue = config.get("scopePropagator") | 164 | val stringValue = config.get("scopePropagator") |
161 | c.scopePropagatorStrategy = switch (stringValue) { | 165 | c.scopePropagatorStrategy = switch (stringValue) { |
diff --git a/Domains/crossingScenario/inputs/crossingScenarioGen.vsconfig b/Domains/crossingScenario/inputs/crossingScenarioGen.vsconfig index db00ed7b..401273b2 100644 --- a/Domains/crossingScenario/inputs/crossingScenarioGen.vsconfig +++ b/Domains/crossingScenario/inputs/crossingScenarioGen.vsconfig | |||
@@ -22,6 +22,7 @@ generate { | |||
22 | log-level = none, | 22 | log-level = none, |
23 | "numeric-solver" = "dreal-local", | 23 | "numeric-solver" = "dreal-local", |
24 | "dreal-local-path" = "/home/models/dreal4/bazel-bin/dreal/dreal", | 24 | "dreal-local-path" = "/home/models/dreal4/bazel-bin/dreal/dreal", |
25 | "dreal-timeout" = "10000", | ||
25 | "strategy" = "crossingScenario", | 26 | "strategy" = "crossingScenario", |
26 | "ignored-attributes" = " | 27 | "ignored-attributes" = " |
27 | Pedestrian.xPos=*, | 28 | Pedestrian.xPos=*, |
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericDrealProblemSolver.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericDrealProblemSolver.java index f098d575..eb63d96a 100644 --- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericDrealProblemSolver.java +++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericDrealProblemSolver.java | |||
@@ -43,13 +43,14 @@ public class NumericDrealProblemSolver extends NumericProblemSolver{ | |||
43 | private Map<String, String> curVar2Decl; | 43 | private Map<String, String> curVar2Decl; |
44 | 44 | ||
45 | private final int TIMEOUT_DOCKER = 5000; | 45 | private final int TIMEOUT_DOCKER = 5000; |
46 | private final int TIMEOUT_LOCAL = -1; | 46 | private int TIMEOUT_LOCAL = -1; |
47 | private final int DEBUG_PRINT = 3; | 47 | private final int DEBUG_PRINT = 2; |
48 | 48 | ||
49 | public NumericDrealProblemSolver(boolean useDocker, String drealLocalPath) throws IOException, InterruptedException { | 49 | public NumericDrealProblemSolver(boolean useDocker, String drealLocalPath, int drealTimeout) throws IOException, InterruptedException { |
50 | this.useDocker = useDocker; | 50 | this.useDocker = useDocker; |
51 | this.varMap = new HashMap<Object, String>(); | 51 | this.varMap = new HashMap<Object, String>(); |
52 | this.drealLocalPath = drealLocalPath; | 52 | this.drealLocalPath = drealLocalPath; |
53 | this.TIMEOUT_LOCAL = drealTimeout; | ||
53 | 54 | ||
54 | if (useDocker) setupDocker(); | 55 | if (useDocker) setupDocker(); |
55 | } | 56 | } |
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericDynamicProblemSolver.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericDynamicProblemSolver.java index bd4a10ff..1e5c1f29 100644 --- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericDynamicProblemSolver.java +++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericDynamicProblemSolver.java | |||
@@ -14,9 +14,9 @@ public class NumericDynamicProblemSolver extends NumericProblemSolver{ | |||
14 | // private NumericZ3ProblemSolver z3Solver; | 14 | // private NumericZ3ProblemSolver z3Solver; |
15 | private NumericDrealProblemSolver drealSolver; | 15 | private NumericDrealProblemSolver drealSolver; |
16 | 16 | ||
17 | public NumericDynamicProblemSolver(String drealLocalPath) throws IOException, InterruptedException { | 17 | public NumericDynamicProblemSolver(String drealLocalPath, int drealTimeout) throws IOException, InterruptedException { |
18 | // this.z3Solver = new NumericZ3ProblemSolver(); | 18 | // this.z3Solver = new NumericZ3ProblemSolver(); |
19 | this.drealSolver = new NumericDrealProblemSolver(false, drealLocalPath); | 19 | this.drealSolver = new NumericDrealProblemSolver(false, drealLocalPath, drealTimeout); |
20 | } | 20 | } |
21 | 21 | ||
22 | public NumericProblemSolver selectSolver(String selection) { | 22 | public NumericProblemSolver selectSolver(String selection) { |
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend index 74388706..923c847e 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend | |||
@@ -85,6 +85,7 @@ class ViatraReasonerConfiguration extends LogicSolverConfiguration { | |||
85 | public var calculateObjectCreationCosts = false | 85 | public var calculateObjectCreationCosts = false |
86 | public NumericSolverSelection numericSolverSelection = NumericSolverSelection.Z3 //currently defaulted to Z3 | 86 | public NumericSolverSelection numericSolverSelection = NumericSolverSelection.Z3 //currently defaulted to Z3 |
87 | public var drealLocalPath = "<path-to-dreal>"; | 87 | public var drealLocalPath = "<path-to-dreal>"; |
88 | public var drealTimeout = 10000; | ||
88 | public var Map<String, Map<String, String>> ignoredAttributesMap = null; | 89 | public var Map<String, Map<String, String>> ignoredAttributesMap = null; |
89 | public var ExplorationStrategy strategy = ExplorationStrategy.None | 90 | public var ExplorationStrategy strategy = ExplorationStrategy.None |
90 | 91 | ||
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/NumericSolver.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/NumericSolver.xtend index 28edff41..8281c3c3 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/NumericSolver.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/NumericSolver.xtend | |||
@@ -64,9 +64,9 @@ class NumericSolver { | |||
64 | if (strategy == ExplorationStrategy.None) { | 64 | if (strategy == ExplorationStrategy.None) { |
65 | //initialise the specified | 65 | //initialise the specified |
66 | if (solverSelection == NumericSolverSelection.DREAL_DOCKER) | 66 | if (solverSelection == NumericSolverSelection.DREAL_DOCKER) |
67 | return new NumericDrealProblemSolver(true, null) | 67 | return new NumericDrealProblemSolver(true, null, config.drealTimeout) |
68 | if (solverSelection == NumericSolverSelection.DREAL_LOCAL) | 68 | if (solverSelection == NumericSolverSelection.DREAL_LOCAL) |
69 | return new NumericDrealProblemSolver(false, drealLocalPath) | 69 | return new NumericDrealProblemSolver(false, drealLocalPath, config.drealTimeout) |
70 | if (solverSelection == NumericSolverSelection.Z3) { | 70 | if (solverSelection == NumericSolverSelection.Z3) { |
71 | //TODO THIS IS HARD-CODED for now | 71 | //TODO THIS IS HARD-CODED for now |
72 | // val root = "/data/viatra/VIATRA-Generator"; | 72 | // val root = "/data/viatra/VIATRA-Generator"; |
@@ -90,7 +90,7 @@ class NumericSolver { | |||
90 | // String root = (new File(System.getProperty("user.dir"))).getParentFile().getParent(); | 90 | // String root = (new File(System.getProperty("user.dir"))).getParentFile().getParent(); |
91 | System.load(root + "/Solvers/SMT-Solver/com.microsoft.z3/lib/libz3.so"); | 91 | System.load(root + "/Solvers/SMT-Solver/com.microsoft.z3/lib/libz3.so"); |
92 | System.load(root + "/Solvers/SMT-Solver/com.microsoft.z3/lib/libz3java.so"); | 92 | System.load(root + "/Solvers/SMT-Solver/com.microsoft.z3/lib/libz3java.so"); |
93 | return new NumericDynamicProblemSolver(drealLocalPath) | 93 | return new NumericDynamicProblemSolver(drealLocalPath, config.drealTimeout) |
94 | } | 94 | } |
95 | } | 95 | } |
96 | 96 | ||