web-dev-qa-db-ja.com

UMLシーケンス図で並列スレッドをモデル化する方法

シーケンス図のオブジェクトに対して操作を実行する2つの並列スレッドをモデル化するにはどうすればよいですか?

5
Christian

シーケンス図 では、ライフラインはインタラクションの個々の参加者を表します。したがって、スレッド間で共有されるオブジェクトは、ダイアグラムに1回だけ表示される必要があります。

また、共有オブジェクトと相互作用する各スレッドオブジェクトをライフラインで表します。直接スレッドのインスタンス化である場合もあれば、2つのスレッドのコンテキストで作成される複数のオブジェクトである場合もあります。

しかし、これは十分ではありません。原則として、オブジェクトとの相互作用の順序は、メッセージの垂直方向の順序で示されます。では、相互作用が並行して発生する可能性があることをどのように示すのでしょうか?

並列処理を表すには、演算子parによって導入された結合フラグメントを使用します。グラフィカルに(リンクを参照)、結合されたフラグメントはシーケンス図でボックス化された領域として表され、並列シーケンスは水平の破線で区切られます(各スライスは実行の1つのスレッドに対応します。

enter image description here

4
Christophe