aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Aren Babikian <aren.babikian@mail.mcgill.ca>2021-02-16 03:06:22 +0100
committerLibravatar Aren Babikian <aren.babikian@mail.mcgill.ca>2021-02-16 03:06:22 +0100
commit0ebddc8dd265cd5b1b439e3c06f1de1047641559 (patch)
tree7141673072f4d6a48a9b12d23b9f01261717a8f7
parentReady for strategies case study (diff)
downloadVIATRA-Generator-0ebddc8dd265cd5b1b439e3c06f1de1047641559.tar.gz
VIATRA-Generator-0ebddc8dd265cd5b1b439e3c06f1de1047641559.tar.zst
VIATRA-Generator-0ebddc8dd265cd5b1b439e3c06f1de1047641559.zip
add dreal-timeout flag
-rw-r--r--Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend4
-rw-r--r--Domains/crossingScenario/inputs/crossingScenarioGen.vsconfig1
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericDrealProblemSolver.java7
-rw-r--r--Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericDynamicProblemSolver.java4
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasonerConfiguration.xtend1
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/NumericSolver.xtend6
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