spot  1.0.2
Modules | Classes
Emptiness-checks
TA algorithms

Check whether the language of a product (spot::ta_product) between a Kripke structure and a TA is empty. It works also for the product using Generalized TA (GTA and SGTA). More...

Modules

 Emptiness-check algorithms

Classes

class  spot::state_ta_product
 A state for spot::ta_product.This state is in fact a pair of state: the state from the TA automaton and that of Kripke structure. More...
class  spot::ta_product
 A lazy product between a Testing automaton and a Kripke structure. (States are computed on the fly.) More...
class  spot::ta_check
 An implementation of the emptiness-check algorithm for a product between a TA and a Kripke structure. More...

Detailed Description

Check whether the language of a product (spot::ta_product) between a Kripke structure and a TA is empty. It works also for the product using Generalized TA (GTA and SGTA).

you should call spot::ta_check::check() to check the product automaton.
If spot::ta_check::check() returns false, then the product automaton
was found empty.  Otherwise the automaton accepts some run.

This is based on the following paper.
@verbatim 

/// { geldenhuys.06.spin, /// author = {Jaco Geldenhuys and Henri Hansen}, /// title = {Larger Automata and Less Work for {LTL} Model Checking}, /// booktitle = {Proceedings of the 13th International SPIN Workshop /// (SPIN'06)}, /// year = {2006}, /// pages = {53–70}, /// series = {Lecture Notes in Computer Science}, /// volume = {3925}, /// publisher = {Springer} /// } ///

the implementation of spot::ta_check::check() is inspired from the
two-pass algorithm of the paper above:
- the fist-pass detect all Buchi-accepting cycles and includes
 the heuristic proposed in the paper to detect some
livelock-accepting cycles.
- the second-pass detect all livelock-accepting cycles.
In addition, we add some optimizations to the fist pass:
1- Detection of all cycles containing a least
one state that is both livelock and Buchi accepting states
2- Detection of all livelock-accepting cycles containing a least
one state (k,t) such as its "TA component" t is a livelock-accepting
state that has no successors in the TA automaton.

The implementation of the algorithm of each pass is a SCC-based algorithm
inspired from spot::gtec.hh.

Please comment this page and report errors about it on the RefDocComments page.
Generated on Wed Mar 6 2013 09:25:15 for spot by doxygen 1.8.1.2