| |
libFAUDES
Sections
Index
|
Multitasking PlugIn |
Classes | |
class | faudes::AttributeColoredState |
State attributes for multitasking automata. More... | |
class | faudes::ColorSet |
Container for colors: this is a NameSet with its own static symboltable. More... | |
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. More... | |
Functions | |
Idx | faudes::calcNaturalObserver (const mtcGenerator &rGen, EventSet &rHighAlph) |
Calculate a colored natural observer by extending a given high-level alphabet. | |
void | faudes::mtcParallel (const mtcGenerator &rGen1, const mtcGenerator &rGen2, mtcGenerator &rResGen) |
Parallel composition of two colored marking generators, controllability status is observed. | |
void | faudes::mtcDeterministic (const mtcGenerator &rGen, mtcGenerator &rResGen) |
Make generator deterministic. | |
void | faudes::mtcProjectNonDet (mtcGenerator &rGen, const EventSet &rProjectAlphabet) |
Project generator to alphabet rProjectAlphabet. | |
void | faudes::mtcProjectNonDet (const mtcGenerator &rGen, const EventSet &rProjectAlphabet, mtcGenerator &rResGen) |
Project generator to alphabet rProjectAlphabet. | |
void | faudes::mtcProject (const mtcGenerator &rGen, const EventSet &rProjectAlphabet, mtcGenerator &rResGen) |
Minimized Deterministic projection. | |
void | faudes::mtcInvProject (mtcGenerator &rGen, const EventSet &rProjectAlphabet) |
Inverse projection. | |
bool | faudes::ComputeSCC (const Generator &rGen, std::set< StateSet > &rSccSet, StateSet &rRoots) |
Computes the strongly connected components (SCCs) of an automaton. | |
void | faudes::ColoredSCC (mtcGenerator &rGen, ColorSet &rColors, std::set< StateSet > &rColoredSCCs) |
Compute all strongly connected components (SCCs) in a colored marking generator (CMG) that are marked with a given set of colors. | |
bool | faudes::CheckRedundantColor (mtcGenerator rGen, Idx redundantColor) |
Check if a color in a colored marking generator is redundant for the supervisor synthesis. | |
void | faudes::OptimalColorSet (const mtcGenerator &rGen, ColorSet &rOptimalColors, EventSet &rHighAlph) |
Compute an optimal subset of the colors that should be removed. | |
void | faudes::mtcSupConNB (const mtcGenerator &rPlantGen, const mtcGenerator &rSpecGen, mtcGenerator &rResGen) |
Nonblocking Supremal Controllable Sublanguage (wrapper function). | |
void | faudes::mtcSupCon (const mtcGenerator &rPlantGen, const mtcGenerator &rSpecGen, mtcGenerator &rResGen) |
Supremal Controllable Sublanguage (wrapper function). |
Idx faudes::calcNaturalObserver | ( | const mtcGenerator & | rGen, | |
EventSet & | rHighAlph | |||
) |
Calculate a colored natural observer by extending a given high-level alphabet.
This function extends a given high-level alphabet such that the corresponding natural projection becomes a colored observer for a given colored marking generator. The function calls the function ExtendHighAlphabet in the Observer plugin.
rGen | input colored marking generator | |
rHighAlph | high-level alphabet that is extended towards a colored observer |
| |||
|
Definition at line 38 of file mtc_observercomputation.cpp.
bool faudes::CheckRedundantColor | ( | mtcGenerator | rGen, | |
Idx | redundantColor | |||
) |
Check if a color in a colored marking generator is redundant for the supervisor synthesis.
This function determines if a color can be removed from a CMG if it is redundant for the supervisor synthesis. The algorithm implements the work in K. Schmidt and J.E.R. Cury, "Redundant Colors in the Multitasking Supervisory Control for Discrete Event Systems", Workshop on Dependable Control of Discrete Event Systems, 2009.
rGen | Reference to generator | |
redundantColor | Index of the color to be removed + |
Definition at line 172 of file mtc_redundantcolors.cpp.
void faudes::ColoredSCC | ( | mtcGenerator & | rGen, | |
ColorSet & | rColors, | |||
std::set< StateSet > & | rColoredSCCs | |||
) |
Compute all strongly connected components (SCCs) in a colored marking generator (CMG) that are marked with a given set of colors.
This function finds all SCCs in a CMG that contain states with all colors in a given color set. To find all SCCs, first the function ComputeSCC is called.
rGen | generator under investigation | |
rColors | colors that have to be contained in the SCCs | |
rColoredSCCs | SCCs marked with all colors in rColors |
Definition at line 140 of file mtc_redundantcolors.cpp.
bool faudes::ComputeSCC | ( | const Generator & | rGen, | |
std::set< StateSet > & | rSccSet, | |||
StateSet & | rRoots | |||
) |
Computes the strongly connected components (SCCs) of an automaton.
This function is the wrapper function for Trajan's algorithm that is implemented in the function SearchSCC.
rGen | investigated generator | |
rSccSet | Set of strongly connected components (result). | |
rRoots | Set of states that each are root of some SCC (result). |
Definition at line 121 of file mtc_redundantcolors.cpp.
void faudes::mtcDeterministic | ( | const mtcGenerator & | rGen, | |
mtcGenerator & | rResGen | |||
) |
Make generator deterministic.
(function wrapper)
rGen | Reference to generator | |
rResGen | Reference to resulting deterministic generator |
| |||
|
Definition at line 72 of file mtc_project.cpp.
void faudes::mtcInvProject | ( | mtcGenerator & | rGen, | |
const EventSet & | rProjectAlphabet | |||
) |
Inverse projection.
This adds selfloop transition at every state for all missing events.
rGen | Reference to generator | |
rProjectAlphabet | Alphabet for inverse projection |
| |||
|
Definition at line 497 of file mtc_project.cpp.
void faudes::mtcParallel | ( | const mtcGenerator & | rGen1, | |
const mtcGenerator & | rGen2, | |||
mtcGenerator & | rResGen | |||
) |
Parallel composition of two colored marking generators, controllability status is observed.
rGen1 | First mtcGenerator for parallel composition | |
rGen2 | Second mtcGenerator for parallel composition | |
rResGen | mtcGenerator in which the result of the parallel composition is saved |
| ||||
|
Definition at line 32 of file mtc_parallel.cpp.
void faudes::mtcProject | ( | const mtcGenerator & | rGen, | |
const EventSet & | rProjectAlphabet, | |||
mtcGenerator & | rResGen | |||
) |
Minimized Deterministic projection.
This function does not modify the mtcGenerator. It calls project, determine and statemin.
rGen | Reference to generator | |
rProjectAlphabet | Projection alphabet | |
rResGen | Reference to resulting deterministic generator |
| |||
|
Definition at line 420 of file mtc_project.cpp.
void faudes::mtcProjectNonDet | ( | const mtcGenerator & | rGen, | |
const EventSet & | rProjectAlphabet, | |||
mtcGenerator & | rResGen | |||
) |
Project generator to alphabet rProjectAlphabet.
rGen | Reference to generator | |
rProjectAlphabet | Projection alphabet | |
rResGen | Reference to result |
Definition at line 414 of file mtc_project.cpp.
void faudes::mtcProjectNonDet | ( | mtcGenerator & | rGen, | |
const EventSet & | rProjectAlphabet | |||
) |
Project generator to alphabet rProjectAlphabet.
rGen | Reference to generator | |
rProjectAlphabet | Projection alphabet |
Definition at line 327 of file mtc_project.cpp.
void faudes::mtcSupCon | ( | const mtcGenerator & | rPlantGen, | |
const mtcGenerator & | rSpecGen, | |||
mtcGenerator & | rResGen | |||
) |
Supremal Controllable Sublanguage (wrapper function).
rPlantGen | Plant mtcGenerator | |
rSpecGen | Specification mtcGenerator | |
rResGen | Reference to resulting mtcGenerator, the minimal restrictive supervisor |
Exception |
|
| ||||||
|
Definition at line 127 of file mtc_supcon.cpp.
void faudes::mtcSupConNB | ( | const mtcGenerator & | rPlantGen, | |
const mtcGenerator & | rSpecGen, | |||
mtcGenerator & | rResGen | |||
) |
Nonblocking Supremal Controllable Sublanguage (wrapper function).
Computes symbolic state names in resulting supervisor automaton if symbolic state names are enabled in rPlantGen and rSpecGen
rPlantGen | Plant mtcGenerator | |
rSpecGen | Specification mtcGenerator | |
rResGen | Reference to resulting mtcGenerator, the minimal restrictive nonblocking supervisor |
Exception |
|
| ||||||
|
Definition at line 41 of file mtc_supcon.cpp.
void faudes::OptimalColorSet | ( | const mtcGenerator & | rGen, | |
ColorSet & | rOptimalColors, | |||
EventSet & | rHighAlph | |||
) |
Compute an optimal subset of the colors that should be removed.
This function tries to find an optimal subset of colors that can be removed from the given colored marking generator without affecting supervisor synthesis. Here, optimality is defined w.r.t. the smallest number of states of a high-level generator after removing the colors.
rGen | input colored marking generator | |
rOptimalColors | optimal color set to be removed | |
rHighAlph | hgh-level alphabet for hierarchical abstraction after color removal. Initially, the alphabet should contain all events that must be present in the high-level alphabet |
Definition at line 242 of file mtc_redundantcolors.cpp.
libFAUDES 2.14g --- 2009-12-3 --- c++ source docu by doxygen 1.5.6