有限オートマトン? Finite State Machine(FSM) ざっくり言うとイベントを受け取って状態遷移するステートマシン。 詳しくはWikipedia参照 FSMをActorで実装する まさにそのためのakka.actor.FSMがあるので、これを使って実装する。 FSMに必要な型を定義する 必要となるのは以下の3つの型 State FSMの状態 Data FSMが内部的に持つ情報 Event FSMの状態遷移をキックするもの 今回は信号をFSMで実装してみる。 sealed trait SignalState case object Red extends SignalState case object Green extends SignalState case object Yellow extends SignalState sealed trait SignalDat