< 前へ | 次へ >

レッスン 4: ブロックの接続および振る舞いの分析

ユースケースをさらに分析することで、制御システムの構造および振る舞いの構成を定義します。2 つの重要なシステムが、SysML ブロック (ControlSystem ブロックと SystemUnderControl ブロック) として指定されています。内部ブロック図を使用して、構造設計を作成します。
ControlSystem ブロックと SystemUnderControl ブロックはシステム・コンテキストを形成し、開始点の「外部フロー」内部ブロック図で定義されます。ControlSystem ブロックと SystemUnderControl ブロックはパーツ (cs と s) として表記され、閉ループの制御システム内で結合されています。

「外部フロー」内部ブロック図の検索

ブラウザーで、「DesignSynthesisPkg」 > 「ブロック」 > 「コンテキスト」 > 「内部ブロック図」と展開し、「外部フロー」をダブルクリックしてダイアグラムを開きます。

「外部フロー」内部ブロック図
このダイアグラムを使用して、SystemUnderControl ブロックと ControlSystem ブロックの接続、およびこれら 2 つのシステム間での熱と温度のフローを指定します。SysML では、このような接続は、コンテキスト内のブロック・インスタンス間で指定する必要があります。そうすることで、コンテキスト・ブロックを使用してコンテキストを定義することが可能になり、パーツが SystemUnderControl ブロックと ControlSystem ブロックのインスタンスとなります。

開始点の外部フロー・ダイアグラムには、入力側の接続 (熱) が指定されていますが、出力側の接続 (温度) が欠落しています。

フロー・ポートを介したブロックの接続

「外部フロー」内部ブロック図の閉ループ設計を実行するには、次の手順を行います。

  1. 次に示すように、ブラウザーで ControlSystem フォルダーと SystemUnderControl フォルダーを展開し、FlowPorts フォルダーを展開します。
    展開した ControlSystem および SystemUnderControl が表示されたブラウザー
  2. ショートカットを使用して「ControlSystem」から「temperature」フロー・ポートをコピーし、「SystemUnderControl」> 「FlowPorts」に貼り付けます。Ctrl キーを押したまま、「ControlSystem」から temperature flowPort を SystemUnderControl ブロックの FlowPorts にドラッグします。温度のフロー・ポートのみを選択していることを確認してください。 同様に、要素を移動するには、ブラウザー内で 1 つの領域から別の領域へ要素をドラッグします。
  3. ダイアグラムに追加した温度のフロー・ポートを調べると、フローの方向が正しくないことが分かります。温度のフローは、s から出るフローでなければなりません。
  4. ブラウザーで、「SystemUnderControl」フォルダー内の「temperature」フロー・ポートをダブルクリックします。
  5. 「フィーチャー」ウィンドウで、「方向」域にある「出力」をクリックし、「OK」をクリックします。ダイアグラムで該当する変更を確認します。
  6. 描画ツールバーを表示するには、「表示」 > 「ツールバー」 > 「描画」を選択します。
  7. 温度のフロー・ポートを接続するには、「コネクター」ツール 「コネクター」ツール を選択し、フロー・ポートをクリックして、その間に接続を描画します。
  8. コネクターの中間にあるグレーのプレースホルダーには、テキストを入力しないでください。コネクターにデフォルト名を設定できるようにするには、ダイアグラムの別の領域をクリックします。デフォルトでは、コネクター名は非表示になっています。
  9. 温度のコネクターにフローの向きを追加するには、「フロー」ツールを選択し、コネクター線の中心で 1 回クリックします。 グレーのフロー・ボックス内には何も入力しないでください。
    「外部フロー」内部ブロック図にフローを追加する
  10. 緑色のフローの矢印をダブルクリックし、「フィーチャー」ウィンドウを開きます。 「フロー・アイテム」タブで、メニューから <<追加>> および <<選択>> を選択します。
  11. 「伝達情報の選択」ウィンドウで、「フロー属性」にナビゲートし、出力を選択します。「OK」を 2 回クリックします。
    「伝達情報の選択」ウィンドウ

フロー属性名、出力、およびタイプ degC がダイアグラムのフロー矢印の隣に表示されます。

アクティビティー図での振る舞いの分析
開始点のアクティビティー図を開くには、次の手順を実行します。
  1. ブラウザーで「FunctionalAnalysisPkg」を開きます。
  2. 「OperateSystem」アクティビティーをダブルクリックします。これで、そのアクティビティーのアクティビティー図が開きます。
このアクティビティーは、evPower イベントを待機することから始まります。 イベントを受信すると、同時に制御のフローが次の 2 つのパスに分割されます。
  • パス a1 では、evMode イベントを受信すると、振る舞いは 2 つのモード (加熱が有効な標準モードと加熱が無効な待機モード) で交互に行われます。
  • パス a2 では、システムが温度を維持しようとします (加熱が無効になっている場合は温度は維持されません)。
「割り込み可能領域」がシステムの電源をオフにするために割り込み可能な振る舞いのサブセットを定義し、アクティビティーを終了します。
アクション・ピンとパラメーターの追加

温度のアクション・ピンおよび関連するパラメーターを追加するには、次の手順を実行します。

  1. 「アクション・ピン」ツール 「アクション・ピン」ツール を選択します。「Maintain temperature」アクションにアクション・ピンを追加します。
  2. 新規のアクション・ピンについて、「フィーチャー」ウィンドウを使用して、名前を「temperature」に、タイプを「TypesPkg」の値タイプから選択した「degC」に、方向を「In」にそれぞれ設定します。
  3. 「アクティビティー・パラメーター」ツール 「アクティビティー・パラメーター」ツール を選択します。熱パラメーターの近くにあるダイアグラム・フレームの右側にアクティビティー・パラメーターを追加して、アクティビティーに追加します。
  4. 新規のアクティビティー・パラメーターの「フィーチャー」ウィンドウで、名前に temperature を入力し、タイプに「TypesPkg」から「degC」を選択し、方向を「In」に設定します。「OK」をクリックします。
    新規のアクティビティー・パラメーターの「フィーチャー」ウィンドウ
  5. ダイアグラムで、名前に合致するようにパラメーターのシンボルを展開します。
  6. 「オブジェクト・フロー」ツール 「オブジェクト・フロー」ツール を選択し、温度のアクティビティー・パラメーターを温度のアクション・ピンに接続します。

作成されたアクティビティー図は、次の例のようになります。

アクティビティー図

レッスンのチェックポイント

このレッスンでは、次のタスクを実行する方法を学習しました。
  • 温度のフロー・ポートを作成し、方向を設定する
  • 内部ブロック図でブロックを接続する
  • アクション・ピンとパラメーターをアクティビティー図に追加する
  • アクティビティー図を使用してシステムの振る舞いを分析する

次のレッスンでは、SystemUnderControl の振る舞いを定義するステートチャートを追加します。

< 前へ | 次へ >

フィードバック