Browse Source
Enable (explicit engine) model checking of LTSs.
Enable (explicit engine) model checking of LTSs.
There is no explicit model type keyword added to the parser. Instead, LTSs are auto-detected by the absence of probabilities. ConstructModel is extended to build LTSs. Model checking (CTL+LTL) can be done out of the box using the existing NonProbModelChecker class. A few MDP regression tests are clarified to make it clear that the models are MDPs, not LTSs.accumulation-v4.7
8 changed files with 116 additions and 6 deletions
-
2prism-tests/functionality/testing/testing.prism
-
2prism-tests/functionality/verify/mdps/multi-general/test-cumulative1.nm
-
17prism/src/explicit/ConstructModel.java
-
3prism/src/explicit/StateModelChecker.java
-
35prism/src/parser/ast/ModulesFile.java
-
30prism/src/prism/Prism.java
-
17prism/tests/lec9ctl1.prism
-
16prism/tests/lec9ctl1.prism.props
@ -0,0 +1,17 @@ |
|||
// Simple LTS from Lec 9 of Computer-Aided Verification |
|||
|
|||
module M |
|||
|
|||
s:[0..3]; |
|||
|
|||
[] s=0 -> (s'=1); |
|||
[] s=0 -> (s'=2); |
|||
[] s=1 -> (s'=1); |
|||
[] s=1 -> (s'=3); |
|||
[] s=2 -> (s'=1); |
|||
[] s=3 -> (s'=3); |
|||
|
|||
endmodule |
|||
|
|||
label "a" = s=0 | s=1; |
|||
label "b" = s=0 | s=3; |
|||
@ -0,0 +1,16 @@ |
|||
// Simple LTS from Lec 9 of Computer-Aided Verification |
|||
|
|||
// RESULT: ? |
|||
"ex": A[ X "a" ] & E[ X !"b"]; |
|||
// RESULT: true |
|||
filter(forall, "ex" <=> (s=2)); |
|||
|
|||
// RESULT: ? |
|||
"ex_lhs": A[ X "a" ] |
|||
// RESULT: true |
|||
filter(forall, "ex_lhs" <=> (s=2)); |
|||
|
|||
// RESULT: ? |
|||
"ex_rhs": E[ X !"b"]; |
|||
// RESULT: true |
|||
filter(forall, "ex_rhs" <=> (s=0|s=1|s=2)); |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue