spot
1.2.1a
|
Public Member Functions | |
tgba_explicit (bdd_dict *dict) | |
State * | add_default_init () |
size_t | num_states () const |
transition * | create_transition (State *source, const State *dest) |
transition * | create_transition (const label_t &source, const label_t &dest) |
transition * | get_transition (const tgba_explicit_succ_iterator< State > *si) |
transition * | get_transition (const tgba_succ_iterator *si) |
void | add_condition (transition *t, const ltl::formula *f) |
void | add_conditions (transition *t, bdd f) |
This assumes that all variables in f are known from dict. More... | |
bool | has_acceptance_condition (const ltl::formula *f) const |
bool | has_state (const label_t &name) |
const State * | get_state (const label_t &name) |
Return the state associated to a given label. More... | |
const label_t & | get_label (const State *s) const |
const label_t & | get_label (const spot::state *s) const |
void | complement_all_acceptance_conditions () |
void | merge_transitions () |
State * | add_state (const label_t &name) |
State * | set_init_state (const label_t &state) |
virtual State * | get_init_state () const |
virtual tgba_explicit_succ_iterator< State > * | succ_iter (const spot::state *state, const spot::state *global_state=0, const tgba *global_automaton=0) const |
void | set_to_string_func (to_string_func_t f) |
to_string_func_t | get_to_string_func () const |
virtual std::string | format_state (const spot::state *state) const |
void | add_state_alias (const label_t &alias, const label_t &real) |
void | copy_acceptance_conditions_of (const tgba *a) |
Copy the acceptance conditions of a tgba. More... | |
void | set_acceptance_conditions (bdd acc) |
Acceptance conditions handling. More... | |
void | add_acceptance_condition (transition *t, const ltl::formula *f) |
void | add_acceptance_conditions (transition *t, bdd f) |
virtual bdd | all_acceptance_conditions () const |
virtual bdd_dict * | get_dict () const |
virtual bdd | neg_acceptance_conditions () const |
void | declare_acceptance_condition (const ltl::formula *f) |
bdd | get_acceptance_condition (const ltl::formula *f) |
bdd | support_conditions (const state *state) const |
Get a formula that must hold whatever successor is taken. More... | |
bdd | support_variables (const state *state) const |
Get the conjunctions of variables tested by the outgoing transitions of state. More... | |
virtual std::string | transition_annotation (const tgba_succ_iterator *t) const |
Return a possible annotation for the transition pointed to by the iterator. More... | |
virtual state * | project_state (const state *s, const tgba *t) const |
Project a state on an automaton. More... | |
virtual unsigned int | number_of_acceptance_conditions () const |
The number of acceptance conditions. More... | |
Protected Types | |
typedef Sgi::hash_map< label_t, State, label_hash_t > | ls_map |
typedef Sgi::hash_map< label_t, State *, label_hash_t > | alias_map |
typedef Sgi::hash_map< const State *, label_t, ptr_hash< State > > | sl_map |
Protected Member Functions | |
virtual bdd | compute_support_conditions (const spot::state *in) const |
virtual bdd | compute_support_variables (const spot::state *in) const |
Protected Attributes | |
ls_map | ls_ |
alias_map | alias_ |
sl_map | sl_ |
State * | init_ |
bdd_dict * | dict_ |
bdd | all_acceptance_conditions_ |
bool | all_acceptance_conditions_computed_ |
bdd | neg_acceptance_conditions_ |
to_string_func_t | to_string_func_ |
const state * | last_support_conditions_input_ |
const state * | last_support_variables_input_ |
|
inlineinherited |
This assumes that all acceptance conditions in f are known from dict.
|
inlineinherited |
This assumes that all variables in f are known from dict.
|
inlineinherited |
Return the state_explicit for name, creating the state if it does not exist.
|
inlineinherited |
Create an alias for a state. Any reference to alias_name will act as a reference to real_name.
|
inlineinherited |
Copy the acceptance conditions of a tgba.
If used, this function should be called before creating any transition.
References spot::tgba::neg_acceptance_conditions().
|
inlineinherited |
Return the state associated to a given label.
This is similar to add_state(), except that it returns 0 if the state does not exist.
|
virtualinherited |
The number of acceptance conditions.
Referenced by spot::dve2product_instance::get_ba_automaton().
Project a state on an automaton.
This converts s, into that corresponding spot::state for t. This is useful when you have the state of a product, and want restrict this state to a specific automata occuring in the product.
It goes without saying that s and t should be compatible (i.e., s is a state of t).
state*
(the projected state) that must be destroyed by the caller. Reimplemented in spot::tgba_union, spot::tgba_product, spot::tgba_tba_proxy, spot::tgba_scc, and spot::tgba_proxy.
|
inlineinherited |
Acceptance conditions handling.
References spot::compute_neg_acceptance_conditions().
|
inherited |
Get a formula that must hold whatever successor is taken.
This can be as simple as bddtrue
, or more completely the disjunction of the condition of all successors. This is used as an hint by succ_iter()
to reduce the number of successor to compute in a product.
Sub classes should implement compute_support_conditions(), this function is just a wrapper that will cache the last return value for efficiency.
|
inherited |
Get the conjunctions of variables tested by the outgoing transitions of state.
All variables tested by outgoing transitions must be returned. This is mandatory.
This is used as an hint by some succ_iter()
to reduce the number of successor to compute in a product.
Sub classes should implement compute_support_variables(), this function is just a wrapper that will cache the last return value for efficiency.
|
virtualinherited |
Return a possible annotation for the transition pointed to by the iterator.
You may decide to use annotations when building a tgba class that represents the state space of a model, for instance to indicate how the tgba transitions relate to the original model (e.g. the annotation could be the name of a PetriNet transition, or the line number of some textual formalism).
Implementing this method is optional; the default annotation is the empty string.
This method is used for instance in dotty_reachable(), and replay_tgba_run().
t | a non-done tgba_succ_iterator for this automaton |
Reimplemented in spot::tgba_product, spot::tgba_scc, and spot::tgba_proxy.