Browse Source
MTBDD model checking: Harden against missing ODD
MTBDD model checking: Harden against missing ODD
We want to allow MTBDD engine model checking without having an ODD to encode the BDD state to index information. This allows to deal with models where the state space is too big for the ODD index type (2^63). Here, we harden all the places where the ODD information is accessed to gracefully handle the abscence of the ODD: * When trying to convert from MTBDD to explicit vector, a missing ODD is fatal * When printing state values or a state list, index information is not available and thus omitted * For the hybrid and sparse engine, the odd index checks (whether the number of states fit into an int32_t) are now done using helper functions that handle both null ODD and out-of-range values.accumulation-v4.7
14 changed files with 133 additions and 41 deletions
-
8prism/src/dv/DoubleVector.java
-
8prism/src/dv/IntegerVector.java
-
5prism/src/hybrid/PrismHybrid.java
-
11prism/src/odd/ODDNode.java
-
53prism/src/odd/ODDUtils.java
-
2prism/src/prism/Model.java
-
4prism/src/prism/ProbModel.java
-
4prism/src/prism/StateList.java
-
35prism/src/prism/StateListMTBDD.java
-
6prism/src/prism/StateModelChecker.java
-
2prism/src/prism/StateValues.java
-
28prism/src/prism/StateValuesMTBDD.java
-
2prism/src/prism/StateVector.java
-
6prism/src/sparse/PrismSparse.java
Write
Preview
Loading…
Cancel
Save
Reference in new issue