Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members

spot::tgba_bdd_concrete_factory Class Reference

Helper class to build a spot::tgba_bdd_concrete object. More...

#include <tgbabddconcretefactory.hh>

Inheritance diagram for spot::tgba_bdd_concrete_factory:

Inheritance graph
[legend]
Collaboration diagram for spot::tgba_bdd_concrete_factory:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 tgba_bdd_concrete_factory (bdd_dict *dict)
virtual ~tgba_bdd_concrete_factory ()
int create_state (const ltl::formula *f)
int create_atomic_prop (const ltl::formula *f)
void declare_acceptance_condition (bdd b, const ltl::formula *a)
const tgba_bdd_core_dataget_core_data () const
 Get the core data for the new automata.

bdd_dictget_dict () const
void constrain_relation (bdd new_rel)
 Add a new constraint to the relation.

void finish ()
 Perfom final computations before the relation can be used.


Private Types

typedef Sgi::hash_map< const
ltl::formula *, bdd, ptr_hash<
ltl::formula > > 
acc_map_

Private Attributes

tgba_bdd_core_data data_
 Core data for the new automata.

acc_map_ acc_
 BDD associated to each acceptance condition.


Detailed Description

Helper class to build a spot::tgba_bdd_concrete object.


Member Typedef Documentation

typedef Sgi::hash_map<const ltl::formula*, bdd, ptr_hash<ltl::formula> > spot::tgba_bdd_concrete_factory::acc_map_ [private]
 


Constructor & Destructor Documentation

spot::tgba_bdd_concrete_factory::tgba_bdd_concrete_factory bdd_dict dict  ) 
 

virtual spot::tgba_bdd_concrete_factory::~tgba_bdd_concrete_factory  )  [virtual]
 


Member Function Documentation

void spot::tgba_bdd_concrete_factory::constrain_relation bdd  new_rel  ) 
 

Add a new constraint to the relation.

int spot::tgba_bdd_concrete_factory::create_atomic_prop const ltl::formula f  ) 
 

Create an atomic proposition variable for formula f.

Parameters:
f The formula to create an aotmic proposition for.
Returns:
The variable number for this state.
The atomic proposition is not created if it already exists. Instead its existing variable number is returned. Variable numbers can be turned into BDD using ithvar().

int spot::tgba_bdd_concrete_factory::create_state const ltl::formula f  ) 
 

Create a state variable for formula f.

Parameters:
f The formula to create a state for.
Returns:
The variable number for this state.
The state is not created if it already exists. Instead its existing variable number is returned. Variable numbers can be turned into BDD using ithvar().

void spot::tgba_bdd_concrete_factory::declare_acceptance_condition bdd  b,
const ltl::formula a
 

Declare an acceptance condition.

Formula such as 'f U g' or 'F g' make the promise that 'g' will be fulfilled eventually. So once one of this formula has been translated into a BDD, we use declare_acceptance_condition() to associate all other states to the acceptance set of 'g'.

Parameters:
b a BDD indicating which variables are in the acceptance set
a the formula associated

void spot::tgba_bdd_concrete_factory::finish  ) 
 

Perfom final computations before the relation can be used.

This function should be called after all propositions, state, acceptance conditions, and constraints have been declared, and before calling get_code_data() or get_dict().

const tgba_bdd_core_data& spot::tgba_bdd_concrete_factory::get_core_data  )  const [virtual]
 

Get the core data for the new automata.

Implements spot::tgba_bdd_factory.

bdd_dict* spot::tgba_bdd_concrete_factory::get_dict  )  const
 


Member Data Documentation

acc_map_ spot::tgba_bdd_concrete_factory::acc_ [private]
 

BDD associated to each acceptance condition.

tgba_bdd_core_data spot::tgba_bdd_concrete_factory::data_ [private]
 

Core data for the new automata.


The documentation for this class was generated from the following file:
Generated on Tue Jun 29 17:01:42 2004 for spot by doxygen 1.3.7