2009-06-04 9 views
-2

何かが起こるとき、私は本当にあなたのプロジェクトにスキーマのような "ステートマシン"を使用した人はいますか?

決してはまだことを試してみました、ということを認識、

を行うためにすべてを定義します。

私のQは: どのようにステートマシンベースのシステムを設計するのですか?

+0

AM私は「はい」と書いてみたいと思うと悪い人ですか? – dmckee

+0

Um、no。 @ショア:私はあなたが少し精緻化する必要があり、あなたが知りたいことに少し具体的にする必要があると思います。 –

+0

私の質問を更新しました:) – omg

答えて

1

「状態イベント」駆動アーキテクチャは、かなりのアプリケーションドメインで使用されます。実際には、smc(State Machine Compiler)というツールがあります。これは、ステートマシン(lexとyaccはスキャナとパーサーの定義と同じように)を指定し、C言語やその他の言語でコードを生成して実装します。

1

私の経験では、ステートマシンの基礎はswitch文です。

それぞれのケースは、お使いのマシンの状態を表します。

switchステートメントは、定期的に呼び出す必要があります。これは、コード化されたループ内またはイベントハンドラ内にある可能性があります。あなたの状態機械が何をしているか、あなたのソフトウェアをどのように動かすか、あるいは反応させるかによって、実際には異なります。

状態を変更するには、caseステートメント内から状態変数を更新します。

1

トンとトンの小さな虫。

まず、有限状態機械の理論的基礎を調べて、どのような種類の作業が適しているかを理解することをお勧めします。

http://en.wikipedia.org/wiki/Finite state machineは、開始するのに適しています。

関連する問題