View Source Finitomata.Test.Plant (Finitomata v0.15.0)

The instance of FSM backed up by Finitomata.

FSM representation

@startuml

[*] --> s1 : to_s1
s1 --> s2 : to_s2
s1 --> s3 : to_s3
s2 --> [*] : ok
s3 --> [*] : ok

@enduml

Summary

Types

Kind of event which might be send to initiate the transition.

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.Plant.

Starts an FSM alone with name and payload given.

Types

@type state() :: :s3 | :s2 | :s1 | :*

Kind of event which might be send to initiate the transition.

FSM representation

@startuml

[*] --> s1 : to_s1
s1 --> s2 : to_s2
s1 --> s3 : to_s3
s2 --> [*] : ok
s3 --> [*] : ok

@enduml

Functions

@spec __config__(atom()) :: any()

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.Plant.

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.Plant as the first parameter.