DiaDes
0.1
DIAgnosis of Discrete-Event System
|
#include <SynchronisationRules.hh>
Public Types | |
using | Exception = Diades::Utils::Exception< SynchronisationRules > |
using | Component = StateMachine |
using | SyncEvent = SynchronisationEvent< Component > |
using | Event = typename SyncEvent::Event |
using | ComponentVector = typename SyncEvent::ComponentVector |
using | ComponentIterator = typename SyncEvent::ComponentIterator |
using | Size = typename SyncEvent::Size |
using | SynchronisationList = std::list< SyncEvent > |
using | SynchronisationIterator = typename SynchronisationList::iterator |
using | ConstSynchronisationIterator = typename SynchronisationList::const_iterator |
Static Public Member Functions | |
static string | typeName () |
Protected Attributes | |
ComponentVector | _components |
std::list< SyncEvent > | _synchros |
This class defines a synchronisation law between a set of StateMachine (called here a set of Component's) It is implemented as a list of SynchronisationEvent objects. Off course, the SynchronisationEvent objects must be consistent with each other (same components that are involved). When a composition is performed based on such SynchronisationRules, it means that only synchronised events from this list are triggered. It means, for instance, if an event from a component involved in the SynchronisationEvent objects is not present in at least one of the SynchronisationEvent, then the event cannot occur in the synchronisation, the component cannot trigger it.
The class SynchronisationRules is the most generic one and should never be used. Use the derived classes instead or define new ones that derive from it.
Definition at line 40 of file SynchronisationRules.hh.
using Diades::Automata::Experimental::SynchronisationRules< StateMachine >::Component = StateMachine |
Definition at line 50 of file SynchronisationRules.hh.
using Diades::Automata::Experimental::SynchronisationRules< StateMachine >::ComponentIterator = typename SyncEvent::ComponentIterator |
Definition at line 54 of file SynchronisationRules.hh.
using Diades::Automata::Experimental::SynchronisationRules< StateMachine >::ComponentVector = typename SyncEvent::ComponentVector |
Definition at line 53 of file SynchronisationRules.hh.
using Diades::Automata::Experimental::SynchronisationRules< StateMachine >::ConstSynchronisationIterator = typename SynchronisationList::const_iterator |
Definition at line 58 of file SynchronisationRules.hh.
using Diades::Automata::Experimental::SynchronisationRules< StateMachine >::Event = typename SyncEvent::Event |
Definition at line 52 of file SynchronisationRules.hh.
using Diades::Automata::Experimental::SynchronisationRules< StateMachine >::Exception = Diades::Utils::Exception<SynchronisationRules> |
Definition at line 49 of file SynchronisationRules.hh.
using Diades::Automata::Experimental::SynchronisationRules< StateMachine >::Size = typename SyncEvent::Size |
Definition at line 55 of file SynchronisationRules.hh.
using Diades::Automata::Experimental::SynchronisationRules< StateMachine >::SyncEvent = SynchronisationEvent<Component> |
Definition at line 51 of file SynchronisationRules.hh.
using Diades::Automata::Experimental::SynchronisationRules< StateMachine >::SynchronisationIterator = typename SynchronisationList::iterator |
Definition at line 57 of file SynchronisationRules.hh.
using Diades::Automata::Experimental::SynchronisationRules< StateMachine >::SynchronisationList = std::list<SyncEvent> |
Definition at line 56 of file SynchronisationRules.hh.
|
default |
Default constructor
|
default |
Copy constructor (default)
other |
|
default |
Move constructor (default)
other |
|
virtualdefault |
Destructor
|
inline |
Parametrized constructor
components |
Definition at line 110 of file SynchronisationRules.hh.
References Diades::Automata::Experimental::SynchronisationRules< StateMachine >::setComponentVector().
|
inline |
Definition at line 249 of file SynchronisationRules.hh.
Referenced by Diades::Automata::Experimental::ParametrizedSynchronisation< StateMachine >::close(), Diades::Automata::Experimental::SynchronisationRules< StateMachine >::findComponent(), and Diades::Automata::Experimental::ParametrizedSynchronisation< StateMachine >::synchronise().
|
inline |
Definition at line 185 of file SynchronisationRules.hh.
Referenced by Diades::Automata::Experimental::generateSynchronisedDdAutEventLabels(), Diades::Automata::Experimental::SynchronisationRules< StateMachine >::getSynchronisationEvents(), and Diades::Automata::Experimental::rulesToDescriptor().
|
inline |
Definition at line 203 of file SynchronisationRules.hh.
|
inlinevirtual |
Clear everything
Reimplemented in Diades::Automata::Experimental::ParametrizedSynchronisation< StateMachine >.
Definition at line 165 of file SynchronisationRules.hh.
References Diades::Automata::Experimental::SynchronisationRules< StateMachine >::clearRules().
Referenced by Diades::Automata::Experimental::ParametrizedSynchronisation< StateMachine >::clear(), and Diades::Automata::Experimental::SynchronisationRules< StateMachine >::setComponentVector().
|
inlinevirtual |
Clear the rules
Reimplemented in Diades::Automata::Experimental::ParametrizedSynchronisation< StateMachine >.
Definition at line 176 of file SynchronisationRules.hh.
Referenced by Diades::Automata::Experimental::SynchronisationRules< StateMachine >::clear(), and Diades::Automata::Experimental::ParametrizedSynchronisation< StateMachine >::clearRules().
|
inline |
Definition at line 258 of file SynchronisationRules.hh.
Referenced by Diades::Automata::Experimental::ParametrizedSynchronisation< StateMachine >::close(), Diades::Automata::Experimental::descriptorToRules(), Diades::Automata::Experimental::SynchronisationRules< StateMachine >::findComponent(), and Diades::Automata::Experimental::ParametrizedSynchronisation< StateMachine >::synchronise().
|
inline |
Definition at line 194 of file SynchronisationRules.hh.
Referenced by Diades::Automata::Experimental::generateSynchronisedDdAutEventLabels(), Diades::Automata::Experimental::SynchronisationRules< StateMachine >::getSynchronisationEvents(), and Diades::Automata::Experimental::rulesToDescriptor().
|
inline |
Definition at line 212 of file SynchronisationRules.hh.
|
inline |
component |
Definition at line 285 of file SynchronisationRules.hh.
References Diades::Automata::Experimental::SynchronisationRules< StateMachine >::beginOfComponents(), Diades::Automata::Experimental::SynchronisationRules< StateMachine >::endOfComponents(), and Diades::Automata::Experimental::StateMachine< _StatePropertyId, _EventPropertyId, _NullStatePropertyId, _NullEventPropertyId >::name().
Referenced by Diades::Automata::Experimental::descriptorToRules().
|
inline |
component |
Definition at line 300 of file SynchronisationRules.hh.
References Diades::Automata::Experimental::SynchronisationRules< StateMachine >::beginOfComponents(), and Diades::Automata::Experimental::SynchronisationRules< StateMachine >::endOfComponents().
|
inline |
index | an index between 0 and numberOfComponents()-1 |
Definition at line 271 of file SynchronisationRules.hh.
References Diades::Automata::Experimental::SynchronisationRules< StateMachine >::numberOfComponents(), and require.
|
inline |
Definition at line 328 of file SynchronisationRules.hh.
References Diades::Automata::Experimental::SynchronisationRules< StateMachine >::beginOfSynchronisedEvents(), Diades::Automata::Experimental::StateMachine< _StatePropertyId, _EventPropertyId, _NullStatePropertyId, _NullEventPropertyId >::containsEvent(), Diades::Automata::Experimental::SynchronisationRules< StateMachine >::endOfSynchronisedEvents(), ensure, Diades::Automata::Experimental::StateMachine< _StatePropertyId, _EventPropertyId, _NullStatePropertyId, _NullEventPropertyId >::isValid(), and require.
|
inline |
Definition at line 354 of file SynchronisationRules.hh.
Referenced by Diades::Automata::Experimental::ParametrizedSynchronisation< StateMachine >::close(), and Diades::Automata::Experimental::ParametrizedSynchronisation< StateMachine >::synchronise().
|
inline |
Definition at line 231 of file SynchronisationRules.hh.
Referenced by Diades::Automata::Experimental::SynchronisationRules< StateMachine >::getComponent().
|
inline |
Definition at line 222 of file SynchronisationRules.hh.
|
default |
|
default |
|
inline |
equality operator (value)
Definition at line 313 of file SynchronisationRules.hh.
References Diades::Automata::Experimental::SynchronisationRules< StateMachine >::_components, and Diades::Automata::Experimental::SynchronisationRules< StateMachine >::_synchros.
|
inline |
components | a ComponentVector |
Definition at line 128 of file SynchronisationRules.hh.
References Diades::Automata::Experimental::SynchronisationRules< StateMachine >::clear().
Referenced by Diades::Automata::Experimental::ParametrizedSynchronisation< StateMachine >::init(), and Diades::Automata::Experimental::SynchronisationRules< StateMachine >::SynchronisationRules().
|
inline |
Definition at line 240 of file SynchronisationRules.hh.
|
inlinestatic |
Definition at line 45 of file SynchronisationRules.hh.
|
protected |
Definition at line 61 of file SynchronisationRules.hh.
Referenced by Diades::Automata::Experimental::ParametrizedSynchronisation< StateMachine >::close(), Diades::Automata::Experimental::SynchronisationRules< StateMachine >::operator==(), and Diades::Automata::Experimental::ParametrizedSynchronisation< StateMachine >::synchronise().
|
protected |
Definition at line 62 of file SynchronisationRules.hh.
Referenced by Diades::Automata::Experimental::ParametrizedSynchronisation< StateMachine >::close(), Diades::Automata::Experimental::SynchronisationRules< StateMachine >::operator==(), and Diades::Automata::Experimental::ParametrizedSynchronisation< StateMachine >::synchronise().