spot  1.99.3
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
spot::tgta Class Referenceabstract

A Transition-based Generalized Testing Automaton (TGTA). More...

#include <ta/tgta.hh>

Inheritance diagram for spot::tgta:
Inheritance graph
Collaboration diagram for spot::tgta:
Collaboration graph

Public Member Functions

virtual twa_succ_iteratorsucc_iter_by_changeset (const spot::state *s, bdd change_set) const =0
 Get an iterator over the successors of state filtred by the value of the changeset on transitions between the state and his successors. More...
 
virtual stateget_init_state () const =0
 Get the initial state of the automaton. More...
 
virtual twa_succ_iteratorsucc_iter (const state *local_state) const =0
 Get an iterator over the successors of local_state. More...
 

Protected Member Functions

 tgta (const bdd_dict_ptr &d)
 

Protected Attributes

twa_succ_iteratoriter_cache_
 
bdd_dict_ptr dict_
 

Detailed Description

A Transition-based Generalized Testing Automaton (TGTA).

Transition-based Generalized Testing Automaton (TGTA) is a new kind of automaton that combines features from both TA and TGBA. From TA, we take the idea of labeling transitions with changesets, however we remove the use of livelock-acceptance (because it may require a two-pass emptiness check), and the implicit stuttering. From TGBA, we inherit the use of transition-based generalized acceptance conditions. The resulting Chimera, which we call "Transition-based Generalized Testing Automaton" (TGTA), accepts only stuttering-insensitive languages like TA, and inherits advantages from both TA and TGBA: it has a simple one-pass emptiness-check procedure (the same as algorithm the one for TGBA), and can benefit from reductions based on the stuttering of the properties pretty much like a TA. Livelock acceptance states, which are no longer supported are emulated using states with a Büchi accepting self-loop labeled by empty changeset.

Browsing such automaton can be achieved using two functions: get_initial_state and succ_iter. The former returns the initial state(s) while the latter lists the successor states of any state. A second implementation of succ_iter returns only the successors reached through a changeset passed as a parameter.

Note that although this is a transition-based automata, we never represent transitions! Transition informations are obtained by querying the iterator over the successors of a state.

Member Function Documentation

virtual state* spot::twa::get_init_state ( ) const
pure virtualinherited

Get the initial state of the automaton.

The state has been allocated with new. It is the responsability of the caller to destroy it when no longer needed.

Implemented in spot::twa_graph, spot::twa_product_init, spot::kripke_explicit, spot::twa_product, spot::taa_tgba, spot::tgba_safra_complement, spot::tgta_explicit, and spot::tgta_product.

virtual twa_succ_iterator* spot::twa::succ_iter ( const state local_state) const
pure virtualinherited

Get an iterator over the successors of local_state.

The iterator has been allocated with new. It is the responsability of the caller to delete it when no longer needed.

Implemented in spot::twa_graph, spot::kripke_explicit, spot::twa_product, spot::taa_tgba, spot::tgba_safra_complement, spot::tgta_explicit, and spot::tgta_product.

virtual twa_succ_iterator* spot::tgta::succ_iter_by_changeset ( const spot::state s,
bdd  change_set 
) const
pure virtual

Get an iterator over the successors of state filtred by the value of the changeset on transitions between the state and his successors.

The iterator has been allocated with new. It is the responsability of the caller to delete it when no longer needed.

Implemented in spot::tgta_explicit.


The documentation for this class was generated from the following file:

Please direct any question, comment, or bug report to the Spot mailing list at spot@lrde.epita.fr.
Generated on Wed Aug 26 2015 08:42:38 for spot by doxygen 1.8.8