DiaDes
0.1
DIAgnosis of Discrete-Event System
|
#include <FaultDiagnosis.hh>
Public Types | |
enum | AlgoType { Unknown, Comp, Global, Abstract, Diagnoser } |
typedef Diades::Utils::Exception< FaultDiagnosis > | Exception |
Public Member Functions | |
FaultDiagnosis (const vector< const ObservableComponent *> models, const SynchronisationRules &rules, const set< Event > &faults) | |
FaultDiagnosis (const ObservableComponent &globalModel, const set< Event > &faults) | |
FaultDiagnosis (ClassicalDiagnoser &diagnoser) | |
void | diagnose (const Event &obs) |
void | getDiagnosis (Diagnosis &diagnosis) |
Static Public Member Functions | |
static string | typeName () |
Private Member Functions | |
void | componentDiagnose (const Event &obs) |
void | globalModelDiagnose (const Event &obs) |
void | diagnoserDiagnose (const Event &obs) |
bool | createTransition (State stateToSynchronise, const vector< Transition > &nextTransition, const vector< State > &nextState, State &targetState, Graph::Graph &synchronisation, NodeMap< vector< State > > &states, EdgeMap< vector< Transition > > &transitions, EdgeMap< set< int > > &supportedTransition) |
bool | createState (Graph::Graph &synchronisation, const vector< State > &nextState, NodeMap< vector< State > > &states, State &s) const |
bool | nextConfiguration (const list< list< Transition > > &candidateTransitions, list< list< Transition >::const_iterator > &configuration) const |
Private Attributes | |
AlgoType | _type |
set< Event > | _faultEvents |
const ObservableComponent * | _globalModel |
ClassicalDiagnoser * | _diagnoser |
vector< const ComposableModel * > | _models |
ComposableModel * | _globalComposableModel |
const SynchronisationRules * | _rules |
list< vector< State > > * | _currentState |
list< set< Event > > * | _currentFaults |
set< State > | _currentGlobalStates |
list< Event > | _observations |
Definition at line 19 of file FaultDiagnosis.hh.
Definition at line 23 of file FaultDiagnosis.hh.
Enumerator | |
---|---|
Unknown | |
Comp | |
Global | |
Abstract | |
Diagnoser |
Definition at line 26 of file FaultDiagnosis.hh.
Diades::Automata::FaultDiagnosis::FaultDiagnosis | ( | const vector< const ObservableComponent *> | models, |
const SynchronisationRules & | rules, | ||
const set< Event > & | faults | ||
) |
Compute a diagnosis with a component-based algorithm
models | the set of component models |
rules | the SynchronisationRules to compose the components |
fault | the set of faults |
Definition at line 23 of file FaultDiagnosis.cc.
References _currentFaults, _currentState, _globalComposableModel, and _models.
Diades::Automata::FaultDiagnosis::FaultDiagnosis | ( | const ObservableComponent & | globalModel, |
const set< Event > & | faults | ||
) |
Compute a diagnosis with a global model algorithm
globalModel | the global model |
fault | the set of faults |
Definition at line 113 of file FaultDiagnosis.cc.
References _currentFaults, _currentGlobalStates, _currentState, Diades::Automata::Component::initialStateBegin(), Diades::Automata::Component::initialStateEnd(), and require.
Diades::Automata::FaultDiagnosis::FaultDiagnosis | ( | ClassicalDiagnoser & | diagnoser | ) |
Compute a diagnosis with a global model algorithm
globalModel | the global model |
fault | the set of faults |
Definition at line 90 of file FaultDiagnosis.cc.
References _diagnoser, _faultEvents, Diades::Automata::ClassicalDiagnoser::beginOfDiagnosedEvents(), Diades::Automata::ClassicalDiagnoser::endOfDiagnosedEvents(), Diades::Automata::ClassicalDiagnoser::initialize(), and require.
|
private |
Diagnose the system based on the component models
obs | new observation |
Definition at line 231 of file FaultDiagnosis.cc.
References _currentFaults, _currentGlobalStates, _currentState, _faultEvents, _globalModel, ensure, getDiagnosis(), Diades::Automata::Component::getEvent(), Diades::Automata::ObservableMask::isObservable(), Diades::Automata::Event::label(), Diades::Automata::ObservableComponent::mask(), Diades::Automata::Component::outputTransitionBegin(), and Diades::Automata::Component::outputTransitionEnd().
Referenced by diagnose().
|
private |
|
private |
void Diades::Automata::FaultDiagnosis::diagnose | ( | const Event & | obs | ) |
Diagnosis function
obs | a new observation Update the diagnosis to explain the new observation |
Definition at line 198 of file FaultDiagnosis.cc.
References _type, Comp, componentDiagnose(), Diagnoser, diagnoserDiagnose(), Global, and globalModelDiagnose().
Referenced by runDiagnosis().
|
private |
Diagnose the system based on the global diagnoser
obs | new observation |
Diagnose the system based on the global diagnoser
label | new observation label |
Definition at line 465 of file FaultDiagnosis.cc.
References _diagnoser, and Diades::Automata::ClassicalDiagnoser::diagnose().
Referenced by diagnose().
void Diades::Automata::FaultDiagnosis::getDiagnosis | ( | Diagnosis & | diagnosis | ) |
Get the current diagnosis
diagnoses | the returned diagnoses. One string is one diagnosis candidate. |
Get the current diagnosis
diagnoses | the returned diagnoses. |
Definition at line 152 of file FaultDiagnosis.cc.
References _currentFaults, _currentState, _diagnoser, _type, Diades::Automata::Diagnosis::addCandidate(), Diagnoser, Diades::Automata::ClassicalDiagnoser::getDiagnosis(), Global, and require.
Referenced by componentDiagnose(), globalModelDiagnose(), and runDiagnosis().
|
private |
Diagnose the system based on the global model
obs | new observation |
Definition at line 473 of file FaultDiagnosis.cc.
References _currentFaults, _currentGlobalStates, _currentState, _faultEvents, _globalModel, ensure, getDiagnosis(), Diades::Automata::Component::getEvent(), Diades::Automata::ObservableMask::isObservable(), Diades::Automata::Event::label(), Diades::Automata::ObservableComponent::mask(), Diades::Automata::Component::outputTransitionBegin(), and Diades::Automata::Component::outputTransitionEnd().
Referenced by diagnose().
|
private |
|
inlinestatic |
Definition at line 22 of file FaultDiagnosis.hh.
|
private |
Definition at line 38 of file FaultDiagnosis.hh.
Referenced by componentDiagnose(), FaultDiagnosis(), getDiagnosis(), and globalModelDiagnose().
|
private |
Definition at line 39 of file FaultDiagnosis.hh.
Referenced by componentDiagnose(), FaultDiagnosis(), and globalModelDiagnose().
|
private |
Definition at line 37 of file FaultDiagnosis.hh.
Referenced by componentDiagnose(), FaultDiagnosis(), getDiagnosis(), and globalModelDiagnose().
|
private |
Definition at line 32 of file FaultDiagnosis.hh.
Referenced by diagnoserDiagnose(), FaultDiagnosis(), and getDiagnosis().
|
private |
Definition at line 30 of file FaultDiagnosis.hh.
Referenced by componentDiagnose(), FaultDiagnosis(), and globalModelDiagnose().
|
private |
Definition at line 34 of file FaultDiagnosis.hh.
Referenced by FaultDiagnosis().
|
private |
Definition at line 31 of file FaultDiagnosis.hh.
Referenced by componentDiagnose(), and globalModelDiagnose().
|
private |
Definition at line 33 of file FaultDiagnosis.hh.
Referenced by FaultDiagnosis().
|
private |
Definition at line 41 of file FaultDiagnosis.hh.
|
private |
Definition at line 35 of file FaultDiagnosis.hh.
|
private |
Definition at line 29 of file FaultDiagnosis.hh.
Referenced by diagnose(), and getDiagnosis().