
MASCHINE LIBRARY SOFTWARE


StaMa has a state machine instance concept. StaMa isn't intrinsically tied to generics which are (unfortunately) not supported by NETMF.

Clients can implement the threading and synchronization according to their projects needs.ĭuring state machine operation only few and small object allocations are necessary (mostly iterators), StaMa doesn't stress the garbage collector. StaMa doesn't use any runtime resources like timers, threads or thread synchronization objects. StaMa perfectly matches the limitations of small devices and NETMF. The "Play", "Pause" or "Stop" events trigger the execution of transitions and as a result the exit actions and entry actions StartMotor, StopMotor, EngageHead and ReleaseHead of the involved states are executed. Private static void ReleaseHead(StateMachine stateMachine, object triggerEvent, EventArgs eventArgs) Private static void EngageHead(StateMachine stateMachine, object triggerEvent, EventArgs eventArgs) Private static void StopMotor(StateMachine stateMachine, object triggerEvent, EventArgs eventArgs) Private static void StartMotor(StateMachine stateMachine, object triggerEvent, EventArgs eventArgs) StateMachine stateMachine = t.CreateStateMachine() T.State("Running", EngageHead, ReleaseHead) T.State("Loaded", StartMotor, StopMotor) StateMachineTemplate t = new StateMachineTemplate()

MASCHINE LIBRARY CODE
It is created with Microsoft Visio using specific shapes which allows to generate the structural definition of the state machine code from the diagram. The image below the code shows the state machine as a diagram.
MASCHINE LIBRARY HOW TO
The following code illustrates how a state machine is implemented using StaMa and how to send events to the state machine that trigger the exectution of transitions.
MASCHINE LIBRARY WINDOWS
NET Framework 4, Silverlight 5, Windows 8, Windows Phone 8.1, Windows Phone Silverlight 8 and higher versions, runs on Mono. Optional code generation based on Microsoft Visio diagrams. Multiple state machine instances can be created from a single state machine definition. Low garbage object creation during runtime.įree from runtime thread synchronization calls and timers. Provides Statecharts functionality comparable to SCXML. Hierarchical (composite) and orthogonal (concurrent) states.Įntry-, exit-, do- and transition-actions. NET enabled Windows platforms (including UWP, IoT, Mono) and NETMF. A UML and Statechart inspired state machine library with hierarchical and orthogonal states for.
