# Finitomata v0.35.0 - Table of Contents The FSM implementation generated from PlantUML textual representation. ## Pages - [Finitomata](readme.md) - [Finite Automata](fsm.md) - [Finitomata Compiler](compiler.md) - [Finitomata Cheatsheet](cheatsheet.md) ## Modules - FSM - [Finitomata](Finitomata.md): - [Finitomata.Flow](Finitomata.Flow.md): The basic “brick” to build forks in top-level `Finitomata` instances. - [Infinitomata](Infinitomata.md): The sibling of `Finitomata`, but runs transparently in the cluster. - Test - [Finitomata.ExUnit](Finitomata.ExUnit.md): Helpers and assertions to make `Finitomata` implementation easily testable. - Goods - [Finitomata.Accessible](Finitomata.Accessible.md): The convenience module, exposing `start_link/1` to embed `Finitomata.Supervisor` implementation into a supervision tree in an agnostic way. - [Finitomata.Cache](Finitomata.Cache.md): The self-curing cache based on `Finitomata` implementation. - [Finitomata.Pool](Finitomata.Pool.md): The instance of _FSM_ backed up by `Finitomata`. - [Finitomata.Throttler](Finitomata.Throttler.md): The internal definition of the call to throttle. - Internals - [Finitomata.ClusterInfo](Finitomata.ClusterInfo.md): The behaviour to be implemented for locating the node across the cluster. - [Finitomata.Listener](Finitomata.Listener.md): The behaviour to be implemented and passed to `use Finitomata` to receive all the state transitions notifications. - [Finitomata.Parser](Finitomata.Parser.md): The behaviour, defining the parser to produce _FSM_ out of textual representation. - [Finitomata.Pool.Actor](Finitomata.Pool.Actor.md): The behaviour specifying the actor in the pool. - [Finitomata.State](Finitomata.State.md): Carries the state of the FSM. - [Finitomata.Supervisor](Finitomata.Supervisor.md): THe behaviour for actual _FSM_ implementations across _Finitomata_ framework. - [Finitomata.Transition](Finitomata.Transition.md): The internal representation of `Transition`. - [Finitomata.Transition.Path](Finitomata.Transition.Path.md): The path from one state to another one - Persistence - [Finitomata.Persistency](Finitomata.Persistency.md): The behaviour to be implemented by a persistent storage to be used with `Finitomata` (pass the implementation as `persistency: Impl.Module.Name` to `use Finitomata`.) - [Finitomata.Persistency.Persistable](Finitomata.Persistency.Persistable.md): The protocol to be implemented for custom data to be used in pair with `Finitomata.Persistency.Protocol` persistency adapter. - [Finitomata.Persistency.Protocol](Finitomata.Persistency.Protocol.md): Default implementation of persistency adapter that does nothing but routes to the implementation of `Finitomata.Persistency.Persistable` for the data. - Exceptions - [Finitomata.TestSyntaxError](Finitomata.TestSyntaxError.md) - [Finitomata.TestTransitionError](Finitomata.TestTransitionError.md) ## Mix Tasks - [mix finitomata.generate](Mix.Tasks.Finitomata.Generate.md): Mix task to generate the `Finitomata` instance scaffold. - [mix finitomata.generate.test](Mix.Tasks.Finitomata.Generate.Test.md): Mix task to generate the `Finitomata.ExUnit` test scaffold.