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

#include <SpecialisedActiveDiagnoser.hh>

Public Types

enum  Tag { Undiscriminable, Discriminable, Safe, Sure }
 
- Public Types inherited from Diades::Automata::ObservableComponent
typedef reference_wrapper< ObservableComponent const > CRef
 
typedef reference_wrapper< ObservableComponentRef
 
typedef Diades::Utils::Exception< ComponentException
 
- Public Types inherited from Diades::Automata::Component
typedef Diades::Utils::Exception< ComponentException
 
typedef ComponentPointer
 
typedef const ComponentConstPointer
 
typedef Diades::Graph::NodeIterator StateIterator
 
typedef Diades::Graph::EdgeIterator TransitionIterator
 
typedef list< Transition >::const_iterator EventTransitionIterator
 
typedef unordered_set< State >::const_iterator InitialStateIterator
 
typedef Diades::Graph::InEdgeIterator InputTransitionIterator
 
typedef Diades::Graph::OutEdgeIterator OutputTransitionIterator
 
typedef set< Event >::const_iterator EventIterator
 
typedef unordered_set< Transition >::const_iterator OutputEventTransitionIterator
 
typedef unordered_set< Transition >::const_iterator InputEventTransitionIterator
 
typedef unordered_set< State >::const_iterator LabelledStateIterator
 
typedef std::string StateLabel
 

Public Member Functions

 SpecialisedActiveDiagnoser (const ObservableComponent &model, Event event)
 
virtual ~SpecialisedActiveDiagnoser ()
 
Tag tag (State s) const
 
Event event () const
 
State initialState () const
 
string eventLabel () const
 
void diagnoser2Dot (const string &filename) const
 
const string & nameOfObservable (Event event) const
 
bool isHole (State state) const
 
int nemax ()
 
- Public Member Functions inherited from Diades::Automata::ObservableComponent
 ObservableComponent ()
 
 ObservableComponent (const ObservableComponent &component)
 
 ~ObservableComponent ()
 
virtual void clear ()
 
void setMask (const ObservableMask &mask)
 
const ObservableMaskmask () const
 
EventIterator observableBegin () const
 
EventIterator observableEnd () const
 
unsigned numberOfObservables () const
 
bool containsObservableEvent (const Event &e) const
 
LabelledStateIterator beginOfSourceStateOfObservableEvent (const Event &e) const
 
LabelledStateIterator endOfSourceStateOfObservableEvent (const Event &e) const
 
LabelledStateIterator beginOfTargetStateOfObservableEvent (const Event &e) const
 
LabelledStateIterator endOfTargetStateOfObservableEvent (const Event &e) const
 
EventTransitionIterator observableTransitionBegin (const Event &e) const
 
EventTransitionIterator observableTransitionEnd (const Event &e) const
 
EventTransitionIterator unobservableTransitionBegin () const
 
EventTransitionIterator unobservableTransitionEnd () const
 
OutputEventTransitionIterator outputObservableTransitionBegin (State s, Event e) const
 
OutputEventTransitionIterator outputObservableTransitionEnd (State s, Event e) const
 
InputEventTransitionIterator inputObservableTransitionBegin (State s, Event e) const
 
InputEventTransitionIterator inputObservableTransitionEnd (State s, Event e) const
 
virtual bool project (const ObservableComponent *comp, const set< Event > &projectedEvents)
 
virtual bool project (const ObservableComponent *comp, const set< Event > &projectedEvents, unordered_map< Diades::Automata::State, unordered_set< Diades::Automata::State > > &dictionary)
 
virtual bool component2dot (const string &fileName) const
 
virtual bool component2dot (ostream &os) const
 
virtual void updateMask (const Event &event, const set< string > &obsLabel)
 
virtual bool exportDesCompModel (const string &filename) const
 
virtual bool exportDesCompModel (ostream &os) const
 
- Public Member Functions inherited from Diades::Automata::Component
ConstPointer getPointer () const
 
Pointer getPointer ()
 
 Component ()
 
 Component (const Component &component)
 
virtual ~Component ()
 
bool operator== (const Component &component) const
 
bool operator!= (const Component &component) const
 
int id () const
 
void setId (int identifier)
 
Graph::Graphbehaviour ()
 
const Graph::Graphbehaviour () const
 
bool isEmpty () const
 
bool isValid () const
 
void setName (const string &name)
 
const string & name () const
 
void insertEvent (const Event &event)
 
unsigned numberOfEvents () const
 
void insertEvent (EventIterator start, EventIterator end)
 
const EventgetEvent (Transition t) const
 
const set< Event > & events () const
 
EventIterator eventBegin () const
 
EventIterator eventEnd () const
 
bool containsEvent (const Event &e) const
 
void setFaulty (const Event &e)
 
bool isFaulty (const Event &e) const
 
const set< Event > & faultyEvents () const
 
EventIterator faultyEventBegin () const
 
EventIterator faultyEventEnd () const
 
void setNormal (const Event &e)
 
bool isNormal (const Event &e) const
 
const set< Event > & normalEvents () const
 
EventIterator normalEventBegin () const
 
EventIterator normalEventEnd () const
 
void replaceEvent (const Event &e1, const Event &e2)
 
State newState ()
 
State newState (const StateLabel &label)
 
const StateLabelgetLabel (State state) const
 
State getState (const StateLabel &label) const
 
void deleteState (State state)
 
void deleteState (StateIterator start, StateIterator end)
 
unsigned numberOfStates () const
 
StateIterator stateBegin () const
 
StateIterator stateEnd () const
 
void setInitial (State state)
 
void unsetInitial (State state)
 
void setAllInitialStates ()
 
void clearAllInitialStates ()
 
InitialStateIterator initialStateBegin () const
 
InitialStateIterator initialStateEnd () const
 
unsigned numberOfInitialStates () const
 
bool isInitial (State state) const
 
virtual void mergeInfoStates (const vector< const Component *> &components, const vector< State > &states, State currentState)
 
Transition newTransition (State source, State target, Event event)
 
Transition newTransition (const StateLabel &source, const StateLabel &target, Event event)
 
void deleteTransition (Transition t)
 
void deleteTransition (TransitionIterator start, TransitionIterator end)
 
void deleteTransition (EventTransitionIterator start, EventTransitionIterator end)
 
LabelledStateIterator beginOfSourceStateOfEvent (const Event &e) const
 
LabelledStateIterator endOfSourceStateOfEvent (const Event &e) const
 
LabelledStateIterator beginOfTargetStateOfEvent (const Event &e) const
 
LabelledStateIterator endOfTargetStateOfEvent (const Event &e) const
 
EventTransitionIterator eventTransitionBegin (const Event &e) const
 
EventTransitionIterator eventTransitionEnd (const Event &e) const
 
OutputEventTransitionIterator outputEventTransitionBegin (State s, Event e) const
 
OutputEventTransitionIterator outputEventTransitionEnd (State s, Event e) const
 
InputEventTransitionIterator inputEventTransitionBegin (State s, Event e) const
 
InputEventTransitionIterator inputEventTransitionEnd (State s, Event e) const
 
TransitionIterator transitionBegin () const
 
TransitionIterator transitionEnd () const
 
OutputTransitionIterator outputTransitionBegin (State s) const
 
OutputTransitionIterator outputTransitionEnd (State s) const
 
InputTransitionIterator inputTransitionBegin (State s) const
 
InputTransitionIterator inputTransitionEnd (State s) const
 
unsigned numberOfTransitions () const
 
bool sanityCheck (string &log) const
 
bool isDeterministic () const
 
virtual bool project (const Component *comp, const set< Event > &projectedEvents)
 
virtual bool project (const Component *comp, const set< Event > &projectedEvents, unordered_map< Diades::Automata::State, unordered_set< Diades::Automata::State > > &dictionary)
 
virtual bool project (const Component *comp, const set< Event > &projectedEvents, const unordered_set< State > &acceptors, unordered_set< State > &newAcceptors)
 
bool minimize ()
 
bool minimize (unordered_set< State > &acceptors)
 
bool isComplete () const
 
virtual bool import (const string &filename)
 
virtual bool importDesCompModel (const string &filename)
 
virtual bool importDesCompModel (istream &stream)
 
- Public Member Functions inherited from Diades::Utils::Loggable
 Loggable ()
 
 Loggable (const string &loggerName)
 
 Loggable (Logger &logger)
 
void changeLogger (const string &newLoggerName)
 
void changeLogger (Logger &newLogger)
 
Diades::Utils::Log log (Log::Level level, const char *msg)
 

Private Member Functions

void computeActiveDiagnoser (const ObservableComponent &model, Event event)
 
void setDiscriminableTags (const list< State > &sureStates)
 

Private Attributes

Event _event
 
string _eventLabel
 
unordered_map< Event, pair< string, Event > > _observables
 
NodeMap< Tag_tags
 
State _hole
 
int _nemax
 
NodeMap< int > _nef
 

Additional Inherited Members

- Static Public Member Functions inherited from Diades::Automata::ObservableComponent
static string typeName ()
 
- Static Public Member Functions inherited from Diades::Automata::Component
static string typeName ()
 the name by default More...
 
- Static Public Attributes inherited from Diades::Automata::Component
static const string defaultComponentName
 
- Protected Member Functions inherited from Diades::Automata::ObservableComponent
virtual bool parseDesCompFaultyEvents (istream &stream)
 
virtual bool parseDesCompNormalEvents (istream &stream)
 
virtual bool parseDesCompObservableEvents (istream &stream)
 
virtual void exportDesCompEvent (ostream &os, const Event &evt) const
 
- Protected Member Functions inherited from Diades::Automata::Component
virtual void determine (const Component *comp, const unordered_set< State > &acceptors, unordered_set< State > &newAcceptors)
 
virtual void determine (const Component *comp)
 
virtual bool parseDesCompName (istream &stream)
 
virtual bool parseDesCompStates (istream &stream)
 
virtual bool parseDesCompMaskedEvents (istream &stream, unsigned number, map< string, set< string > > &maskEvents)
 
virtual bool parseDesCompTransitions (istream &stream)
 
- Protected Attributes inherited from Diades::Automata::Component
Diades::Graph::Graph _behav
 
unordered_set< State_initial
 
Diades::Graph::NodeMap< int > _isInitial
 

Detailed Description

Definition at line 39 of file SpecialisedActiveDiagnoser.hh.

Member Enumeration Documentation

◆ Tag

Enumerator
Undiscriminable 
Discriminable 
Safe 
Sure 

Definition at line 42 of file SpecialisedActiveDiagnoser.hh.

Constructor & Destructor Documentation

◆ SpecialisedActiveDiagnoser()

Diades::Automata::SpecialisedActiveDiagnoser::SpecialisedActiveDiagnoser ( const ObservableComponent model,
Event  event 
)

◆ ~SpecialisedActiveDiagnoser()

virtual Diades::Automata::SpecialisedActiveDiagnoser::~SpecialisedActiveDiagnoser ( )
virtual

Member Function Documentation

◆ computeActiveDiagnoser()

void Diades::Automata::SpecialisedActiveDiagnoser::computeActiveDiagnoser ( const ObservableComponent model,
Event  event 
)
private

◆ diagnoser2Dot()

void Diades::Automata::SpecialisedActiveDiagnoser::diagnoser2Dot ( const string &  filename) const

◆ event()

Event Diades::Automata::SpecialisedActiveDiagnoser::event ( ) const
inline

Definition at line 62 of file SpecialisedActiveDiagnoser.hh.

◆ eventLabel()

string Diades::Automata::SpecialisedActiveDiagnoser::eventLabel ( ) const
inline

Definition at line 64 of file SpecialisedActiveDiagnoser.hh.

◆ initialState()

State Diades::Automata::SpecialisedActiveDiagnoser::initialState ( ) const
inline

Definition at line 63 of file SpecialisedActiveDiagnoser.hh.

Referenced by export2Hydiag().

◆ isHole()

bool Diades::Automata::SpecialisedActiveDiagnoser::isHole ( State  state) const
inline

Definition at line 71 of file SpecialisedActiveDiagnoser.hh.

Referenced by export2Hydiag().

◆ nameOfObservable()

const string& Diades::Automata::SpecialisedActiveDiagnoser::nameOfObservable ( Event  event) const
inline

Definition at line 66 of file SpecialisedActiveDiagnoser.hh.

References require.

◆ nemax()

int Diades::Automata::SpecialisedActiveDiagnoser::nemax ( )
inline

Definition at line 72 of file SpecialisedActiveDiagnoser.hh.

◆ setDiscriminableTags()

void Diades::Automata::SpecialisedActiveDiagnoser::setDiscriminableTags ( const list< State > &  sureStates)
private

◆ tag()

Tag Diades::Automata::SpecialisedActiveDiagnoser::tag ( State  s) const
inline

Definition at line 61 of file SpecialisedActiveDiagnoser.hh.

Referenced by export2Hydiag().

Member Data Documentation

◆ _event

Event Diades::Automata::SpecialisedActiveDiagnoser::_event
private

Definition at line 45 of file SpecialisedActiveDiagnoser.hh.

◆ _eventLabel

string Diades::Automata::SpecialisedActiveDiagnoser::_eventLabel
private

Definition at line 46 of file SpecialisedActiveDiagnoser.hh.

◆ _hole

State Diades::Automata::SpecialisedActiveDiagnoser::_hole
private

Definition at line 49 of file SpecialisedActiveDiagnoser.hh.

◆ _nef

NodeMap<int> Diades::Automata::SpecialisedActiveDiagnoser::_nef
private

Definition at line 53 of file SpecialisedActiveDiagnoser.hh.

◆ _nemax

int Diades::Automata::SpecialisedActiveDiagnoser::_nemax
private

Definition at line 52 of file SpecialisedActiveDiagnoser.hh.

◆ _observables

unordered_map<Event, pair<string, Event> > Diades::Automata::SpecialisedActiveDiagnoser::_observables
private

Definition at line 47 of file SpecialisedActiveDiagnoser.hh.

◆ _tags

NodeMap<Tag> Diades::Automata::SpecialisedActiveDiagnoser::_tags
private

Definition at line 48 of file SpecialisedActiveDiagnoser.hh.


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