Add support for finite behaviors in the DVE interface.
* iface/dve2/dve2.hh (load_dve2): Take a "dead" argument. * iface/dve2/dve2.cc (callback_context): Add a destructor to simplify... (dve2_succ_iterator::~dve2_succ_iterator) ... this one. (convert_aps): Skip the dead proposition. (dve2_kripke::dve2_kripke): Take a dead argument, and setup alive_prop and dead_prop. (compute_state_condition, get_succ): Use a cache for the conditions and successor of the last state, to share some work between these two function. Add loops on dead states. (load_dve2): Pass dead to dve2_kripke and convert_aps. * iface/dve2/dve2check.cc: Add a -dDEAD option. * iface/dve2/finite.test, iface/dve2/finite.dve: New file. * iface/dve2/Makefile.am: Declare them.
This commit is contained in:
parent
ef976c93d0
commit
cb83e855a4
7 changed files with 246 additions and 20 deletions
11
iface/dve2/finite.dve
Executable file
11
iface/dve2/finite.dve
Executable file
|
|
@ -0,0 +1,11 @@
|
|||
process P {
|
||||
int a = 0, b = 0;
|
||||
state x;
|
||||
init x;
|
||||
|
||||
trans
|
||||
x -> x { guard a < 3 && b < 3; effect a = a + 1; },
|
||||
x -> x { guard a < 3 && b < 3; effect b = b + 1; };
|
||||
}
|
||||
|
||||
system async;
|
||||
Loading…
Add table
Add a link
Reference in a new issue