0

この質問は少し哲学的で、「データとコードは同じものかどうか」のようなものです。

イベント (シグナル) と状態の間に明確な違いはありますか?

例:

たとえば、道路を車が通り過ぎる。車のクラクションが鳴ると、man_A横断歩道を渡っていた男性 ( ) が急停止します。ホーンが合図、「man_A急停止」が の状態ですman_A

別の男 ( man_B) も、同じ時間に同じ場所で道路を横断していました。

man_B彼は聴覚障害者だったので、クラクションが聞こえなかったとしましょう。しかし、「man_A急に止まった」ことに気付くことは、彼にとって合図です。彼はクラクションを聞いたかのように突然立ち止まりました。

したがって、「状態は別のプロセスのシグナルである可能性があります。シグナルはプロセスを別の状態にします。そのため、それらはまったく同じものです」と言うでしょう。

私は間違っていますか、それらの間に明確な違いはありますか?

信号は状態変化です。2 つの状態を持つ任意の信号を定義できます。

4

2 に答える 2

1

それらは非常に異なります。

  • 現在の状態に応じて、同じイベントが異なる状態への遷移を引き起こす場合があります。
    同じイベントによってトリガーされる、遷移する 3 つの状態

  • <parallel>SCXML では、直交領域を定義する状態を持つことができます。この場合、1 つのイベントが異なる状態への複数の同時遷移をトリガーする可能性があります。
    ここに画像の説明を入力

  • さらに、cond="…"属性が存在する可能性があるため、イベントによってトリガーされたときに、別の状態への遷移が発生する場合と発生しない場合があります。これで、状態が変化しない可能性のあるイベントができました。

  • さらに、属性のないトランジションを持つことも可能で、eventデータ モデルの値またはスクリプトの結果が正しくなるとすぐに状態が変化します。これで、トリガー イベントなしで実行できる状態変更ができました。

于 2014-04-16T19:57:05.443 に答える
0

信号は特定の時点で発生するため、状態は信号ではありません。

状態変化はシグナルの結果であり、それ自体がシグナルと見なすことができます。しかし、それは国家そのものではありません。信号がなくなってからずっとこの状態が続いています。

たとえば、初期状態はどのように信号になりますか。

于 2014-04-12T15:46:35.773 に答える