Joachim Klein
436f9a1c5a
imported patch ex-dtmc-weights-rewards-has-positive-negative.patch
7 years ago
Steffen Märcker
76ab6e2d76
Add preprocessing for steady-state in explicit engine
To guarantee convergence, the power method requires the precomputation
P = (Q * deltaT + I)
from: William J. Stewart: Introduction to the Numerical Solution of Markov Chains p. 124.
8 years ago
Steffen Märcker
ca9309d18e
Harmonize log output after steady-state power iteration between engines
8 years ago
Joachim Klein
cb259e75ef
DTMC, reach prob, interval iteration: Fix missing "topological" in method description
8 years ago
Joachim Klein
29e2ba21eb
ExportIterations: Log the file name when exporting iterations
8 years ago
Joachim Klein
87489f7adc
ExportIterations: Export steady-state BSCC iterations to individual HTML files
8 years ago
Steffen Märcker
36e2804b56
Fix bug: broken test whether all initial states are in same BSCC ( fixes #56 )
The broken logic tests whether there are is a bscc that includes a non-inital state.
8 years ago
Steffen Märcker
0f0fbb0f82
Move variable to inner scope in steady-state methods and use StopWatch
Variables should always be declared in the innermost scope.
This improves efficiency wrt. registers and GC.
8 years ago
Joachim Klein
1ec571a1c8
explicit interval iteration: skip upper bound computation if there are no unknown states
8 years ago
Joachim Klein
f33dea0f43
Interval iteration: Only print max finite value if it actually exists
8 years ago
Joachim Klein
a14171b0b8
explicit model checkers: flag to silence log output during precomputations (prob0/1...)
Sometimes, we want to use the prob0/1... methods to generate schedulers instead of doing
the standard precomputations and don't want to have the normal log output.
Not inherited using inheritSettings()
8 years ago
Joachim Klein
c2e86b5d2f
(interval iteration) total reward computation is not supported yet, throw error message
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12154 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
80aec9a2fa
cleanup some import warnings, artifacts of the recent set of refactorings...
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12149 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
c6df34232c
DTMC total reward, explicit: fix output glitch
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12148 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
65fd5cd795
(interval iteration, explicit) actually perform interval iteration using the explicit engine
Supported:
DTMC reachability probability and expected reward computations.
MDP Pmax, Pmin, Rmax, Rmin for reachability.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12142 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
452d89e411
(explicit iteration refactoring) Expose topological value iterations via the -topological switch
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12130 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
fae160729c
(explicit iteration refactoring) DTMCModelChecker: use the new infrastructure for doing the numerical iteration computations.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12128 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
97074f5d58
Refactor explicit SCC computation, splitting SCCConsumer from SCCComputer.
To obtain the previous behaviour, change
SCCComputer sccs = SCCComputer.createSCCComputer(parent, model);
sccs.computeSCCs();
... = sccs.getSCCs();
to
SCCConsumerStore sccs = new SCCConsumerStore();
SCCComputer sccComp = SCCComputer.createSCCComputer(parent, model, sccs);
sccComp.computeSCCs();
... = sccs.getSCCs();
This additional flexibility in how SCCs can be consumed can be used
in the future for example to handle SCCs on-the-fly, without
having to store all of them at the same time.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12110 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
1fc8dfa9c4
(export-iterations) Explicit engine (DTMC/MDP): If enabled, export iterations to HTML file
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12077 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
37dff4f997
explicit: Use LTL2WDBA construction to obtain DFA for co-safe LTL reward computations
The DFA needed for co-safe LTL reward computation need to have a
specific structure, i.e., all states that satisfy Sigma^omega have
to be already goal states.
The previous approach did not necessarily ensure this.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12065 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
c2fa14a35b
explicit DTMC LTL checker: support all acceptance types
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12045 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
01a398bbc0
explicit.DTMCModelChecker.computeTotalRewards: use predecessor-relation-based computations for prob0
Previous behavior available via -noprerel switch.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11978 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
c7c8c8a7ff
explicit.DTMCModelChecker.computeReachRewards: use predecessor-relation-based computation for prob1
Previous behavior available using -noprerel switch.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11977 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Dave Parker
28b741819d
Optimise computation of expected instantaenous rewards (R[I=k]) for DTMCs when the value is only required for one state (explicit engine).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11975 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Dave Parker
b9a8cada88
Add DTMC transient probability computation for explicit engine.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11974 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
0667019a05
explicit: Make calls to StateModelChecker.loadLabelsFile static
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11747 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Dave Parker
81451753d1
Bug fix for explicit engine model import - we should not assume that the initial state is 0. This also highlights a bug that ModelExplicit should store initial states as a state, not a list, but that issue is not fixed here.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11744 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 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
9 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
10 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
10 years ago
Dave Parker
0603e4a9b5
Some refactoring in explicit model checking engines: create new child model checkers, rather than inheriting their functionality as a subclass(e.g. DTMCModelChecker from CTMCModelChecker) - avoids problems where some methods are not implemented in the subclass.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10372 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
1762db4d34
Bugfix in lifting rewards to product.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10355 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
af7a1e7902
Bug fix (non-crucial) in explicit expected total cost.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10242 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
22bb6dea1c
Merge prism-hoaf branch back into trunk.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10231 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
852398415b
Add R[C] model checking for explicit DTMC model checker too (not really testeed much yet).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10215 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
88eb9ae71a
Re-rename new predecessor option (-nocachepre to -noprerel, etc.)
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10197 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
01aaf56ca3
explicit.DTMCModelChecker: Implements predecessor-based versions of prob0 / prob1. [from Joachim Klein]
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10196 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
9c407486c8
Bug fix in export of product states in explicit DTMC model checker.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10161 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
fae4eb38d7
Add support for -exporttarget to explicit engine.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10111 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
0984820760
Add support for -exportprodtrans and -exportprodstates switches to explicit engine.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10104 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
d0f3e91387
Some code tidying (automatic mostly) for merging purposes.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10067 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
b12953b937
Make use of the new PrismNotSupportedException.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9999 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
f7f4bf5f51
Model checkers: use DASimplify, allow AcceptanceReach in computations. [Joachim Klein]
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9610 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
b6f3b2dce3
Adapt (explicit) LTLModelChecker to support generic acceptance types. [Joachim Klein]
Adapt product constructions (rename dra to da, generic lifting of acceptance)
Generic findAcceptingBSCCs() and findAcceptingECStates()
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9604 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
e3ce1e85ee
provide LTLModelChecker.constructProductMC(DTMC dtmc, Expression ltl), encapsulating DA generation and product construction. [Joachim Klein]
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9593 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
36991a899a
Refactor LTL product construction in explicit engine. [Joachim Klein]
LTLModelChecker: add LTLProduct, translation between product and model / automaton states.
Refactor explicit.DTMCModelChecker to use Product for DRA product
Refactor explicit.MDPModelChecker to use Product for DRA product
Switch to using AcceptanceRabin in the Product instead of passing DRA to the findAcceptingBSCC etc routines
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9591 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
c00ffea7d8
Refactor: switch from prism.DRA<BitSet> to prism.DA<BitSet, AcceptanceRabin>. Changes access to the Rabin pairs. [Joachim Klein]
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9578 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
7e6f8e8cf6
Revert recent DFA optimizations to allow for acceptance type refactoring. Functionality will be later readded using AcceptanceReach. [Joachim Klein]
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9575 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
e77138a79f
computeRestrictedNext() for ProbModelChecker, NondetModelChecker, DTMCModelChecker and MDPModelChecker. [Joachim Klein]
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9571 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
0b8223c685
Explicit engine: Add BitSet statesOfInterest parameter to the various checkExpression... methods [Joachim Klein].
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9551 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago