#include <magic.hh>
Collaboration diagram for spot::magic_search:
Public Member Functions | |
magic_search (const tgba_tba_proxy *a) | |
Initialize the Magic Search algorithm on the automaton a. | |
~magic_search () | |
bool | check () |
Perform a Magic Search. | |
std::ostream & | print_result (std::ostream &os, const tgba *restrict=0) const |
Print the last accepting path found. | |
Private Types | |
typedef std::pair< magic_state, tgba_succ_iterator * > | state_iter_pair |
typedef std::list< state_iter_pair > | stack_type |
typedef std::list< bdd > | tstack_type |
typedef Sgi::hash_map< const state *, magic, state_ptr_hash, state_ptr_equal > | hash_type |
Private Member Functions | |
void | push (const state *s, bool m) |
Append a new state to the current path. | |
bool | has (const state *s, bool m) const |
Check whether we already visited s with the Magic bit set to m. | |
Private Attributes | |
stack_type | stack |
Stack of visited states on the path. | |
tstack_type | tstack |
Stack of transitions. | |
hash_type | h |
Map of visited states. | |
const tgba_tba_proxy * | a |
const state * | x |
The state for which we are currently seeking an SCC. |
This algorithm comes from
@InProceedings{ godefroid.93.pstv, author = {Patrice Godefroid and Gerard .J. Holzmann}, title = {On the verification of temporal properties}, booktitle = {Proceedings of the 13th IFIP TC6/WG6.1 International Symposium on Protocol Specification, Testing, and Verification (PSTV'93)}, month = {May}, editor = {Andr{\'e} A. S. Danthine and Guy Leduc and Pierre Wolper}, address = {Liege, Belgium}, pages = {109--124}, publisher = {North-Holland}, year = {1993}, series = {IFIP Transactions}, volume = {C-16}, isbn = {0-444-81648-8} }
|
|
|
|
|
|
|
|
|
Initialize the Magic Search algorithm on the automaton a.
|
|
|
|
Perform a Magic Search.
|
|
Check whether we already visited s with the Magic bit set to m.
|
|
Print the last accepting path found. Restrict printed states to the state space of restrict if supplied. |
|
Append a new state to the current path.
|
|
The automata to check. |
|
Map of visited states.
|
|
Stack of visited states on the path.
|
|
Stack of transitions. This is an addition to the data from the paper. |
|
The state for which we are currently seeking an SCC.
|