spot  1.2.1a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
spot::opt_tarjan_ec Class Reference

This class is the implementation of the tarjan-based emptiness check. It onlys needs to refine two methods that deal with acceptance sets : update and pop. More...

#include <fasttgbaalgos/ec/opt/opt_tarjan_scc.hh>

Inheritance diagram for spot::opt_tarjan_ec:
Inheritance graph
Collaboration diagram for spot::opt_tarjan_ec:
Collaboration graph

Public Member Functions

 opt_tarjan_ec (instanciator *i, std::string option="")
 
virtual void dfs_pop ()
 Pop states already explored. More...
 
virtual bool dfs_update (fasttgba_state *s)
 the update for backedges More...
 
bool check ()
 The implementation of the interface. More...
 
std::string extra_info_csv ()
 

Protected Types

enum  color { Alive, Dead, Unknown }
 The color for a new State. More...
 
typedef Sgi::hash_map< const
fasttgba_state *, int,
fasttgba_state_ptr_hash,
fasttgba_state_ptr_equal
seen_map
 The map of visited states. More...
 

Protected Member Functions

void init ()
 Fix set ups for the algo. More...
 
virtual void dfs_push (fasttgba_state *)
 Push a new state to explore. More...
 
virtual void main ()
 the main procedure More...
 
virtual opt_tarjan_scc::color get_color (const fasttgba_state *)
 Access the color of a state. More...
 

Protected Attributes

std::vector< pair_state_itertodo
 the todo stack More...
 
stack_of_lowlinkdstack_
 Use a "generic" lowlink stack. More...
 
bool counterexample_found
 
const fasttgbaa_
 the automaton that will be used for the Emptiness check More...
 
std::vector< const
spot::fasttgba_state * > 
live
 The live stack. More...
 
seen_map H
 the HashMap Live More...
 
deadstoredeadstore_
 The store for Deads states. More...
 
const instance_automatoninst
 The instance automaton. More...
 
unsigned int dfs_size_
 keep dfs size More...
 
unsigned int max_live_size_
 keep peack size More...
 
unsigned int max_dfs_size_
 keep peack size More...
 
int update_cpt_
 count UPDATE calls More...
 
int roots_poped_cpt_
 count UPDATE loop iterations More...
 
int states_cpt_
 count states More...
 
int transitions_cpt_
 count transitions More...
 
int memory_cost_
 evaluates memory More...
 
int trivial_scc_
 count trivial SCCs More...
 
bool swarm_
 shall use swarming? More...
 

Detailed Description

This class is the implementation of the tarjan-based emptiness check. It onlys needs to refine two methods that deal with acceptance sets : update and pop.

Member Typedef Documentation

typedef Sgi::hash_map<const fasttgba_state*, int, fasttgba_state_ptr_hash, fasttgba_state_ptr_equal> spot::opt_tarjan_scc::seen_map
protectedinherited

The map of visited states.

Member Enumeration Documentation

enum spot::opt_tarjan_scc::color
protectedinherited

The color for a new State.

Member Function Documentation

bool spot::opt_tarjan_scc::check ( )
virtualinherited

The implementation of the interface.

Implements spot::ec.

virtual void spot::opt_tarjan_ec::dfs_pop ( )
virtual

Pop states already explored.

Reimplemented from spot::opt_tarjan_scc.

virtual void spot::opt_tarjan_scc::dfs_push ( fasttgba_state )
protectedvirtualinherited

Push a new state to explore.

Reimplemented in spot::concur_opt_tarjan_scc.

virtual bool spot::opt_tarjan_ec::dfs_update ( fasttgba_state s)
virtual

the update for backedges

Reimplemented from spot::opt_tarjan_scc.

std::string spot::opt_tarjan_scc::extra_info_csv ( )
inherited

Supply more information in a CSV way Informations are : Number of merge, number of states mark as dead.

virtual opt_tarjan_scc::color spot::opt_tarjan_scc::get_color ( const fasttgba_state )
protectedvirtualinherited

Access the color of a state.

Storage for counterexample found or not

Reimplemented in spot::concur_opt_tarjan_scc.

void spot::opt_tarjan_scc::init ( )
protectedinherited

Fix set ups for the algo.

virtual void spot::opt_tarjan_scc::main ( )
protectedvirtualinherited

the main procedure

Reimplemented in spot::concur_opt_tarjan_scc.

Member Data Documentation

const fasttgba* spot::opt_tarjan_scc::a_
protectedinherited

the automaton that will be used for the Emptiness check

deadstore* spot::opt_tarjan_scc::deadstore_
protectedinherited

The store for Deads states.

unsigned int spot::opt_tarjan_scc::dfs_size_
protectedinherited

keep dfs size

stack_of_lowlink* spot::opt_tarjan_scc::dstack_
protectedinherited

Use a "generic" lowlink stack.

seen_map spot::opt_tarjan_scc::H
protectedinherited

the HashMap Live

const instance_automaton* spot::opt_tarjan_scc::inst
protectedinherited

The instance automaton.

std::vector<const spot::fasttgba_state*> spot::opt_tarjan_scc::live
protectedinherited

The live stack.

unsigned int spot::opt_tarjan_scc::max_dfs_size_
protectedinherited

keep peack size

unsigned int spot::opt_tarjan_scc::max_live_size_
protectedinherited

keep peack size

int spot::opt_tarjan_scc::memory_cost_
protectedinherited

evaluates memory

int spot::opt_tarjan_scc::roots_poped_cpt_
protectedinherited

count UPDATE loop iterations

int spot::opt_tarjan_scc::states_cpt_
protectedinherited

count states

bool spot::opt_tarjan_scc::swarm_
protectedinherited

shall use swarming?

std::vector<pair_state_iter> spot::opt_tarjan_scc::todo
protectedinherited

the todo stack

int spot::opt_tarjan_scc::transitions_cpt_
protectedinherited

count transitions

int spot::opt_tarjan_scc::trivial_scc_
protectedinherited

count trivial SCCs

int spot::opt_tarjan_scc::update_cpt_
protectedinherited

count UPDATE calls


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 Tue Jan 21 2014 16:52:02 for spot by doxygen 1.8.5