Plugins may use the same namespace.
Classes | |
class | TaGenerator |
Model of the common five-tupel G := (X, Sigma, Delta, X_0, X_m). More... | |
class | GeneratorPool |
A Generator pool maintains a global generator context. More... | |
class | AttributeVoid |
Minimal Attribute. More... | |
class | AttributeFlags |
Boolean flags Attribute. More... | |
class | TBaseSet |
STL style set template. More... | |
class | AttributeCFlags |
Attribute class to model event controllability properties. More... | |
class | TcGenerator |
Generator with controllability attributes. More... | |
class | Exception |
Faudes exception class. More... | |
class | IndexSet |
Set of indices. More... | |
class | TaIndexSet |
Set of indices with attributes. More... | |
class | NameSet |
Set of indices with symbolic names. More... | |
class | TaNameSet |
Set of indices with symbolic names and attributes. More... | |
class | SymbolTable |
A SymbolTable associates sybolic names with indices. More... | |
class | Token |
Tokens model atomic data for stream IO. More... | |
class | TokenReader |
A TokenReader reads sequential tokens from a file or string. More... | |
class | TokenWriter |
A TokenWriter writes sequential tokens to a file, a string or stdout. More... | |
class | Transition |
Triple (X1,Ev,X2) to represent current state, event and next state. More... | |
class | TransSort |
Alternative ordering of Transitions. More... | |
class | TTransSet |
Set of Transitions. More... | |
class | TaTransSet |
Set of Transitions with attributes. More... | |
class | vGenerator |
Virtual version of a plain generator (ie no attributes). More... | |
class | Bisimulation |
This class implements the algorithms needed for the computation of the coarsest quasi-congruence (=Bisimulation) of a given generator. More... | |
struct | Partition |
This struct implements a coset (=equivalence class) as needed for the computation of the coarsest quasi-congruence on an automaton. More... | |
Typedefs | |
typedef TaGenerator< AttributeVoid, AttributeVoid, AttributeVoid, AttributeVoid > | Generator |
Plain generator, typedef for generator with no attributes. | |
typedef unsigned long int | fType |
Convenience typdef flag data. | |
typedef TcGenerator< AttributeVoid, AttributeVoid, AttributeCFlags, AttributeVoid > | cGenerator |
Convenience typedef for std cGenerator. | |
typedef TaNameSet< AttributeCFlags > | cEventSet |
EventSet with controllablity properties. | |
typedef unsigned int | Idx |
Type definition for index type. | |
typedef IndexSet | StateSet |
typedef NameSet | EventSet |
typedef TTransSet< TransSort::X1EvX2 > | TransSet |
Type definition for default sorted TTransSet. | |
typedef TTransSet< TransSort::X1EvX2 > | TransSetX1EvX2 |
Type definition for default sorted TTransSet. | |
typedef TTransSet< TransSort::EvX1X2 > | TransSetEvX1X2 |
Type definition for ev, x1, x2 sorted TTransSet. | |
typedef TTransSet< TransSort::EvX2X1 > | TransSetEvX2X1 |
Type definition for ev, x2, x1 sorted TTransSet. | |
typedef TTransSet< TransSort::X2EvX1 > | TransSetX2EvX1 |
Type definition for x2, ev, x1 sorted TTransSet. | |
typedef TTransSet< TransSort::X2X1Ev > | TransSetX2X1Ev |
Type definition for x2, x1, ev sorted TTransSet. | |
typedef TTransSet< TransSort::X1X2Ev > | TransSetX1X2Ev |
Type definition for x1, x2, ev sorted TTransSet. | |
Functions | |
bool | cIsControllable (const cGenerator &rPlantGen, const vGenerator &rSupCandGen) |
Controllability. | |
void | cSupConNB (const cGenerator &rPlantGen, const vGenerator &rSpecGen, cGenerator &rResGen) |
Nonblocking Supremal Controllable Sublanguage. | |
void | cSupCon (const cGenerator &rPlantGen, const vGenerator &rSpecGen, cGenerator &rResGen) |
Supremal Controllable Sublanguage. | |
void | cParallel (const cGenerator &rGen1, const cGenerator &rGen2, cGenerator &rResGen) |
Parallel composition of accessible states of generators rGen1 and rGen2. | |
void | cProject (const cGenerator &rGen, const EventSet &rProjectAlphabet, cGenerator &rResGen) |
Minimized (deterministic) projection. | |
std::string | ToStringInteger (long int number) |
integer to string | |
std::string | ToStringInteger16 (long int number) |
integer to string base 16 | |
std::string | ToStringFloat (double number) |
float to string | |
std::string | ExpandString (const std::string &rString, unsigned int len) |
Fill string with spaces up to a given length if length of the string is smaller than given length parameter. | |
std::string | CollapsString (const std::string &rString, unsigned int len=70) |
Limit length of string, return head and tail of string. | |
Idx | ToIdx (const std::string &rString) |
Convert a string to Idx. | |
std::string | FDVersionString () |
Return FAUDES_VERSION as std::string. | |
std::string | FDPluginsString () |
Return FAUDES_PLUGINS as std::string. | |
std::string | FDContributorsString () |
Return contributors as std::string. | |
void | ProcessDot (const std::string &rDotFile, const std::string &rOutFile, const std::string &rOutFormat="", const std::string &rDotExec="dot") |
convenience function: process dot file to graphics output. | |
std::string | CreateTempFile (void) |
convenience function: create a temp file, length 0 | |
bool | RemoveFile (const std::string &rFileName) |
convenience function: delete file | |
StateSet | LowExitStates (const vGenerator &rLowGen, const EventSet &rHighAlph, const std::map< Idx, StateSet > &rEntryStatesMap, const TransSetX2EvX1 &rLowRevTransRel, Idx highState) |
LowExitStates return-copy function:. | |
void | LowExitStates (const EventSet &rHighAlph, const std::map< Idx, StateSet > &rEntryStatesMap, const TransSetX2EvX1 &rLowRevTransRel, Idx highState, StateSet &rLowExitStates) |
LowExitStates call-by-reference function:. | |
EventSet | ReachableEvents (const vGenerator &rLowGen, const EventSet &rHighAlph, Idx lowState) |
ReachableEvents return-copy function:. | |
void | ReachableEvents (const vGenerator &rLowGen, const EventSet &rHighAlph, Idx lowState, EventSet &rReachableEvents) |
ReachableEvents call-by-reference function:. | |
void | LocalCoaccessibleReach (const TransSetX2EvX1 &rRevTransRel, const EventSet &rHighAlph, Idx lowState, StateSet &rCoaccessibleReach) |
Compute the coaccessible reach for a local automaton. | |
void | LocalAccessibleReach (const vGenerator &rLowGen, const EventSet &rHighAlph, Idx lowState, StateSet &rAccessibleReach) |
Compute the accessible reach for a local automaton. | |
void | Parallel (const vGenerator &rGen1, const vGenerator &rGen2, vGenerator &rResGen) |
Parallel composition. | |
void | Parallel (const vGenerator &rGen1, const vGenerator &rGen2, std::map< std::pair< Idx, Idx >, Idx > &rReverseCompositionMap, vGenerator &rResGen) |
Parallel composition. | |
void | SParallel (const vGenerator &rGen1, const vGenerator &rGen2, vGenerator &rResGen) |
Shared event parallel composition. | |
void | SParallel (const vGenerator &rGen1, const vGenerator &rGen2, std::map< std::pair< Idx, Idx >, Idx > &rReverseCompositionMap, vGenerator &rResGen) |
Shared event parallel composition. | |
void | SetComposedStateNames (const vGenerator &rGen1, const vGenerator &rGen2, std::map< std::pair< Idx, Idx >, Idx > &rReverseCompositionMap, vGenerator &rGen12) |
Helper: uses reverse composition map to track state names in a paralell composition. | |
void | UniqueInit (vGenerator &rGen) |
Make initial states unique. | |
void | Deterministic (const vGenerator &rGen, vGenerator &rResGen) |
Make generator deterministic. | |
void | Deterministic (const vGenerator &rGen, std::map< Idx, StateSet > &rEntryStatesMap, vGenerator &rResGen) |
Make generator deterministic. | |
void | Deterministic (const vGenerator &rGen, std::vector< StateSet > &rPowerStates, std::vector< Idx > &rDetStates, vGenerator &rResGen) |
Make generator deterministic. | |
void | ProjectNonDet (vGenerator &rGen, const EventSet &rProjectAlphabet) |
Language projection. | |
void | Project (const vGenerator &rGen, const EventSet &rProjectAlphabet, vGenerator &rResGen) |
Minimized deterministic projection. | |
void | Project (const vGenerator &rGen, const EventSet &rProjectAlphabet, std::map< Idx, StateSet > &rEntryStatesMap, vGenerator &rResGen) |
Minimized Deterministic projection. | |
void | InvProject (vGenerator &rGen, const EventSet &rProjectAlphabet) |
Inverse projection. | |
void | CreateEntryStatesMap (const std::map< StateSet, Idx > &rRevEntryStatesMap, std::map< Idx, StateSet > &rEntryStatesMap) |
void | LanguageUnionNonDet (const vGenerator &rGen1, const vGenerator &rGen2, vGenerator &rResGen) |
Language union, nondeterministic version: This function performs the union of two languages marked by two generators; the resulting generator marks the resulting language. | |
void | LanguageUnion (const vGenerator &rGen1, const vGenerator &rGen2, vGenerator &rResGen) |
Language union, deterministic version: This function performs the union of two languages marked by two generators; the resulting generator marks the resulting language. | |
void | LanguageIntersection (const vGenerator &rGen1, const vGenerator &rGen2, vGenerator &rResGen) |
Language intersection: This function performs the intersection of two languages marked by two generators; the resulting generator marks the resulting language. | |
bool | EmptyLanguageIntersection (const vGenerator &rGen1, const vGenerator &rGen2) |
Empty language intersection: This function checks if the intersection of two languages marked by two generators is empty that is the two languages are disjoint. | |
bool | LanguageDisjoint (const vGenerator &rGen1, const vGenerator &rGen2) |
Disjoint: This function checks if the intersection of two languages marked by two generators is empty, ie the two languages are disjoint. | |
void | Automaton (vGenerator &rGen, const EventSet &rAlphabet) |
Automaton wrt alphabet: Convert a generator marking the language Lm into a formal automaton recognizing Lm with a dump state representing Sigma*-PrefixClosure(Lm). | |
void | Automaton (vGenerator &rGen) |
Automaton wrt generator alphabet: Convert a generator marking the language Lm into a formal automaton recognizing Lm with a dump state representing Sigma*-PrefixClosure(Lm). | |
void | LanguageComplement (vGenerator &rGen, const EventSet &rAlphabet) |
Language complement wrt alphabet: Convert generator marking the language Lm into generator marking the language complement of Lm which is defined as Sigma*-Lm. | |
void | LanguageComplement (vGenerator &rGen) |
Language complement wrt generator alphabet: Convert generator marking the language Lm into generator marking the language complement of Lm which is defined as Sigma*-Lm. | |
void | LanguageConcatenateNonDet (const vGenerator &rGen1, const vGenerator &rGen2, vGenerator &rResGen) |
Language Concatenation, nondeterministic version: With the languages Lm1 and Lm2 marked by rGen1 and rGen2, respectively, the result rResGen marks the concatenation LmRes=Lm1Lm2. | |
void | LanguageConcatenate (const vGenerator &rGen1, const vGenerator &rGen2, vGenerator &rResGen) |
Language Concatenation, deterministic version: With the languages Lm1 and Lm2 marked by rGen1 and rGen2, respectively, the result rResGen marks the concatenation LmRes=Lm1Lm2. | |
void | FullLanguage (const EventSet &rAlphabet, vGenerator &rResGen) |
Full Language: Construct generator generating and marking full language Sigma* from alphabet Sigma. | |
void | AlphabetLanguage (const EventSet &rAlphabet, vGenerator &rResGen) |
Alphabet Language: Construct generator generating and marking an alphabet as languages, that is L(G)=Lm(G)=Sigma. | |
void | EmptyStringLanguage (const EventSet &rAlphabet, vGenerator &rResGen) |
Empty string language: Construct generator generating and marking the empty string, that is L(G)=Lm(G)={epsilon}. | |
void | EmptyLanguage (const EventSet &rAlphabet, vGenerator &rResGen) |
Empty language: Construct generator generating and marking the empty language, that is L(G)=Lm(G)={}. | |
bool | EmptyLanguage (const vGenerator &rGen) |
Empty language: Tests if the language marked by rGen is empty, that is if Lm(G)={}. | |
bool | LanguageInclusion (const vGenerator &rGen1, const vGenerator &rGen2) |
Language inclusion: Test if language Lm1 marked by rGen1 is included in language Lm2 marked by rGen2. | |
bool | LanguageEquality (const vGenerator &rGen1, const vGenerator &rGen2) |
Language equality: Test if the language Lm1 marked by rGen1 equals the language Lm2 marked by rGen2. | |
void | KleeneClosure (vGenerator &rGen) |
Kleene Closure: This function computes the Kleene Closure ( ()* - operator) of the language marked by rGen. | |
void | KleeneClosureNonDet (vGenerator &rGen) |
Kleene Closure, nondeterministic version: This function computes the Kleene Closure ( ()* - operator) of the language marked by rGen. | |
void | PrefixClosure (vGenerator &rGen) |
Prefix Closure: This function computes the prefix closure the language Lm marked by rGen. | |
void | SelfLoop (vGenerator &rGen, const EventSet &rAlphabet) |
SelfLoop: This function selfoops all states of rGen with the events from rAlphabet. | |
void | SelfLoopMarkedStates (vGenerator &rGen, const EventSet &rAlphabet) |
SelfLoopMarkedStates: This function selfoops all marked states of rGen with the events from rAlphabet. | |
void | SelfLoop (vGenerator &rGen, const EventSet &rAlphabet, const StateSet &rStates) |
SelfLoop: This function selfoops the states rStates of rGen with the events from rAlphabet. | |
void | StateMin (vGenerator &rGen, vGenerator &rResGen) |
State set minimization. | |
void | StateMin (vGenerator &rGen, vGenerator &rResGen, std::vector< StateSet > &rSubsets, std::vector< Idx > &rNewIndices) |
State set minimization. | |
bool | IsControllableUnchecked (const vGenerator &rPlantGen, const EventSet &rCAlph, const vGenerator &rSpecGen, StateSet &rCriticalStates) |
Controllability (internal function). | |
bool | SupConUnchecked (const vGenerator &rPlantGen, const EventSet &rCAlph, vGenerator &rSupCandGen) |
Supremal Controllable Sublangauge (internal function). | |
void | SupconParallel (const vGenerator &rPlantGen, const EventSet &rCAlph, const vGenerator &rSpecGen, std::map< std::pair< Idx, Idx >, Idx > &rReverseCompositionMap, vGenerator &rResGen) |
Parallel composition optimized for the purpose of SupCon (internal function). | |
void | SupConNBUnchecked (const vGenerator &rPlantGen, const EventSet &rCAlph, const vGenerator &rSpecGen, std::map< std::pair< Idx, Idx >, Idx > &rReverseCompositionMap, vGenerator &rResGen) |
Nonblocking Supremal Controllable Sublanguage (internal function). | |
void | ControlProblemConsistencyCheck (const vGenerator &rPlantGen, const EventSet &rCAlph, const vGenerator &rSpecGen) |
Consistency check for controlproblem input data. | |
bool | IsControllable (const vGenerator &rPlantGen, const EventSet &rCAlph, const vGenerator &rSupCandGen) |
Test controllability. | |
bool | IsControllable (const vGenerator &rPlantGen, const EventSet &rCAlph, const vGenerator &rSupCandGen, StateSet &rCriticalStates) |
Test controllability. | |
void | SupConNB (const vGenerator &rPlantGen, const EventSet &rCAlph, const vGenerator &rSpecGen, vGenerator &rResGen) |
Nonblocking Supremal Controllable Sublanguage. | |
void | SupConNBNonDet (const vGenerator &rPlantGen, const EventSet &rCAlph, const vGenerator &rSpecGen, std::map< std::pair< Idx, Idx >, Idx > &rReverseCompositionMap, Generator rDetPlantGen, Generator rDetSpecGen, std::map< Idx, StateSet > &rPowerStatesPlant, std::map< Idx, StateSet > &rPowerStatesSpec, bool &rDetPlantBool, bool &rDetSpecBool, vGenerator &rResGen) |
Nonblocking Supremal Controllable Sublanguage. | |
void | SupCon (const vGenerator &rPlantGen, const EventSet &rCAlph, const vGenerator &rSpecGen, vGenerator &rResGen) |
Supremal Controllable Sublanguage. | |
void | SupCon (const vGenerator &rPlantGen, const EventSet &rCAlph, const vGenerator &rSpecGen, std::map< std::pair< Idx, Idx >, Idx > &rReverseCompositionMap, vGenerator &rResGen) |
Supremal Controllable Sublanguage. | |
void | TraverseUncontrollableBackwards (const EventSet &rCAlph, TransSetX2EvX1 &rtransrel, StateSet &rCriticalStates, Idx current) |
Helper function for IsControllable. | |
void | calcBisimulation (Generator &rGenOrig, map< Idx, Idx > &rMapStateToPartition, Generator &rGenPart, vector< Idx > &rNewPartitions) |
Computation of a bisimulation over a given generator. | |
void | calcBisimulation (Generator &rGenOrig, map< Idx, Idx > &rMapStateToPartition, vector< Idx > &rNewPartitions) |
Computation of a bisimulation over a given generator. | |
bool | MutualControllability (const cGenerator &rGen1, const cGenerator &rGen2) |
Verification of mutual controllability. | |
bool | MutualControllability (const cGenerator &rGen1, const cGenerator &rGen2, StateSet &rForbidden1, StateSet &rForbidden2) |
Verification of mutual controllability. | |
void | calcAbstAlphObs (cGenerator &rGenObs, EventSet &rHighAlph, EventSet &rNewHighAlph, map< Idx, set< Idx > > &rMapRelabeledEvents) |
Lm-observer computation. | |
void | calcAbstAlphObs (vGenerator &rGenObs, EventSet &rControllableEvents, EventSet &rHighAlph, EventSet &rNewHighAlph, map< Idx, set< Idx > > &rMapRelabeledEvents) |
Lm-observer computation. | |
void | calcAbstAlphObs (vGenerator &rGenObs, EventSet &rControllableEvents, EventSet &rHighAlph, EventSet &rNewHighAlph, map< Transition, Idx > &rMapChangedTrans) |
Lm-observer computation. | |
void | calculateDynamicSystemObs (const vGenerator &rGen, EventSet &rHighAlph, vGenerator &rGenDyn) |
Computation of the dynamic system for an Lm-observer. | |
void | calcAbstAlphObsOCC (cGenerator &rGenObs, EventSet &rHighAlph, EventSet &rNewHighAlph, map< Idx, set< Idx > > &rMapRelabeledEvents) |
Lm-observer computation including output control consistency (OCC). | |
void | calcAbstAlphObsOCC (vGenerator &rGenObs, EventSet &rControllableEvents, EventSet &rHighAlph, EventSet &rNewHighAlph, map< Transition, Idx > &rMapChangedTrans) |
Lm-observer computation including output control consistency (OCC). | |
void | calculateDynamicSystemObsOCC (const vGenerator &rGen, EventSet &rControllableEvents, EventSet &rHighAlph, vGenerator &rGenDyn) |
Computation of the dynamic system for an Lm-observer that also fulfills output control consistency (OCC). | |
void | forwardReachabilityObs (const vGenerator &rGen, const EventSet &rHighAlph, Idx lowState, Idx mLabel, vGenerator &rGenDyn) |
Forward reachability algorithm to determine locally reachable marked states. | |
void | backwardReachabilityObsOCC (const TransSetX2EvX1 &rTransSetX2EvX1, const EventSet &rControllableEvents, const EventSet &rHighAlphabet, Idx exitState, Idx currentState, bool controllablePath, map< Idx, map< Idx, bool > > &rExitLocalStatesMap, StateSet &rDoneStates) |
Backward reachability algorithm for the dynamic system compuptation that fulfills the observer and output control consistency (OCC) condition. | |
void | calcAbstAlphObsLCC (cGenerator &rGenObs, EventSet &rHighAlph, EventSet &rNewHighAlph, map< Idx, set< Idx > > &rMapRelabeledEvents) |
Lm-observer computation including local control consistency (LCC). | |
void | calcAbstAlphObsLCC (vGenerator &rGenObs, EventSet &rControllableEvents, EventSet &rHighAlph, EventSet &rNewHighAlph, map< Transition, Idx > &rMapChangedTrans) |
Lm-observer computation including local control consistency (LCC). | |
void | calculateDynamicSystemObsLCC (const vGenerator &rGen, EventSet &rControllableEvents, EventSet &rHighAlph, vGenerator &rGenDyn) |
Computation of the dynamic system for an Lm-observer that also fulfills local control consistency (LCC). | |
void | backwardReachabilityObsLCC (const TransSetX2EvX1 &rTransSetX2EvX1, const EventSet &rControllableEvents, const EventSet &rHighAlphabet, Idx exitState, Idx currentState, bool controllablePath, map< Idx, map< Idx, bool > > &rExitLocalStatesMap, StateSet &rDoneStates) |
Backward reachability algorithm for the dynamic system compuptation that fulfills the observer and local control consistency (LCC) condition. | |
bool | relabel (vGenerator &rGenRelabel, EventSet &rControllableEvents, EventSet &rHighAlph, vector< Idx > &rNewPartitions, map< Idx, Idx > &rMapStateToPartition, map< Transition, Transition > &rMapChangedTransReverse, map< Transition, Idx > &rMapChangedTrans, map< Idx, EventSet > &rMapRelabeledEvents) |
Relabeling algorithm for the computation of an Lm-observer. | |
void | insertRelabeledEvents (cGenerator &rGenPlant, const map< Idx, set< Idx > > &rMapRelabeledEvents, cEventSet &rNewEvents) |
Convenience function for relabeling events in a given generator. | |
void | insertRelabeledEvents (cGenerator &rGenPlant, const map< Idx, set< Idx > > &rMapRelabeledEvents) |
Convenience function for relabeling events in a given generator. | |
bool | IsObs (const Generator &rLowGen, const EventSet &rHighAlph) |
Verification of the observer property. | |
bool | IsOCC (const cGenerator &rLowGen, const EventSet &rHighAlph) |
Verification of output control consistency (OCC). | |
bool | IsOCC (const Generator &rLowGen, const EventSet &rControllableEvents, const EventSet &rHighAlph) |
Verification of output control consistency (OCC). | |
bool | backwardVerificationOCC (const Generator &rLowGen, const EventSet &rControllableEvents, const EventSet &rHighAlph, Idx currentState) |
Function that supports the verification of output control consistency (OCC). | |
bool | IsLCC (const cGenerator &rLowGen, const EventSet &rHighAlph) |
Verification of local control consistency (LCC). | |
bool | IsLCC (const Generator &rLowGen, const EventSet &rControllableEvents, const EventSet &rHighAlph) |
Verification of local control consistency (LCC). | |
void | backwardVerificationLCC (const TransSetX2EvX1 &rTransSetX2EvX1, const EventSet &rControllableEvents, const EventSet &rHighAlph, Idx exitState, Idx currentState, bool controllablePath, map< Idx, bool > &rLocalStatesMap, StateSet &rDoneStates) |
Function that supports the verification of local control consistency (LCC). |
|
EventSet with controllablity properties.
Definition at line 639 of file cgenerator.h. |
|
Convenience typedef for std cGenerator.
Definition at line 636 of file cgenerator.h. |
|
Convenience typdef flag data.
Definition at line 104 of file attributes.h. |
|
Type definition for index type.
Definition at line 41 of file definitions.h. |
|
Backward reachability algorithm for the dynamic system compuptation that fulfills the observer and local control consistency (LCC) condition. This recursive function is called by calculateDynamicSystemObsLCC(const vGenerator& rGen, EventSet& rControllableEvents, EventSet& rHighAlph, vGenerator& rGenDyn). It evaluates a backward local reachability procedure to support the computation of a dynamic system for computing a natural projection that is an Lm-observer and LCC. There are no restrictions on parameters.
Definition at line 706 of file op_observercomputation.cpp. |
|
Backward reachability algorithm for the dynamic system compuptation that fulfills the observer and output control consistency (OCC) condition. This recursive function is called by calculateDynamicSystemObsOCC(const vGenerator& rGen, EventSet& rControllableEvents, EventSet& rHighAlph, vGenerator& rGenDyn). It evaluates a backward local reachability procedure to support the computation of a dynamic system for computing a natural projection that is an Lm-observer and OCC. There are no restrictions on parameters.
Definition at line 488 of file op_observercomputation.cpp. |
|
Function that supports the verification of local control consistency (LCC). This function performs a recursive backward reachability to find if from a state where an uncontrollable high-level event is possible, another state is only reachable by local strings that contaion at least one controllable event. If this is the case, LCC is violated.
Definition at line 183 of file op_obserververification.cpp. |
|
Function that supports the verification of output control consistency (OCC). This function performs a backward reachability to find if an uncontrollable high-level event is preemted by an uncontrollable low-level event. If this is the case, OCC is violated.
Definition at line 97 of file op_obserververification.cpp. |
|
Lm-observer computation. This function is called by void calcAbstAlphObs(vGenerator& rGenObs, EventSet& rControllableEvents, EventSet& rHighAlph, EventSet& rNewHighAlph, map<Idx, set<Idx> >& rMapRelabeledEvents). It modifies a given generator and an associated natural projection such that the resulting natural projection is an Lm-observer for the language marked by the resulting generator. This function evaluates the observer algorithm as described in K. C. Wong and W. M. Wonham, "On the Computation of Observers in Discrete Event Systems," Discrete Event Dynamic Systems, vol. 14, no. 1, pp. 55-107, 2004. The alphabets rHighAlph and rControllableEvents have to be subsets of the alphabet of rGenObs. rGenObs must be a deterministic generator. There are no further restrictions on parameters.
Definition at line 71 of file op_observercomputation.cpp. |
|
Lm-observer computation. This function is called by calcAbstAlphObs(cGenerator& rGenObs, EventSet& rHighAlph, EventSet& rNewHighAlph, map<Idx, set<Idx> >& rMapRelabeledEvents). It modifies a given generator and an associated natural projection such that the resulting natural projection is an Lm-observer for the language marked by the resulting generator. This function evaluates the observer algorithm as described in K. C. Wong and W. M. Wonham, "On the Computation of Observers in Discrete Event Systems," Discrete Event Dynamic Systems, vol. 14, no. 1, pp. 55-107, 2004. the alphabets rHighAlph and rControllableEvents have to be subsets of the alphabet of rGenObs rGenObs must be a deterministic generator no further restrictions on parameters.
Definition at line 48 of file op_observercomputation.cpp. |
|
Lm-observer computation including local control consistency (LCC). This function is called by calcAbstAlphObsLCC(cGenerator& rGenObs, EventSet& rHighAlph, EventSet& rNewHighAlph, map<Idx,set<Idx > > & rMapRelabeledEvents). It modifies a given generator and an associated natural projection such that the resulting natural projection is an Lm-observer for the language marked by the resulting generator and at the same time fulfills the local control consistency condition (LCC). This function evaluates the observer algorithm as described in K. C. Wong and W. M. Wonham, "On the Computation of Observers in Discrete Event Systems," Discrete Event Dynamic Systems, vol. 14, no. 1, pp. 55-107, 2004. with an extension to LCC as indicated in K. Schmidt and C. Breindl, "On Maximal Permissiveness of Hierarchical and Modular Supervisory Control Approaches for Discrete Event Systems," Workshop on Discrete Event Systems, 2008. The alphabets rHighAlph and rControllableEvents have to be subsets of the alphabet of rGenObs. rGenObs must be a deterministic generator. There are no further restrictions on parameters.
Definition at line 554 of file op_observercomputation.cpp. |
|
Lm-observer computation including output control consistency (OCC). This function is called by calcAbstAlphObsOCC(cGenerator& rGenObs, EventSet& rHighAlph, EventSet& rNewHighAlph, map<Idx,set<Idx > > & rMapRelabeledEvents). It modifies a given generator and an associated natural projection such that the resulting natural projection is an Lm-observer for the language marked by the resulting generator and at the same time fulfills the output control consistency condition (OCC). This function evaluates the observer algorithm as described in K. C. Wong and W. M. Wonham, "On the Computation of Observers in Discrete Event Systems," Discrete Event Dynamic Systems, vol. 14, no. 1, pp. 55-107, 2004. with an extension to OCC as indicated in K. Schmidt and C. Breindl, "On Maximal Permissiveness of Hierarchical and Modular Supervisory Control Approaches for Discrete Event Systems," Workshop on Discrete Event Systems, 2008. The alphabets rHighAlph and rControllableEvents have to be subsets of the alphabet of rGenObs. rGenObs must be a deterministic generator. There are no further restrictions on parameters.
Definition at line 288 of file op_observercomputation.cpp. |
|
Computation of the dynamic system for an Lm-observer. This function computes the dynamic system that is needed for evaluating the observer algorithm. The alphabet rHighAlph has to be a subset of the alphabet of rGen. rGen must be a deterministic generator. There are no further restrictions on parameters.
Definition at line 118 of file op_observercomputation.cpp. |
|
Computation of the dynamic system for an Lm-observer that also fulfills local control consistency (LCC). This function computes the dynamic system that is needed for evaluating the observer algorithm with the additional LCC condition. The alphabet rHighAlph has to be a subset of the alphabet of rGen. rGen must be a deterministic generator. There are no further restrictions on parameters.
Definition at line 601 of file op_observercomputation.cpp. |
|
Computation of the dynamic system for an Lm-observer that also fulfills output control consistency (OCC). This function computes the dynamic system that is needed for evaluating the observer algorithm with the additional OCC condition. The alphabet rHighAlph has to be a subset of the alphabet of rGen. rGen must be a deterministic generator. There are no further restrictions on parameters.
Definition at line 335 of file op_observercomputation.cpp. |
|
Controllability. Tests whether the candidate supervisor h is controllable w.r.t. the plant g; see IsControllable
Definition at line 29 of file cgenfunct.cpp. |
|
Limit length of string, return head and tail of string.
Definition at line 77 of file helper.cpp. |
|
Consistency check for controlproblem input data. Tests whether alphabets match and generators are deterministic.
Definition at line 532 of file supcon.cpp. |
|
Parallel composition of accessible states of generators rGen1 and rGen2. This version will set the resulting generators controllability attributes to represent the union of controllable events of the arguments. When FAUDES_CHECKD is defined, consistency of controllability flags in the argiments is tested. Computes symbolic state names in rResGen, if symbolic state names are enabled in rGen1 and rGen2 and rResGen
Definition at line 93 of file cgenfunct.cpp. |
|
Minimized (deterministic) projection. Calls projectnondet, determine and statemin. This version passes on controllability attributes from the argument.
Definition at line 134 of file cgenfunct.cpp. |
|
Definition at line 523 of file project.cpp. |
|
convenience function: create a temp file, length 0
Definition at line 172 of file helper.cpp. |
|
Supremal Controllable Sublanguage. Finds the "largest" sublanguage of h for that language of g is controllable with respect to h. Note that the language of h is not rtequired to be a a sublanguage of g, but both languages must share the same alphabet. See "C.G CASSANDRAS AND S. LAFORTUNE. Introduction to Discrete Event Systems. Kluwer, 1999." for base algorithm. This version creates a "reverse composition map" given as reference parameter.
Definition at line 66 of file cgenfunct.cpp. |
|
Nonblocking Supremal Controllable Sublanguage. Computes the supremal sublanguage of the specification h that is controllable w.r.t. the plant g. The result is given as a trim deterministic generator that may be used to supervise g in order to enforce h. See "C.G CASSANDRAS AND S. LAFORTUNE. Introduction to Discrete Event Systems. Kluwer, 1999." for base algorithm. This implementation does not require h to be a sublanguage of g. However, both generators must be deterministic and share the same alphabet. Controllable events are extracted from the plant parameter, and copied to the result.
Definition at line 39 of file cgenfunct.cpp. |
|
Make generator deterministic. Constructs a deterministic generator while preserving the generated and marked languages. See Deterministic(const vGenerator&,vGenerator& rResGen) for the intended api. This version provides as second and third parameters the correspondence betwwen new states and the original state sets. in vectors
Definition at line 90 of file project.cpp. |
|
Make generator deterministic. Constructs a deterministic generator while preserving the generated and marked languages. See Deterministic(const vGenerator&,vGenerator& rResGen) for the intended api. This version provides as a second parameter the resulting map from new states to their respective original state set. It is used as a so called "entry state map" for deterministic projected generators.
Definition at line 72 of file project.cpp. |
|
Fill string with spaces up to a given length if length of the string is smaller than given length parameter.
Definition at line 66 of file helper.cpp. |
|
Return contributors as std::string.
Definition at line 109 of file helper.cpp. |
|
Return FAUDES_PLUGINS as std::string.
Definition at line 104 of file helper.cpp. |
|
Return FAUDES_VERSION as std::string.
Definition at line 99 of file helper.cpp. |
|
Forward reachability algorithm to determine locally reachable marked states. This function is called by calculateDynamicSystemObsOCC(const vGenerator& rGen, EventSet& rControllableEvents, EventSet& rHighAlph, vGenerator& rGenDyn); It inserts transitions with a certain "mLabel" into the dynamic system by employing forward reachability. There are no restrictions on parameters.
Definition at line 441 of file op_observercomputation.cpp. |
|
Convenience function for relabeling events in a given generator. This function inserts new events and respective transitions given by a relableing map into a given generator. The function is used to adjust plant components to the rtelableing from another plant component. There are no restrictions on parameters.
Definition at line 1152 of file op_observercomputation.cpp. |
|
Convenience function for relabeling events in a given generator. This function inserts new events and respective transitions given by a relableing map into a given generator. The function is used to adjust plant components to the rtelableing from another plant component. There are no restrictions on parameters.
Definition at line 1130 of file op_observercomputation.cpp. |
|
Inverse projection. This adds selfloop transition at every state for all missing events.
Definition at line 500 of file project.cpp. |
|
Controllability (internal function). Checks if language of specification h is controllable with respect to language of generator g. Only for deterministic plant + spec. Controllable event set has to be given as parameter. Returns the set of critical states as last parameter.
Definition at line 42 of file supcon.cpp. |
|
Verification of local control consistency (LCC). For verifying if a natural projection fulfills the local control consistency condition, a backward reachability is conducted. If starting from a state, where an uncontrollable high-level event is feasible, at least one local state cannot be reached by an uncontrollable path, LCC is violated.
Definition at line 141 of file op_obserververification.cpp. |
|
Verification of output control consistency (OCC). For verifying if a natural projection fulfills the output control consistency condition, a backward reachability is conducted. If starting from a state, where an uncontrollable high-level event is feasible, a controllable event can be reached on a local backward path, OCC is violated.
Definition at line 70 of file op_obserververification.cpp. |
|
Compute the accessible reach for a local automaton.
Definition at line 161 of file localgen.cpp. |
|
Compute the coaccessible reach for a local automaton.
Definition at line 129 of file localgen.cpp. |
|
LowExitStates call-by-reference function:. Compute the low level exit states for a corresponding hi level state
Definition at line 40 of file localgen.cpp. |
|
LowExitStates return-copy function:. Wrapper for the corresponding call-by-reference function. Creates new StateSet, calls function and returns StateSet containing low level exit states.
Definition at line 27 of file localgen.cpp. |
|
Verification of mutual controllability. This function checks if two generators are mutually controllable w.r.t. each other. Additionally, this function provides the states where mutual controllability fails in case the condition is violated.
|
|
Parallel composition. See Parallel(const vGenerator&, const vGenerator&, vGenerator&). This version fills given reverse composition map to map pairs of old states to new states.
Definition at line 51 of file parallel.cpp. |
|
convenience function: process dot file to graphics output. If no output format is given, try to guess from filename extension.
Definition at line 117 of file helper.cpp. |
|
Minimized Deterministic projection. Projects the generated and marked languages to a subalphabet of the original alphabet, and subsequently calls Deterministic and StateMin to construct a deterministic minimal realisation of the result. The input generator does not need to be deterministic.
Definition at line 459 of file project.cpp. |
|
ReachableEvents call-by-reference function:. Compute the set of hi level events which can be reached from a low level state. Resulting set will be cleared first.
Definition at line 88 of file localgen.cpp. |
|
ReachableEvents return-copy function:. Wrapper for the corresponding call-by-reference function. Creates new EventSet, calls function and returns EventSet containing the reachable hi level events.
Definition at line 76 of file localgen.cpp. |
|
Relabeling algorithm for the computation of an Lm-observer. This function checks the termination criterion of the observer algorithm. If required, transitions of the input generator are relabeled. The alphabets rHighAlph and rControllableEvents have to be subsets of the alphabet of rGenRelabel. There are no further restrictions on parameters.
Definition at line 745 of file op_observercomputation.cpp. |
|
convenience function: delete file
Definition at line 188 of file helper.cpp. |
|
Helper: uses reverse composition map to track state names in a paralell composition. Purely cosmetic.
Definition at line 340 of file parallel.cpp. |
|
Shared event parallel composition. See SParallel(const vGenerator&, const vGenerator&, vGenerator&). This version fills given reverse composition map to map pairs of old states to new states.
Definition at line 227 of file parallel.cpp. |
|
State set minimization. This function implements the (n*log n) set partitioning algorithm by John E. Hopcroft. Given generator will be made accessible before computing minimized generator. See also StateMin(vGenerator&,vGenerator&).
Definition at line 37 of file statemin.cpp. |
|
Supremal Controllable Sublanguage. Only for deterministic plant + spec. Throws exception if plant or spec is nondeterministic. Real SupCon function Finds the "largest" sublanguage of h for that language of g is controllable with respect to h. Note that the language of h is not rtequired to be a a sublanguage of g, but both languages must share the same alphabet. See "C.G CASSANDRAS AND S. LAFORTUNE. Introduction to Discrete Event Systems. Kluwer, 1999." for base algorithm. This version creates a "reverse composition map" given as reference parameter.
Definition at line 734 of file supcon.cpp. |
|
Nonblocking Supremal Controllable Sublanguage. For deterministic and nondeterministic plant or spec.
Finds the "largest" sublanguage of h for that language of g is controllable with respect to h. Differing from theory the marked language of h may not be a sublanguage of g but both must share the same alphabet. See "C.G CASSANDRAS AND S. LAFORTUNE. Introduction to Discrete Event Systems. Kluwer, 1999." for base algorithm. This version creates a "reverse composition map" given as reference parameter.
Definition at line 647 of file supcon.cpp. |
|
Nonblocking Supremal Controllable Sublanguage (internal function). This version of SupConNB creates a "reverse composition map" given as reference parameter. It is used by the user function to set up descriptive state names of the supervisor.
Definition at line 480 of file supcon.cpp. |
|
Parallel composition optimized for the purpose of SupCon (internal function). Composition stops at transition paths that violate the specification by uncontrollable plant transitions.
Definition at line 263 of file supcon.cpp. |
|
Supremal Controllable Sublangauge (internal function). Calls IsControllable to indetify "critical" states in the supervisor candidate. Then deletes critical states from the candidate supervisor in order to achieve controllability. In general, the result is blocking.
Definition at line 224 of file supcon.cpp. |
|
Convert a string to Idx.
Definition at line 86 of file helper.cpp. |
|
float to string
Definition at line 54 of file helper.cpp. |
|
integer to string
Definition at line 35 of file helper.cpp. |
|
integer to string base 16
Definition at line 44 of file helper.cpp. |
|
Helper function for IsControllable. The state given as "current" is considered critical. Itself and all uncontrollable predecessor states are added to the set "rCriticalStates".
Definition at line 777 of file supcon.cpp. |