Joachim Klein
5a06f212a5
explicit/symbolic StateModelChecker: add methods getLabelList() and getDefinedLabelNames() to provide access to label namespace
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11813 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
3f7c3c57c8
Comment typo
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11807 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
a2ab087a55
Explicit model import via the explicit engine now respects the "fix deadlocks" setting and adds self-loops in deadlock states if needed.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11805 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
e113bff2c7
ModelInfo: add method to query the existence of transition rewards, add check for explicit DTMC/CTMC reward construction
During reward construction in the explicit engine using the new ModelGenerator
functionality (see SVN 11772), the check for transition rewards was missing
(he explicit engine currently does not support transition rewards for DTMCs and CTMCs).
This commit adds functionality to ModelInfo to determine whether a reward structure
defines transition rewards and adds a corresponding check during reward construction.
Example: prism-examples/dice/dice.pm with R=?[ F s=7 ] and -explicit returns 0 instead
of an error message.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11802 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
6935798edf
explicit.ProbModelChecker: provide constructRewards(model, rewardStructureIndex)
Deprecate the previous methods using RewardStruct, as those don't work with
arbitrary model generators.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11784 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
9890d74315
Various improvements focused on the ModelGenerator interface:
- Extended functionality available through the prism.Prism API when using ModelGenerators
- Improvements to ModelGenerator interface wrt handling of rewards (and also labels)
- Explicit engine model checkers now build rewards from a ModelGenerator, not a RewardStruct.
This is now (optionally) attached with the setModulesFileAndPropertiesFile method.
- New code to generate symbolic models from ModelGenerators (useful, if not super efficient)
- Move createVarList() method from ModelGenerator up to ModelInfo
- Some code tidying in LabelList
Code was previously at https://github.com/prismmodelchecker/prism-svn/tree/model-generator
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11772 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
e38ea63e89
Fix U>=t computations for CTMC, explicit engine [with Marcus Daum]
The unbounded until computation has to be carried out on the embedded DTMC.
Fixes issue prismmodelchecker/prism#9 .
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11768 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
c076b3e005
explicit.ModelTransformation: remove unnecessary Exception [from Steffen Märcker]
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11753 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
9a2d757554
explicit.ConstructRewards: error on negative rewards, use automatic close for BufferedReader
Optionally, negative rewards can also be accepted to allow dealing with weights in other branches.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11752 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
494f61adeb
PrismSTPGAbstractRefine: cleanup refactoring from SVN 11747
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11749 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
890620fd5f
PrismSTPGAbstractRefine: set initial states from the label file
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11748 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 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
10 years ago
Joachim Klein
55c0034a18
explicit model import: some more minor fixes to set correct initial states
Followup to SVN 11744.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11746 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 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
10 years ago
Joachim Klein
541e995741
explicit.ExplicitFiles2Model: explicit model import
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11733 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
d4ffeac654
explicit.MDPSimple: more flexible buildFromPrismExplicit() [with Steffen Maercker]
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11732 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
edbb99fdb4
explicit.DTMSimple: use auto-close in buildFromPrismExplicit(), better error message (with Steffen Maercker)
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11731 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
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
10 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
10 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
10 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
10 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
10 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
10 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
10 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
10 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
10 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
10 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
10 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
10 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
10 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
10 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
10 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
10 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
10 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
10 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
10 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
10 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
10 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
10 years ago