DiaDes
0.1
DIAgnosis of Discrete-Event System
|
#include <SynchronisationRules.hh>
Public Types | |
typedef Diades::Utils::Exception< SynchronisationEvent > | Exception |
typedef vector< const Component * > | ComponentVector |
typedef vector< Event > | EventVector |
typedef ComponentVector::size_type | size_type |
typedef _ComponentIterator | ComponentIterator |
typedef _ComponentIterator | SupportIterator |
typedef const SynchronisationEvent * | ConstPointer |
Static Public Member Functions | |
static string | typeName () |
Private Member Functions | |
void | updateSynchroniseEvent () |
Private Attributes | |
ComponentVector | _components |
ComponentVector | _support |
EventVector | _events |
EventVector | _supportEvents |
Event | _synchronised |
A SynchronisationEvent implements a n-uple of events (e_1,....,e_n) that are synchronised according to a law defined in SynchronisationRules. For efficiency purpose, a SynchronisationEvent is associated to a simple Event that represents the t-uple. In the case that the law is not synchronous but asynchronous, the t-uple may contain invalid events that represents the fact that the asssociated component do not trigger any transition when such a SynchronisationEvent occurs. In this case it means that (e_1,....,e_n) contains only a j-uple of valid events namely (e_i1,...,e_ij) associated to a j-uple of components (c_i1,...,c_ij). This j-uple of component is called the support of the SynchronisationEvent. In other words, once the SynchronisationEvent occurs, only the components of the support trigger a transition. A SynchronisationEvent is said to be valid if it has a non-empty support.
Definition at line 121 of file SynchronisationRules.hh.
Definition at line 131 of file SynchronisationRules.hh.
typedef vector<const Component *> Diades::Automata::SynchronisationEvent::ComponentVector |
Definition at line 128 of file SynchronisationRules.hh.
Definition at line 133 of file SynchronisationRules.hh.
typedef vector<Event> Diades::Automata::SynchronisationEvent::EventVector |
Definition at line 129 of file SynchronisationRules.hh.
typedef Diades::Utils::Exception<SynchronisationEvent> Diades::Automata::SynchronisationEvent::Exception |
Definition at line 127 of file SynchronisationRules.hh.
typedef ComponentVector::size_type Diades::Automata::SynchronisationEvent::size_type |
Definition at line 130 of file SynchronisationRules.hh.
Definition at line 132 of file SynchronisationRules.hh.
Diades::Automata::SynchronisationEvent::SynchronisationEvent | ( | const ComponentVector & | components | ) |
Parametrized constructor
components | the components associated in this synchronisation The created event is invalid |
Diades::Automata::SynchronisationEvent::SynchronisationEvent | ( | const SynchronisationEvent & | sync1, |
const SynchronisationEvent & | sync2 | ||
) |
Merging constructor
sync1 | a SynchronisationEvent (e_1,...,e_m) |
sync2 | a SynchronisationEvent (e'1,...,e'_n) Create a new SynchronisationEvent (e''_1,...,e''{n+m}) resulting from the appending of sync1 and sync2. |
Diades::Automata::SynchronisationEvent::SynchronisationEvent | ( | const SynchronisationEvent & | sync, |
const ComponentVector & | components | ||
) |
Projection constructor
sync | a SynchronisationEvent |
components | a set of components Create a new SynchronisationEvent by projection of the sync event to the set of components |
|
inline |
Copy constructor
Definition at line 179 of file SynchronisationRules.hh.
ComponentIterator Diades::Automata::SynchronisationEvent::addEvent | ( | const Component & | component, |
Event | e | ||
) |
component | a component |
e | an Event |
|
inline |
Definition at line 248 of file SynchronisationRules.hh.
|
inline |
Definition at line 262 of file SynchronisationRules.hh.
|
inline |
Definition at line 255 of file SynchronisationRules.hh.
|
inline |
Definition at line 269 of file SynchronisationRules.hh.
ComponentIterator Diades::Automata::SynchronisationEvent::findComponent | ( | const Component & | component | ) | const |
ComponentIterator Diades::Automata::SynchronisationEvent::findSupportComponent | ( | const Component & | component | ) | const |
|
inline |
Definition at line 276 of file SynchronisationRules.hh.
References Diades::Automata::_ComponentIterator::getAssociatedEvent().
|
inline |
Definition at line 283 of file SynchronisationRules.hh.
References Diades::Automata::_ComponentIterator::getAssociatedEvent(), Diades::Automata::_ComponentIterator::operator==(), and require.
|
inline |
Definition at line 199 of file SynchronisationRules.hh.
bool Diades::Automata::SynchronisationEvent::isValid | ( | ) | const |
|
inline |
Definition at line 185 of file SynchronisationRules.hh.
References _components, _events, _support, _supportEvents, and _synchronised.
bool Diades::Automata::SynchronisationEvent::operator== | ( | const SynchronisationEvent & | sync | ) | const |
|
inline |
Definition at line 206 of file SynchronisationRules.hh.
|
inline |
Definition at line 213 of file SynchronisationRules.hh.
|
inline |
Definition at line 239 of file SynchronisationRules.hh.
References ensure, Diades::Automata::Event::isValid(), and require.
|
inlinestatic |
Definition at line 124 of file SynchronisationRules.hh.
|
private |
Update the synchronised event in order to be consistent with the events that have been added. Consistency is set by changing the label of the synchronised event so that it is related to the events of the support that is comp1.e1||...||compn.en
|
private |
Definition at line 136 of file SynchronisationRules.hh.
Referenced by operator=().
|
private |
Definition at line 138 of file SynchronisationRules.hh.
Referenced by operator=().
|
private |
Definition at line 137 of file SynchronisationRules.hh.
Referenced by operator=().
|
private |
Definition at line 139 of file SynchronisationRules.hh.
Referenced by operator=().
|
private |
Definition at line 140 of file SynchronisationRules.hh.
Referenced by operator=().