DiaDes  0.1
DIAgnosis of Discrete-Event System
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
Diades::Automata::FaultDiagnosis Class Reference

#include <FaultDiagnosis.hh>

Public Types

enum  AlgoType {
  Unknown, Comp, Global, Abstract,
  Diagnoser
}
 
typedef Diades::Utils::Exception< FaultDiagnosisException
 

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
 

Detailed Description

Definition at line 19 of file FaultDiagnosis.hh.

Member Typedef Documentation

◆ Exception

Definition at line 23 of file FaultDiagnosis.hh.

Member Enumeration Documentation

◆ AlgoType

Enumerator
Unknown 
Comp 
Global 
Abstract 
Diagnoser 

Definition at line 26 of file FaultDiagnosis.hh.

Constructor & Destructor Documentation

◆ FaultDiagnosis() [1/3]

Diades::Automata::FaultDiagnosis::FaultDiagnosis ( const vector< const ObservableComponent *>  models,
const SynchronisationRules rules,
const set< Event > &  faults 
)

Compute a diagnosis with a component-based algorithm

Parameters
modelsthe set of component models
rulesthe SynchronisationRules to compose the components
faultthe set of faults

Definition at line 23 of file FaultDiagnosis.cc.

References _currentFaults, _currentState, _globalComposableModel, and _models.

◆ FaultDiagnosis() [2/3]

Diades::Automata::FaultDiagnosis::FaultDiagnosis ( const ObservableComponent globalModel,
const set< Event > &  faults 
)

Compute a diagnosis with a global model algorithm

Parameters
globalModelthe global model
faultthe 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.

◆ FaultDiagnosis() [3/3]

Diades::Automata::FaultDiagnosis::FaultDiagnosis ( ClassicalDiagnoser diagnoser)

Compute a diagnosis with a global model algorithm

Parameters
globalModelthe global model
faultthe 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.

Member Function Documentation

◆ componentDiagnose()

void Diades::Automata::FaultDiagnosis::componentDiagnose ( const Event obs)
private

◆ createState()

bool Diades::Automata::FaultDiagnosis::createState ( Graph::Graph synchronisation,
const vector< State > &  nextState,
NodeMap< vector< State > > &  states,
State s 
) const
private

◆ createTransition()

bool Diades::Automata::FaultDiagnosis::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 
)
private

◆ diagnose()

void Diades::Automata::FaultDiagnosis::diagnose ( const Event obs)

Diagnosis function

Parameters
obsa 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().

◆ diagnoserDiagnose()

void Diades::Automata::FaultDiagnosis::diagnoserDiagnose ( const Event obs)
private

Diagnose the system based on the global diagnoser

Parameters
obsnew observation

Diagnose the system based on the global diagnoser

Parameters
labelnew observation label

Definition at line 465 of file FaultDiagnosis.cc.

References _diagnoser, and Diades::Automata::ClassicalDiagnoser::diagnose().

Referenced by diagnose().

◆ getDiagnosis()

void Diades::Automata::FaultDiagnosis::getDiagnosis ( Diagnosis diagnosis)

Get the current diagnosis

Parameters
diagnosesthe returned diagnoses. One string is one diagnosis candidate.

Get the current diagnosis

Parameters
diagnosesthe 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().

◆ globalModelDiagnose()

void Diades::Automata::FaultDiagnosis::globalModelDiagnose ( const Event obs)
private

◆ nextConfiguration()

bool Diades::Automata::FaultDiagnosis::nextConfiguration ( const list< list< Transition > > &  candidateTransitions,
list< list< Transition >::const_iterator > &  configuration 
) const
private

◆ typeName()

static string Diades::Automata::FaultDiagnosis::typeName ( )
inlinestatic

Definition at line 22 of file FaultDiagnosis.hh.

Member Data Documentation

◆ _currentFaults

list< set<Event> >* Diades::Automata::FaultDiagnosis::_currentFaults
private

◆ _currentGlobalStates

set<State> Diades::Automata::FaultDiagnosis::_currentGlobalStates
private

Definition at line 39 of file FaultDiagnosis.hh.

Referenced by componentDiagnose(), FaultDiagnosis(), and globalModelDiagnose().

◆ _currentState

list< vector<State> >* Diades::Automata::FaultDiagnosis::_currentState
private

◆ _diagnoser

ClassicalDiagnoser* Diades::Automata::FaultDiagnosis::_diagnoser
private

Definition at line 32 of file FaultDiagnosis.hh.

Referenced by diagnoserDiagnose(), FaultDiagnosis(), and getDiagnosis().

◆ _faultEvents

set<Event> Diades::Automata::FaultDiagnosis::_faultEvents
private

Definition at line 30 of file FaultDiagnosis.hh.

Referenced by componentDiagnose(), FaultDiagnosis(), and globalModelDiagnose().

◆ _globalComposableModel

ComposableModel* Diades::Automata::FaultDiagnosis::_globalComposableModel
private

Definition at line 34 of file FaultDiagnosis.hh.

Referenced by FaultDiagnosis().

◆ _globalModel

const ObservableComponent* Diades::Automata::FaultDiagnosis::_globalModel
private

Definition at line 31 of file FaultDiagnosis.hh.

Referenced by componentDiagnose(), and globalModelDiagnose().

◆ _models

vector<const ComposableModel *> Diades::Automata::FaultDiagnosis::_models
private

Definition at line 33 of file FaultDiagnosis.hh.

Referenced by FaultDiagnosis().

◆ _observations

list<Event> Diades::Automata::FaultDiagnosis::_observations
private

Definition at line 41 of file FaultDiagnosis.hh.

◆ _rules

const SynchronisationRules* Diades::Automata::FaultDiagnosis::_rules
private

Definition at line 35 of file FaultDiagnosis.hh.

◆ _type

AlgoType Diades::Automata::FaultDiagnosis::_type
private

Definition at line 29 of file FaultDiagnosis.hh.

Referenced by diagnose(), and getDiagnosis().


The documentation for this class was generated from the following files: