|
|
||||||
|
diag_modulardiagnosis.cpp
Go to the documentation of this file.
1 /** @file diag_modulardiagnosis.cpp Functions to test modular diagnosability and compute modular diagnosers.
23 bool IsModularDiagnosable(const SystemVector& rGsubs, const GeneratorVector& rKsubs, string& rReportString) {
29 errstr << "Number of specifications (" << rKsubs.Size() << ") does not equal number of subsystems ("<< rGsubs.Size() << ")" << endl;
50 bool IsModularDiagnosable(const vector< const System* >& rGSubs, const vector< const Generator* >& rKSubs, std::string& rReportString) {
59 errstr << "Number of specifications (" << rKSubs.size() << ") does not equal number of subsystems ("<< rGSubs.size() << ")" << endl;
70 for(EventSet::Iterator eit=sigmaCup.Begin(); eit!=sigmaCup.End(); eit++) { // overall shared events
88 // Compute abstraction alphabet for each component such that loop-preserving observer is fulfilled
99 FD_DD("AbstractionAlphabet of Automaton " + ToStringInteger(i) + " " + sigmaAbstVector.at(i).ToString());
111 plant.SetObservable(rGSubs.at(i)->ObservableEvents() ); // only observable events of the subsystem are observable
128 bool ModularDiagnoser(const SystemVector& rGsubs, const GeneratorVector& rKsubs, GeneratorVector& rDiagSubs, string& rReportString) {
134 errstr << "Number of specifications (" << rKsubs.Size() << ") does not equal number of subsystems ("<< rGsubs.Size() << ")" << endl;
165 bool ModularDiagnoser(const std::vector< const System* >& rGSubs, const std::vector< const Generator* >& rKSubs, std::vector<Diagnoser*>& rDiagSubs, std::string& rReportString){
175 errstr << "Number of specifications (" << rKSubs.size() << ") does not equal number of subsystems ("<< rGSubs.size() << ")" << endl;
187 for(EventSet::Iterator eit=sigmaCup.Begin(); eit!=sigmaCup.End(); eit++) { // overall shared events
205 // Compute abstraction alphabet for each component such that loop-preserving observer is fulfilled
216 FD_DD("AbstractionAlphabet of Automaton " + ToStringInteger(i) + " " + sigmaAbstVector.at(i).ToString());
228 plant.SetObservable(rGSubs.at(i)->ObservableEvents() ); // only observable events of the subsystem are observable
260 bool ModularDiagnoser(const SystemVector& rGsubs, const GeneratorVector& rKsubs, GeneratorVector& rDiagsubs) {
virtual void InsertSet(const NameSet &rOtherSet) Inserts all elements of rOtherSet. Definition: cfl_nameset.cpp:295 const TaEventSet< EventAttr > & Alphabet(void) const Return const reference to alphabet. Definition: cfl_agenerator.h:1358 std::string ToString(const std::string &rLabel="", const Type *pContext=0) const Write configuration data to a string. Definition: cfl_types.cpp:169 Functions to check a system's decentralized diagnosability. void LanguageDiagnoser(const System &rGen, const System &rSpec, Diagnoser &rDiagGen) Compute a standard diagnoser from an input generator and a specification. Definition: diag_languagediagnosis.cpp:275 void LoopPreservingObserver(const System &rGen, const EventSet &rInitialHighAlph, EventSet &rHighAlph) Computes a loop-preserving observer with minimal state size of the abstraction. Definition: diag_languagediagnosis.cpp:687 TcGenerator< AttributeVoid, AttributeVoid, AttributeCFlags, AttributeVoid > System Convenience typedef for std System. Definition: cfl_cgenerator.h:913 void aParallel(const Generator &rGen1, const Generator &rGen2, Generator &rResGen) Parallel composition. Definition: cfl_parallel.cpp:51 void Project(const Generator &rGen, const EventSet &rProjectAlphabet, Generator &rResGen) Deterministic projection. Definition: cfl_project.cpp:1349 void Parallel(const Generator &rGen1, const Generator &rGen2, Generator &rResGen) Parallel composition. Definition: cfl_parallel.cpp:32 bool IsLanguageDiagnosable(const System &rGen, const System &rSpec) Function definition for run-time interface. Definition: diag_languagediagnosis.cpp:20 TdiagGenerator< AttributeFailureTypeMap, AttributeDiagnoserState, AttributeCFlags, AttributeVoid > Diagnoser Definition: diag_generator.h:197 bool IsModularDiagnosable(const SystemVector &rGsubs, const GeneratorVector &rKsubs) Function definition for run-time interface. Definition: diag_modulardiagnosis.cpp:252 bool ModularDiagnoser(const SystemVector &rGsubs, const GeneratorVector &rKsubs, GeneratorVector &rDiagsubs) Function definition for run-time interface. Definition: diag_modulardiagnosis.cpp:260 void cParallel(const vector< System > &rGens, System &rResGen) Definition: diag_modulardiagnosis.cpp:270 libFAUDES 2.32b --- 2024.03.01 --- c++ api documentaion by doxygen |