問題タブ [statechart]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
uml - ステート マシン タイマーの自己遷移
これらの 3 つのステート マシンの意味が正しいかどうか説明してください。
1, StateA Enter アクションが呼び出され (現時点では何もありません)、タイマーが設定されます。タイマーが Acion1 をトリガーすると、StateA の Exit アクションが実行され (これも何も実行されません)、ループ全体が繰り返されます。したがって、StateA はアクションを入力し、タイマーを設定します。これにより、Action1 で一種のポーリングが行われます。
2, StateB Enter アクションが呼び出され、タイマーがセットアップされ、10ms 後にトリガーされ、Action2 が実行されます。タイマーは更新されないため、状態に対する一種の遅延アクションです。
3、StateC Enter アクション、Timer が設定され、トリガーされると Action3 が呼び出され、次に StateC Exit アクション、最後に StateD Enter アクションが実行されます。
正しいかどうか確認または修正してください。
diagram - Miro Samek の「Practical UML Statecharts in C/C++」でステート チャートはどのように描かれたか
Miro Samek の「Practical UML Statecharts in C/C++」でステートチャートを描画するために使用されたソフトウェア パッケージは?
編集: Miro Samek は、彼の Web サイトで彼の本からの抜粋を提供しました。リンクされた PDF の 42 ページには、図の例が示されています。
uml - UML 2.5 ステート マシン図を解釈する方法は?
UML 2.5 ステート マシン図のすべての基本要素を特定する必要があります。残念ながら、オンラインにはさまざまなバリエーションがあるため、これらの図の表記にはあいまいな点が多いようです。
私の解釈では、すべてのステート マシン図は、多数の状態と多数の遷移で構成されています。
すべての州には次のものがあります。
- オプションのエントリアクション
- オプションのdoアクション
- オプションの終了アクション
すべてのトランジションには次のものがあります。
- トリガーイベント_
- オプションの前提条件
- 遷移アクション(事後条件) 。
この表記法がどのように機能するかについての私の理解は、図 1 ( [前提条件] イベント / [遷移アクション]表記法に従った電動ドア機能の例) と図 2 に要約できます。
例:イベントがトリガーされると (例: 閉じるボタンが押される)、前提条件(存在する場合) が評価され (例: 出入り口が空である)、前提条件が満たされると、遷移アクション(例: ドアを閉じる) がトリガーされます。
私の質問:
- 遷移アクションは、遷移の実現ですか、それとも単に遷移中に発生するアクションですか。簡単に言えば、遷移アクションが失敗した場合、遷移 (新しい状態) は成功しますか? 私の質問は基本的に、多くの情報源が、移行アクションを使用する代わりに、新しい状態に到達したときにエントリ アクションを使用できることを示唆しているという事実に由来しています。私の理解では、移行アクションは移行の実現であるため、エントリ アクションと比較して、新しい状態に入る前に発生します。これは、新しい状態に到達した直後に発生します。したがって、これらは遷移自体と時間に関して、2 つのまったく異なるタイプのアクションです。ここでは、これらのアクションのタイミングを理解することが重要です。
- 私の一般的な解釈は正しいですか?(たとえば、図 1 から、イベント、事後条件、および遷移アクションが何であるかについての私の理解)
ステートマシン図には数十のバリエーションがあることを知っています。したがって、さまざまな表現/解釈がありますが、UML 2.5 に興味があります。
uml - 超音波センサーのステート マシン図
基本的な組み込みシステム アプリケーションに取り組んでいます。センサーとXオブジェクト間の距離を測定するためのソナー(超音波)センサーがあります。超音波センサーには、距離を計算して返すという 1 つの仕事があります。このためのステート チャート図を作成したいのですが、別のステートに分解することはできません。これは、単純なタスクを理解できない状況の 1 つです。誰でも何か考えがありますか?