制御ノードの追加

アクティビティー図のデータ・ノードを、デシジョン・アクションおよびマージ・アクションに関連した、 ジョイン・ノードおよびフォーク・ノードを使用して制御 することができます。

始める前に

アクション・ノード間を流れるオブジェクト・ノードを 必要とする SysML アクティビティー図を作成します。

このタスクについて

フォーク・ノードおよびジョイン・ノードは、 デシジョン・アクションおよびマージ・アクション (これらはすべて「制御ノード」です) に関連しています。
  • ジョイン・ノード とは、 並行する複数のフローを単一の外向きフローにマージすることを 意味します。このノードは、複数の内向きフローと 1 つの外向きフローが付いたバーとして表示されます。 オブジェクト・フローは、アクション・ノード、アクティビティー・パラメーター、およびアクティビティー・ピンを接続して、アクティビティー内の情報または物理項目のフローのシーケンスを定義するために使用します。Rhapsody では、 同じジョイン・ノード上で制御フローとデータ・フローを結合することが許可されています。
  • フォーク・ノード とは、単一のフローが複数の 外向きフローに分かれることを意味します。 このノードは、1 つの内向き制御フローと複数の外向きフローが付いたバーとして表示されます。 Rhapsody では、同じフォーク・ノード上で 制御フローとデータ・フローをフォークすることが許可されています。
注: データ・トークンは、制御 ノードである、デシジョン・ノードマージ・ノード、 ジョイン・ノード、またはフォーク・ノード によって経路指定できます。トークンには、 「プロパティー」ビュー・ウィンドウ内でキーワード TOKEN を使用して、 ノードによってアクセスできます。

手順

  1. ジョイン・ノード を描画するには、「ジョイン・ノード」ボタン 「ジョイン・ノード」ボタン を選択します。アクション状態 とサブアクティビティーの間をクリックするか、またはクリック・アンド・ドラッグして、ジョイン・ノード・バーを追加します。
    1. オブジェクト・フロー」または「制御フロー」描画ツールを選択して、 ジョイン・ノード・バーに向かって内向きフローを描画します。
    2. このバーからサブアクティビティーに向かって 1 つの外向きフローを描画します。 名前を入力して、Ctrl+Enter キーを押します。
  2. フォーク・ノード を描画するには、 「フォーク・ノード」ボタン 「フォーク・ノード」ボタン を選択します。2 つのアクション間をクリックまたはクリック・アンド・ドラッグして、フォーク・ノード・バーを追加します。
    1. オブジェクト・フロー」または「制御フロー描画」ツールを選択して、1 つの 状態からフォーク・ノード・バーに向かって単一の内向きフローを描画します。 名前を入力し、Ctrl+Enter キーを押します。このフローは、呼び出し要求が開始されたことを示します。
      注: もう一度「オブジェクト・フロー」または「制御フロー」描画ツール を選択して、複数の外向きフローをアクションに向かって描画することができます。
  3. アクション・ノードを接続するには、システム・エンジニアリングの アクティビティー図を開き、「オブジェクト・フロー」ボタン 「オブジェクト・フロー」ボタン をクリックします。
  4. 接続する要素をクリックして、緑のフロー線を描画します。必要に応じて、接続のラベルを入力します。
  5. デシジョン・ノード では、すべての外向きフローにガード が 付いていなければならず、外向きフローのうちの 1 つには else が付いていなければなりません。 そうでない場合、コードが生成されるときに「検査」ウィンドウにエラーが 表示されます。

    「オブジェクト・フロー」ボタン

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

    「オブジェクト・フロー」ボタン

タスクの結果

アクション・ノード間を流れる項目は、代わりにアクション・ピンを 使用して表される場合があります。詳細については、オブジェクト・ノードへのアクション・ピンの追加を参照してください。


フィードバック