アクティビティー図のデータ・ノードを、デシジョン・アクションおよびマージ・アクションに関連した、
ジョイン・ノードおよびフォーク・ノードを使用して制御
することができます。
始める前に
アクション・ノード間を流れるオブジェクト・ノードを
必要とする SysML アクティビティー図を作成します。
このタスクについて
フォーク・ノードおよび
ジョイン・ノードは、
デシジョン・アクションおよびマージ・アクション (これらはすべて「制御ノード」です) に関連しています。
- ジョイン・ノード とは、
並行する複数のフローを単一の外向きフローにマージすることを
意味します。このノードは、複数の内向きフローと 1 つの外向きフローが付いたバーとして表示されます。
オブジェクト・フローは、アクション・ノード、アクティビティー・パラメーター、およびアクティビティー・ピンを接続して、アクティビティー内の情報または物理項目のフローのシーケンスを定義するために使用します。Rhapsody® では、
同じジョイン・ノード上で制御フローとデータ・フローを結合することが許可されています。
- フォーク・ノード とは、単一のフローが複数の
外向きフローに分かれることを意味します。
このノードは、1 つの内向き制御フローと複数の外向きフローが付いたバーとして表示されます。
Rhapsody では、同じフォーク・ノード上で
制御フローとデータ・フローをフォークすることが許可されています。
注: データ・トークンは、制御 ノードである、デシジョン・ノード、マージ・ノード、
ジョイン・ノード、またはフォーク・ノード によって経路指定できます。トークンには、
「プロパティー」ビュー・ウィンドウ内でキーワード TOKEN を使用して、
ノードによってアクセスできます。
手順
- ジョイン・ノード を描画するには、「ジョイン・ノード
」ボタン
を選択します。アクション状態
とサブアクティビティーの間をクリックするか、またはクリック・アンド・ドラッグして、ジョイン・ノード・バーを追加します。- 「オブジェクト・フロー」または「制御フロー」描画ツールを選択して、
ジョイン・ノード・バーに向かって内向きフローを描画します。
- このバーからサブアクティビティーに向かって 1 つの外向きフローを描画します。
名前を入力して、Ctrl+Enter キーを押します。
- フォーク・ノード を描画するには、
「フォーク・ノード」ボタン
を選択します。2 つのアクション間をクリックまたはクリック・アンド・ドラッグして、フォーク・ノード・バーを追加します。- 「オブジェクト・フロー」または「制御フロー描画」ツールを選択して、1 つの
状態からフォーク・ノード・バーに向かって単一の内向きフローを描画します。
名前を入力し、Ctrl+Enter キーを押します。このフローは、呼び出し要求が開始されたことを示します。
注: もう一度「オブジェクト・フロー」または「制御フロー」描画ツール
を選択して、複数の外向きフローをアクションに向かって描画することができます。
- アクション・ノードを接続するには、システム・エンジニアリングの
アクティビティー図を開き、「オブジェクト・フロー」ボタン
をクリックします。
- 接続する要素をクリックして、緑のフロー線を描画します。必要に応じて、接続のラベルを入力します。
- デシジョン・ノード では、すべての外向きフローにガード が
付いていなければならず、外向きフローのうちの 1 つには else が付いていなければなりません。
そうでない場合、コードが生成されるときに「検査」ウィンドウにエラーが
表示されます。

制御 ノードには、
制御ノードの周囲のデータはすべて同じタイプでなければならない
という制約があります。また、ピン はターゲットと
同期している必要があります。ピンを同期するには、
ピンを右クリックして「アクティビティー・ピンからの更新操作」を選択します。
同期アクションによって一部のピンの削除が必要になった場合、
警告が発行されます。
