Commit graph

5 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
cb83e855a4 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.
2011-03-10 22:37:44 +01:00
Alexandre Duret-Lutz
51e6989d91 Call divine to compile dve models.
* iface/dve2/dve2.cc (compile_dve2): New function.  Compile
the *.dve source if there is no newer *.dve2C already.
(load_dve2): Call compile_dve2 when given a *.dve file.
* iface/dve2/dve2.hh (load_dve2): Document it.
2011-03-07 11:09:53 +01:00
Alexandre Duret-Lutz
8136bd412d Teach the DVE2 interface about atomic propositions such as "a <=
10" or "b != 3".  This only work for integer variables presently.

* iface/dve2/dve2.hh (load_dve2): Take an atomic_prop_set
argument to indicate the AP to observe.
* iface/dve2/dve2.cc (convert_aps): New function.  Parse the
atomic propositions in format them in a prop_set structure that
will allow fast generation of the state condition.
(load_dve2): Call convert_aps, and pass the resulting prop_set
structure to the kripke object.
(dve2_kripke::dve2_kripke): Store the prop_set structure.
(dve2_kripke::~dve2_kripke): Release the prop_set, and unregister
the bdd_variable associated to it.
(compute_state_condition): New method that uses the prop_set.
(succ_iter, state_condition): Call compute_state_condition().
* iface/dve2/dve2check.cc: Adjust the call to load_dve2 to
pass it atomic propositions read from the command line.
2011-03-06 19:17:30 +01:00
Alexandre Duret-Lutz
16b4c28859 We can now explore a divine2 compiled model, but the atomic
properties are still missing.

* iface/dve2/dve2.cc, iface/dve2/dve2.hh: Add
classes for presenting the DiVinE2 model as a kripke object.
(load_dve2): Load the *.dve2C file using libltdl.
* iface/dve2/Makefile.am: Add a dve2check program.
* iface/dve2/dve2check.cc: New file.  Currently it just
outputs the reachability graph using dotty.
2011-03-06 10:51:03 +01:00
Alexandre Duret-Lutz
3427f3bf0e Setup build system for a new dve2 interface.
* iface/dve2/dve2.cc, iface/dve2/dve2.hh: New dummy files.
* iface/dve2/Makefile.am: New file.
* iface/Makefile.am (SUBDIRS): Add dve2.
* configure.ac: Build iface/dve2/Makefile.
* README: Mention the new directory.
2011-03-05 11:13:37 +01:00