9 #ifndef __DIADES__AUTOMATA__EXPERIMENTAL__DDAUTFILE__HH 10 #define __DIADES__AUTOMATA__EXPERIMENTAL__DDAUTFILE__HH 26 namespace Experimental
372 bool enforce =
false);
385 template<
typename DdAutFsmType>
406 SEE(numberOfSynchronisationEventsToEncode), _newEvent(0)
430 template<
typename DdAutFsmType>
433 const std::vector<DdAutEventManager> & eventManagers,
441 const auto & syncEvent = *it;
443 std::vector<string> events;
444 auto compIt = syncEvent.beginOfComponents();
445 while(compIt != syncEvent.endOfComponents())
447 auto evt = compIt.getAssociatedEvent();
448 if(evt != compIt->nullEvent())
450 events.push_back(compIt->name() +
"." + eventManagers[index].getEvent(evt));
456 syncEvent.synchronisedEvent());
491 template<
typename DdAutFARange,
typename RangeDdAutSM,
typename RangeDdAutEM>
494 RangeDdAutSM smRange,
495 RangeDdAutEM evRange,
500 auto faIt = faRange.first;
501 auto smIt = smRange.first;
502 auto evIt = evRange.first;
503 while(faIt != faRange.second)
505 if(smIt == smRange.second || evIt == evRange.second)
509 insertDdAutFA(*faIt, *smIt, *evIt, result, targetStateManager, targetEventManager);
const DdAutEventManager & eMgr
ConstManagedDdAutFA(const DdAutFA &ddAutFA, const DdAutStateManager &stateManager, const DdAutEventManager &eventManager)
bool insertFiniteAutomata(DdAutFARange faRange, RangeDdAutSM smRange, RangeDdAutEM evRange, DdAutFA &result, DdAutStateManager &targetStateManager, DdAutEventManager &targetEventManager)
ConstSynchronisationIterator endOfSynchronisedEvents() const
std::string StatePropertyAsStringLabel
ManagedDdAutFsm(DdAutFsm &ddAutFsm, DdAutStateManager &stateManager, DdAutEventManager &eventManager)
bool fsmToAutFile(ostream &stream, const DdAutFsm &fsm, const DdAutEventManager &eManager, bool enforce=false)
ConstManagedDdAutFsm(const DdAutFsm &ddAutFsm, const DdAutStateManager &stateManager, const DdAutEventManager &eventManager)
ManagedDdAutFA(DdAutFA &ddAutFa, DdAutStateManager &stateManager, DdAutEventManager &eventManager)
data structure that gathers an FA, a StateManager and a EventManager
bool faFromDdAutFile(std::istream &stream, const ManagedDdAutFA &mFa)
data structure that gathers an Fsm, a StateManager and a EventManager
bool setEvent(const Event &event, EventId id)
bool generateSynchronisedDdAutEventLabels(const SynchronisationRules< DdAutFsmType > &synchro, const std::vector< DdAutEventManager > &eventManagers, DdAutEventManager &syncEventManager)
data structure that gathers an FA, a StateManager and a EventManager
ManagedDdAutFsm(ManagedDdAutFsm &&mFsm)
bool faToDdAutFile(ostream &stream, const ConstManagedDdAutFA &mFa)
StatePropertyIdAsSizeT AutStateId
DdAutFsm::EventPropertyId Event
std::string DdAutEventLabel
virtual SEE::Event newEvent(const typename SEE::SyncEvent &synchronisedEvent)
void insertDdAutFA(const DdAutFA &sourceFsm, const DdAutStateManager &sourceStateManager, const DdAutEventManager &sourceEventManager, DdAutFA &targetFsm, DdAutStateManager &targetStateManager, DdAutEventManager &targetEventManager)
Namespace of the Diades project.
ConstManagedDdAutFA(ConstManagedDdAutFA &&mFa)
bool fsmToDdAutFile(ostream &stream, const ConstManagedDdAutFsm &mFsm)
data structure that gathers an Fsm, a StateManager and a EventManager
ConstSynchronisationIterator beginOfSynchronisedEvents() const
StatePropertyAsStringLabel DdAutStateLabel
ConstManagedDdAutFsm(ConstManagedDdAutFsm &&mFsm)
DefaultDdAutSynchronisationEventEncoder(size_t numberOfSynchronisationEventsToEncode)
ManagedDdAutFA(ManagedDdAutFA &&mFa)
Diades::Utils::Conjunction< DdAutEventLabel, DdAutAmpersand, Diades::Utils::NoDelimiter< char, std::char_traits< char >, std::allocator< char > >> DdAutSynchronisation
const DdAutStateManager & sMgr
const DdAutEventManager & eMgr
bool fsmFromDdAutFile(std::istream &stream, const ManagedDdAutFsm &mFsm)
const DdAutStateManager & sMgr