DiaDes  0.1
DIAgnosis of Discrete-Event System
Public Types | Public Member Functions | Private Member Functions | List of all members
Diades::Automata::Experimental::ManagedSynchronisedAcceptingStateCreation< S, I, NS, NI, _StateProperty, StatePropertyCombination > Class Template Reference

#include <FiniteAutomaton.hh>

Public Types

using MSSC = ManagedSynchronisedStateCreation< FiniteAutomaton< S, I, NS, NI >, _StateProperty, StatePropertyCombination >
 
- Public Types inherited from Diades::Automata::Experimental::ManagedSynchronisedStateCreation< FiniteAutomaton< S, I, NS, NI >, _StateProperty, StatePropertyCombination >
using StateMachine = FiniteAutomaton< S, I, NS, NI >
 
using StatePropertyId = typename StateMachine::StatePropertyId
 
using StateProperty = _StateProperty
 
using SManager = StatePropertyManager< StateProperty, StatePropertyId >
 
using State = typename StateMachine::State
 

Public Member Functions

 ManagedSynchronisedAcceptingStateCreation (const std::vector< typename Ptr< typename MSSC::StateMachine >::ConstP > &machines, const std::vector< typename Ptr< typename MSSC::SManager >::ConstP > &managers, typename MSSC::SManager &syncManager)
 
virtual std::pair< typename MSSC::State, bool > newState (const std::vector< typename MSSC::State > &states)
 
- Public Member Functions inherited from Diades::Automata::Experimental::ManagedSynchronisedStateCreation< FiniteAutomaton< S, I, NS, NI >, _StateProperty, StatePropertyCombination >
 ManagedSynchronisedStateCreation (const std::vector< typename Ptr< StateMachine >::ConstP > &machines, const std::vector< typename Ptr< SManager >::ConstP > &managers, SManager &syncManager)
 
void setStateMachine (StateMachine &target)
 

Private Member Functions

void setAcceptingState (const std::vector< typename MSSC::State > &states, typename MSSC::State newState)
 

Additional Inherited Members

- Protected Attributes inherited from Diades::Automata::Experimental::ManagedSynchronisedStateCreation< FiniteAutomaton< S, I, NS, NI >, _StateProperty, StatePropertyCombination >
Ptr< std::vector< typename Ptr< StateMachine >::ConstP > >::ConstP _machines
 
Ptr< std::vector< typename Ptr< SManager >::ConstP > >::ConstP _managers
 
Ptr< SManager >::P _syncManager
 
Ptr< StateMachine >::P _target
 
Ptr< std::vector< State > >::ConstP _pstates
 

Detailed Description

template<typename S, typename I, typename NS, typename NI, typename _StateProperty, typename StatePropertyCombination>
class Diades::Automata::Experimental::ManagedSynchronisedAcceptingStateCreation< S, I, NS, NI, _StateProperty, StatePropertyCombination >

Definition at line 647 of file FiniteAutomaton.hh.

Member Typedef Documentation

◆ MSSC

template<typename S , typename I , typename NS , typename NI , typename _StateProperty , typename StatePropertyCombination >
using Diades::Automata::Experimental::ManagedSynchronisedAcceptingStateCreation< S, I, NS, NI, _StateProperty, StatePropertyCombination >::MSSC = ManagedSynchronisedStateCreation<FiniteAutomaton<S, I, NS, NI>, _StateProperty, StatePropertyCombination>

Definition at line 651 of file FiniteAutomaton.hh.

Constructor & Destructor Documentation

◆ ManagedSynchronisedAcceptingStateCreation()

template<typename S , typename I , typename NS , typename NI , typename _StateProperty , typename StatePropertyCombination >
Diades::Automata::Experimental::ManagedSynchronisedAcceptingStateCreation< S, I, NS, NI, _StateProperty, StatePropertyCombination >::ManagedSynchronisedAcceptingStateCreation ( const std::vector< typename Ptr< typename MSSC::StateMachine >::ConstP > &  machines,
const std::vector< typename Ptr< typename MSSC::SManager >::ConstP > &  managers,
typename MSSC::SManager syncManager 
)
inline
Parameters
machinesa vector of StateMachine pointers (gather the vector of local StateMachine to be synchronised)
managersthe vector of local StatePropertyManager whose StateProperty must be combined. The order is important, the manager *managers[i] is associated with the StateMachine *machines[i].
syncManagerthe StateManager that manages the StateProperty for the the target machine
Postcondition
for the sake of flexibility the target machine where the synchronisation is operated is not yet initialised so the called of newState() is not operating yet. Please use setStateMachine to set the target machine

Definition at line 669 of file FiniteAutomaton.hh.

Member Function Documentation

◆ newState()

template<typename S , typename I , typename NS , typename NI , typename _StateProperty , typename StatePropertyCombination >
virtual std::pair<typename MSSC::State, bool> Diades::Automata::Experimental::ManagedSynchronisedAcceptingStateCreation< S, I, NS, NI, _StateProperty, StatePropertyCombination >::newState ( const std::vector< typename MSSC::State > &  states)
inlinevirtual

Creation of a new state in the target machine associated with the vector of states.

Parameters
statesthe vector of states associated with the input machines
Returns
the created State (bool is true), false if the state already created Update the syncManager by creating an adapted StateProperty

Reimplemented from Diades::Automata::Experimental::ManagedSynchronisedStateCreation< FiniteAutomaton< S, I, NS, NI >, _StateProperty, StatePropertyCombination >.

Definition at line 712 of file FiniteAutomaton.hh.

References Diades::Automata::Experimental::FiniteAutomaton< _StatePropertyId, _InputSymbolId, _NullStatePropertyId, _NullInputSymbolId >::setAcceptingState().

◆ setAcceptingState()

template<typename S , typename I , typename NS , typename NI , typename _StateProperty , typename StatePropertyCombination >
void Diades::Automata::Experimental::ManagedSynchronisedAcceptingStateCreation< S, I, NS, NI, _StateProperty, StatePropertyCombination >::setAcceptingState ( const std::vector< typename MSSC::State > &  states,
typename MSSC::State  newState 
)
inlineprivate

Set newState as an accepting state if the local states are all accepting states

Parameters
statesthe set of local states
newStatethe target State, created by newState() which is calling setAcceptingState()

Definition at line 686 of file FiniteAutomaton.hh.


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