ドリルダウン図の要件

コンポジット・アクティビティにより、詳細レベルを自由に設定できるサブアクティビティ図を表します。ドリルダウン図では、最上位レベルのダイアグラムと同じく、スイムレーン、アクティビティ、オブジェクト・フロー状態およびルーティングを使用して、ビジネス・プロセス・フローが表されます。また、そのダイアグラムが表すシステムの初期状態を示す1つのINITIAL状態と、終了状態を示す1つ以上のFINAL状態があります。

ドリルダウン図が表すビジネス・プロセスの結果は、アクティビティ・モデルの他の部分に組み込めるように最上位レベルに渡すことが必要です。このため、ドリルダウン図のFINAL状態の前の最後のアクティビティは、オブジェクト・フロー状態を使用してメッセージを最上位レベルのダイアグラムに渡します。最上位レベルのダイアグラムでは、ドリルダウン・アクティビティのものと同一で一致するオブジェクト・フロー状態によりメッセージが取得され、システムの次の部分に渡されます。

注意: 「ダイアグラムに追加」コマンドを使用すると既存の要素のコピーを適用できます。

アクティビティ・モデラーでコンポジット・アクティビティの内容を適切に検出して処理するためには、サブアクティビティ図と最上位レベルのダイアグラムで一致するオブジェクト・フロー状態を見つける必要があります。アクティビティ・モデラーが一致するオブジェクト・フロー状態が見つからない場合、ドリルダウンは無視されます。

図1では、サブアクティビティ図と最上位レベルのダイアグラムで一致するオブジェクト・フロー状態の例を示します。Clear for Exportコンポジット・アクティビティは、Get Export Licenseアクティビティで終了するシステムを表します。License[obtained]オブジェクト・フロー状態は[obtained]状態を最上位レベルに渡し、そこで、Clear for ExportからのLicense[obtained]オブジェクト・フロー状態がそれを取得します。

図1: コンポジット・アクティビティ(最上位レベルのダイアグラムとドリルダウン図で一致するオブジェクト・フロー状態)

This illustration is described in the text.

ドリルダウン・アクティビティにおける判断

判断では、複数の結果がある可能性があります。結果は、オブジェクト・フロー状態によって表されます。ユーザーが提供する内容ベースのルーティング・コードによって、メッセージがルーティングされるブランチが判別されます。ドリルダウン図が判断で終わる場合は、含まれる各オブジェクト・フロー状態のコピーが、最上位レベルのダイアグラムのコンポジット・アクティビティからのものである必要があります。このメッセージ・ルーティング情報は、ドリルダウン図のオブジェクト・フロー状態から、最上位レベルのダイアグラムの一致するオブジェクト・フロー状態に渡され、システムの次の部分に送信されます。

たとえば、図2ではClear for Exportがコンポジット・アクティビティです。このとき、ドリルダウン図のGet Export LicenseまたはObtain Special Clearanceのいずれかの条件を満たさないと、注文を消去できません。ユーザーが提供する内容ベースのルーティング・コードによって、License[obtained]メッセージまたはClearance[obtained]メッセージのいずれが最上位レベルのダイアグラムに送信されるかが決まります。最上位レベルのダイアグラムでは、メッセージとルーティング情報は、該当するオブジェクト・フロー状態のコピーで取得され、メッセージはシステムの次の部分に送信されます。

この処理を実行するもう1つの方法としては、ドリルダウン図のオブジェクト・フロー状態とエンド・ポイントの間の遷移にシグナルを定義し、最上位レベルのアクティビティから発生した遷移に対してこれらの定義したシグナルで呼び出すイベントを定義します。この方法を使用すると、オブジェクト・フロー状態のコピーを最上位レベルのダイアグラムに組み込む必要はなくなります。

図2: コンポジット・アクティビティ(判断のための一致するオブジェクト・フロー状態)

This illustration is described in the text.

ドリルダウン・アクティビティにおける同期点

同期点は、1つのオブジェクト・フローのみが先に進むことができる結合を表します。ドリルダウン図が同期点で終わる場合は、メッセージを表すオブジェクト・フロー状態のコピーが最上位レベルのダイアグラムに含まれていることが必要です。

たとえば、図3ではClear for Exportがコンポジット・アクティビティです。ここでLicense[obtained]とDeclaration[completed]の両方が完了しないと、Order[cleared]メッセージは送信できません。Order[cleared]メッセージは、最上位レベルのダイアグラムの一致するオブジェクト・フロー状態で取得され、システムの次の部分に送信されます。

図3: コンポジット・アクティビティ(同期点のための一致するオブジェクト・フロー状態)

This illustration is described in the text.


関連項目

コンポジット・アクティビティの作成

Activity - 「一般」プロパティ

アクティビティについて