シーケンス図のオブジェクトに対して操作を実行する2つの並列スレッドをモデル化するにはどうすればよいですか?
シーケンス図 では、ライフラインはインタラクションの個々の参加者を表します。したがって、スレッド間で共有されるオブジェクトは、ダイアグラムに1回だけ表示される必要があります。
また、共有オブジェクトと相互作用する各スレッドオブジェクトをライフラインで表します。直接スレッドのインスタンス化である場合もあれば、2つのスレッドのコンテキストで作成される複数のオブジェクトである場合もあります。
しかし、これは十分ではありません。原則として、オブジェクトとの相互作用の順序は、メッセージの垂直方向の順序で示されます。では、相互作用が並行して発生する可能性があることをどのように示すのでしょうか?
並列処理を表すには、演算子par
によって導入された結合フラグメントを使用します。グラフィカルに(リンクを参照)、結合されたフラグメントはシーケンス図でボックス化された領域として表され、並列シーケンスは水平の破線で区切られます(各スライスは実行の1つのスレッドに対応します。