FSM::Labeled::FiniteStateMachine< StateLabelType, EdgeLabelType > Class Template Reference
#include <fsm.h>
Public Types | |
typedef map< State < StateLabelType, EdgeLabelType > *, SetOfStates < StateLabelType, EdgeLabelType > * > | EquivalenceMap |
Public Member Functions | |
FiniteStateMachine () | |
~FiniteStateMachine () | |
void | addState (State< StateLabelType, EdgeLabelType > *s) |
Edge< StateLabelType, EdgeLabelType > * | addEdge (State< StateLabelType, EdgeLabelType > *src, EdgeLabelType lbl, State< StateLabelType, EdgeLabelType > *dst) |
void | setInitialState (State< StateLabelType, EdgeLabelType > *s) |
State< StateLabelType, EdgeLabelType > * | getInitialState () |
State< StateLabelType, EdgeLabelType > * | getStateLabeled (const StateLabelType &s) |
Abstract::SetOfStates * | reachableStates (void) |
SetOfStates< StateLabelType, EdgeLabelType > * | getStates (void) |
SetOfEdges< StateLabelType, EdgeLabelType > * | getEdges (void) |
FiniteStateMachine < StateLabelType, EdgeLabelType > * | determinizeEdgeLabels (void) |
FiniteStateMachine < StateLabelType, EdgeLabelType > * | minimizeEdgeLabels (void) |
Private Member Functions | |
void | insertOutgoingLabels (State< StateLabelType, EdgeLabelType > *s, set< EdgeLabelType > &labels) |
bool | edgesEquivalent (EquivalenceMap &m, State< StateLabelType, EdgeLabelType > *s1, State< StateLabelType, EdgeLabelType > *s2) |
void | mapStates (EquivalenceMap &m, SetOfStates< StateLabelType, EdgeLabelType > *sos) |
Private Attributes | |
SetOfStates< StateLabelType, EdgeLabelType > * | states |
SetOfEdges< StateLabelType, EdgeLabelType > * | edges |
State< StateLabelType, EdgeLabelType > * | initialState |
template<typename StateLabelType, typename EdgeLabelType>
class FSM::Labeled::FiniteStateMachine< StateLabelType, EdgeLabelType >
Member Typedef Documentation
typedef map< State<StateLabelType,EdgeLabelType>*, SetOfStates<StateLabelType,EdgeLabelType>*> FSM::Labeled::FiniteStateMachine< StateLabelType, EdgeLabelType >::EquivalenceMap |
Constructor & Destructor Documentation
FSM::Labeled::FiniteStateMachine< StateLabelType, EdgeLabelType >::FiniteStateMachine | ( | ) | [inline] |
FSM::Labeled::FiniteStateMachine< StateLabelType, EdgeLabelType >::~FiniteStateMachine | ( | ) | [inline] |
Member Function Documentation
Edge<StateLabelType,EdgeLabelType>* FSM::Labeled::FiniteStateMachine< StateLabelType, EdgeLabelType >::addEdge | ( | State< StateLabelType, EdgeLabelType > * | src, | |
EdgeLabelType | lbl, | |||
State< StateLabelType, EdgeLabelType > * | dst | |||
) | [inline] |
Referenced by FSMSADF::FSMConverter::convertFSMToEdgeLabeled(), FSMSADF::FSMConverter::convertToFullMatrixLabeledScenarioFSM(), FSMSADF::FSMConverter::convertToMatrixLabeledScenarioFSM(), FSM::Labeled::FiniteStateMachine< pair< CId, unsigned int >, MPDelay >::determinizeEdgeLabels(), and FSM::Labeled::FiniteStateMachine< pair< CId, unsigned int >, MPDelay >::minimizeEdgeLabels().
void FSM::Labeled::FiniteStateMachine< StateLabelType, EdgeLabelType >::addState | ( | State< StateLabelType, EdgeLabelType > * | s | ) | [inline] |
Referenced by FSMSADF::FSMConverter::convertFSMToEdgeLabeled(), FSMSADF::FSMConverter::convertToFullMatrixLabeledScenarioFSM(), FSMSADF::FSMConverter::convertToMatrixLabeledScenarioFSM(), FSM::Labeled::FiniteStateMachine< pair< CId, unsigned int >, MPDelay >::determinizeEdgeLabels(), and FSM::Labeled::FiniteStateMachine< pair< CId, unsigned int >, MPDelay >::minimizeEdgeLabels().
FiniteStateMachine<StateLabelType,EdgeLabelType>* FSM::Labeled::FiniteStateMachine< StateLabelType, EdgeLabelType >::determinizeEdgeLabels | ( | void | ) | [inline] |
bool FSM::Labeled::FiniteStateMachine< StateLabelType, EdgeLabelType >::edgesEquivalent | ( | EquivalenceMap & | m, | |
State< StateLabelType, EdgeLabelType > * | s1, | |||
State< StateLabelType, EdgeLabelType > * | s2 | |||
) | [inline, private] |
SetOfEdges<StateLabelType,EdgeLabelType>* FSM::Labeled::FiniteStateMachine< StateLabelType, EdgeLabelType >::getEdges | ( | void | ) | [inline] |
State<StateLabelType,EdgeLabelType>* FSM::Labeled::FiniteStateMachine< StateLabelType, EdgeLabelType >::getInitialState | ( | ) | [inline, virtual] |
Implements FSM::Abstract::FiniteStateMachine.
Reimplemented in FSM::StateStringLabeled::FiniteStateMachine.
Referenced by FSMSADF::FSMConverter::convertToFullMatrixLabeledScenarioFSM(), FSMSADF::FSMConverter::convertToMatrixLabeledScenarioFSM(), and FSMSADF::MPExploreStateSpace::StateSpaceExploration::exploreThroughput().
State<StateLabelType,EdgeLabelType>* FSM::Labeled::FiniteStateMachine< StateLabelType, EdgeLabelType >::getStateLabeled | ( | const StateLabelType & | s | ) | [inline] |
SetOfStates<StateLabelType,EdgeLabelType>* FSM::Labeled::FiniteStateMachine< StateLabelType, EdgeLabelType >::getStates | ( | void | ) | [inline] |
void FSM::Labeled::FiniteStateMachine< StateLabelType, EdgeLabelType >::insertOutgoingLabels | ( | State< StateLabelType, EdgeLabelType > * | s, | |
set< EdgeLabelType > & | labels | |||
) | [inline, private] |
void FSM::Labeled::FiniteStateMachine< StateLabelType, EdgeLabelType >::mapStates | ( | EquivalenceMap & | m, | |
SetOfStates< StateLabelType, EdgeLabelType > * | sos | |||
) | [inline, private] |
FiniteStateMachine<StateLabelType,EdgeLabelType>* FSM::Labeled::FiniteStateMachine< StateLabelType, EdgeLabelType >::minimizeEdgeLabels | ( | void | ) | [inline] |
Referenced by FSMSADF::FSMConverter::minimalEdgeLabeledFSM().
Abstract::SetOfStates* FSM::Labeled::FiniteStateMachine< StateLabelType, EdgeLabelType >::reachableStates | ( | void | ) | [inline] |
Reimplemented in FSM::StateStringLabeled::FiniteStateMachine.
void FSM::Labeled::FiniteStateMachine< StateLabelType, EdgeLabelType >::setInitialState | ( | State< StateLabelType, EdgeLabelType > * | s | ) | [inline] |
Referenced by FSMSADF::FSMConverter::convertFSMToEdgeLabeled(), FSMSADF::FSMConverter::convertToFullMatrixLabeledScenarioFSM(), FSMSADF::FSMConverter::convertToMatrixLabeledScenarioFSM(), FSM::Labeled::FiniteStateMachine< pair< CId, unsigned int >, MPDelay >::determinizeEdgeLabels(), and FSM::Labeled::FiniteStateMachine< pair< CId, unsigned int >, MPDelay >::minimizeEdgeLabels().
Member Data Documentation
SetOfEdges<StateLabelType,EdgeLabelType>* FSM::Labeled::FiniteStateMachine< StateLabelType, EdgeLabelType >::edges [private] |
State<StateLabelType,EdgeLabelType>* FSM::Labeled::FiniteStateMachine< StateLabelType, EdgeLabelType >::initialState [private] |
SetOfStates<StateLabelType,EdgeLabelType>* FSM::Labeled::FiniteStateMachine< StateLabelType, EdgeLabelType >::states [private] |
The documentation for this class was generated from the following file: