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

A Transition-based ω-Automaton. More...

#include <twa/twa.hh>

Inheritance diagram for spot::twa:
Inheritance graph
Collaboration diagram for spot::twa:
Collaboration graph

Classes

class  succ_iterable
 

Public Member Functions

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

 twa (const bdd_dict_ptr &d)
 

Protected Attributes

twa_succ_iteratoriter_cache_
 
bdd_dict_ptr dict_
 

Detailed Description

A Transition-based ω-Automaton.

The acronym TωA stands for Transition-based ω-automaton. We may write it as TwA or twa, but never as TWA as the w is just a non-utf8 replacement for ω that should not be capitalized.

TωAs are transition-based automata, meanings that not-only do they have labels on arcs, they also have an acceptance condition defined in term of sets of transitions. The acceptance condition can be anything supported by the HOA format (http://adl.github.io/hoaf/). The only restriction w.r.t. the format is that this class does not support alternating automata

Previous version of Spot supported a type of automata called TGBA, which are TωA in which the acceptance condition is a set of sets of transitions that must be intersected infinitely often.

In this version, TGBAs are now represented by TωAs for which aut->acc().is_generalized_buchi()) returns true.

Browsing such automaton can be achieved using two functions: get_init_state, and succ. The former returns the initial state while the latter lists the successor states of any state.

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

Member Function Documentation

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

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 virtual

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.


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 Thu Oct 1 2015 05:49:15 for spot by doxygen 1.8.8