Joachim Klein
030aa4d0d8
ParamModel: support DOT output
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11649 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
ccdb02c5f2
ParamModel: provide getTransitionsIterator
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11648 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
f4ca1fbeb1
param.JasFunction.isConstant: actually return true for 0
The jas library returns false for the zero function...
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11647 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
6f4c9bf1e2
param/exact mode: Error if probabilities don't sum to 1 for some command (DTMC, MDP)
If we can can not guarantee that the probabilties for a command sum to 1 in a DTMC or
MDP then we report an error. This is similar to what happens for the explicit and
symbolic engines and fixes issue prismmodelchecker/prism#6 .
This error check can be switched off using the -noprobchecks option.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11644 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
ba83b581b6
param.Function: add isConstant() method
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11643 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
e36324ce54
ParamModelChecker: use evaluateExact to determine the P/R operator bounds
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11640 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
b030d707eb
param: Wrap result as ParamResult, support testing (for single region result)
We wrap the RegionValues returned by ParamModelChecker in a ParamResult
object, which stores additional meta-information that allow for the
result to be tested.
In test mode, if there is only a single region, tests against the given
expected RESULT expression.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11639 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
b48a81827a
param.ModelBuilder: add getParameterNames() method
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11638 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
5f17dfed2e
param: Output size information for the constructed model
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11616 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
7b8d489ee2
param/exact: support for ITE and functions in probability expressions
If-then-else expressions:
The if-expression can not refer to a parametric constant.
Other functions (min, max, floor, ...):
Arguments can not refer to parametric constants and evaluating
the function exactly has to be supported.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11615 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
d4d87c9ea3
ParamModelChecker: Use standard log handling
ParamModelChecker already has a mainLog by being a PrismComponent,
inheriting the log from the parent component.
In particular, this allows redirection of the log output via the
-mainlog parameter (as used by prism-auto).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11600 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
bf6858ee7c
param.BigRational: fix isInteger()
We have to compare the denominator to BigInteger.ONE instead of
BigRational.ONE...
Introduced in SVN 11554.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11596 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
6598fbcfa0
Tidying + refactoring in param.SymbolicEngine for alignment with simulator.Updater, on which it is based.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11578 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
70e9e56a73
BigRational: add toInt() and toBoolean() methods
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11555 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
427844cfd1
BigRational: add isInteger method
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11554 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
f3d7e01c71
BigRational: add floor() and ceil()
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11553 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
48299632a1
BigRational: add from(other) static constructor
Currently, supports int, long, double, boolean and other BigRational
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11552 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Joachim Klein
eca03981a0
param.BigRational: fix comment typo
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11551 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 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
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
a76b3c73bd
Remove (most) usage of R_F in temporal operators.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10344 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
c27598a84f
Add support for negation of simple path formulae to parametric engine.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10211 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
69d0e44ed4
Parametric model checking error message.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10209 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
937978da0b
Parametric model checking error message.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10208 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
5238c76c4c
Optimisation in the simulator for models with very large numbers of actions (from Marcus Daum + Joachim Klein).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10057 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
Ernst Moritz Hahn
892ecc31e4
fix for dtmcs with overlapping commands
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9516 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Ernst Moritz Hahn
363b6c0442
added forgotten deep copy
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9515 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Ernst Moritz Hahn
ac7b9d7f80
removed warning
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9514 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Ernst Moritz Hahn
2e0463c231
corrected choice of order in which states were eliminated. The previous approach lead to states always being eliminated in ascending state number order.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9513 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
f699af97bc
Move printout of result for parametric result to allow reuse in exact model checking.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9387 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
c99655eda9
Catch some divide-by-zero errors in JasFunction.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9385 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
f0db2c26f9
Improve handling of constants in parametric model checking - avoid conversion of fractional constants such as 1/3 to doubles and the resulting loss of precision.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9346 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
3ddbf6e3a0
Bug fix in parametric model checking (spotted by dbanisimov): some missing Expression.deepCopy() calls were resulting in rewards (and probably other things) being evaulated incorrectly.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9205 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
390344d02f
Undo accidental part of last commit
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9005 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
06c914a476
Change visibility of some classes/methods in the param package to allow use from outside the package (and fix broken build).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9004 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
946c767fb5
Change visibility of some classes/methods in the param package to allow use from outside the package.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@8964 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
d1e2870fbc
Small refactor for reward construction in other model checkers.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@8819 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
8cc49309b8
Change meaning of isLowerBound() in RelOp and fix calls to it accordingly (to address a problem caused elsewhere in prism-games).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@8623 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
d3a267a2dc
Refactor exportToDot methods for explicit model classes - subclasses just need to export their transitions, so it is easier to add more functionality regarding state info.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@8389 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
21748bcaa4
Tidy up of export-to-Dot functionality, plus new "dot" option for exporting strategy (explicit engine only, currently).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@8110 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
8291b5984c
Refactoring wrt the way that relational operators are stored for P/R/S operators (String -> RelOp).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7766 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
dada1bc4b1
Add "type" option to -exportstrat (explicit engine only) + a few changes in Strategy classes.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7602 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
1ca8edb190
Tidy up output from parametric model checking.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7591 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
10e896da5b
Code refactoring.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7589 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
21b4fcf292
Bugfix: capitalisation in parametric settings.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7588 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Mateusz Ujma
8f08ab35d3
Added StateStorage interface
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7215 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago