Browse Source

NOTES.

git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@2209 bbc10eb1-c90d-0410-af57-cb519fbb1720
master
Dave Parker 15 years ago
parent
commit
d435bdbc84
  1. 26
      prism/NOTES

26
prism/NOTES

@ -8,13 +8,10 @@ TODO (before any release)
------------------------- -------------------------
PTAs: PTAs:
* GUI
* (Further) tidy of prism-examples/pta * (Further) tidy of prism-examples/pta
* Clarify semantic/type checks (consistency with games/digital)
* Check guards/invariants for convexity (for now, neither can be non-convex, see below) * Check guards/invariants for convexity (for now, neither can be non-convex, see below)
* Clarify time divergence issues * Clarify time divergence issues
* non-zeno checks? * non-zeno checks?
* Sort VarList (two types - before and after constants evaluated). Need for simulator too.
======================================================= =======================================================
@ -30,7 +27,12 @@ Filters, property semantics, etc.
* Restructure Result class? e.g. separate bracketed comment? (done I think) * Restructure Result class? e.g. separate bracketed comment? (done I think)
- Errors (Exceptions) formatted properly? - Errors (Exceptions) formatted properly?
Sim:
* tidy doSampling, looking at Vincent's code
* seed issues (Vlad)
PTAs: PTAs:
* More of PCTL - even just G, bounded (not =?), etc.
* Enforce well-formedness checks (i.e. guards/resets imply target invariants) * Enforce well-formedness checks (i.e. guards/resets imply target invariants)
(as opposed to say supporting strong invariants, (as opposed to say supporting strong invariants,
where targets with false invariants cannot be entered) where targets with false invariants cannot be entered)
@ -50,19 +52,6 @@ Filters:
* Filters - no longer allowed minmax (or encode as range?) * Filters - no longer allowed minmax (or encode as range?)
* P>=p[...{filter}] means & not print (didn't print in 3.3 anyway, despite manual) * P>=p[...{filter}] means & not print (didn't print in 3.3 anyway, despite manual)
PTAs:
* 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
======================================================= =======================================================
BUG (some time) BUG (some time)
@ -87,7 +76,6 @@ PTAs:
* BRP example * BRP example
* Translate non-convex guards to DNF and multiple transitions * Translate non-convex guards to DNF and multiple transitions
* Investigate whether non-convex invariants can be supported (look at zone ops) * Investigate whether non-convex invariants can be supported (look at zone ops)
* BRP example
* Games: Optimise number of states in time-bounded PTAs * Games: Optimise number of states in time-bounded PTAs
(extras added in old target states) using until in forwards reach? (extras added in old target states) using until in forwards reach?
@ -101,11 +89,13 @@ PTAs:
(or is it ok if only use this on initial reach graph construction?) (or is it ok if only use this on initial reach graph construction?)
Simulator: Simulator:
* Variable overflow etc.
- would make sense to check in Update.update() because want to know offending command
- but need access to VarList, which we don't have
* Investigate efficiency wrt old simulator * Investigate efficiency wrt old simulator
* Add (back) support for *full* loop detection? (not just *single* self-loops) * Add (back) support for *full* loop detection? (not just *single* self-loops)
* Add (back) early manual termination of sampling (thru expt stop?) * Add (back) early manual termination of sampling (thru expt stop?)
* Random initial state * Random initial state
* Variable overflow etc.
* Add support for "deadlock" and "init" (new EvaluationContext, model *and* state dependent) * Add support for "deadlock" and "init" (new EvaluationContext, model *and* state dependent)
* Seed issues (currently twice in one second = same seed) * Seed issues (currently twice in one second = same seed)
* explicitbuildtest doesn't handle dupes in mdps (e.g. consensus) * explicitbuildtest doesn't handle dupes in mdps (e.g. consensus)

Loading…
Cancel
Save