diag_eventdiagnosis.h File Reference

Functions to check a system's diagnosability with respect to failure events (diagnosability and I-diagnosability) and computation of an event-diagnoser. More...

#include <vector>
#include "corefaudes.h"
#include "diag_debug.h"
#include "diag_generator.h"
#include "diag_attrdiagstate.h"
#include "diag_attrfailureevents.h"
#include "diag_attrfailuretypes.h"
#include "diag_attrlabelset.h"

Go to the source code of this file.

Namespaces

 faudes
 libFAUDES resides within the namespace faudes.
 

Functions

FAUDES_API void faudes::ConvertParallelCompositionMap (const std::map< std::pair< Idx, Idx >, Idx > &rReverseCompositionMap, std::map< Idx, std::pair< Idx, Idx > > &rCompositionMap)
 Convert the reverse composition map of Parallel() by switching first and second entry. More...
 
FAUDES_API bool faudes::IsLive (const System &rGen, std::string &rReport)
 Test if a generator is live. More...
 
FAUDES_API bool faudes::CycleOfUnobsEvents (const System &rGen, std::string &rReport)
 Test if there exist any cycles of unobservable events in a generator. More...
 
FAUDES_API bool faudes::FailuresUnobservable (const System &rGen, const AttributeFailureTypeMap &rFailureTypeMap, std::string &rReport)
 Check if all failure events are unobservable events in a generator's alphabet. More...
 
FAUDES_API bool faudes::ExistsCycle (const System &rGen, std::string &rReport)
 Test if there exist any cycles in a generator. More...
 
FAUDES_API bool faudes::ExistsCycleSearch (const System &rGen, StateSet &rTodo, Idx currState, StateSet statesOnPath, std::string &rReport)
 Auxiliary function for ExistsCycle(const System&, std::string&). More...
 
void faudes::CycleStartStates (const System &rGen, StateSet &rCycleOrigins)
 Find all start/end states of cycles of unobservable events in a generator. More...
 
void faudes::CycleStartStatesSearch (const System &rGen, StateSet &rTodo, Idx currState, StateSet statesOnPath, StateSet &rCycleOriginStates)
 Auxiliary function for CycleStartStates(). More...
 
FAUDES_API bool faudes::ExistsViolatingCyclesInGd (System &rGd, const Diagnoser &rGobs, std::map< std::pair< Idx, Idx >, Idx > &rReverseCompositionMap, const std::string &rFailureType, std::string &rReportString)
 Remove states with same failure labels from rGd and from rReverseCompositionMap and perform cycle detection. More...
 
FAUDES_API void faudes::ComputeGobs (const System &rOrigGen, const std::string &rFailureType, const EventSet &rFailureEvents, Diagnoser &rGobs)
 Compute G_o for a single failure type of a generator. More...
 
void faudes::ComputeGobs (const System &rOrigGen, const AttributeFailureTypeMap &rAttrFTMap, Diagnoser &rGobs)
 Compute G_o for a given generator with a given failure partition (according to Jiang). More...
 
FAUDES_API void faudes::ComputeGd (const Diagnoser &rGobs, std::map< std::pair< Idx, Idx >, Idx > &rReverseCompositionMap, System &rGd)
 Compute the diagnosability testing generator G_d as a parallel composition of G_o with itself (according to Jiang). More...
 
FAUDES_API void faudes::TrimNonIndicatorTracesOfGd (System &rGd, const Diagnoser &rGobs, const Idx rFailureType, const EventSet &rIndicatorEvents, const std::map< std::pair< Idx, Idx >, Idx > &rReverseCompositionMap)
 Extract all traces of a generator G_d that start with an indicator event that follows a failure event of a certain failure type. More...
 
FAUDES_API void faudes::TrimNonIndicatorTracesOfGdRecursive (System &rGd, const Diagnoser &rGobs, const Idx rFailureType, const EventSet &rIndicatorEvents, std::map< Idx, std::pair< Idx, Idx > > &rCompositionMap, Idx state, StateSet &rStatesDone)
 Auxiliary function for TrimNonIndicatorTracesOfGd(). More...
 
FAUDES_API void faudes::ComputeReachability (const System &rGen, const EventSet &rUnobsEvents, const EventSet &rFailures, Idx State, const AttributeFailureTypeMap &rAttrFTMap, std::map< Idx, std::multimap< Idx, DiagLabelSet > > &rReachabilityMap)
 Compute the reachability from a given generator state through a trace that consists of arbitrarily many unobservable events followed by one observable event. More...
 
FAUDES_API void faudes::ComputeReachabilityRecursive (const System &rGen, const EventSet &rUnobsEvents, const EventSet &rFailures, Idx State, const AttributeFailureTypeMap &rAttrFTMap, std::map< Idx, std::multimap< Idx, DiagLabelSet > > &rReachabilityMap, const DiagLabelSet FToccurred)
 Auxiliary function for ComputeReachability(const System&, const EventSet&, const EventSet&, Idx, const AttributeFailureTypeMap&, std::map<Idx,std::multimap<Idx,DiagLabelSet>>&). More...
 
TransSet faudes::ActiveBackwardTransSet (const System &rGen, Idx state)
 Obtain all transitions from other states into a given state of a generator. More...
 
FAUDES_API void faudes::EventDiagnoser (const System &rOrigGen, const std::map< std::string, EventSet > &rFailureTypeMap, Diagnoser &rDiagGen)
 Compute a standard diagnoser from an input generator and a failure partition. More...
 
void faudes::LabelPropagation (const DiagLabelSet &lastLabel, const DiagLabelSet &failureTypes, DiagLabelSet &newLabel)
 Generate a new label. More...
 
FAUDES_API void faudes::LabelCorrection (const std::multimap< Idx, DiagLabelSet > &mm, AttributeDiagnoserState &attr)
 Perform label correction on propagated failure type labels. More...
 
bool faudes::IsEventDiagnosable (const System &rGen, const AttributeFailureTypeMap &rFailureTypeMap)
 Function definition for run-time interface. More...
 
bool faudes::IsIndicatorEventDiagnosable (const System &rGen, const AttributeFailureTypeMap &rFailureTypeMap)
 Function definition for run-time interface. More...
 
Functions (diagnosability with respect to a failure partition)
FAUDES_API bool faudes::IsEventDiagnosable (const System &rGen, const AttributeFailureTypeMap &rFailureTypeMap, std::string &rReportString)
 Test a system's diagnosability with respect to a given failure partition. More...
 
FAUDES_API bool faudes::IsIndicatorEventDiagnosable (const System &rGen, const AttributeFailureTypeMap &rFailureTypeMap, std::string &rReportString)
 Test a system's I-diagnosability with respect to a given failure partition. More...
 
FAUDES_API bool faudes::MeetsDiagnosabilityAssumptions (const System &rGen, const AttributeFailureTypeMap &rFailureTypeMap, std::string &rReportString)
 Check if a generator meets the general assumptions of diagnosability as required by IsDiagnosable(const System&, const AttributeFailureTypeMap&, std::string&) and IsIndicatorDiagnosable(const System&, const AttributeFailureTypeMap&, std::string&). More...
 
Functions (diagnoser computation)
void faudes::EventDiagnoser (const System &rOrigGen, const AttributeFailureTypeMap &rAttrFTMap, Diagnoser &rDiagGen)
 Compute a standard diagnoser from an input generator and a failure partition. More...
 

Detailed Description

Functions to check a system's diagnosability with respect to failure events (diagnosability and I-diagnosability) and computation of an event-diagnoser.

Definition in file diag_eventdiagnosis.h.

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