Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

リンクの作成と保存

リンクおよびリンク セットを使用して、要件を実装して検証する設計項目およびテスト項目までその要件をトレースできます。それぞれのリンクとリンク セットには対応する API オブジェクトがあります。[要件エディター]、要件パースペクティブ、トレーサビリティ マトリクス、または MATLAB® コマンド ラインを使用して、要件、MATLAB コード、Simulink® ブロック、Simulink Test™ テスト ケース、およびその他の項目の間にリンクを作成できます。リンクの表示および編集を行うこともできます。

リンク オブジェクト、リンク元、およびリンク先

各リンクには対応する slreq.Link オブジェクトがあります。リンク プロパティ、カスタム属性、およびステレオタイプを使用して追加のトレーサビリティ情報を指定できます。詳細については、以下を参照してください。

リンクは、リンク元項目からリンク先項目を指します。これらの項目はそれぞれ、リンク元アーティファクトとリンク先アーティファクトに含まれています。たとえば、Simulink ブロックから要件を指すリンクについて考えます。Simulink モデルはリンク元アーティファクトであり、ブロックはリンク元項目です。要件セットはリンク先アーティファクトであり、リンク先項目である要件を含んでいます。

リンク元であるリンクされている項目には、外向きリンクがあります。逆に、リンク先である項目には、内向きリンクがあります。たとえば、リンクで Simulink ブロックから要件を指した場合、Simulink ブロックには外向きリンクがあり、要件には内向きリンクがあります。

リンクのストレージ

リンク セットにはリンクが含まれます。読み込んだ各リンク セットには対応する slreq.LinkSet オブジェクトがあります。リンクを作成すると、Requirements Toolbox™ はリンク セットを作成し、リンク元アーティファクトと同じフォルダー内に SLMX ファイルとして保存します。リンク セット名は、リンク元アーティファクトのベース名とリンク元アーティファクトの拡張子をチルダで区切った名前です。たとえば、Requirements Toolbox は、myFunction.m という MATLAB 関数からの外向きリンクを、myFunction~m.slmx というリンク セット ファイルに保存します。

メモ

Simulink モデルからのリンクが含まれているリンク セットはモデル ベース名と ~mdl を組み合わせることで、モデル ファイルの拡張子が .mdl.slx の間で変更された場合にリンク解決の問題が生じないようにします。たとえば、Requirements Toolbox は crs_plant.slx からの外向きリンクを、crs_plant~mdl.slmx というリンク セット ファイルに保存します。

リンクの保存

Simulink モデルや Simulink Test ファイルなどのアーティファクトからリンクを作成した場合は、アーティファクトを保存することでリンク セットへの変更を保存できます。

MATLAB コードやプレーンテキストの外部コードの行へのリンクを作成または編集するときに、変更をリンク セットに保存するには、次のいずれかの方法を使用します。

  • MATLAB エディターで、右クリックして [要件][リンクの保存] を選択します。

  • 要件エディターで、[リンクの表示] をクリックします。リンク セットを選択し、[保存] をクリックします。

  • MATLAB コマンド ラインで、save を使用します。

リンク可能な項目

以下の要件項目、モデル エンティティ、テスト アーティファクト、およびコードの間にリンクを作成できます。

  • Requirements Toolbox オブジェクト:

  • Simulink エンティティ:

    • ブロック

    • サブシステム

  • Simulink データ ディクショナリ エントリ

  • Simulink Fault Analyzer™ アーティファクト:

    • 故障

    • 条件

    • 安全性解析マネージャー セル値

    詳細については、Link Artifacts (Simulink Fault Analyzer)を参照してください。

  • Stateflow® オブジェクト:

    • ステート

    • チャートとサブチャート

    • 遷移

  • System Composer™ アーキテクチャ エンティティ:

    • コンポーネント

    • 端子

    • ビュー

  • System Composer シーケンス図エンティティ:

    • ライフライン

    • ゲート

    • メッセージ

    • フラグメント

  • Simulink Test オブジェクト:

    • テスト ファイル

    • テスト スイート

    • テスト ケース

    • 反復

    • 評価

  • 以下に含まれている MATLAB コード行:

  • プレーンテキストの外部コード ファイル (C ファイルや H ファイルなど) 内のコード行。HTML ファイルにリンクすることもできますが、XML や JSON にはリンクできません。

    メモ

    プレーンテキストの外部コード行へのリンクを作成するには、MATLAB エディターでコードを開く必要があります。詳細については、MATLAB コードまたはテキスト形式のコードへの要件のリンクを参照してください。

リンクの作成

要件エディター、要件パースペクティブ、トレーサビリティ マトリクス、または MATLAB コマンド ラインを使用してリンクを作成できます。

[要件エディター] を使用して設計項目またはテスト項目から要件へのリンクを作成するには、以下のようにします。

  1. 次の項目のいずれかを選択します。

    • Simulink または Stateflow モデル要素

    • Simulink Fault Analyzer アーティファクト

    • System Composer アーキテクチャ要素

    • Simulink Test テスト ケース

    • MATLAB エディター内のコード範囲

    • Simulink データ ディクショナリ エントリ

    ヒント

    MATLAB 関数にリンクして、関数本体の全体について変更の追跡を有効にするには、function キーワードを含む行へのリンクを作成します。

  2. [要件エディター] で要件を選択します。

  3. [リンクの追加] をクリックしてから、リンク先にする選択項目が含まれているメニュー オプションを選択します。

要件から要件へのリンクを作成するには、以下のようにします。

  1. リンク元項目としてリンクする要件を選択します。

  2. [リンクの追加][要件とのリンクを選択] をクリックします。

  3. リンク先項目としてリンクする要件を選択します。

  4. [リンクの追加][...からリンクを作成] を選択してリンクを作成します。

ヒント

プログラムによるリンクの作成

MATLAB コマンド ラインでリンクを作成するには、以下を行います。

  1. リンク元のオブジェクトまたはハンドルを取得します。たとえば、MyBlock というブロックを含む MyModel というモデルがあるとします。

    open_system("MyModel")
    src = get_param("MyModel/MyBlock","Handle");

  2. リンク先のオブジェクトまたはハンドルを取得します。たとえば、My requirement という概要をもつ要件があるとします。

    dest = slreq.find(Type="Requirement",Summary="My requirement");
  3. 関数 slreq.createLink を使用してリンクを作成します。

    newLink = slreq.createLink(src,dest);

MATLAB コードまたはプレーンテキストの外部コードへのリンクをプログラムによって作成するには、slreq.TextRange オブジェクトを使用します。詳細については、MATLAB コードの要件のトレーサビリティを参照してください。

リンク タイプ

各リンクには、リンク元項目とリンク先項目間の関係を示すタイプがあります。slreq.Link オブジェクトの Type プロパティ値でリンク タイプを記述します。

割り当てられているリンク タイプ

各リンク タイプには意図されたユース ケースがあります。たとえば、Implement リンク タイプは、要件と、要件を実装する設計項目間の関係を示します。2 つの項目間にリンクを作成すると、Requirements Toolbox はリンク タイプを設定し、属しているアーティファクトのタイプに応じて項目をリンク元またはリンク先として指定します。たとえば、要件と Simulink モデル要素の間にリンクを作成した場合、Requirements Toolbox はモデル要素が要件を実装するものと想定し、リンク タイプを Implement に設定し、モデル要素をリンク元として指定し、要件をリンク先として指定します。

2 つの項目間に作成されるリンクに想定されるリンク タイプがない場合は、Requirements Toolbox はリンク タイプを Relate に設定します。たとえば、要件から要件へのリンクおよびプレーンテキストの外部コードからのリンクは既定で Relate になります。

リンク タイプの編集

リンクを作成した後に、[要件エディター]、要件パースペクティブ、または MATLAB コマンド ラインでリンク タイプを編集できます。要件エディターで、[リンクの表示] をクリックします。リンクを選択し、右側のペインの [プロパティ] で、[タイプ] リストから目的のリンク タイプを選択します。

組み込みリンク タイプ

Requirements Toolbox には 6 つの組み込みリンク タイプが用意されています。

順方向はリンク元がリンク先にどのように関連するのかを示します。同様に、逆方向はリンク先がリンク元にどのように関連するのかを示します。

タイプ説明リンク元からリンク先の例順方向逆方向
Relate
  • 多くのユース ケースにおける項目間の一般的な関係

  • 双方向リンク

要件から要件

最初の要件が 2 番目の要件に "関連" しています。

2 番目の要件が最初の要件に "関連" しています。

Implement
  • 要件を実装するリンク元の項目を指定する

  • 実装の状態の対象となる

詳細については、要件実装の状態の確認を参照してください。

Simulink モデル要素から要件

Simulink モデル要素が要件を "実装" します。

要件が Simulink モデル要素によって "実装" されます。

Verify
  • 要件を検証するリンク元の項目を指定する

  • リンク元の項目が受容される項目タイプの 1 つである場合、検証の状態の対象となる

詳細については、要件検証の状態の確認を参照してください。

Simulink テスト ケースから要件

Simulink テスト ケースが要件を "検証" します。

要件が Simulink テスト ケースによって "検証" されます。

Derive

リンク先項目を派生するリンク元項目を指定する

インポートされた参照要件から要件

インポートされた参照要件が要件を "派生" させます。

要件が、インポートされた参照要件から "派生" されます。

Refine

リンク先項目で指定される機能の詳細を追加するリンク元項目を指定する

下位レベルの要件から上位レベルの要件

下位レベルの要件が上位レベルの要件を "調整" します。

上位レベルの要件が下位レベルの要件によって "調整" されます。

Confirm
  • 要件と外部のテスト結果ソースとの間の関係を指定する

  • 一部のケースでは検証の状態の対象となる可能性がある

詳細については、外部ソースからの結果を検証の状態に含めるを参照してください。

要件から外部のテスト結果

要件が外部のテスト結果によって "確認" されます。

外部のテスト結果が要件を "確認" します。

Implement および Verify の各リンク タイプは、要件からモデルへの関係および要件からテストへの関係を記述します。これらのリンクは、実装の状態および検証の状態に影響します。詳細については、要件実装の状態の確認および要件検証の状態の確認を参照してください。

また、リンク タイプは、[トレーサビリティ ダイアグラム] ウィンドウの影響方向にも影響します。詳細については、トレーサビリティ ダイアグラムを使用したリンクの可視化を参照してください。

カスタム リンク タイプ

組み込みタイプに加え、カスタム リンク タイプを定義できます。カスタム リンク タイプは、いずれかの組み込みタイプを基本動作として使用しなければなりません。カスタム リンク タイプは、リンク タイプが実装の状態と検証の状態の対象となる方法など、組み込みタイプから一部の機能を継承します。詳細については、Choose a Built-in Type as a Base Behaviorを参照してください。

ステレオタイプを使用するか、sl_customization ファイルを使用して、カスタム リンク タイプを定義できます。詳細については、Define Custom Requirement and Link Types and Propertiesを参照してください。

リンクの表示と編集

読み込まれたリンク セットおよびリンク セットに含まれているリンクを表示するには、[要件エディター][リンクの表示] をクリックします。次に、リンクを選択し、そのプロパティまたはカスタム属性を表示または編集できます。詳細については、リンク プロパティ、カスタム属性、またはステレオタイプのプロパティの設定を参照してください。

[要件エディター] では、要件を選択すると、特定の要件のリンクを表示することもできます。右側のペインの [リンク] で、外向きリンク アイコン Outgoing links icon. は外向きリンクを示し、内向きリンク アイコン Incoming links icon. は内向きリンクを示しています。

要件パースペクティブを使用して Simulink エディターでリンクを表示するには、以下のようにします。

  1. モデル キャンバスの右下隅にある [パースペクティブ ビューを表示します] アイコンをクリックして Simulink モデルで要件パースペクティブを開き、[要件] を選択します。

  2. [要件] タブで、[レイアウト][要件ブラウザー] が選択されていることを確認します。

  3. [要件] ペインの [表示] メニューで、[リンク] を選択します。

リンクを可視化するには、トレーサビリティ マトリクスまたはトレーサビリティ ダイアグラムを作成します。詳細については、トレーサビリティ マトリクスを使用した要件リンクの追跡およびトレーサビリティ ダイアグラムを使用したリンクの可視化を参照してください。

リンクおよびリンク セットの削除

リンクを削除するには、[要件エディター] で、[リンクの表示] をクリックします。リンクを選択し、[リンク] セクションで Delete links icon. をクリックします。

リンク セットを削除するには、以下を実行します。

  1. リンク セットが含まれている SLMX ファイルを見つけます。既定では、リンク セット ファイルはリンク元アーティファクトと同じフォルダーにあります。

  2. リンク セットを削除する前に、要件セット、Simulink Test ファイル、MATLAB コード、Simulink データ ディクショナリ、Simulink モデル、Stateflow モデル、System Composer モデルなどのリンクされているアーティファクトを閉じます。

  3. MATLAB コマンド ラインで以下を入力して、読み込んだ要件およびリンクをクリアします。

    slreq.clear

  4. SLMX ファイルを削除します。

メモ

Simulink モデルに関連付けられているリンク セット ファイルを削除する場合は、リンクが外部に保存されていることを確認します。リンクを外部に保存する方法の詳細については、要件リンクのストレージを参照してください。

参考

|

関連するトピック