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

An observable Component defined as a automaton. More...

#include <ObservableComponent.hh>

Public Types

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

 ObservableComponent ()
 
 ObservableComponent (const ObservableComponent &component)
 
 ~ObservableComponent ()
 
virtual void clear ()
 
Event management

Modifiers and Accessors related to the Event management in an ObservableComponent

void setMask (const ObservableMask &mask)
 
const ObservableMaskmask () const
 
EventIterator observableBegin () const
 
EventIterator observableEnd () const
 
unsigned numberOfObservables () const
 
bool containsObservableEvent (const Event &e) const
 
Transition management

Modifiers and Accessors related to the Transition management in an ObservableComponent

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
 
Projection algorithm

Algorithms to a project an ObservableComponent

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)
 
- 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)
 

Static Public Member Functions

static string typeName ()
 
- Static Public Member Functions inherited from Diades::Automata::Component
static string typeName ()
 the name by default More...
 

Private Attributes

vector< Diades::Graph::NodeMap< unordered_set< Transition > > > _observableTransitionsWithSource
 
vector< Diades::Graph::NodeMap< unordered_set< Transition > > > _observableTransitionsWithTarget
 
vector< unordered_set< State > > _sourceWithObservableEvent
 
vector< unordered_set< State > > _targetWithObservableEvent
 
vector< list< Transition > > _transitionsWithObservableEvent
 
ObservableMask _mask
 

Import/Export management

methods to import/export an ObservableComponent

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
 
virtual bool parseDesCompFaultyEvents (istream &stream)
 
virtual bool parseDesCompNormalEvents (istream &stream)
 
virtual bool parseDesCompObservableEvents (istream &stream)
 
virtual void exportDesCompEvent (ostream &os, const Event &evt) const
 

Additional Inherited Members

- Static Public Attributes inherited from Diades::Automata::Component
static const string defaultComponentName
 
- 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

An observable Component defined as a automaton.

An ObservableComponent is a Component whose observability is defined by an ObservableMask object. An ObservableComponent is typically defined by a 'des_comp' file.

'des_comp' file example
comp
5
0 1 2 3 4
1
f
1
uo { o1 o2 @ }
2
o1 o2
7
0 -> 1 f
1 -> 2 o1
2 -> 2 o2
2 -> 0 uo
0 -> 3 uo
3 -> 4 o1
4 -> 4 o1

This example will generate an ObservableComponent whose name is 'comp'. It contains 5 states, namely 0 1 2 3 4 and has an initial state that is 0. It contains 1 fault event (f), 1 unobservable event (uo), 0 shared events 2 observable events (o1, o2). The event uo is not observable but it emit either o1 or o2 or nothing @ . Finally the number of transitions is 7, one transition from state 0 to state 1 labelled with f, one transition from state 1 to state 2 labelled with o1, ... NOTE THAT THE NOTION OF SHARED EVENTS HAS DISAPPEARED Test of the whole class done on July 31th 2009

Definition at line 62 of file ObservableComponent.hh.

Member Typedef Documentation

◆ CRef

a reference wrapper on an constant ObservableComponent

Definition at line 70 of file ObservableComponent.hh.

◆ Exception

Exceptions
Exceptionexception returned by any ObservableComponent

Definition at line 93 of file ObservableComponent.hh.

◆ Ref

a reference wrapper on a non-constant ObservableComponent

Definition at line 77 of file ObservableComponent.hh.

Constructor & Destructor Documentation

◆ ObservableComponent() [1/2]

Diades::Automata::ObservableComponent::ObservableComponent ( )
inline

Default constructor: create an invalid component

Postcondition
the ObservableComponent is invalid

Definition at line 114 of file ObservableComponent.hh.

References clear(), mask(), setMask(), and ~ObservableComponent().

◆ ObservableComponent() [2/2]

Diades::Automata::ObservableComponent::ObservableComponent ( const ObservableComponent component)

Copy constructor: create a copy

◆ ~ObservableComponent()

Diades::Automata::ObservableComponent::~ObservableComponent ( )

Destructor

Referenced by ObservableComponent().

Member Function Documentation

◆ beginOfSourceStateOfObservableEvent()

LabelledStateIterator Diades::Automata::ObservableComponent::beginOfSourceStateOfObservableEvent ( const Event e) const
inline

State iterator on states that are the sources of a given event

Parameters
ean Event
Returns
a forward iterator (begin)
Precondition
the event e must belong to the Component

Definition at line 279 of file ObservableComponent.hh.

References containsObservableEvent(), Diades::Automata::Event::id(), and require.

◆ beginOfTargetStateOfObservableEvent()

LabelledStateIterator Diades::Automata::ObservableComponent::beginOfTargetStateOfObservableEvent ( const Event e) const
inline

State iterator on states that are the targets of a given event

Parameters
ean Event
Returns
a forward iterator (begin)
Precondition
the event must belong to the Component

Definition at line 304 of file ObservableComponent.hh.

References containsObservableEvent(), Diades::Automata::Event::id(), and require.

◆ clear()

virtual void Diades::Automata::ObservableComponent::clear ( )
virtual

Clear the ObservableComponent

Postcondition
the ObservableComponent is invalid

Reimplemented from Diades::Automata::Component.

Referenced by ObservableComponent().

◆ component2dot() [1/2]

virtual bool Diades::Automata::ObservableComponent::component2dot ( const string &  fileName) const
virtual

ObservableComponent serialization (see boost serialization)

Parameters
arboost archive
versionthe version number
Postcondition
bidirectional serialization between the current ObservableComponent and the bytes stream 'ar' Component export to dot file
Parameters
fileNameexported file
Returns
true if the export has succeeded

Reimplemented from Diades::Automata::Component.

Referenced by inputObservableTransitionEnd(), and MealyEncoding().

◆ component2dot() [2/2]

virtual bool Diades::Automata::ObservableComponent::component2dot ( ostream &  os) const
virtual

Component export to dot

Parameters
osoutput stream
Returns
true if the export has succeeded

◆ containsObservableEvent()

bool Diades::Automata::ObservableComponent::containsObservableEvent ( const Event e) const
inline

Events of the ObservableComponent that are not output of the ObservableMask.

Be careful, here a non-observable event may be observed in an indirect way (for instance if it is detectable due to the mask). However, if it is detectable it is by the occurrence of another event which is an output of the ObservableMask.

Returns
a forward iterator on the non-observable events (begin) Events of the ObservableComponent that are not output of the ObservableMask.

Be careful, here a non-observable event may be observed in an indirect way (for instance if it is detectable due to the mask). However, if it is detectable it is by the occurrence of another event which is an output of the ObservableMask.

Returns
a forward iterator on the non-observable events (end) Number of non-observable events

Be careful, here a non-observable event may be observed in an indirect way (for instance if it is detectable due to the mask). However, if it is detectable it is by the occurrence of another event which is an output of the ObservableMask.

Returns
the number of non-observable events
true if the event is an observable event of the Component, i.e. it is an output of the ObservableMask
Precondition
e is valid

Definition at line 255 of file ObservableComponent.hh.

References Diades::Automata::ObservableMask::containsObservableEvent(), Diades::Automata::Event::isValid(), and require.

Referenced by beginOfSourceStateOfObservableEvent(), beginOfTargetStateOfObservableEvent(), endOfSourceStateOfObservableEvent(), endOfTargetStateOfObservableEvent(), inputObservableTransitionBegin(), inputObservableTransitionEnd(), observableTransitionBegin(), observableTransitionEnd(), outputObservableTransitionBegin(), and outputObservableTransitionEnd().

◆ endOfSourceStateOfObservableEvent()

LabelledStateIterator Diades::Automata::ObservableComponent::endOfSourceStateOfObservableEvent ( const Event e) const
inline

State iterator on states that are the sources of a given event

Parameters
ean Event
Returns
a forward iterator (end)
Precondition
the event must belong to the Component

Definition at line 291 of file ObservableComponent.hh.

References containsObservableEvent(), Diades::Automata::Event::id(), and require.

◆ endOfTargetStateOfObservableEvent()

LabelledStateIterator Diades::Automata::ObservableComponent::endOfTargetStateOfObservableEvent ( const Event e) const
inline

State iterator on states that are the targets of a given event

Parameters
ean Event
Returns
a forward iterator (end)
Precondition
the event must belong to the Component

Definition at line 316 of file ObservableComponent.hh.

References containsObservableEvent(), Diades::Automata::Event::id(), and require.

◆ exportDesCompEvent()

virtual void Diades::Automata::ObservableComponent::exportDesCompEvent ( ostream &  os,
const Event evt 
) const
protectedvirtual

Event export to the model file "des_comp"

Parameters
osoutput stream
evtthe event to export

Referenced by inputObservableTransitionEnd().

◆ exportDesCompModel() [1/2]

virtual bool Diades::Automata::ObservableComponent::exportDesCompModel ( const string &  filename) const
virtual

Component export to the old model file "des_comp"

Parameters
filenamename of an oldmodel file
Returns
true if the export has succeeded

Reimplemented from Diades::Automata::Component.

Referenced by inputObservableTransitionEnd(), MealyEncoding(), and synchroniseModels().

◆ exportDesCompModel() [2/2]

virtual bool Diades::Automata::ObservableComponent::exportDesCompModel ( ostream &  os) const
virtual

Component export to the model file "des_comp"

Parameters
osoutput stream
Returns
true if the export has succeeded

◆ inputObservableTransitionBegin()

InputEventTransitionIterator Diades::Automata::ObservableComponent::inputObservableTransitionBegin ( State  s,
Event  e 
) const
inline

Transition iterator on the input transitions of a given state labelled with a given event

Parameters
sa State
ean Event
Returns
a forward iterator (begin)
Precondition
the state must belong to the Component
the event must belong to the ObservableComponent

Definition at line 405 of file ObservableComponent.hh.

References Diades::Automata::Component::_behav, containsObservableEvent(), Diades::Automata::Event::id(), and require.

◆ inputObservableTransitionEnd()

InputEventTransitionIterator Diades::Automata::ObservableComponent::inputObservableTransitionEnd ( State  s,
Event  e 
) const
inline

Transition iterator on the input transitions of a given state labelled with a given event

Parameters
sa State
ean Event
Returns
a forward iterator (end)
Precondition
the state must belong to the Component
the event must belong to the ObservableComponent

Definition at line 422 of file ObservableComponent.hh.

References Diades::Automata::Component::_behav, component2dot(), containsObservableEvent(), Diades::Automata::Component::events(), exportDesCompEvent(), exportDesCompModel(), Diades::Automata::Event::id(), Diades::Automata::makeUniversalBehaviour(), mask(), Diades::Automata::Component::name(), parseDesCompFaultyEvents(), parseDesCompNormalEvents(), parseDesCompObservableEvents(), project(), require, and updateMask().

◆ mask()

const ObservableMask& Diades::Automata::ObservableComponent::mask ( ) const
inline

◆ numberOfObservables()

unsigned Diades::Automata::ObservableComponent::numberOfObservables ( ) const
inline

Number of observable events output of the ObservableMask

Returns
the number of events output of the ObservableMask

Definition at line 197 of file ObservableComponent.hh.

References Diades::Automata::ObservableMask::numberOfObservableEvents().

◆ observableBegin()

EventIterator Diades::Automata::ObservableComponent::observableBegin ( ) const
inline

Observable events output of the ObservableMask

Returns
a forward iterator on the observable events (begin)

Definition at line 173 of file ObservableComponent.hh.

References Diades::Automata::ObservableMask::observableBegin().

Referenced by component2Orange(), and main().

◆ observableEnd()

EventIterator Diades::Automata::ObservableComponent::observableEnd ( ) const
inline

Observable events output of the ObservableMask

Returns
a forward iterator on the observable events (end)

Definition at line 184 of file ObservableComponent.hh.

References Diades::Automata::ObservableMask::observableEnd().

Referenced by component2Orange(), and main().

◆ observableTransitionBegin()

EventTransitionIterator Diades::Automata::ObservableComponent::observableTransitionBegin ( const Event e) const
inline

Transition iterator

Parameters
ean observable Event
Returns
a forward iterator (begin)
Precondition
the event must belong to the Component

Definition at line 329 of file ObservableComponent.hh.

References containsObservableEvent(), Diades::Automata::Event::id(), and require.

◆ observableTransitionEnd()

EventTransitionIterator Diades::Automata::ObservableComponent::observableTransitionEnd ( const Event e) const
inline

Transition iterator

Parameters
ean Event
Returns
a forward iterator (end)
Precondition
the event must belong to the Component

Definition at line 340 of file ObservableComponent.hh.

References containsObservableEvent(), Diades::Automata::Event::id(), and require.

◆ outputObservableTransitionBegin()

OutputEventTransitionIterator Diades::Automata::ObservableComponent::outputObservableTransitionBegin ( State  s,
Event  e 
) const
inline

Transition iterator on the output transitions of a given state labelled with a given observable event

Parameters
sa State
ean Event
Returns
a forward iterator (begin)
Precondition
the state must belong to the Component
the event must belong to the ObservableComponent

Definition at line 371 of file ObservableComponent.hh.

References Diades::Automata::Component::_behav, containsObservableEvent(), Diades::Automata::Event::id(), and require.

◆ outputObservableTransitionEnd()

OutputEventTransitionIterator Diades::Automata::ObservableComponent::outputObservableTransitionEnd ( State  s,
Event  e 
) const
inline

Transition iterator on the output transitions of a given state labelled with a given observable event

Parameters
sa State
ean observable Event
Returns
a forward iterator (end)
Precondition
the state must belong to the Component
the event must belong to the ObservableComponent

Definition at line 388 of file ObservableComponent.hh.

References Diades::Automata::Component::_behav, containsObservableEvent(), Diades::Automata::Event::id(), and require.

◆ parseDesCompFaultyEvents()

virtual bool Diades::Automata::ObservableComponent::parseDesCompFaultyEvents ( istream &  stream)
protectedvirtual
Parameters
streamthe input stream parse the faulty events of the component in a des_comp file

Reimplemented from Diades::Automata::Component.

Referenced by inputObservableTransitionEnd().

◆ parseDesCompNormalEvents()

virtual bool Diades::Automata::ObservableComponent::parseDesCompNormalEvents ( istream &  stream)
protectedvirtual
Parameters
streamthe input stream parse the normal events of the component in a des_comp file

Reimplemented from Diades::Automata::Component.

Referenced by inputObservableTransitionEnd().

◆ parseDesCompObservableEvents()

virtual bool Diades::Automata::ObservableComponent::parseDesCompObservableEvents ( istream &  stream)
protectedvirtual
Parameters
streamthe input stream parse the observable events of the component in a des_comp file here an observable event is just consider as a normal event

Reimplemented from Diades::Automata::Component.

Referenced by inputObservableTransitionEnd().

◆ project() [1/2]

virtual bool Diades::Automata::ObservableComponent::project ( const ObservableComponent comp,
const set< Event > &  projectedEvents 
)
virtual

Projection of the ObservableComponent comp The current ObservableComponent is the result of the projection of comp over the set of events projectedEvents

Parameters
compObservableComponent to project
projectedEventsset of projected events
Returns
true if the projection has succeded
Postcondition
success => isMinimal() && failure => empty()

Referenced by getSynchronisedInteraction(), and inputObservableTransitionEnd().

◆ project() [2/2]

virtual bool Diades::Automata::ObservableComponent::project ( const ObservableComponent comp,
const set< Event > &  projectedEvents,
unordered_map< Diades::Automata::State, unordered_set< Diades::Automata::State > > &  dictionary 
)
virtual

Projection of the ObservableComponent comp The current ObservableComponent is the result of the projection of comp over the set of events projectedEvents

Parameters
compObservableComponent to project
projectedEventsset of projected events
dictionarythe dictionnary that associates to each state of the abstracted component the set of states of the original component.
Returns
true if the projection has succeded
Postcondition
success => isMinimal() && failure => empty()

◆ setMask()

void Diades::Automata::ObservableComponent::setMask ( const ObservableMask mask)

Mask application

Parameters
maskthe ObservableMask to apply on the Component

Referenced by MealyEncoding(), ObservableComponent(), and synchroniseModels().

◆ typeName()

static string Diades::Automata::ObservableComponent::typeName ( )
inlinestatic
Returns
the absolute name of this class

Definition at line 87 of file ObservableComponent.hh.

◆ unobservableTransitionBegin()

EventTransitionIterator Diades::Automata::ObservableComponent::unobservableTransitionBegin ( ) const
inline

Transition iterator

Returns
a forward iterator on the unobservable transitions of the component (begin)

Definition at line 351 of file ObservableComponent.hh.

References Diades::Automata::Event::id(), and Diades::Automata::ObservableMask::noEvent().

◆ unobservableTransitionEnd()

EventTransitionIterator Diades::Automata::ObservableComponent::unobservableTransitionEnd ( ) const
inline

Transition iterator

Returns
a forward iterator on the unobservable transitions of the component (end)
Precondition
the event must belong to the Component

Definition at line 359 of file ObservableComponent.hh.

References Diades::Automata::Event::id(), and Diades::Automata::ObservableMask::noEvent().

◆ updateMask()

virtual void Diades::Automata::ObservableComponent::updateMask ( const Event event,
const set< string > &  obsLabel 
)
virtual
Parameters
eventthe event whose mak will be updated
obsLabelthe label of the observable events in the mask of event to update

Referenced by inputObservableTransitionEnd().

Member Data Documentation

◆ _mask

ObservableMask Diades::Automata::ObservableComponent::_mask
private

Definition at line 102 of file ObservableComponent.hh.

Referenced by mask().

◆ _observableTransitionsWithSource

vector< Diades::Graph::NodeMap< unordered_set<Transition> > > Diades::Automata::ObservableComponent::_observableTransitionsWithSource
private

Definition at line 97 of file ObservableComponent.hh.

◆ _observableTransitionsWithTarget

vector< Diades::Graph::NodeMap< unordered_set<Transition> > > Diades::Automata::ObservableComponent::_observableTransitionsWithTarget
private

Definition at line 98 of file ObservableComponent.hh.

◆ _sourceWithObservableEvent

vector< unordered_set<State> > Diades::Automata::ObservableComponent::_sourceWithObservableEvent
private

Definition at line 99 of file ObservableComponent.hh.

◆ _targetWithObservableEvent

vector< unordered_set<State> > Diades::Automata::ObservableComponent::_targetWithObservableEvent
private

Definition at line 100 of file ObservableComponent.hh.

◆ _transitionsWithObservableEvent

vector< list<Transition> > Diades::Automata::ObservableComponent::_transitionsWithObservableEvent
private

Definition at line 101 of file ObservableComponent.hh.


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