今回は,Mealy風の会議スケジュール管理システムの例である(原書からは変更している).
Mealy風にアクション(初期の状態機械の例だと出力)は,遷移に付随している.
Moore風に書くこともできる.但し,Moore型の場合は,Entryアクション(状態に入ったときに一度だけ実行される)で,状態中で出力を記述する.そのために状態名が変わることに注意する必要である.例えば,参加予定者への問い合わせは,状態中で問い合わせることになるので,「問い合わせ完了」ではなく「問い合わせ中」とする必要がある.
もう一つある.ここでは,問い合わせというのは,返事をもらうまでを含んでいる.システムが全員の返事をもらうまでには時間が掛かるので,「問い合わせ中」の副状態機械を作り,詳細なふるまいは,副状態機械側で記述することが望ましいかもしれない.
さて,Syntropyの太陽の話に戻ってみる.朝日はたちどころに鳥に届く.鳥はさえずるのがアクションないしはアクティビティに相当する.最終的には,問い合わせの詳細記述が必要だと判断するにしても,高い抽象度の記述はあって良い.鳥が歌を奏でるか否かは太陽にとって関係ないように,返事の有りなしに関わらず,開催予定期日には近づくのだから.
(nil)