faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr > Class Template Reference

Detailed Description

template<class GlobalAttr, class StateAttr, class EventAttr, class TransAttr>
class faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >

Allows to create colored marking generators (CMGs) as the common five tupel consisting of alphabet, stateset, transition relation, initial states, marked states, and attributes for state and event properties.

Thus, it is possible to set a control status for events and to add or delete colored markings to single states. Doing so, multitasking generators can be computed and their behaviour be analysed.Methods for examining the color status are included as well as those for making a CMG accessible or strongly coaccessible. Furthermore, input and output methods for MtcSystems are included.

Definition at line 53 of file mtc_generator.h.

#include <mtc_generator.h>

Public Member Functions

Constructor, Destructor and Copy-Methods
 TmtcGenerator (void)
 Creates an emtpy MtcSystem. More...
 
 TmtcGenerator (const TmtcGenerator &rOtherGen)
 Creates an mtcgenerator from another mtcgenerator - copy constructor: More...
 
 TmtcGenerator (const vGenerator &rOtherGen)
 Creates an mtcgenerator from another generator - copy constructor. More...
 
 TmtcGenerator (const std::string &rFileName)
 Constructs an MtcSystem from file. More...
 
 ~TmtcGenerator (void)
 Destructor for MtcSystem. More...
 
virtual TmtcGeneratorNew (void) const
 Construct on heap. More...
 
virtual TmtcGeneratorCopy (void) const
 Construct copy on heap. More...
 
virtual TmtcGeneratorAssign (const Type &rSrc)
 Assignment. More...
 
virtual TmtcGeneratoroperator= (const TmtcGenerator &rOtherGen)
 Assignment operator (uses Assign) More...
 
Color Symbol Table
SymbolTableGlobalColorSymbolTablep (void) const
 Get Pointer to global ColorSymbolTable. More...
 
SymbolTableColorSymbolTablep (void) const
 Get Pointer to ColorSymbolTable currently used by this MtcSystem. More...
 
void ColorSymbolTable (SymbolTable *pSymTab)
 Set ColorSymbolTable to be used by this MtcSystem. More...
 
void ColorSymbolTable (const TmtcGenerator &rOtherGen)
 Set ColorSymbolTable as given by rOtherGen. More...
 
Editing Colored States
Idx InsColoredState (const std::string &rStateName, const std::string &rColorName)
 Create a new named state and set the color rColorName. More...
 
Idx InsColoredState (const std::string &rStateName, Idx colorIndex)
 Create a new named state and set the color colorIndex. More...
 
Idx InsColoredState (const std::string &rStateName, const ColorSet &rColors)
 Create a new named state and set the colors from rColors. More...
 
Idx InsColoredState (const ColorSet &rColors)
 Create a new unnamed state and set the colors from rColors. More...
 
Idx InsColor (Idx stateIndex, const std::string &rColorName)
 Insert a color by name into an existing state. More...
 
void InsColor (Idx stateIndex, Idx colorIndex)
 Insert a color by index into an existing state. More...
 
void InsColors (Idx stateIndex, const ColorSet &rColors)
 Insert multiple colors from a color set into an existing state. More...
 
void DelColor (Idx stateIndex, const std::string &rColorName)
 Remove color by name from an existing state specified by index. More...
 
void DelColor (Idx stateIndex, Idx colorIndex)
 Remove color by index form an existing state specified by index. More...
 
void DelColor (const std::string &rColorName)
 Remove color by name from all states. More...
 
void DelColor (Idx colorIndex)
 Remove color by index from all states. More...
 
void ClrColors (Idx stateIndex)
 Remove all colors from a particular state. More...
 
void ClearStateAttributes ()
 Clear all the generator's state attributes. More...
 
Analyse Colored States and State Colors
void Colors (ColorSet &rColors) const
 Insert all colors used in the generator to a given ColorSet. More...
 
ColorSet Colors (void) const
 Returns a color set containing all the generator's colors. More...
 
const ColorSetColors (Idx stateIndex) const
 Return a color set which contains all colors of one state. More...
 
StateSet ColoredStates (Idx colorIndex) const
 Returns a state set containing all states that are colored with the color given by index. More...
 
StateSet ColoredStates (const std::string &rColorName) const
 Returns a state set containing all states that are colored with the color given by name. More...
 
StateSet ColoredStates () const
 Returns a state set containing all colored states of the MtcSystem. More...
 
StateSet UncoloredStates () const
 Returns a state set containing all states that are not colored. More...
 
bool ExistsColor (Idx colorIndex) const
 Check if color exists in generator. More...
 
bool ExistsColor (const std::string &rColorName) const
 Check if color exists in generator. More...
 
bool ExistsColor (Idx stateIndex, Idx colorIndex) const
 Check if color exists in a given state of the MtcSystem. More...
 
bool IsColored (void) const
 Check if there is at least one colored state in the MtcSystem. More...
 
bool IsColored (Idx stateIndex) const
 Check if the given state is colored or not. More...
 
Symbol Table
void DelColorName (Idx colorIndex)
 Finally deletes a color name and its index from the currently used symbol table. More...
 
void CheckSymbolTable (Idx colorIndex)
 Delete the given color from the symbol table if it is not used anymore in the generator by calling DelColorName. More...
 
void CheckSymbolTable (ColorSet &rColors)
 Delete all colors from the given color set from the color symbol table by calling DelColorName if they are not used anymore. More...
 
std::string ColorName (Idx colorIndex) const
 Look up the color name for a given color index. More...
 
Idx ColorIndex (const std::string &rColorName) const
 Look up the color index for a given color name. More...
 
Output Methods
virtual void DotWrite (const std::string &rFileName) const
 Writes generator to dot input format. More...
 
std::string CStr (Idx index) const
 Return pretty printable color name for index. More...
 
Reachability
StateSet StronglyCoaccessibleSet (void) const
 Generate a state set with all strongly coaccessible states. More...
 
bool StronglyCoaccessible (void)
 Make generator strongly coaccessible. More...
 
bool IsStronglyCoaccessible (void) const
 Check if MtcSystem is strongly coaccessible. More...
 
StateSet StronglyTrimSet (void) const
 Generate a state set with all the strongly trim generator's states. More...
 
bool StronglyTrim (void)
 Make generator strongly trim. More...
 
bool IsStronglyTrim (void) const
 Check if the MtcSystem is strongly trim. More...
 
Further Methods
void NewColorSymbolTable ()
 Insert a new local color symbol table. More...
 
std::map< Idx, ColorSetStateColorMap (void) const
 Return a color map with state indices and their corresponding colors. More...
 
- Public Member Functions inherited from faudes::TcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >
 TcGenerator (void)
 Creates an emtpy System object. More...
 
 TcGenerator (const vGenerator &rOtherGen)
 System from a std Generator. More...
 
 TcGenerator (const TcGenerator &rOtherGen)
 System from a System. More...
 
 TcGenerator (const std::string &rFileName)
 construct a System from file More...
 
virtual const TypeCast (const Type *pOther) const
 Type test. More...
 
TcGenerator NewCGen (void) const
 Construct on stack. More...
 
virtual TcGeneratoroperator= (const TcGenerator &rOtherGen)
 Assignment operator (uses Assign) More...
 
void InsControllableEvent (Idx index)
 Add an existing controllable event to generator. More...
 
Idx InsControllableEvent (const std::string &rName)
 Add new named controllable event to generator. More...
 
void InsUncontrollableEvent (Idx index)
 Add an existing uncontrollable event to generator. More...
 
Idx InsUncontrollableEvent (const std::string &rName)
 Add new named uncontrollable event to generator. More...
 
void SetControllable (Idx index)
 Mark event controllable (by index) More...
 
void SetControllable (const std::string &rName)
 Mark event controllable (by name) More...
 
void SetControllable (const EventSet &rEvents)
 Mark set of events controllable (by index) More...
 
void ClrControllable (Idx index)
 Mark event uncontrollable (by index) More...
 
void ClrControllable (const std::string &rName)
 Mark event uncontrollable (by name) More...
 
void ClrControllable (const EventSet &rEvents)
 Mark set of events uncontrollable (by index) More...
 
bool Controllable (Idx index) const
 Is event controllable (by index) More...
 
bool Controllable (const std::string &rName) const
 Is event controllable (by name) More...
 
EventSet ControllableEvents (void) const
 Get EventSet with controllable events. More...
 
EventSet UncontrollableEvents (void) const
 Get EventSet with uncontrollable events. More...
 
void InsObservableEvent (Idx index)
 Add an existing observable event to generator. More...
 
Idx InsObservableEvent (const std::string &rName)
 Add new named observable event to generator. More...
 
void InsUnobservableEvent (Idx index)
 Add an existing unobservable event to generator. More...
 
Idx InsUnobservableEvent (const std::string &rName)
 Add new named unobservable event to generator. More...
 
void SetObservable (Idx index)
 Mark event observable (by index) More...
 
void SetObservable (const std::string &rName)
 Mark event observable (by name) More...
 
void SetObservable (const EventSet &rEvents)
 Mark set of events observable. More...
 
void ClrObservable (Idx index)
 Mark event unobservable (by index) More...
 
void ClrObservable (const std::string &rName)
 Mark event unobservable (by name) More...
 
void ClrObservable (const EventSet &rEvents)
 Mark set of events unobservable. More...
 
bool Observable (Idx index) const
 Is event observable (by index) More...
 
bool Observable (const std::string &rName) const
 Is event observable (by name) More...
 
EventSet ObservableEvents (void) const
 Get EventSet with observable events. More...
 
EventSet UnobservableEvents (void) const
 Get EventSet with unobservable events. More...
 
void InsForcibleEvent (Idx index)
 Add an existing forcible event to generator. More...
 
Idx InsForcibleEvent (const std::string &rName)
 Add new named forcible event to generator. More...
 
void InsUnforcibleEvent (Idx index)
 Add an existing unforcible event to generator. More...
 
Idx InsUnforcibleEvent (const std::string &rName)
 Add new named unforcible event to generator. More...
 
void SetForcible (Idx index)
 Mark event forcible (by index) More...
 
void SetForcible (const std::string &rName)
 Mark event forcible (by name) More...
 
void SetForcible (const EventSet &rEvents)
 Mark set of events forcible. More...
 
void ClrForcible (Idx index)
 Mark event unforcible (by index) More...
 
void ClrForcible (const std::string &rName)
 Mark event unforcible (by name) More...
 
void ClrForcible (const EventSet &rEvents)
 Mark set of events unforcible. More...
 
bool Forcible (Idx index) const
 Is event forcible (by index) More...
 
bool Forcible (const std::string &rName) const
 Is event forcible (by name) More...
 
EventSet ForcibleEvents (void) const
 Get EventSet with forcible events. More...
 
EventSet UnforcibleEvents (void) const
 Get EventSet with unforcible events. More...
 
void InsHighlevelEvent (Idx index)
 Add an existing abstraction event to generator. More...
 
Idx InsHighlevelEvent (const std::string &rName)
 Add new named abstraction event to generator. More...
 
void InsLowlevelEvent (Idx index)
 Add an existing low-level event to generator. More...
 
Idx InsLowlevelEvent (const std::string &rName)
 Add new named low-level event to generator. More...
 
void SetHighlevel (Idx index)
 Mark event as highlevel event (by index) More...
 
void SetHighlevel (const std::string &rName)
 Mark event as highlevel event (by name) More...
 
void SetHighlevel (const EventSet &rEvents)
 Mark set of events as high-level events. More...
 
void SetLowlevel (Idx index)
 Mark event as low-level event (by index) More...
 
void SetLowlevel (const std::string &rName)
 Mark event as low-level event (by name) More...
 
void SetLowlevel (const EventSet &rEvents)
 Mark set of events as low-level events. More...
 
bool Highlevel (Idx index) const
 Test for high-level event (by index) More...
 
bool Highlevel (const std::string &rName) const
 Test for high-level event (by name) More...
 
bool Lowlevel (Idx index) const
 Test for low-level event (by index) More...
 
bool Lowlevel (const std::string &rName) const
 Test for low-level event (by name) More...
 
EventSet HighlevelEvents (void) const
 Get EventSet of all high-level events. More...
 
EventSet LowlevelEvents (void) const
 Get EventSet of all low-level events. More...
 
- Public Member Functions inherited from faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >
 TaGenerator (void)
 Construct an emtpy Generator. More...
 
 TaGenerator (const TaGenerator &rOtherGen)
 Copy-constructor (from TaGenerator, incl attributes) More...
 
 TaGenerator (const vGenerator &rOtherGen)
 Copy-constructor (from vGenerator, set attributes to default) More...
 
 TaGenerator (const std::string &rFileName)
 Construct from file. More...
 
virtual TaGenerator NewAGen (void) const
 Construct on stack. More...
 
virtual ~TaGenerator (void)
 Destructor. More...
 
virtual TaGeneratoroperator= (const TaGenerator &rOtherGen)
 Assignment operator (uses Assign(Generator&) ) More...
 
virtual void Move (TaGenerator &rGen)
 Destructive copy to other TaGenerator Copy method with increased performance at the cost of invalidating the source data. More...
 
virtual void Move (Generator &rGen)
 Destructive copy to other Generator. More...
 
bool Valid (void) const
 Check if generator is valid. More...
 
virtual void Clear (void)
 Clear generator data. More...
 
const TaEventSet< EventAttr > & Alphabet (void) const
 Return const reference to alphabet. More...
 
const TaStateSet< StateAttr > & States (void) const
 Return reference to state set. More...
 
const ATransSetTransRel (void) const
 Return reference to transition relation. More...
 
void TransRel (TransSetX1EvX2 &res) const
 Get copy of trantision relation sorted by other compare operator, e.g. More...
 
void TransRel (TransSetEvX1X2 &res) const
 
void TransRel (TransSetEvX2X1 &res) const
 
void TransRel (TransSetX2EvX1 &res) const
 
void TransRel (TransSetX2X1Ev &res) const
 
void TransRel (TransSetX1X2Ev &res) const
 
bool InsEvent (Idx index)
 Add an existing event to alphabet by index. More...
 
Idx InsEvent (const std::string &rName)
 Add named event to generator. More...
 
bool InsEvent (Idx index, const EventAttr &rAttr)
 Add an existing event to alphabet by index, incl. More...
 
Idx InsEvent (const std::string &rName, const EventAttr &rAttr)
 Add named event with attribute to generator. More...
 
void InjectAlphabet (const EventSet &rNewalphabet)
 Set mpAlphabet without consistency check. More...
 
void InjectAlphabet (const TaEventSet< EventAttr > &rNewalphabet)
 Set mpAlphabet without consistency check. More...
 
Idx InsState (void)
 Add new anonymous state to generator. More...
 
Idx InsState (const StateAttr &attr)
 Add new anonymous state with attribute to generator. More...
 
bool InsState (Idx index)
 Add (perhaps new) state to generator. More...
 
Idx InsState (const std::string &rName)
 Add new named state to generator. More...
 
Idx InsState (const std::string &rName, const StateAttr &attr)
 Add new named state with attribute to generator. More...
 
bool InsState (Idx index, const StateAttr &attr)
 Add (perhaps new) state with attribute to generator. More...
 
void InjectStates (const StateSet &rNewStates)
 Inject a complete state set without consistency checks. More...
 
void InjectStates (const TaStateSet< StateAttr > &rNewStates)
 Inject a complete state set without consistency checks. More...
 
bool SetTransition (Idx x1, Idx ev, Idx x2)
 Add a transition to generator by indices. More...
 
bool SetTransition (const std::string &rX1, const std::string &rEv, const std::string &rX2)
 Add a transition to generator by names. More...
 
bool SetTransition (const Transition &rTransition)
 Add a transition to generator. More...
 
bool SetTransition (const Transition &rTransition, const TransAttr &rAttr)
 Add a transition with attribute to generator. More...
 
void InjectTransRel (const TransSet &rNewtransrel)
 Set transition relation without consistency check. More...
 
void InjectTransRel (const ATransSet &rNewtransrel)
 Set transition relation without consistency check. More...
 
void EventAttribute (Idx index, const EventAttr &rAttr)
 Set attribute for existing event. More...
 
void EventAttribute (Idx index, const Type &rAttr)
 Set attribute for existing event. More...
 
const EventAttr & EventAttribute (Idx index) const
 Event attribute lookup. More...
 
const EventAttr & EventAttribute (const std::string &rName) const
 Event attribute lookup. More...
 
EventAttr * EventAttributep (Idx index)
 Event attribute pointer (to access Attribute methods) note: may insert explicit default attribute. More...
 
EventAttr * EventAttributep (const std::string &rName)
 Event attribute pointer (to access Attribute methods) note: may insert explicit default attribute. More...
 
void StateAttribute (Idx index, const StateAttr &rAttr)
 Set attribute for existing state. More...
 
void StateAttribute (Idx index, const Type &rAttr)
 Set attribute for existing state. More...
 
const StateAttr & StateAttribute (Idx index) const
 State attribute lookup. More...
 
StateAttr * StateAttributep (Idx index)
 State attribute pointer (to access Attribute methods) note: may insert explicit default attribute. More...
 
void TransAttribute (const Transition &rTrans, const TransAttr &rAttr)
 Set attribute for existing transition. More...
 
void TransAttribute (const Transition &rTrans, const Type &rAttr)
 Set attribute for existing transition. More...
 
const TransAttr & TransAttribute (const Transition &rTrans) const
 Get attribute for existing transition. More...
 
TransAttr * TransAttributep (const Transition &rTrans)
 Get attribute pointer for existing transition note: may insert explicit default attribute. More...
 
void GlobalAttribute (const GlobalAttr &rAttr)
 Set global attribute. More...
 
void GlobalAttribute (const Type &rAttr)
 Set global attribute. More...
 
const GlobalAttr & GlobalAttribute (void) const
 Get global attribute ref. More...
 
GlobalAttr * GlobalAttributep (void)
 Get global attribute pointer. More...
 
- Public Member Functions inherited from faudes::vGenerator
 vGenerator (void)
 Default constructor. More...
 
 vGenerator (const vGenerator &rOtherGen)
 Copy-constructror. More...
 
 vGenerator (const std::string &rFileName)
 Construct from file. More...
 
virtual ~vGenerator (void)
 Destructor. More...
 
virtual vGeneratorAssignWithoutAttributes (const vGenerator &rGen)
 Copy from other vGenerator, ignore attributes. More...
 
virtual vGeneratoroperator= (const vGenerator &rOtherGen)
 Assignment operator (uses Assign method) More...
 
virtual void Version (const std::string &rVersion, vGenerator &rResGen) const
 Create another version of this generator. More...
 
virtual void Version (Idx version, vGenerator &rResGen) const
 Create another version of this generator. More...
 
virtual void Version (const std::string &rPattern, const std::string &rReplacement, vGenerator &rResGen) const
 Create another version of this generator. More...
 
void Name (const std::string &rName)
 Set the generator's name. More...
 
const std::string & Name (void) const
 Get generator's name. More...
 
void ClearStates (void)
 Clear all states and transitions, maintain alphabet. More...
 
Idx AlphabetSize (void) const
 Get number of events in alphabet. More...
 
Idx Size (void) const
 Get generator size (number of states) More...
 
Idx TransRelSize (void) const
 Get number of transitions. More...
 
Idx InitStatesSize (void) const
 Get number of initial states. More...
 
Idx MarkedStatesSize (void) const
 Get number of marked states. More...
 
bool Empty (void) const
 Check if generator is empty (no states) More...
 
bool AlphabetEmpty (void) const
 Check if alphabet is Empty. More...
 
bool TransRelEmpty (void) const
 Check if transition relation is empty. More...
 
bool InitStatesEmpty (void) const
 Check if set of initial states are empty. More...
 
bool MarkedStatesEmpty (void) const
 Check if set of marked states are empty. More...
 
SymbolTableEventSymbolTablep (void) const
 Get Pointer to EventSymbolTable currently used by this vGenerator. More...
 
virtual void EventSymbolTablep (SymbolTable *pSymTab)
 Set EventSymbolTable to be used by this vGenerator. More...
 
virtual void EventSymbolTablep (const vGenerator &rOtherGen)
 Set EventSymbolTable as given by rOtherGen. More...
 
EventSet NewEventSet (void) const
 Create EventSet with generator's EventSymbolTable (on stack). More...
 
EventSetNewEventSetp (void) const
 Create EventSet with generator's EventSymbolTable (on heap). More...
 
Idx EventIndex (const std::string &rName) const
 Event index lookup. More...
 
std::string EventName (Idx index) const
 Event name lookup. More...
 
void EventName (Idx index, const std::string &rName)
 Set name for existing event. More...
 
std::string UniqueEventName (const std::string &rName) const
 Create a new unique symbolic event name. More...
 
bool EventRename (Idx event, const std::string &rNewName)
 Rename event in this generator. More...
 
bool EventRename (const std::string &rOldName, const std::string &rNewName)
 Rename event in this generator. More...
 
const SymbolTableStateSymbolTable (void) const
 Get StateSymbolTable. More...
 
void StateSymbolTable (const SymbolTable &rSymTab)
 Set StateSymbolTable. More...
 
Idx StateIndex (const std::string &rName) const
 State index lookup. More...
 
std::string StateName (Idx index) const
 State name lookup. More...
 
void StateName (Idx index, const std::string &rName)
 Set name of state. More...
 
void ClearStateNames (void)
 Remove all names from generator's StateSymbolTable. More...
 
void ClrStateName (Idx index)
 Clear name for individual state. More...
 
void ClrStateName (const std::string &rName)
 Clear name for individual state. More...
 
bool StateNamesEnabled (void) const
 Whether libFAUEDS functions are requested to generate state names. More...
 
void StateNamesEnabled (bool flag)
 Enable/disable libFAUEDS functions to automatically generate state names. More...
 
void SetDefaultStateNames (void)
 Assign each state a default name based on its index. More...
 
void EnforceStateNames (const std::string &rTemplate)
 For all states without a symbolic name, assign a name based on suggested template and the index. More...
 
std::string UniqueStateName (const std::string &rName) const
 Create a new unique symbolic state name. More...
 
EventSet::Iterator AlphabetBegin (void) const
 Iterator to Begin() of alphabet. More...
 
EventSet::Iterator AlphabetEnd (void) const
 Iterator to End() of alphabet. More...
 
bool ExistsEvent (Idx index) const
 Test existence of event in alphabet. More...
 
bool ExistsEvent (const std::string &rName) const
 Test existence of event in alphabet. More...
 
EventSet::Iterator FindEvent (Idx index) const
 Returns a iterator to event index in alphabet. More...
 
EventSet::Iterator FindEvent (const std::string &rName) const
 Returns a iterator to event index in alphabet. More...
 
const EventSetAlphabet (void) const
 Return const reference to alphabet. More...
 
StateSet::Iterator StatesBegin (void) const
 Iterator to Begin() of state set. More...
 
StateSet::Iterator StatesEnd (void) const
 Iterator to End() of state set. More...
 
bool ExistsState (Idx index) const
 Test existence of state in state set. More...
 
bool ExistsState (const std::string &name) const
 Test existence of state in state set. More...
 
StateSet::Iterator FindState (Idx index) const
 Returns a iterator to state index in state set. More...
 
StateSet::Iterator FindState (const std::string &rName) const
 Returns a iterator to state with specified name. More...
 
const StateSetStates (void) const
 Return reference to state set. More...
 
Idx InitState (void) const
 Return initial state. More...
 
StateSet::Iterator InitStatesBegin (void) const
 Iterator to Begin() of mInitStates. More...
 
StateSet::Iterator InitStatesEnd (void) const
 Iterator to End() of mInitStates. More...
 
bool ExistsInitState (Idx index) const
 Test existence of state in mInitStates. More...
 
StateSet::Iterator FindInitState (Idx index) const
 Iterator to state index in mInitStates. More...
 
const StateSetInitStates (void) const
 Const ref to initial states. More...
 
StateSet::Iterator MarkedStatesBegin (void) const
 Iterator to Begin() of mMarkedStates. More...
 
StateSet::Iterator MarkedStatesEnd (void) const
 Iterator to End() of mMarkedStates. More...
 
bool ExistsMarkedState (Idx index) const
 Test existence of state in mMarkedStates. More...
 
StateSet::Iterator FindMarkedState (Idx index) const
 Returns a iterator to state index in mMarkedStates. More...
 
const StateSetMarkedStates (void) const
 Return const ref of marked states. More...
 
TransSet::Iterator TransRelBegin (void) const
 Iterator to Begin() of transition relation. More...
 
TransSet::Iterator TransRelEnd (void) const
 Iterator to End() of transition relation. More...
 
TransSet::Iterator TransRelBegin (Idx x1) const
 Iterator to begin of transitions with x1 as predecessor state. More...
 
TransSet::Iterator TransRelEnd (Idx x1) const
 iterator to end of transitions with x1 as predecessor state. More...
 
TransSet::Iterator TransRelBegin (Idx x1, Idx ev) const
 iterator to begin of transitions with x1 as predecessor state and event ev. More...
 
TransSet::Iterator TransRelEnd (Idx x1, Idx ev) const
 Iterator to end of transitions with x1 as predecessor state and event ev. More...
 
TransSet::Iterator FindTransition (const std::string &rX1, const std::string &rEv, const std::string &rX2) const
 iterator to transition given by x1, ev, x2 More...
 
TransSet::Iterator FindTransition (Idx x1, Idx ev, Idx x2) const
 Iterator to transition given by x1, ev, x2. More...
 
TransSet::Iterator FindTransition (const Transition &rTrans) const
 Iterator to transition. More...
 
bool ExistsTransition (const std::string &rX1, const std::string &rEv, const std::string &rX2) const
 Test for transition given by x1, ev, x2. More...
 
bool ExistsTransition (Idx x1, Idx ev, Idx x2) const
 Test for transition given by x1, ev, x2. More...
 
bool ExistsTransition (const Transition &rTrans) const
 test for transition More...
 
bool ExistsTransition (Idx x1, Idx ev) const
 Test for transition given by x1, ev. More...
 
bool ExistsTransition (Idx x1) const
 Test for transition given by x1. More...
 
const TransSetTransRel (void) const
 Return reference to transition relation. More...
 
void TransRel (TransSetX1EvX2 &res) const
 Get copy of trantision relation sorted by other compare operator, e.g. More...
 
void TransRel (TransSetEvX1X2 &res) const
 
void TransRel (TransSetEvX2X1 &res) const
 
void TransRel (TransSetX2EvX1 &res) const
 
void TransRel (TransSetX2X1Ev &res) const
 
void TransRel (TransSetX1X2Ev &res) const
 
Transition TransitionByNames (const std::string &rX1, const std::string &rEv, const std::string &rX2) const
 Convebience function. More...
 
bool InsEvent (Idx index)
 Add an existing event to alphabet by index. More...
 
Idx InsEvent (const std::string &rName)
 Add named event to generator. More...
 
void InsEvents (const EventSet &events)
 Add new named events to generator. More...
 
bool DelEvent (Idx index)
 Delete event from generator by index. More...
 
bool DelEvent (const std::string &rName)
 Delete event from generator by name. More...
 
void DelEvents (const EventSet &rEvents)
 Delete a set of events from generator. More...
 
bool DelEventFromAlphabet (Idx index)
 Delete event from alphabet without consistency check. More...
 
void InjectAlphabet (const EventSet &rNewalphabet)
 Set mpAlphabet without consistency check. More...
 
void RestrictAlphabet (const EventSet &rNewalphabet)
 Restricts mpAlphabet incl removing resp. More...
 
Idx InsState (void)
 Add new anonymous state to generator. More...
 
bool InsState (Idx index)
 Add (perhaps new) state to generator. More...
 
Idx InsState (const std::string &rName)
 Add new named state to generator. More...
 
void InsStates (const StateSet &rStates)
 Add anonymous states to generator. More...
 
bool DelState (Idx index)
 Delete a state from generator by index. More...
 
bool DelState (const std::string &rName)
 Delete a state from generator by name. More...
 
void DelStates (const StateSet &rDelStates)
 Delete a set of states Cleans mpStates, mInitStates, mMarkedStates, mpTransrel, and mpStateSymboltable. More...
 
bool DelStateFromStates (Idx index)
 Delete a state from generator without consistency check. More...
 
StateSet::Iterator DelStateFromStates (StateSet::Iterator pos)
 Delete a state from generator without consistency check. More...
 
void RestrictStates (const StateSet &rStates)
 Restrict states Cleans mpStates, mInitStates, mMarkedStates, mpTransrel, and mpStateSymboltable. More...
 
void InjectState (Idx index)
 Inject an existing state index into generators mStates Use with care! For use in performance optimized functions. More...
 
void InjectStates (const StateSet &rNewStates)
 Inject a complete state set without consistency checks (without attributes) More...
 
Idx InsInitState (void)
 Create new anonymous state and set as initial state. More...
 
bool InsInitState (Idx index)
 Add (perhaps new) state to generator and turn it into a initial state. More...
 
Idx InsInitState (const std::string &rName)
 Create a new named state and set as initial state. More...
 
void InsInitStates (const StateSet &rStates)
 Add (perhaps new) anonymous initial states to generator
More...
 
Idx InsMarkedState (void)
 Create new anonymous state and set as marked state. More...
 
bool InsMarkedState (Idx index)
 Add (perhaps new) state to generator and turn it into a marked state. More...
 
Idx InsMarkedState (const std::string &rName)
 Create a new named state and set as marked state. More...
 
void InsMarkedStates (const StateSet &rStates)
 Add (perhaps new) anonymous initial states to generator
More...
 
void SetInitState (Idx index)
 Set an existing state as initial state by index. More...
 
void SetInitState (const std::string &rName)
 Set an existing state as initial state by name. More...
 
void InjectInitStates (const StateSet &rNewInitStates)
 Replace mInitStates with StateSet given as parameter without consistency checks. More...
 
void ClrInitState (Idx index)
 Unset an existing state as initial state by index. More...
 
void ClrInitState (const std::string &rName)
 Unset an existing state as initial state by name. More...
 
StateSet::Iterator ClrInitState (StateSet::Iterator pos)
 Unset an existing state as initial state by iterator. More...
 
void ClearInitStates (void)
 Clear all mInitStates. More...
 
void SetMarkedState (Idx index)
 Set an existing state as marked state by index. More...
 
void SetMarkedState (const std::string &rName)
 Set an existing state as marked state by name. More...
 
void ClrMarkedState (Idx index)
 Unset an existing state as marked state by index. More...
 
void ClrMarkedState (const std::string &rName)
 Unset an existing state as marked state by name. More...
 
StateSet::Iterator ClrMarkedState (StateSet::Iterator pos)
 Unset an existing state as marked state by iterator. More...
 
void ClearMarkedStates (void)
 Clear all marked states. More...
 
void InjectMarkedStates (const StateSet &rNewMarkedStates)
 Replace mMarkedStates with StateSet given as parameter without consistency checks. More...
 
bool SetTransition (Idx x1, Idx ev, Idx x2)
 Add a transition to generator by indices. More...
 
bool SetTransition (const std::string &rX1, const std::string &rEv, const std::string &rX2)
 Add a transition to generator by names. More...
 
bool SetTransition (const Transition &rTransition)
 Add a transition to generator. More...
 
void ClrTransition (Idx x1, Idx ev, Idx x2)
 Remove a transition by indices. More...
 
void ClrTransition (const Transition &rTrans)
 Remove a transition by transition object. More...
 
TransSet::Iterator ClrTransition (TransSet::Iterator it)
 Remove a transition by iterator. More...
 
void ClrTransitions (Idx x1, Idx ev)
 Remove a transitions by state and event. More...
 
void ClrTransitions (Idx x1)
 Remove a transitions by state. More...
 
void ClearTransRel (void)
 Clear all transitions. More...
 
void InjectTransition (const Transition &rTrans)
 Set transition without consistency check. More...
 
void InjectTransRel (const TransSet &rNewtransrel)
 Set transition relation without consistency check (no attributes) More...
 
virtual void ClearAttributes (void)
 Clear Attributes. More...
 
virtual bool UpdateAttributes (void)
 Updates internal attributes. More...
 
virtual void ClearEventAttributes (void)
 Clear event attributes. More...
 
virtual void ClrEventAttribute (Idx index)
 Clear attribute for existing event. More...
 
virtual void EventAttributes (const EventSet &rEventSet)
 Set attributes for existing events. More...
 
virtual void ClrStateAttribute (Idx index)
 Clear attribute for existing state. More...
 
virtual void ClearTransAttributes (void)
 Clear transition attributes. More...
 
virtual void ClrTransAttribute (const Transition &rTrans)
 Clear attribute for existing transition. More...
 
virtual void ClearGlobalAttribute (void)
 Clear global attribute. More...
 
virtual void GlobalAttributeTry (const Type &rAttr)
 Set global attribute. More...
 
StateSet AccessibleSet (void) const
 Compute set of accessible states. More...
 
bool Accessible (void)
 Make generator accessible. More...
 
bool IsAccessible (void) const
 Check if generator is accessible. More...
 
StateSet CoaccessibleSet (void) const
 Compute set of Coaccessible states. More...
 
bool Coaccessible (void)
 Make generator Coaccessible. More...
 
bool IsCoaccessible (void) const
 Check if generator is Coaccessible. More...
 
StateSet BlockingStates (void) const
 Compute set of blocking states. More...
 
StateSet TerminalStates (void) const
 Compute set of terminal states. More...
 
StateSet TerminalStates (const StateSet &rStates) const
 Compute set of terminal states. More...
 
bool IsComplete (void) const
 Check if generator is complete. More...
 
bool IsComplete (const StateSet &rStates) const
 Check if generator is complete. More...
 
bool IsComplete (const EventSet &rSigmaO) const
 Check if generator is complete w.r.t. More...
 
bool Complete (void)
 Make generator Complete. More...
 
bool Complete (const EventSet &rSigmaO)
 Make generator Complete w.r.t. More...
 
StateSet TrimSet (void) const
 Compute set of trim states. More...
 
bool Trim (void)
 Make generator trim. More...
 
bool IsTrim (void) const
 Check if generator is trim. More...
 
bool OmegaTrim (void)
 Make generator omega-trim. More...
 
bool IsOmegaTrim (void) const
 Check if generator is omega-trim. More...
 
EventSet UsedEvents (void) const
 Return used events (executed in transitions) More...
 
EventSet UnusedEvents (void) const
 Return unused events. More...
 
void MinimizeAlphabet (void)
 Set the alphabet to used events. More...
 
EventSet ActiveEventSet (Idx x1) const
 Return active event set at state x1. More...
 
TransSet ActiveTransSet (Idx x1) const
 Return active transition set at state x1. More...
 
StateSet TransRelStates (void) const
 Return the states covered by transitions. More...
 
Idx SuccessorState (Idx x1, Idx ev) const
 Return the successor state of state x1 with event ev. More...
 
StateSet SuccessorStates (Idx x1) const
 Return the successor states of state x1. More...
 
StateSet SuccessorStates (Idx x1, Idx ev) const
 Return the successor states of state x1 with event ev. More...
 
bool IsDeterministic (void) const
 Check if generator is deterministic. More...
 
void SetMinStateIndexMap (void) const
 Set minimal index map for file io of generator states. More...
 
void ClearMinStateIndexMap (void) const
 Clear minimal index map for 1:1 file io. More...
 
Idx MinStateIndex (Idx index) const
 Get state index as is it will be written to file. More...
 
void MinStateIndex (void)
 Re-enumerate states. More...
 
Idx MaxStateIndex (void) const
 Get maximum state index used in this generator. More...
 
const std::map< Idx, Idx > & MinStateIndexMap (void) const
 Get state index translation map. More...
 
std::string EStr (Idx index) const
 Pretty printable event name for index (eg for debugging). More...
 
std::string SStr (Idx index) const
 Return pretty printable state name for index (eg for debugging) More...
 
std::string TStr (const Transition &rTrans) const
 Return pretty printable transition (eg for debugging) More...
 
void GraphWrite (const std::string &rFileName, const std::string &rOutFormat="", const std::string &rDotExec="dot") const
 Produce graphical representation of this generator. More...
 
bool operator< (const vGenerator &rOtherGen) const
 Order for sorting containers of generators. More...
 
void WriteAlphabet (void) const
 Write generators alphabet to console. More...
 
std::string AlphabetToString (void) const
 Write generators alphabet to string. More...
 
void WriteAlphabet (TokenWriter &rTw) const
 Write generators alphabet to tokenwriter. More...
 
void WriteStateSet (const StateSet &rStateSet) const
 Write a stateset to console (no re-indexing). More...
 
std::string StateSetToString (const StateSet &rStateSet) const
 Write a stateset to string (no re-indexing). More...
 
std::string StateSetToText (const StateSet &rStateSet) const
 Write a stateset to formated text (no re-indexing). More...
 
void WriteStateSet (TokenWriter &rTw, const StateSet &rStateSet) const
 Write a stateset to TokenWriter. More...
 
void DWriteStateSet (TokenWriter &rTw, const StateSet &rStateSet) const
 Write a stateset to TokenWriter (debug version, no re-indexing) More...
 
std::string StatesToString (void) const
 Write stateset of this generator to a string (no re-indexing) More...
 
std::string StatesToText (void) const
 Write stateset of this generator to formated text (no re-indexing) More...
 
std::string MarkedStatesToString (void) const
 Write set of marked states to a string (no re-indexing) More...
 
std::string InitStatesToString (void) const
 Write set of initial states to a string (no re-indexing) More...
 
void WriteTransRel (void) const
 Write transition relation to console (no re-indexing) More...
 
std::string TransRelToString (void) const
 Write transition relation to string (no re-indexing) More...
 
std::string TransRelToText (void) const
 Write transition relation to formated text (no re-indexing) More...
 
void WriteTransRel (TokenWriter &rTw) const
 Write transition relation to tokenwriter. More...
 
void DWriteTransRel (TokenWriter &rTw) const
 Write transition relation to tokenwriter (debug version) More...
 
virtual void DDotWrite (const std::string &rFileName) const
 Writes generator to dot input format (no re-indexing). More...
 
virtual void XDotWrite (const std::string &rFileName) const
 Writes generator to dot input format for export to VioLib. More...
 
void ReadStateSet (TokenReader &rTr, const std::string &rLabel, StateSet &rStateSet) const
 Read a state set. More...
 
bool ReindexOnWrite (void) const
 Test whether file-i/o uses minimal state indicees. More...
 
void ReindexOnWrite (bool flag)
 Enable/disable minimal state indicees for file-i/o. More...
 
- Public Member Functions inherited from faudes::Type
 Type (void)
 Constructor. More...
 
 Type (const Type &rType)
 Copy constructor. More...
 
virtual ~Type (void)
 Destructor. More...
 
virtual Typeoperator= (const Type &rSrc)
 Assign configurationdata from other object. More...
 
virtual bool Equal (const Type &rOther) const
 Test equality of configuration data. More...
 
virtual bool operator== (const Type &rOther) const
 Test equality of configuration data. More...
 
virtual bool operator!= (const Type &rOther) const
 Test equality of configuration data. More...
 
virtual const std::string & TypeName (void) const
 Get objects's type name. More...
 
void Write (const Type *pContext=0) const
 Write configuration data to console. More...
 
void Write (const std::string &pFileName, const std::string &rLabel="", const Type *pContext=0, std::ios::openmode openmode=std::ios::out|std::ios::trunc) const
 Write configuration data to a file. More...
 
void Write (const std::string &pFileName, std::ios::openmode openmode) const
 Write configuration data to a file. More...
 
void Write (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data to TokenWriter. More...
 
virtual void XWrite (const std::string &pFileName, const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data to an XML file. More...
 
void XWrite (const Type *pContext=0) const
 Write configuration data in XML format to concole Note: this write function uses the virtual function DoXWrite(), to be reimplemented by derived classes. More...
 
void XWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data in XML format to TokenWriter. More...
 
std::string ToString (const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data to a string. More...
 
std::string ToText (const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data to a formated string. More...
 
void DWrite (const Type *pContext=0) const
 Write configuration data to console, debugging format. More...
 
void DWrite (const std::string &pFileName, const std::string &rLabel="", const Type *pContext=0, std::ios::openmode openmode=std::ios::out|std::ios::trunc) const
 Write configuration data to a file, debugging format. More...
 
void DWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data in debug format to TokenWriter. More...
 
void SWrite (TokenWriter &rTw) const
 Write statistics comment to TokenWriter. More...
 
void SWrite (void) const
 Write statistics comment to console. More...
 
std::string ToSText (void) const
 Write statistics to a string. More...
 
void Read (const std::string &rFileName, const std::string &rLabel="", const Type *pContext=0)
 Read configuration data from file with label specified. More...
 
void FromString (const std::string &rString, const std::string &rLabel="", const Type *pContext=0)
 Read configuration data from a string. More...
 
void Read (TokenReader &rTr, const std::string &rLabel="", const Type *pContext=0)
 Read configuration data from TokenReader with label sepcified. More...
 

Protected Member Functions

void DoAssign (const TmtcGenerator &rSrc)
 Assignment. More...
 
virtual void DoSWrite (TokenWriter &rTw) const
 Token output, see Type::SWrite for public wrappers. More...
 
- Protected Member Functions inherited from faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >
virtual void NewCore (void)
 Allocate my heap members (attribute dependent types) More...
 
virtual void UpdateCore (void)
 Update my secondary pointers for new core. More...
 
void DoAssign (const TaGenerator &rGen)
 Assignment. More...
 
- Protected Member Functions inherited from faudes::vGenerator
virtual void DeleteCore (void)
 Free my heap members (attribute dependent types) More...
 
void ConfigureAttributeTypes (const AttributeVoid *pNewGlobalPrototype, const StateSet *pNewStatesPrototype, const EventSet *pNewAlphabetPrototype, const TransSet *pNewTransRelPrototype)
 Configure attribute types. More...
 
void DoAssign (const vGenerator &rSrc)
 Assignment for matching type. More...
 
virtual void DoRead (TokenReader &rTr, const std::string &rLabel="", const Type *pContext=0)
 Read generator object from TokenReader, see Type::Read for public wrappers. More...
 
virtual void DoWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Write generator to TokenWriter, see Type::Write for public wrappers. More...
 
virtual void DoDWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Write generator in debugging format to TokenWriter, see Type::DWrite for public wrappers. More...
 
virtual void DoXWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Write generator to TokenWriter, see Type::XWrite for public wrappers. More...
 
void ReadAlphabet (TokenReader &rTr)
 Read the generator's alphabet from a TokenReader. More...
 
void WriteStates (TokenWriter &rTw) const
 Write generators stateset to TokenWriter. More...
 
void ReadStates (TokenReader &rTr)
 Read the generator's stateset from a TokenReader. More...
 
void XReadStateSet (TokenReader &rTr, StateSet &rStateSet, const std::string &rLabel="") const
 Read a stateset from TokenReader in XML format. More...
 
void ReadTransRel (const std::string &rFileName)
 Read the generator's transition relation from a file. More...
 
void ReadTransRel (TokenReader &rTr)
 Read the generator's transition relation from a TokenReader. More...
 
void XReadTransRel (TokenReader &rTr)
 Read the generator's transition relation from a TokenReader. More...
 
void XWriteStateSet (TokenWriter &rTw, const StateSet &rStateSet, const std::string &rLabel="") const
 Write a stateset to TokenWriter in XML format. More...
 
void XWriteTransRel (TokenWriter &rTw) const
 Write transition relation to tokenwriter in XML format. More...
 
- Protected Member Functions inherited from faudes::Type
void DoAssign (const Type &rSrc)
 Assign configuration data from other object. More...
 
bool DoEqual (const Type &rOther) const
 Test equality of configuration data. More...
 
virtual const TypeDefinitionTypeDefinitionp (void) const
 Get objects's type definition. More...
 
virtual Token XBeginTag (const std::string &rLabel="", const std::string &rFallbackLabel="") const
 

Protected Attributes

SymbolTablempColorSymbolTable
 Pointer to currently used symbol table. More...
 
- Protected Attributes inherited from faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >
TaNameSet< EventAttr > * pAlphabet
 Alphabet, pointer with actual attribute type. More...
 
TaIndexSet< StateAttr > * pStates
 State set, pointer with actual attribute type. More...
 
ATransSetpTransRel
 Transition relation, pointer with actual attribute type. More...
 
GlobalAttr * pGlobalAttribute
 Global attribute, pointer with actual attribute type. More...
 
- Protected Attributes inherited from faudes::vGenerator
std::string mMyName
 Name of generator. More...
 
Idx mId
 Number of generator. More...
 
SymbolTable mStateSymbolTable
 State symbol table (local per Generator) More...
 
SymbolTablempStateSymbolTable
 Pointer to State symbol table. More...
 
SymbolTablempEventSymbolTable
 Pointer to Event symbol table. More...
 
bool mStateNamesEnabled
 Automatic state names. More...
 
bool mReindexOnWrite
 Reindex states on file-i/o. More...
 
EventSetmpAlphabet
 Pointer to alphabet (actual type depends on attributes) More...
 
StateSetmpStates
 Pointer to state set (actual type depends on attributes) More...
 
TransSetmpTransRel
 Pointer to ransition relation (actual type depends on attributes) More...
 
AttributeVoidmpGlobalAttribute
 Pointer to lobal attribute (actual type depends on attributes) More...
 
const EventSetpAlphabetPrototype
 Pointer to alphabet prototype (incl. More...
 
const StateSetpStatesPrototype
 Pointer to state set prototype (incl. More...
 
const TransSetpTransRelPrototype
 Pointer to transition relation prototype (incl. More...
 
const AttributeVoidpGlobalPrototype
 Pointer to global attribute prototype (configures global attribute type) More...
 
StateSet mInitStates
 Initial states. More...
 
StateSet mMarkedStates
 Marked states. More...
 
std::map< Idx, IdxmMinStateIndexMap
 Map State indices to consecutive indices. More...
 

Additional Inherited Members

- Public Types inherited from faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >
typedef TaTransSet< TransAttr > ATransSet
 Convenience typdef for member transiton set. More...
 
- Static Public Member Functions inherited from faudes::vGenerator
static SymbolTableGlobalEventSymbolTablep (void)
 Get Pointer to global EventSymbolTable. More...
 
static void StateNamesEnabledDefault (bool flag)
 Sets the default for automatic state name generation. More...
 
static void ReindexOnWriteDefault (bool flag)
 Enable/disable reindexing states for file-i/o. More...
 
static bool ReindexOnWriteDefault (void)
 Enable/disable reindexing states for file-i/o. More...
 
- Static Protected Member Functions inherited from faudes::TaGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >
static const TaNameSet< EventAttr > & AlphabetTaGen (void)
 Static default alphabet prototype (incl. More...
 
static const TaIndexSet< StateAttr > & StatesTaGen (void)
 Static default state set prototype (incl. More...
 
static const ATransSetTransRelTaGen (void)
 Static default transition relation prototype (incl. More...
 
static const GlobalAttr & GlobalTaGen (void)
 Static default global attribute prototype (configures global attribute type) More...
 
- Static Protected Member Functions inherited from faudes::vGenerator
static const EventSetAlphabetVoid (void)
 Static default alphabet prototype (incl. More...
 
static const StateSetStatesVoid (void)
 Static default state set prototype (incl. More...
 
static const TransSetTransRelVoid (void)
 Static default transition relation prototype (incl. More...
 
static const AttributeVoidGlobalVoid (void)
 Static default global attribute prototype (configures global attribute type) More...
 
- Static Protected Attributes inherited from faudes::vGenerator
static Idx msObjectCount = 0
 Number of generator objects. More...
 
static bool msStateNamesEnabledDefault = true
 Default for automatic statenames. More...
 
static bool msReindexOnWriteDefault = false
 Default for automatic statenames. More...
 

Constructor & Destructor Documentation

◆ TmtcGenerator() [1/4]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::TmtcGenerator ( void  )

Creates an emtpy MtcSystem.

doxygen group

Definition at line 799 of file mtc_generator.h.

◆ TmtcGenerator() [2/4]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::TmtcGenerator ( const TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr > &  rOtherGen)

Creates an mtcgenerator from another mtcgenerator - copy constructor:

If the other MtcSystem uses a local color symbol table, the new generator also creates a local symbol table. This new one is empty! If you use a local symbol table, you should implement a copy mechanism for the entries of the original generator's symbol table.

Parameters
rOtherGenOther mtcgenerator to copy

Definition at line 805 of file mtc_generator.h.

◆ TmtcGenerator() [3/4]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::TmtcGenerator ( const vGenerator rOtherGen)

Creates an mtcgenerator from another generator - copy constructor.

Parameters
rOtherGenOther generator to copy

Definition at line 814 of file mtc_generator.h.

◆ TmtcGenerator() [4/4]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::TmtcGenerator ( const std::string &  rFileName)

Constructs an MtcSystem from file.

Define FAUDES_CHECKED for consistency checks

Parameters
rFileNameFilename
Exceptions
Exception
  • Opening/reading failed (ids 1, 50, 51)

Definition at line 821 of file mtc_generator.h.

◆ ~TmtcGenerator()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::~TmtcGenerator ( void  )
inline

Destructor for MtcSystem.

Definition at line 103 of file mtc_generator.h.

Member Function Documentation

◆ Assign()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr > & faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::Assign ( const Type rSrc)
virtual

Assignment.

Parameters
rSrcMtcSystem to copy from

Reimplemented from faudes::TcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >.

Definition at line 877 of file mtc_generator.h.

◆ CheckSymbolTable() [1/2]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::CheckSymbolTable ( ColorSet rColors)

Delete all colors from the given color set from the color symbol table by calling DelColorName if they are not used anymore.

rColors must use the same symbol table as the MtcSystem!

Parameters
rColorsColor set with all colors that will be deleted from symbol table if not used anymore
Exceptions
Exception
  • Symbol table mismatch (id 88)

Definition at line 1235 of file mtc_generator.h.

◆ CheckSymbolTable() [2/2]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::CheckSymbolTable ( Idx  colorIndex)

Delete the given color from the symbol table if it is not used anymore in the generator by calling DelColorName.

Parameters
colorIndexColor which will be deleted from symbol table if not used anymore

Definition at line 1225 of file mtc_generator.h.

◆ ClearStateAttributes()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ClearStateAttributes ( void  )
virtual

Clear all the generator's state attributes.

The current implementation also clears the color symbol table if it is local. This behaviour may change in future.

Reimplemented from faudes::vGenerator.

Definition at line 1620 of file mtc_generator.h.

◆ ClrColors()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ClrColors ( Idx  stateIndex)

Remove all colors from a particular state.

If symbol table is local, unused colors are deleted from it, global symbol table stays untouched.

Define FAUDES_CHECKED for consistency checks

Parameters
stateIndexState where colors should be removed
Exceptions
Exception
  • Index not member of set (id 200)

Definition at line 1153 of file mtc_generator.h.

◆ ColoredStates() [1/3]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
StateSet faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ColoredStates

Returns a state set containing all colored states of the MtcSystem.

Returns
State set containing colored states

Definition at line 1469 of file mtc_generator.h.

◆ ColoredStates() [2/3]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
StateSet faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ColoredStates ( const std::string &  rColorName) const

Returns a state set containing all states that are colored with the color given by name.

Parameters
rColorNameColor whose corresponding states shall be returned
Returns
State set containing appropriate states

Definition at line 1463 of file mtc_generator.h.

◆ ColoredStates() [3/3]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
StateSet faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ColoredStates ( Idx  colorIndex) const

Returns a state set containing all states that are colored with the color given by index.

Parameters
colorIndexColor whose corresponding states shall be returned
Returns
State set containing appropriate states

Definition at line 1453 of file mtc_generator.h.

◆ ColorIndex()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Idx faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ColorIndex ( const std::string &  rColorName) const

Look up the color index for a given color name.

Parameters
rColorName
Returns
Color index

Definition at line 1283 of file mtc_generator.h.

◆ ColorName()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
std::string faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ColorName ( Idx  colorIndex) const

Look up the color name for a given color index.

Parameters
colorIndex
Returns
Color name

Definition at line 1278 of file mtc_generator.h.

◆ Colors() [1/3]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::Colors ( ColorSet rColors) const

Insert all colors used in the generator to a given ColorSet.

doxygen group

Parameters
rColorsColor set in which all colors of the generator will be inserted
Exceptions
Exception
  • Symbol table mismatch (id 88)

Definition at line 1180 of file mtc_generator.h.

◆ Colors() [2/3]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
const ColorSet & faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::Colors ( Idx  stateIndex) const

Return a color set which contains all colors of one state.

Returns
Color set with state's colors
Exceptions
Exception
  • Index not member of set (id 200)

Definition at line 1207 of file mtc_generator.h.

◆ Colors() [3/3]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
ColorSet faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::Colors ( void  ) const

Returns a color set containing all the generator's colors.

Returns
Color set with generators colors

Definition at line 1196 of file mtc_generator.h.

◆ ColorSymbolTable() [1/2]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ColorSymbolTable ( const TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr > &  rOtherGen)

Set ColorSymbolTable as given by rOtherGen.

Parameters
rOtherGenOther generator

Definition at line 910 of file mtc_generator.h.

◆ ColorSymbolTable() [2/2]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ColorSymbolTable ( SymbolTable pSymTab)

Set ColorSymbolTable to be used by this MtcSystem.

Note: the managemnt of local color symbol tables needs a re-design. Dont use thus feature.

Parameters
pSymTabPointer to SymbolTable

Definition at line 905 of file mtc_generator.h.

◆ ColorSymbolTablep()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
SymbolTable * faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ColorSymbolTablep ( void  ) const

Get Pointer to ColorSymbolTable currently used by this MtcSystem.

Returns
Pointer to ColorSymbolTable

Definition at line 900 of file mtc_generator.h.

◆ Copy()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr > * faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::Copy ( void  ) const
virtual

Construct copy on heap.

Returns
New Generator

Reimplemented from faudes::TcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >.

Definition at line 842 of file mtc_generator.h.

◆ CStr()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
std::string faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::CStr ( Idx  index) const

Return pretty printable color name for index.

Primary meant for debugging messages.

Parameters
index
Returns
std::string Color name

Definition at line 1288 of file mtc_generator.h.

◆ DelColor() [1/4]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::DelColor ( const std::string &  rColorName)

Remove color by name from all states.

Parameters
rColorNameName of state color

Definition at line 1128 of file mtc_generator.h.

◆ DelColor() [2/4]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::DelColor ( Idx  colorIndex)

Remove color by index from all states.

Parameters
colorIndexIndex of state color

Definition at line 1142 of file mtc_generator.h.

◆ DelColor() [3/4]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::DelColor ( Idx  stateIndex,
const std::string &  rColorName 
)

Remove color by name from an existing state specified by index.

Define FAUDES_CHECKED for consistency checks.

Parameters
stateIndexState index
rColorNameName of the state color
Exceptions
Exception
  • Index not member of set (id 200)
  • Name not found in NameSet (id 202)

Definition at line 1073 of file mtc_generator.h.

◆ DelColor() [4/4]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::DelColor ( Idx  stateIndex,
Idx  colorIndex 
)

Remove color by index form an existing state specified by index.

Define FAUDES_CHECKED for consistency checks.

Parameters
stateIndexState index
colorIndexIndex of the state color
Exceptions
Exception
  • Index not member of set (id 200)
  • Color index not found in generator (id 205)

Definition at line 1103 of file mtc_generator.h.

◆ DelColorName()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::DelColorName ( Idx  colorIndex)

Finally deletes a color name and its index from the currently used symbol table.

doxygen group

Parameters
colorIndexIndex of color to delete from symbol table

Definition at line 1175 of file mtc_generator.h.

◆ DoAssign()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::DoAssign ( const TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr > &  rSrc)
protected

Assignment.

Definition at line 853 of file mtc_generator.h.

◆ DoSWrite()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::DoSWrite ( TokenWriter rTw) const
protectedvirtual

Token output, see Type::SWrite for public wrappers.

The method assumes that the type parameter is a faudes type and uses the provide write method per entry. Reimplement this function in derived classes for non-faudes type vectors.

Parameters
rTwReference to TokenWriter
Exceptions
Exception
  • IO errors (id 2)

Reimplemented from faudes::vGenerator.

Definition at line 1627 of file mtc_generator.h.

◆ DotWrite()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::DotWrite ( const std::string &  rFileName) const
virtual

Writes generator to dot input format.

doxygen group

The dot file format is specified by the graphiz package; see http://www.graphviz.org. The package includes the dot command line tool to generate a graphical representation of the generators graph. See also Generator::GraphWrite(). This functions sets the re-indexing to minimal indices.

Parameters
rFileNameName of file to save result

Reimplemented from faudes::vGenerator.

Definition at line 1309 of file mtc_generator.h.

◆ ExistsColor() [1/3]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ExistsColor ( const std::string &  rColorName) const

Check if color exists in generator.

Define FAUDES_CHECKED for consistency checks

Parameters
rColorNameColor name which will be examined regarding existence in the generator
Returns
true if color exists
Exceptions
Exception
  • Color name not found in symbol table (id 202)

Definition at line 1265 of file mtc_generator.h.

◆ ExistsColor() [2/3]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ExistsColor ( Idx  colorIndex) const

Check if color exists in generator.

Parameters
colorIndexIndex which will be examined regarding existence in the generator
Returns
true if color exists

Definition at line 1256 of file mtc_generator.h.

◆ ExistsColor() [3/3]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::ExistsColor ( Idx  stateIndex,
Idx  colorIndex 
) const

Check if color exists in a given state of the MtcSystem.

Define FAUDES_CHECKED for consistency checks

Parameters
stateIndexIndex which determines the generator's state
colorIndexColor index to look for in given state
Returns
true if color exists in state
Exceptions
Exception
  • Index not member of set (id 200)

Definition at line 1293 of file mtc_generator.h.

◆ GlobalColorSymbolTablep()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
SymbolTable * faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::GlobalColorSymbolTablep ( void  ) const

Get Pointer to global ColorSymbolTable.

doxygen group This is a static member of ColorSet and used as default for all derived classes and instantiated objects.

Returns
Pointer to global ColorSymbolTable

Definition at line 895 of file mtc_generator.h.

◆ InsColor() [1/2]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Idx faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::InsColor ( Idx  stateIndex,
const std::string &  rColorName 
)

Insert a color by name into an existing state.

Define FAUDES_CHECKED for consistency checks

Parameters
stateIndexIndex of state to be set as colored state
rColorNameName of state color to be added
Returns
Index of inserted color
Exceptions
Exception
  • Index not member of set (id 200)
  • Name already exists / invalid name (id 104)

Definition at line 986 of file mtc_generator.h.

◆ InsColor() [2/2]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::InsColor ( Idx  stateIndex,
Idx  colorIndex 
)

Insert a color by index into an existing state.

Define FAUDES_CHECKED for consistency checks

Parameters
stateIndexIndex of state to be set as colored state
colorIndexIndex of color to be added to state, must already exist in symbol table
Exceptions
Exception
  • State index not member of set (id 200)
  • Color index not known to symbol table (id 200)

Definition at line 1014 of file mtc_generator.h.

◆ InsColoredState() [1/4]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Idx faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::InsColoredState ( const ColorSet rColors)

Create a new unnamed state and set the colors from rColors.

Parameters
rColorsColor set
Returns
Index of new unique state

Definition at line 979 of file mtc_generator.h.

◆ InsColoredState() [2/4]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Idx faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::InsColoredState ( const std::string &  rStateName,
const ColorSet rColors 
)

Create a new named state and set the colors from rColors.

Parameters
rStateNameName of the state to add
rColorsColor set
Returns
Index of new unique state

Definition at line 972 of file mtc_generator.h.

◆ InsColoredState() [3/4]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Idx faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::InsColoredState ( const std::string &  rStateName,
const std::string &  rColorName 
)

Create a new named state and set the color rColorName.

doxygen group

Define FAUDES_CHECKED for consistency checks

Parameters
rStateNameName of the state to add
rColorNameName of the state color
Returns
Index of new unique state
Exceptions
Exception
  • Name already exists (id 104)
  • Index not member of set (id 200)

Definition at line 915 of file mtc_generator.h.

◆ InsColoredState() [4/4]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
Idx faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::InsColoredState ( const std::string &  rStateName,
Idx  colorIndex 
)

Create a new named state and set the color colorIndex.

Define FAUDES_CHECKED for consistency checks

Parameters
rStateNameName of the state to add
colorIndexIndex of the state color, must already exist in symbol table
Returns
Index of new unique state
Exceptions
Exception
  • Color index not known to symbol table (id 200)

Definition at line 953 of file mtc_generator.h.

◆ InsColors()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::InsColors ( Idx  stateIndex,
const ColorSet rColors 
)

Insert multiple colors from a color set into an existing state.

Define FAUDES_CHECKED for consistency checks

Parameters
stateIndexIndex of state to be set as colored state
rColorsReference to color set with colors to set for state, colors must already exist in symbol table
Exceptions
Exception
  • State index not member of set (id 200)
  • Symbol table mismach (id 200)
  • Symbol table mismatch (id 88)

Definition at line 1040 of file mtc_generator.h.

◆ IsColored() [1/2]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::IsColored ( Idx  stateIndex) const

Check if the given state is colored or not.

Define FAUDES_CHECKED for consistency checks

Parameters
stateIndexState to examine
Returns
True if given state is colored
Exceptions
Exception
  • State index not member of set (id 200)

Definition at line 1498 of file mtc_generator.h.

◆ IsColored() [2/2]

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::IsColored ( void  ) const

Check if there is at least one colored state in the MtcSystem.

Returns
True if there is at least one colored state

Definition at line 1489 of file mtc_generator.h.

◆ IsStronglyCoaccessible()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::IsStronglyCoaccessible ( void  ) const

Check if MtcSystem is strongly coaccessible.

Returns
True if generator is strongly coaccessible

Definition at line 1542 of file mtc_generator.h.

◆ IsStronglyTrim()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::IsStronglyTrim ( void  ) const

Check if the MtcSystem is strongly trim.

Returns
True if generator is strongly trim

Definition at line 1568 of file mtc_generator.h.

◆ New()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr > * faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::New ( void  ) const
virtual

Construct on heap.

Returns
New Generator

Reimplemented from faudes::TcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >.

Definition at line 828 of file mtc_generator.h.

◆ NewColorSymbolTable()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
void faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::NewColorSymbolTable

Insert a new local color symbol table.

doxygen group mpColorSymbolTable is reset. The color symbol table pointer in every state attribute's mColors is also reset to the new symbol table. If there already exist color entries in the current symbol table, they are copied to the new local one.

Define FAUDES_CHECKED for consistency checks

Exceptions
Exception
  • Could not insert index and symbol to symbol table (id 44)

Definition at line 1580 of file mtc_generator.h.

◆ operator=()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
virtual TmtcGenerator& faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::operator= ( const TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr > &  rOtherGen)
inlinevirtual

Assignment operator (uses Assign)

Note: you must reimplement this operator in derived classes in order to handle internal pointers correctly

Parameters
rOtherGenOther generator

Definition at line 139 of file mtc_generator.h.

◆ StateColorMap()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
std::map< Idx, ColorSet > faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::StateColorMap ( void  ) const

Return a color map with state indices and their corresponding colors.

Only states with asociated colors are part of this list.

Returns
color map Standard library map where states and corresponding colors are saved

Definition at line 1441 of file mtc_generator.h.

◆ StronglyCoaccessible()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::StronglyCoaccessible ( void  )

Make generator strongly coaccessible.

Forbidden states are deleted.

Returns
True if generator is strongly coaccessible

Example: Computation of the strongly coaccessible form of an MtcSystem

Original MtcSystem gen
From state 3 states with other colored markings cannot be reached. So, this generator is weakly coaccessible w.r.t. its color set, but not strongly coaccessible w.r.t. it.
Result of gen.StronglyCoaccessible();
Resulting MtcSystem is strongly coaccessible w.r.t its new color set where the color of the primary state 3 is missing

Definition at line 1535 of file mtc_generator.h.

◆ StronglyCoaccessibleSet()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
StateSet faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::StronglyCoaccessibleSet ( void  ) const

Generate a state set with all strongly coaccessible states.

doxygen group

Returns
StateSet Coaccessible states

Definition at line 1513 of file mtc_generator.h.

◆ StronglyTrim()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
bool faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::StronglyTrim ( void  )

Make generator strongly trim.

Therefore, the forbidden states are deleted.

Returns
True if generator is strongly trim

Example: Computation of the strongly trim form of an MtcSystem

Original MtcSystem gen
State 5 is not accessible and from state 3 other states with other colored markings cannot be reached. So, this generator is not accessible and weakly coaccessible w.r.t. its color set.
Result of gen.StronglyTrim();
Resulting MtcSystem is strongly trim, which means accessible and strongly coaccessible w.r.t its color set

Definition at line 1554 of file mtc_generator.h.

◆ StronglyTrimSet()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
StateSet faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::StronglyTrimSet ( void  ) const

Generate a state set with all the strongly trim generator's states.

Returns
StateSet All states for which generator is strongly trim

Definition at line 1547 of file mtc_generator.h.

◆ UncoloredStates()

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
StateSet faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::UncoloredStates

Returns a state set containing all states that are not colored.

Returns
State set containing uncolored states

Definition at line 1479 of file mtc_generator.h.

Member Data Documentation

◆ mpColorSymbolTable

template<class GlobalAttr , class StateAttr , class EventAttr , class TransAttr >
SymbolTable* faudes::TmtcGenerator< GlobalAttr, StateAttr, EventAttr, TransAttr >::mpColorSymbolTable
protected

Pointer to currently used symbol table.

Definition at line 721 of file mtc_generator.h.


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

libFAUDES 2.32b --- 2024.03.01 --- c++ api documentaion by doxygen