FSMSADF::MPExploreStateSpace::State Class Reference

#include <statespace.h>

Collaboration diagram for FSMSADF::MPExploreStateSpace::State:

List of all members.

Public Member Functions

 State (State *previousState,::FSM::Abstract::State *newFsmState, Matrix *m)
 ~State ()
size_t hashValue () const
bool equals (const State *s) const
int compare (const State *s) const
void executeIteration ()
void normalize ()
bool addReachableState (State *state, MPDelay d)
void print (ostream &out) const

Public Attributes

MaxPlus::Vectormpvector
::FSM::Abstract::StatefsmState
Matrix * mat
MPDelay delay
map< State *, MPDelay > reachableStates
StatepreviousState

Detailed Description

class State State represents a MaxPlus vector and a state in the FSM of the graph.


Constructor & Destructor Documentation

FSMSADF::MPExploreStateSpace::State::State ( State prevState,
::FSM::Abstract::State newFsmState,
Matrix *  m 
)

State() Constructor.

References fsmState, mat, mpvector, and previousState.

FSMSADF::MPExploreStateSpace::State::~State (  ) 

~State() Destructor


Member Function Documentation

bool FSMSADF::MPExploreStateSpace::State::addReachableState ( State state,
MPDelay  d 
)
int FSMSADF::MPExploreStateSpace::State::compare ( const State s  )  const

compare() The function implements a comparison to generate a total order for MS hash_set return -1 if receiver smaller than s, 0 if equal, otherwise 1 performs a lexicographical order on fsm state and initial tokens.

References fsmState, MaxPlus::Vector::get(), MaxPlus::Vector::getSize(), MaxPlus::MP_EPSILON, and mpvector.

Here is the call graph for this function:

bool FSMSADF::MPExploreStateSpace::State::equals ( const State s  )  const

equals() Compare the states for equality on all their token timestamps and equality of the FSM state.

References fsmState, MaxPlus::Vector::get(), MaxPlus::Vector::getSize(), MaxPlus::MP_EPSILON, and mpvector.

Referenced by FSMSADF::MPExploreStateSpace::StateComparator::operator()().

Here is the call graph for this function:

void FSMSADF::MPExploreStateSpace::State::executeIteration (  ) 

executeIteration() Execute one iteration of the scenario graph associated with this state.

References mat, mpvector, and print().

Referenced by FSMSADF::MPExploreStateSpace::StateSpaceExploration::exploreThroughput(), and FSMSADF::MPExploreStateSpace::StateSpaceExploration::exploreThroughputMax().

Here is the call graph for this function:

size_t FSMSADF::MPExploreStateSpace::State::hashValue (  )  const

hashValue() Compute hash value of the state.

References fsmState, MaxPlus::Vector::get(), MaxPlus::Vector::getSize(), and mpvector.

Referenced by FSMSADF::MPExploreStateSpace::StateHasher::operator()().

Here is the call graph for this function:

void FSMSADF::MPExploreStateSpace::State::normalize (  ) 

normalize() Normalize the production time of the tokens in all FIFOs.

References delay, mpvector, and MaxPlus::Vector::normalize().

Referenced by FSMSADF::MPExploreStateSpace::StateSpaceExploration::exploreThroughput(), and FSMSADF::MPExploreStateSpace::StateSpaceExploration::exploreThroughputMax().

Here is the call graph for this function:

void FSMSADF::MPExploreStateSpace::State::print ( ostream &  out  )  const

Member Data Documentation


The documentation for this class was generated from the following files: