|
|
||||||
|
diag_include.h
Go to the documentation of this file.
37 Failures are assumed to be unobservable events in DES that might lead to an undesired or unpredictable behaviour of the system. In order to be able to react to occurring failures, fault detection and isolation became an active area of research since the 1990s. In [1], Sampath et al. introduced the notion of diagnosability and diagnosers which observe the on-line behaviour of the system under investigation.
39 Diagnoser automata are FSMs that estimate the occurrence of certain failure events by tracking the observable events triggered by the plant
42 Diagnosability is a system property that states a system to be diagnosable with respect to a failure partition or specification, if the occurrence of a failure or violation of the specification can be determined within a bounded number of transitions.
44 The basic structure and handling of diagnoser automata is realized in faudes::TdiagGenerator according to [1] and a diagnoser can be computed from the failure-based model of the observed plant using the function ComputeDiagnoser().
46 Additionally, several functions are provided to determine the diagnosability of a system with respect to a given failure %partition or specification:
47 - The test for standard diagnosability with respect to a failure partition is implemented in IsDiagnosable(const System&, const AttributeFailureTypeMap&, std::string&) according to [2].
48 - Testing I-diagnosability (which is a special case of diagnosability where failures only have to be detected after the occurrence of associated indicator events) is done by IsIdiagnosable(const System&, const AttributeFailureTypeMap&, std::string&) that is an enhancement of the algorithm presented in [2].
49 - Diagnosability with respect to a specification (which we also refer to as language diagnosability) is tested by IsDiagnosable(const System&, const System&, std::string&) by attributing it to the known diagnosability problem in [2].
50 - Decentralized diagnosability is handled by the function IsDecentralizedDiagnosable(const std::vector<System>&, const std::vector<System>&, const std::vector<EventSet>&, std::string&) that tests a modular system's diagnosability from the models of its local subsystems and specifications as presented in [3].
52 [1] "Diagnosability of discrete-event systems" by Sampath, M. and Sengupta, R. and Lafortune, S. and Sinnamohideen, K. and Teneketzis, D. Automatic Control, IEEE Transactions on, 40(9):1555-1575,
54 [2] "A polynomial algorithm for testing diagnosability of discrete-event systems" by Jiang, S. and Huang, Z. Chandra, V. and Kumar, R. Automatic Control, IEEE Transactions on, 46(8):1318-1321, Aug 2001.<br>
55 [3] "Hierarchical Fault Diagnosis for Discrete Event Systems: Theoretical Development and Application" by Tobias Barthel, Lehrstuhl für Regelungstechnik, Universität Erlangen-Nürnberg, 2009 (associated diploma thesis). <br>
State estimates for the current status of the generator (as state attributes). Failure and indicator events for a common failure type. Contains the failure and indicator partition for a system (used as global attribute). Label representation for state estimates. Includes debugging to diagnosis plug-in. Functions to check a system's decentralized diagnosability. Functions to check a system's diagnosability with respect to failure events (diagnosability and I-dia... Structure of diagnosers and methods to handle them. Functions to check a system's diagnosability with respect to a specification automaton and compute a ... Functions to check a system's decentralized diagnosability. libFAUDES 2.32b --- 2024.03.01 --- c++ api documentaion by doxygen |