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

Compute the SCCs of a TGBA. More...

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

Inheritance diagram for spot::opt_tarjan_scc:
Inheritance graph
Collaboration diagram for spot::opt_tarjan_scc:
Collaboration graph

Classes

struct  pair_state_iter
 

Public Member Functions

 opt_tarjan_scc (instanciator *i, std::string option="", bool swarm=false)
 A constructor taking the automaton to check. More...
 
virtual ~opt_tarjan_scc ()
 A destructor. 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 dfs_pop ()
 Pop states already explored. More...
 
virtual bool dfs_update (fasttgba_state *s)
 the update for backedges 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

Compute the SCCs of a TGBA.

This implementation use many optimisations

Member Typedef Documentation

The map of visited states.

Member Enumeration Documentation

The color for a new State.

Constructor & Destructor Documentation

spot::opt_tarjan_scc::opt_tarjan_scc ( instanciator i,
std::string  option = "",
bool  swarm = false 
)

A constructor taking the automaton to check.

virtual spot::opt_tarjan_scc::~opt_tarjan_scc ( )
virtual

A destructor.

Member Function Documentation

bool spot::opt_tarjan_scc::check ( )
virtual

The implementation of the interface.

Implements spot::ec.

virtual void spot::opt_tarjan_scc::dfs_pop ( )
protectedvirtual

Pop states already explored.

Reimplemented in spot::concur_opt_tarjan_ec, spot::opt_tarjan_ec, and spot::concur_opt_tarjan_scc.

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

Push a new state to explore.

Reimplemented in spot::concur_opt_tarjan_scc.

virtual bool spot::opt_tarjan_scc::dfs_update ( fasttgba_state s)
protectedvirtual

the update for backedges

Reimplemented in spot::concur_opt_tarjan_ec, spot::opt_tarjan_ec, and spot::concur_opt_tarjan_scc.

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

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 )
protectedvirtual

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 ( )
protected

Fix set ups for the algo.

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

the main procedure

Reimplemented in spot::concur_opt_tarjan_scc.

Member Data Documentation

const fasttgba* spot::opt_tarjan_scc::a_
protected

the automaton that will be used for the Emptiness check

deadstore* spot::opt_tarjan_scc::deadstore_
protected

The store for Deads states.

unsigned int spot::opt_tarjan_scc::dfs_size_
protected

keep dfs size

stack_of_lowlink* spot::opt_tarjan_scc::dstack_
protected

Use a "generic" lowlink stack.

seen_map spot::opt_tarjan_scc::H
protected

the HashMap Live

const instance_automaton* spot::opt_tarjan_scc::inst
protected

The instance automaton.

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

The live stack.

unsigned int spot::opt_tarjan_scc::max_dfs_size_
protected

keep peack size

unsigned int spot::opt_tarjan_scc::max_live_size_
protected

keep peack size

int spot::opt_tarjan_scc::memory_cost_
protected

evaluates memory

int spot::opt_tarjan_scc::roots_poped_cpt_
protected

count UPDATE loop iterations

int spot::opt_tarjan_scc::states_cpt_
protected

count states

bool spot::opt_tarjan_scc::swarm_
protected

shall use swarming?

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

the todo stack

int spot::opt_tarjan_scc::transitions_cpt_
protected

count transitions

int spot::opt_tarjan_scc::trivial_scc_
protected

count trivial SCCs

int spot::opt_tarjan_scc::update_cpt_
protected

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