State Machine は同時に2つ以上の"State"になれない

State Machine において、一つのインスタンス上で同時に二つ以上の状態(State)にはなれないようです。
ちょっと実験をしてみました。
まずは、下のようなState Machineを作ってみます。
分岐したState
で、これが分岐しているところは…
if-else Activity ではなく、parallel Activity である点に注意してください。
分岐させるところ-if-elseではない点に注意
これが期待するところは、同時にAとB、二つの状態を共存させたいということです。
さて、Host側コードはこんな感じです。
実験コードなので、ひたすらシンプルです。
分岐したStateを呼んでいるHost側コード
さて、実行結果は…
その結果
…さようなら。
StateAのイベントを呼ぼうとした所であえなく砕け散りました。
「またお前かよ」と言いたくなる”EventDeliveryFailedException”です。
Host側から呼ぶ順番をかえても、ダメでした。
そもそも”State Machineとは?”という原点に立ち戻って考えてみると非常に当たり前な結果ではあるのですが…期待が大きすぎた模様です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Spam Protection by WP-SpamFree