Joachim Klein
2c3d4a09e3
explicit.StateModelChecker: make loadLabelsFile static, use automatic close for BufferedReader
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11730 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
45466e9f1c
Minor refactoring (for branch synching).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11695 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
33d895baa1
Typo in last commit.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11625 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
9da9286c8c
Remove some output to the log when processing filters (the number of satisfying states reported by this code can be wrong if the model checker optimises and only checks states satisfying the filter).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11624 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
4626d529a5
Code tidy
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11529 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
09c5b11a74
Bug fix in ConstructModel - do not call attachLabels in justReach mode.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11528 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
0e57919d0e
explicit engine: Properly signal "not supported" for MDP total reward computations
Previously,
prism prism-examples/dice/two_dice.nm -pf 'Rmax=?[C]' -ex
would yield a NullPointerException.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11522 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
bd9f2f255d
Add slightly more efficient implementation of getChoiceAction for PRISM models.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11508 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
29b9286be3
Add some missing methods to DTMCFromMDPAndMDStrategy.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11414 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
95c3f7db43
Add a missing method in DTMCFromMDPAndMDStrategy.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11411 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
d309f8c748
Comment fix.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11406 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
b76fe0e8b1
Add -exportprodvector switch, which exports solution vector over product model after checking LTL-based properties. Currently, supported in explicit engine, or symbolic engines where the result ends up being a vector of doubles (not an MTBDD).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11305 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
ae4b8c929e
MDP model checking: allow Büchi acceptance
Büchi automata can currently be input via the external ltl2da translators.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11273 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
204f972abb
LTLModelChecker: add support for EC computations against Büchi acceptance
For symbolic, including support for fairness.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11272 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
e0bd1c22cb
Cleanup DA-based simple path formula with bounds handling
The routines in LTL2RabinLibrary for generating DA for
simple path formulas with time bounds have been adapted
to deal with negated labels. This makes the special
preprocessing for such formulas unnecessary and we remove it.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11199 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
9db978a12a
switch to new way of obtaining acceptance type name
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11193 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
8af847bed5
explicit.LTLModelChecker: remove exception on constructor (never thrown) [Steffen Märcker]
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11190 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
432d017bbf
explicit.StateValues: add createFromIntegerArray (analogue to createFromBitSet, createFromDoubleArray)
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11189 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
578d33e7f1
explicit.LTSNBAProduct: take atomic propositions of NBA into account
Without formula simplifications, jltl2ba will produce an APSet L0, L1, ...
With formula simplifications (upcoming commit), some APs can be missing
in the NBA (when irrelevant) or reordered (due to formula simplification).
We handle edge label construction as elsewhere in PRISM for DA, to take
this into account.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11186 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
ca2a9e0caa
explicit: non-probabilistic LTL via E[ ltl ] and A[ ltl ]
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11182 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
071d26d603
explicit.LTSNBAProduct: Construct and store the product of a model and an NBA as a LTS
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11181 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
432c569691
explicit.LTSExplicit: Storage for an LTS
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11179 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
8889db5a2a
explicit.CTMCModelChecker: reject LTL with time bounds
This is currently caught elsewhere as well, but provides defense-in-depth
for the situation that time bounds in LTL are supported later on.
Bounds on temporal operators don't have the same semantics in CTMCs
as for discrete-time models.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11178 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
8be0e36cbe
explicit.PredecessorRelation: consistently use getPre()
Potentially allows derived classes to just overload the getPre() method.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11174 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
38617a9184
explicit: add support for CTL model checking
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11171 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
802abccbce
explicit.StateValues: add complement() method (for boolean vectors)
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11170 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
45b837567b
explicit.CTMCModelChecker: fix handling of PCTL* subformulas
Previously, subformulas were computed by a DTMCModelChecker
in the embedded DTMC, yielding wrong results. Now, maximal
state subformulas are checked via the CTMCModelChecker and
replaced by labels before calling the LTL model checking
routine on the embedded DTMC.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11168 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
4dd6a008d4
explicit.StateModelChecker: handleMaximalStateFormulas by recursive checking and attaching labels to the model
The labels encode the satisfaction sets of the subformulas. This method can be
used to do the standard PCTL* recursion step, i.e., computing Sat(phi) and replacing
phi with an atomic proposition a_phi in the formula.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11167 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
2ea728c681
explicit.LTLModelChecker: accept any StateModelChecker (preparation for upcoming CTMC PCTL*-fix)
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11166 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
650e519e2d
DTMCEmbeddedSimple: pass through label methods to underlying CTMC
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11164 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
19dd97cdd4
explicit: add ModelExplicit.addUniqueLabel() to help with attaching generated labels to a model
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11163 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Joachim Klein
19a1111491
explicit: add Model.hasLabel() method
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11162 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
b6828a7045
Remove unused "techLog" from Prism object and other classes.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11078 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
a025ae2e07
Add model checking of R[C] operator for CTMCs.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11041 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
4c13267ded
Add test methods for special cases in ExpressionLabels.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11028 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
de50d8d145
Small update to previous commit: display filter size *before* possibly optimising it.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11011 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
031a14e778
Small optimisation when model checking filters: Reduce set of filter states to the first state if filter is "first". [from Steffen Marcker]
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11009 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
66ea7475a7
Optimisation when dealing with filters: perform cardinality check for "state" filters earlier. [from Steffen Marcker]
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11008 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
eda5876325
Minor refactoring, ahead of upcoming patches. [from Steffen Marcker]
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11007 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
0f2bbbc7b6
Add some (syntactic) reward info to the ModelInfo interface and use this where possible in explicit model checking. Can now use ModulesFileModelGenerator for reward property model checking. Also push constant info from ModelGenerator up to ModelInfo.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11006 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
c8a894cae2
Auto-format.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11000 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
d4a86d5c2d
Remove ModelExplorer interface and replace with ModelGenerator.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10992 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
589b0b1a17
Remove defunct field from ConstructModel.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10982 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
0e01288705
Improve explicit.ConstructModel: generalise to use new ModelGenerator interface (not just ModulesFiles via the simulator) and tidy up the settings within the class.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10976 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
9ce7e6441b
Push containsUnboundedVariables methof from VarList up into ModulesFile.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10970 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
4aea86b501
Comment clarifications.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10945 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
e85cceb572
Small tidies/fixes in explicit engine MDP strat generation.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10913 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
fb37c9a22d
Slight refactoring of strategy storage in explicit engine (to match PRISM-games).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10910 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
8597f0e71b
Extend previous commit (reachability enlarging target) to STPG model checking.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10875 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
bf76e587bc
Small optimisation in explicit model checkers, when enlarging target for reachability. [from Steffen Marcker]
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10874 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago