View Source Finitomata.Test.Transition (Finitomata v0.15.0)
The instance of FSM backed up by Finitomata
.
FSM representation
graph TD
idle --> |start| started
started --> |accept| accepted
started --> |reject| rejected
accepted --> |accept| accepted
accepted --> |reject| rejected
accepted --> |end| done
rejected --> |restart| started
rejected --> |end| done
done --> |end!| ended
Summary
Functions
Getter for the internal compiled in FSM information.
Returns a specification to start this module under a supervisor.
The convenient macro to allow using states in guards, returns a compile-time
list of states for Finitomata.Test.Transition
.
Starts an FSM alone with name
and payload
given.
Types
@type state() :: :ended | :done | :rejected | :accepted | :started | :idle | :*
Kind of event which might be send to initiate the transition.
FSM representation
graph TD
idle --> |start| started
started --> |accept| accepted
started --> |reject| rejected
accepted --> |accept| accepted
accepted --> |reject| rejected
accepted --> |end| done
rejected --> |restart| started
rejected --> |end| done
done --> |end!| ended
Functions
Getter for the internal compiled in FSM information.
Returns a specification to start this module under a supervisor.
See Supervisor
.
The convenient macro to allow using states in guards, returns a compile-time
list of states for Finitomata.Test.Transition
.
Starts an FSM alone with name
and payload
given.
Usually one does not want to call this directly, the most common way would be
to start a Finitomata
supervision tree or even better embed it into
the existing supervision tree and start FSM with Finitomata.start_fsm/3
passing Finitomata.Test.Transition
as the first parameter.