遷移は、アクティビティ・モデルがアクティビティからアクティビティへとフローする方法を示すために使用します。また、1つのアクティビティから次のアクティビティへ移動する間に状態の変化が発生したことも示します。E-Business統合では、統合コード・ジェネレータが1つのシステムから別のシステムへのメッセージのフローを表すために必要とする情報が、遷移を使用して記録されます。
遷移を擬似状態によって結合または分割し(結合、分岐およびブランチ)、ダイアグラムのアクティビティを通るパラレルな(同時)パスまたは排他的(代替)パス(あるいはその両方)を表すことができます。
有効な遷移は、特定のタイプの要素間(アクティビティとオブジェクト・フロー状態の間など)にのみ作成できます。1つの遷移内で、2つのアクティビティ間に複数のオブジェクト・フロー状態を指定することはできません。擬似状態は1つの遷移に複数挿入できます。
アクティビティ・モデラーではUMLに準拠しないダイアグラムは作成できないため、UML規則に違反する遷移は描画できません。詳細は、「無効な遷移の例」を参照してください。
遷移は規則によって制限可能で、その場合、その規則が真と評価された場合にのみ2つの要素間の遷移が許可されます。この規則をガード条件と呼びます。ガード条件がイベントと組み合されている場合、状態が変化するためには、そのイベントが発生し、かつガード条件が真であることが必要です。
ソースがINITIAL擬似状態またはターゲットがFINAL擬似状態である遷移にも規則を設定できます。この場合、INITIAL擬似状態に対するガード条件は、最初のアクティビティが開始するために真と評価される必要のある条件を示します。FINAL擬似状態に対するガード条件は、最後のアクティビティが終了するために真と評価される必要のある条件を示します。
E-Business統合コード・ジェネレータでは、内容ベースのルーティングおよびターゲット・インスタンスの選択がサポートされます。内容ベースのルーティング・コードは、ソースがOR擬似状態にある遷移に対して記述できます。このコードは、メッセージ内容を評価してそのルーティング方法を判断します。
同様に、インスタンス選択コードは、宛先が複数インスタンス遷移内のアクティビティである遷移に対して記述できます。このコードは、メッセージ内容を評価して送信先のスイムレーン・インスタンスを判断します。
一般には、ソースがINITIAL状態またはターゲットがFINAL状態である遷移に対して、内容ベースのルーティング・コードやインスタンス選択コードを入力しても意味がありません。
E-Business統合コード・ジェネレータでは、次の項目は無視されます。
遷移はブロードキャスト・オプションの値を伴います。このオプションによって、メッセージがあるスイムレーンのすべてのインスタンスに送信されるか、または選択されたインスタンスにのみ送信されるかが決まります。このオプションを遷移に対して指定すると、メッセージの宛先に基づいてその値が選択されます。ブロードキャスト・メッセージの詳細は、「ブロードキャスト・モードについて」を参照してください。