18 #ifndef MAUVE_BASE_PERIODICSTATEMACHINE_HPP 19 #define MAUVE_BASE_PERIODICSTATEMACHINE_HPP 21 #include <mauve/runtime.hpp> 31 template <
typename SHELL,
typename CORE>
35 runtime::Property<runtime::time_ns_t>&
period =
41 this->mk_execution(
"E", &CORE::update);
44 this->mk_synchronization(
"S", period);
55 #include "ipp/PeriodicStateMachine.ipp" 57 #endif // MAUVE_BASE_PERIODICSTATEMACHINE_HPP The MAUVE namespace.
Definition: tracing.hpp:24
Definition: AbstractCore.hpp:32
Definition: AbstractCore.hpp:30
Defines a Periodic State Machine.
Definition: PeriodicStateMachine.hpp:32
virtual bool configure_hook() override
Configure the PSM.
Definition: PeriodicStateMachine.ipp:27
runtime::Property< runtime::time_ns_t > & period
Property to set the PSM period.
Definition: PeriodicStateMachine.hpp:35
Definition: FiniteStateMachine.hpp:44
Property< T > & mk_property(std::string const &name, T init_value)
Create a new property.
Definition: HasProperty.ipp:28