Dave Parker
26fad9a607
Auto-switch to explicit engine for interval interation on Rmin.
6 years ago
Dave Parker
67bc15ff3d
New RewardGenerator interface for specifying information about rewards for a model.
This allows reward info to be specified separately from the model (ModelInfo & ModelGenerator).
Firstly, RewardGenerator includes basic syntactic info: the number of reward structs and their names.
Secondly it provides access to the rewards themselves.
Implementations of RewardGenerator can allow rewards to be queried in one or more ways:
by State object; by (integer) state index; or syntactically by providing a RewardStruct.
Default implementations of all methods are provided which assume that rewards are
looked up by State object and there are no rewards defined (zero reward structs).
A subset of these methods were previously in ModelInfo/ModelGenerator,
so classes that implement those interfaces and implement them should add
“implements RewardGenerator” or remove any @Override annotations.
RewardGenerator is now:
* implemented by ModulesFileModelGenerator and ModulesFileModelGeneratorSymbolic
* created and stored in Prism as needed
* passed to explicit engine model checkers via new method setModelCheckingInfo,
which now replaces setModulesFileAndPropertiesFile
* used in explicit.ConstructRewards to build reward structures
* passed to ModelGenerator2MTBDD for symbolic construction from ModelGenerators
There is also a refactor of the code for looking up index of reward structs:
New methods in ExpressionReward, including switch to RewardGenerator object,
and the methods return the index, not a RewardStruct object.
8 years ago
Dave Parker
507f78783e
Bug fix: out of range reward indices in explicit engine.
Also expand previously created bugfix regression test to multiple engines.
7 years ago
Joachim Klein
08482e9f0d
ExpressionReward: provide static variants of getRewardStructByIndexObject and getRewardStructIndexByIndexObject
Allows resolving of reward structure index objects when they occur outside of R operators.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11785 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
2c8f5427b5
Expression: add evaluateExact methods
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@11556 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 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
10 years ago
Dave Parker
f4bc0ee72c
Add equals and hashCode methods to Expression class hierarchy (Eclipse auto-generated).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10565 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
a9456fa826
Code tidy.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10564 bbc10eb1-c90d-0410-af57-cb519fbb1720
10 years ago
Dave Parker
c7d8a01190
Fix JavaDoc bugs.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10218 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
adba5a090c
ExpressionQuant: mode -> modifier.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10033 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
1945ef1d40
More refactoring of ExpressionQuant and add "mode" field, currently ignored.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10032 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
5c8439c0e6
Convert ExpressionQuant from interface to abstract class and push some shared code in ExpressionProb/Reward/SS into it.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10031 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
1f27c28465
Re-factoring in multi-objective model checking.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9481 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
e240865a70
Slight refactor of way that reward structures are looked by via ExpressionReward indices.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9462 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
72c2d1602e
Refactoring of extraction of info from P/R/S operators (in explicit engine).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9458 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
0bb55587be
Allow <<>> to be used for MDPs (explicit engine only).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9444 bbc10eb1-c90d-0410-af57-cb519fbb1720
11 years ago
Dave Parker
bbbe3311d1
Add ratio reward objectives to the property parser (copied from prism-frac) but no model checking support yet.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@8810 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
31690047fa
Refactor extraction of reward struct from index in R.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@8806 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
12 years ago
Dave Parker
daedb1e06f
Add isProposition methods to Expression classes.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7259 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
a6627b8c5a
Filters, new property semantics and corresponding code tidying.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1712 bbc10eb1-c90d-0410-af57-cb519fbb1720
16 years ago
Dave Parker
0ea0b0918e
First full version of new filter code.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1661 bbc10eb1-c90d-0410-af57-cb519fbb1720
16 years ago
Dave Parker
d199d035ed
Integration of prism-explicit branch into trunk, i.e. merge of trunk@1015-prism-explicit@1405 into trunk.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1406 bbc10eb1-c90d-0410-af57-cb519fbb1720
17 years ago
Dave Parker
6d8a658cce
Bugfix in parser (can cause LTL model checking to hang).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1112 bbc10eb1-c90d-0410-af57-cb519fbb1720
17 years ago
Dave Parker
4b889ef3e2
Removed PathExpression classes.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@710 bbc10eb1-c90d-0410-af57-cb519fbb1720
18 years ago
Dave Parker
3a718795f8
Small improvements to model checking output.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@687 bbc10eb1-c90d-0410-af57-cb519fbb1720
18 years ago
Dave Parker
5d3d24bc17
Merged prism-parser branch (revs 577:659) into trunk.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@660 bbc10eb1-c90d-0410-af57-cb519fbb1720
18 years ago