有限状态机

一个有限状态机FSM,可以用一个关系式来描述:

State(S) x Event(E) -> Actions(A), State(S’)

这些关系解释如下:

如果我们处在状态 S 并且事件 E 发生了,那么,我们需要执行动作 A ,并且转变到状态 S' 。

对于一个用 gen_fsm 行为实现的FSM来说,状态转换规则被写为符合如下约定的一系列Erlang函数:

  1. StateName( Event, StateData ) ->
  2. .. 这里放动作的代码 ...
  3. { next_state, StateName', StateData' }