Joachim Klein
bbec66cd62
explicit: Fix initialization of some MC flags
Previously, the flags for interval/topological iteration and
for Pmax-quotienting would not be initialised if the ModelChecker
was constructed directly.
8 years ago
Steffen Märcker
a2aee2fa36
Implement round function
8 years ago
Dave Parker
675cb324dc
Explicit model checking engines respect restrictStratToReach setting in exportAdv mode. Also set that flag to true by default since only used here currently.
9 years ago
Joachim Klein
c8335ca642
(interval iteration) prepare settings for interval iteration
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12137 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
7486c6d7ed
For MDP model checking (explicit, symbolic), support -pmaxquotient option (computation in MEC quotient)
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12126 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
885ae560a7
explicit: Improve error message for unsupported multi-objective model checking
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11994 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
502faa6a26
explicit/symbolic: refactor checkExpressionLabel to use getLabelList()
For symbolic checkExpressionLabel, additionally ensure that no NullPointerException
is thrown if propertiesFile is null.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11815 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
b80f41d5bc
ModelExplicit: refactor addUniqueLabel to ensure that already defined label names are avoided
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11814 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
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
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
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
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
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
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
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
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
4a33c0398c
Add some more (hidden) settings to explicit StateModelChecker inheritSettings().
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10110 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
897ca7c4c1
Code re-arrange.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10109 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
bb1d0dcd5b
Add label export functionality to explicit engine
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10108 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
53c24c5abb
Add exportTarget settings to explicit model checkers (not used yet).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10105 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
0b05a40aec
Code tidy
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9957 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
be5cdf908a
Provide getConstantValues() for model checkers, allowing other classes to access the constants. [Joachim Klein]
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9596 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
797f9494b2
Explicit engine: Add BitSet statesOfInterest parameter to the various checkExpression... methods [Joachim Klein].
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9545 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
b7864791dc
Store vector in Result during model checking if requested.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@8402 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
fd55870fc6
Bug fix in previous commit.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@8398 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
7a4b42efde
Add an (as yet unimplemented) option to Prism to store the vector of results during model checking.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@8396 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
f85400152d
Re-factoring - push the creation of default filters during model checking into a utility method in ExpressionFilter.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@8394 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
81d8cad3aa
Better error message when trying to use "multi" function on models other than MDPs.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@8232 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
453342d5ba
Code tidy (remove warnings).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7636 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
17a222a59f
Typo.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7635 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
7fd5c495bd
Add labels to explicit models more cleanly and tidy code.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7633 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
60b6307181
Add experimental bisimulation option (explicit engine, hidden option).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7630 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
df53058dd4
Typo in model checking message.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7267 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
c68d4a4946
Refinements to PrismComponent interface, and to explicit.StateModelChecker handling of settings (originally due to bug caused by calling overridable methods in explicit model checking constructors).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7200 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
54b9aea80b
Tidy up of symbolic/explicit SCC/EC computer classes, incl. integration of PrismComponent interface + knock-on effects.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7128 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
3e2efc21e9
New PrismComponent class: refactoring for various model checking components.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7125 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
5bd1087e06
Re-factor model checker creation in Prism class, and add getStrat setting.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@6995 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
4ee9ed825e
Miscellaneous code changes/tidies - trying to align with prism-games a bit.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@6871 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
5018559d3e
DTMC steady-state computation for explicit engine.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@5617 bbc10eb1-c90d-0410-af57-cb519fbb1720
14 years ago
Dave Parker
e05cab0dab
Static methods to create model checkers by type.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@5314 bbc10eb1-c90d-0410-af57-cb519fbb1720
14 years ago