FSMSADF::MPExploreStateSpace::StateSpaceExploration Class Reference
#include <statespace.h>
Public Member Functions | |
Throughput | exploreThroughput (Graph *g) |
Throughput | exploreThroughputMax (Graph *g) |
Private Member Functions | |
Throughput | computeThroughput (States *visitedStates, State *initialState) |
double | computeMCM (States *visitedStates, State *initialState) |
void | printStateSpace (States *states, ostream &out) |
Detailed Description
class StateSpaceExploration The state-space analysis algorithms.
Member Function Documentation
double FSMSADF::MPExploreStateSpace::StateSpaceExploration::computeMCM | ( | States * | visitedStates, | |
State * | initialState | |||
) | [private] |
computeMCM() The function returns the MCM of the statespace.
References FSMSADF::MCMgraph::addEdge(), FSMSADF::MCMgraph::addNode(), FSMSADF::MCMgraph::calculateMCM(), FSMSADF::_MCMnode::id, and FSMSADF::MPExploreStateSpace::State::reachableStates.
Referenced by computeThroughput().
Throughput FSMSADF::MPExploreStateSpace::StateSpaceExploration::computeThroughput | ( | States * | visitedStates, | |
State * | initialState | |||
) | [private] |
computeThroughput() Comput the MCM of the state space. The inverse of the MCM is the throughput of the graph.
References color, and computeMCM().
Referenced by exploreThroughput(), and exploreThroughputMax().
Throughput FSMSADF::MPExploreStateSpace::StateSpaceExploration::exploreThroughput | ( | Graph * | g | ) |
exploreThroughput() Compute the throughput of the FSM-based SADF graph using a state-space traversal.
References FSMSADF::MPExploreStateSpace::State::addReachableState(), FSMSADF::GraphConversion::computeMaxPlusMatricesFromScenarios(), computeThroughput(), FSMSADF::MPExploreStateSpace::State::delay, FSMSADF::MPExploreStateSpace::State::executeIteration(), FSMSADF::MPExploreStateSpace::State::fsmState, FSM::Abstract::Edge::getDestination(), FSMSADF::Graph::getFSM(), FSM::Labeled::FiniteStateMachine< StateLabelType, EdgeLabelType >::getInitialState(), FSM::Abstract::State::getOutgoingEdges(), FSMSADF::MPExploreStateSpace::States::includes(), FSM::Labeled::Edge< StateLabelType, EdgeLabelType >::label, FSMSADF::FSMConverter::minimalEdgeLabeledFSM(), FSMSADF::MPExploreStateSpace::State::normalize(), FSMSADF::MPExploreStateSpace::State::previousState, FSMSADF::MPExploreStateSpace::State::print(), printStateSpace(), and FSMSADF::ScenarioMatrices::vectorSize().
Throughput FSMSADF::MPExploreStateSpace::StateSpaceExploration::exploreThroughputMax | ( | Graph * | g | ) |
exploreThroughputMax() Compute the throughput of the FSM-based SADF graph using a state-space traversal while combine multiple scenarios leading the same net state of the fsm.
References FSMSADF::MPExploreStateSpace::State::addReachableState(), FSMSADF::GraphConversion::computeMaxPlusMatricesFromScenarios(), computeThroughput(), FSMSADF::FSMConverter::convertToMatrixLabeledScenarioFSM(), FSMSADF::MPExploreStateSpace::State::delay, FSMSADF::MPExploreStateSpace::State::executeIteration(), FSMSADF::MPExploreStateSpace::State::fsmState, FSM::Abstract::Edge::getDestination(), FSMSADF::Graph::getFSM(), FSM::Abstract::State::getOutgoingEdges(), FSMSADF::MPExploreStateSpace::States::includes(), FSM::Labeled::Edge< StateLabelType, EdgeLabelType >::label, FSMSADF::FSMConverter::minimalEdgeLabeledFSM(), FSMSADF::MPExploreStateSpace::State::mpvector, FSMSADF::MPExploreStateSpace::State::normalize(), FSMSADF::MPExploreStateSpace::State::previousState, FSMSADF::MPExploreStateSpace::State::print(), and FSMSADF::ScenarioMatrices::vectorSize().
void FSMSADF::MPExploreStateSpace::StateSpaceExploration::printStateSpace | ( | States * | states, | |
ostream & | out | |||
) | [private] |
printStateSpace() The function outputs the state-space in DOT format.
References FSMSADF::MPExploreStateSpace::State::delay, FSMSADF::MPExploreStateSpace::State::fsmState, MaxPlus::Vector::get(), MaxPlus::Vector::getSize(), FSMSADF::MPExploreStateSpace::State::mpvector, and FSMSADF::MPExploreStateSpace::State::reachableStates.
Referenced by exploreThroughput().
The documentation for this class was generated from the following files: