2

TL;DR: UML オブジェクト図で UML 遷移 (次の行を参照) をどのように表現すればよいですか?

event(event_parameters) [guard_condition] / doStuff()

私の学士論文プロジェクトでは、UML StateMachines (動作、プロトコル SM なし) を使用しています。ステート マシン図の表現に加えて、オブジェクト図が必要です。

ただし、これまでのところ、遷移を正確に表現することはできませんでした。トリガー (イベント)、ガード (制約)、および/または動作を持つ遷移を表示できるようにしたいと考えています。

関連する質問を検索しました (これは近いですが、探している正確な情報は提供されません)。また、UML 上部構造の関連部分を読みましたが、まだよくわかりません。

ここまでで、下のステート マシン図に示す状態 S1 (およびすべての遷移) に基づいてオブジェクト図を作成しました。ガードとビヘイビアが同様の問題を引き起こしているため (そして図が乱雑になるため)、イベントのみを追加したことに注意してください。

ステート S1 を含むステート マシン図

ステート S1 を含むステート マシン図

(正しくない) すべての遷移を含む S1 のオブジェクト図 (少なくとも SignalEvent インスタンスが (ある程度) 正しくないと仮定しています。)

(正しくない) すべての遷移を含む S1 のオブジェクト図 (少なくとも SignalEvent インスタンスが (ある程度) 正しくないと仮定しています。)

4

3 に答える 3

1

UML2 メタ モデルは非常に複雑です。UML2 に準拠させたい場合は、次のことをお勧めします。状態図を描画できる org.eclipse.uml メタモデルを備えたツールを使用します。オープンソースのものはTopcasedになります。完全なリストはこちらにあります(ただし、すべてが状態図をサポートしているわけではありません)。

ダイアグラムを描画したら、.uml ファイルとして保存します。このファイルには XMI が含まれており、非常に人間が判読できます。EMF ビューアー (Topcased にインストールされている) で開くと少し簡単です。その中で "Open With" を使用するだけです)。

UML2 準拠を気にせず、上記の図に似たものが必要な場合、このソリューションは必要以上に複雑なオブジェクト図になります。

于 2012-09-27T08:32:01.150 に答える
1

ステート マシンはシステムが刺激にどのように反応するかを示し、オブジェクト図はある時点でのシステムの特定の状態を表します。オブジェクト図は静的であるため、ステート マシンの遷移を表すことはできません。できることは、2 つのオブジェクト図を作成し、指定された状態遷移を最初の図に適用した結果が 2 番目の図であることを伝えることです。しかし、これを行う正式な方法はないと思います。

于 2012-09-27T08:29:51.583 に答える