Browse Source
NOTES.
NOTES.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@2161 bbc10eb1-c90d-0410-af57-cb519fbb1720master
4 changed files with 115 additions and 216 deletions
-
171prism/NOTES
-
90prism/NOTES-PTAS
-
40prism/NOTES-SIM
-
30prism/TODO
@ -1,90 +0,0 @@ |
|||
|
|||
TODO (before any release) |
|||
------------------------- |
|||
|
|||
* GUI |
|||
|
|||
* Tidy prism-examples/pta, incl. delete brp |
|||
|
|||
* Clarify semantic/type checks (consistency with games/digital) |
|||
|
|||
* Check guards/invariants for convexity (for now, neither can be non-convex, see below) |
|||
|
|||
* Clarify time divergence issues |
|||
|
|||
* non-zeno checks? |
|||
|
|||
* Sort VarList (two types - before and after constants evaluated). Need for simulator too. |
|||
|
|||
* Digital clocks: No time-bounded until yet |
|||
* Digital clocks: Translation done sep for each property (e.g. for cmax)? |
|||
|
|||
* Bug fix: action alphabet (syntactic) for sync lost in PTA object construction |
|||
|
|||
|
|||
TODO (later) |
|||
------------ |
|||
|
|||
* Enforce well-formedness checks (i.e. guards/resets imply target invariants) |
|||
(as opposed to say supporting strong invariants, |
|||
where targets with false invariants cannot be entered) |
|||
- zone-based: check during reach using valids |
|||
(or just during FW reach?) (nb: need to split dpost to do check) |
|||
(see non-well-formed.nm/pctl for a test case) |
|||
(if can't do that, syntax check using sat) |
|||
- digital clocks: check invariants after transform/reach? |
|||
|
|||
* On-the-fly global reachability to allow (for A-R engine): |
|||
- access to other local and global vars |
|||
- system endsystem? |
|||
(then test on Arnd's BRP model + others) |
|||
|
|||
* BRP example |
|||
|
|||
* Translate non-convex guards to DNF and multiple transitions |
|||
|
|||
* Investigate whether non-convex invariants can be supported (look at zone ops) |
|||
|
|||
|
|||
|
|||
Bugs |
|||
---- |
|||
|
|||
|
|||
Maybe todo |
|||
---------- |
|||
|
|||
* Games: Optimise number of states in time-bounded PTAs |
|||
(extras added in old target states) using until in forwards reach? |
|||
|
|||
* Fix: Creation of new names (adding extra _s) doesn't take into account prop file ot consts etc. |
|||
|
|||
* Digital clocks: urgency? |
|||
|
|||
* Digital clocks: optimisations? |
|||
|
|||
|
|||
Tidy |
|||
---- |
|||
|
|||
* Remove unneeded files from examples (prism-benchmark, rewards stuff) |
|||
|
|||
|
|||
Documentation |
|||
------------- |
|||
|
|||
Where can clocks be used |
|||
* clock constraints (just (some) binops) |
|||
- in guards |
|||
- in invariants |
|||
* resets (normal updates, but to ints only) |
|||
* var decl.s |
|||
* generally must be convex (i.e. just conj of constraints) (can be relaxed a bit for digital clocks) |
|||
|
|||
Currently, modules cannot access non-local vars (and there are no globals) |
|||
(this is too restrictive, e.g. for message passing) |
|||
|
|||
Must have single initial state (is this true for digital clocks too?) |
|||
|
|||
Invariants must come straight after var decls |
|||
|
|||
@ -1,40 +0,0 @@ |
|||
|
|||
NOW/NEXT |
|||
-------- |
|||
|
|||
|
|||
TODO (before any release) |
|||
------------------------- |
|||
|
|||
|
|||
TODO (later) |
|||
------------ |
|||
|
|||
* investigate efficiency wrt old simulator |
|||
|
|||
* add (back) support for full loop detection? (embedded into Path*?) |
|||
* add (back) early manual termination of sampling (thru expt stop?) |
|||
|
|||
* random initial state |
|||
* variable overflow etc. |
|||
* add support for "deadlock" and "init" (new EvaluationContext, model *and* state dependent) |
|||
* seed issues (currently twice in one second = same seed) |
|||
|
|||
* explicitbuildtest doesn't handle dupes in mdps (e.g. consensus) |
|||
* explicit build doesn't handle multiple initial states |
|||
|
|||
* GUI sim - add context menu to transition list with e.g. "show in model" |
|||
|
|||
* traviendo export? |
|||
|
|||
CODE: |
|||
* Optimise/tidy Choices (ChoiceList/ChoiceSingleton/etc.) |
|||
|
|||
|
|||
BUGS (later) |
|||
------------ |
|||
|
|||
* approx mc of a property loses any current simulator path in gui. |
|||
is that ok? (seems to be buggy in 3.3.1 anyway) |
|||
|
|||
|
|||
@ -1,30 +0,0 @@ |
|||
|
|||
|
|||
TODO: |
|||
|
|||
new version of valid2 (inv/g push outside) |
|||
|
|||
combined complement + intersection (terminating early) for when dbm lists get big |
|||
|
|||
---------------------- |
|||
|
|||
BUGS: |
|||
|
|||
---------------------- |
|||
---------------------- |
|||
|
|||
./forwardreach examples/repudiation/originator.des examples/repudiation/recipient.des examples/repudiation/honest_deadline40.des '*:*:before' 'true' -min -opt -nopre |
|||
Final TPSG: 416 states, 1813 distribution sets, 2221 distributions, 3751 transitions, p1max/avg = 3/4.4, p2max/avg = 2/1.2 |
|||
(avg > max) |
|||
|
|||
---------------------- |
|||
|
|||
Questions: |
|||
|
|||
is it safe to split (refine) multiple states concurrently in the way that we do? |
|||
|
|||
do we want to check for duplicate sym states when creating new ones through refinement? |
|||
- is this safe? |
|||
|
|||
are we ok to have non-diagonal c-closure algorithm? |
|||
or is it ok if only use this on initial reach graph construction? |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue