* src/tgba/bddfactory.hh, src/tgba/statebdd.hh,

src/tgba/succiterconcrete.hh, src/tgba/tgbabddconcrete.hh,
src/tgba/tgbabddcoredata.hh, src/tgba/tgbabdddict.hh: Add
Doxygen comments.
This commit is contained in:
Alexandre Duret-Lutz 2003-05-27 14:42:58 +00:00
parent 236a26ad66
commit ddf05b5d47
7 changed files with 135 additions and 51 deletions

View file

@ -5,48 +5,62 @@
namespace spot
{
/// Core data for a TGBA encoded using BDDs.
struct tgba_bdd_core_data
{
// RELATION encodes the transition relation of the TGBA.
// It uses four kinds of variables:
// - "Now" variables, that encode the current state
// - "Next" variables, that encode the destination state
// - atomic propositions, which are things to verify before going on
// to the next state
// - promises: a U b, or F b, both implie that b should be verified
// eventually. We encode this with Prom[b], and check
// that promises are fullfilled in the emptyness check.
/// \brief encodes the transition relation of the TGBA.
///
/// \c relation uses four kinds of variables:
/// \li "Now" variables, that encode the current state
/// \li "Next" variables, that encode the destination state
/// \li atomic propositions, which are things to verify before going on
/// to the next state
/// \li promises: \c a \c U \c b, or \c F \cb, both imply that \c b
/// should be verified eventually. We encode this with \c Prom[b],
/// and check that promises are fullfilled in the emptyness check.
bdd relation;
// The conjunction of all Now variables, in their positive form.
/// The conjunction of all Now variables, in their positive form.
bdd now_set;
// The conjunction of all Now variables, in their negated form.
/// The conjunction of all Now variables, in their negated form.
bdd negnow_set;
// The (positive) conjunction of all variables which are not Now variables.
/// \brief The (positive) conjunction of all variables which are
/// not Now variables.
bdd notnow_set;
// The (positive) conjunction of all variables which are not atomic
// propositions.
/// \brief The (positive) conjunction of all variables which are
/// not atomic propositions.
bdd notvar_set;
// The (positive) conjunction of all variables which are not promises.
/// The (positive) conjunction of all variables which are not promises.
bdd notprom_set;
// Record pairings between Next and Now variables.
/// Record pairings between Next and Now variables.
bddPair* next_to_now;
/// \brief Default constructor.
///
/// Initially all variable set are empty and the \c relation is true.
tgba_bdd_core_data();
/// Copy constructor.
tgba_bdd_core_data(const tgba_bdd_core_data& copy);
// Merge two core_data.
/// \brief Merge two tgba_bdd_core_data.
///
/// This is used when building a product of two automata.
tgba_bdd_core_data(const tgba_bdd_core_data& left,
const tgba_bdd_core_data& right);
const tgba_bdd_core_data& operator= (const tgba_bdd_core_data& copy);
~tgba_bdd_core_data();
/// \brief Update the variable sets to take a new pair of variables into
/// account.
void declare_now_next(bdd now, bdd next);
/// \brief Update the variable sets to take a new automic proposition into
/// account.
void declare_atomic_prop(bdd var);
/// Update the variable sets to take a new promise into account.
void declare_promise(bdd prom);
};
}