メインコンテンツ

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

要件への MATLAB コードのリンク

要件エディターを使用するか MATLAB® コマンド ラインでプログラムを使用して、MATLAB コードやプレーンテキストの外部コード (C コードなど) に要件をリンクできます。MATLAB Function (Simulink) ブロックの MATLAB コードへのリンクを作成することもできます。MATLAB エディターまたは要件エディターでコードへのリンクを表示、編集、削除できます。

MATLAB コードまたはプレーンテキストの外部コードへのリンクの作成

MATLAB コードまたはプレーンテキストの外部コードへのリンクをプログラムによって、または要件エディターを使用して作成できます。

コードへのリンクを作成するときに、Requirements Toolbox™ は選択された行に対応する slreq.TextRange オブジェクトを作成します。これらの slreq.TextRange オブジェクトは "行範囲" と呼ばれます。

プログラムによってリンクを作成するには、slreq.TextRange オブジェクトを作成し、リンクを作成するときにそのオブジェクトをリンク ソースとして使用します。同じ MATLAB コード ファイルまたはプレーンテキストの外部コード ファイルに複数の slreq.TextRange オブジェクトを作成する場合、slreq.TextRange オブジェクトの行番号はオーバーラップできません。

要件エディターを使用したリンクの作成

要件エディターを使用してコードへの選択ベースのリンクを作成するには、以下を行います。

  1. MATLAB エディターで、MATLAB コード ファイルまたはプレーンテキストの外部コード ファイルを開きます。

    メモ

    MLX ファイルで MATLAB コードへのリンクを作成することはできません。

  2. リンクするコード行を選択します。

  3. 要件エディターで、リンクする要件セットを読み込みます。

  4. リンクする要件を選択します。

  5. [リンク] セクションで、[リンクの追加][MATLAB エディターの選択内容からのリンク] をクリックします。

    あるいは、MATLAB エディターで選択されたコード範囲を右クリックし、[要件][要件ブラウザーの選択内容へのリンク] を選択します。

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

myAdd という MATLAB 関数へのリンクをプログラムによって作成するとします。

function y = myAdd(u,v)
y = u + v;
end
関数をこれらの要件にリンクする必要があります。

Requirements for the myAdd function, including requirements for the inputs, outputs, and function behavior.

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

  1. slreq.createTextRange を使用して、リンク先のコード行を表す slreq.TextRange オブジェクトを作成します。

    lr = slreq.createTextRange("myAdd.m",2);

  2. slreq.findfind、または slreq.getCurrentObject を使用して、リンクする要件のハンドルを取得します。

    req = slreq.find(Type="Requirement",Summary="Add u and v");

  3. slreq.createLink を使用して、リンクを作成します。

    myLink = slreq.createLink(lr,req);

MATLAB Function ブロックへのリンクの作成

MATLAB Function ブロック エディター (Simulink)を使用して、MATLAB Function ブロック内のコード行へのリンクを作成します。

  1. 要件エディターで、リンク先の要件セットを読み込みます。

  2. リンクする要件を選択します。

  3. Simulink® モデルで、MATLAB Function ブロックを開きます。

  4. リンクするコード行を選択します。

  5. 選択されたコード範囲を右クリックし、[要件][要件ブラウザーの選択内容へのリンク] を選択します。

メモ

MATLAB Function ブロック内の MATLAB コード行にリンクされる要件は、要件のトレーサビリティについての HTML レポートには記載されますが、Simulink Report Generator™ Web ビューには表示されません。モデルの Web ビューの作成と使用 (Simulink Report Generator)を参照してください。

外部ドキュメントの要件へのリンクの作成

MATLAB コードから外部ドキュメントの要件へのリンクを作成するには、以下を行います。

  1. 次のいずれかの外部ドキュメントの要件を選択します。

    • Microsoft® Word

    • Microsoft Excel®

    • IBM® DOORS®

    • IBM DOORS Next

  2. MATLAB エディターで、MATLAB コード ファイルまたはプレーンテキストの外部コード ファイルを開きます。

    メモ

    MLX ファイルで MATLAB コードへのリンクを作成することはできません。

  3. リンクするコード行を選択します。

  4. 選択されたコード範囲を右クリックし、[要件] を選択します。要件ドキュメントの種類に応じて、次のオプションのうちいずれかを選択します。

    • Word の選択内容へのリンク

    • Excel の選択内容へのリンク

    • DOORS の選択内容へのリンク

    • DOORS Next の選択した項目へのリンク

  5. 変更を保存します。詳細については、リンクの保存を参照してください。

これらのサードパーティ製品と連携させるための Requirements Toolbox の構成の詳細については、Microsoft Office および IBM DOORS との相互作用のための Requirements Toolbox の構成およびConfigure IBM DOORS Next for Integration with Requirements Toolboxを参照してください。

リンクと行範囲の表示と編集

現在のファイルのリンクと行範囲を MATLAB エディターで確認するには、エディター内で右クリックして [要件][[要件のトレーサビリティ] パネルを開く] をクリックし、[要件のトレーサビリティ] パネルを開きます (R2025a 以降)。現在のファイルの行範囲には行範囲アイコン 、リンク先にはリンク先アイコン が付けられます。

This image shows the Requirements Traceability panel. The panel contains 3 line ranges and 4 links.

要件の強調表示を有効にすることで、リンクされたコード範囲を MATLAB エディターで確認することもできます。エディター内で右クリックし、[要件][要件の強調表示を有効にする] を選択します。

リンクを編集するには、要件エディターを使用します。詳細については、リンクの表示と編集を参照してください。

MATLAB エディターでの行範囲の編集

MATLAB エディターで行範囲の行番号を編集するには、以下を行います。

  1. [要件のトレーサビリティ] パネルを開き、行範囲アイコン が付いた項目を選択します。その行範囲のコードがエディターで選択されます (R2025a 以降)

  2. エディター内でクリックして行範囲のコードを選択解除します。その後、行範囲内を右クリックし、[要件][行の範囲を調整] を選択します。[範囲を調整] ダイアログ ボックスが開きます。

  3. [範囲を調整] ダイアログ ボックスで、[+] および [-] ボタンを使用して、行範囲の最初と最後の行を変更します。あるいは、行番号をフィールドに入力します。

    Adjust range dialog box showing lines 1 and 2 as the first and last lines for the line range.

  4. [OK] をクリックします。

  5. 変更を保存します。詳細については、リンクの保存を参照してください。

[要件のトレーサビリティ] パネルを使用して行範囲を特定する代わりに、エディター内で右クリックして [要件][要件の強調表示を有効にする] を選択すると、リンクされた行範囲を強調表示できます。

プログラムでの行範囲の編集

MATLAB コマンド ラインで slreq.TextRange オブジェクトの行を編集するには、以下を行います。

  1. MATLAB エディターで、MATLAB コード ファイルまたはプレーンテキストの外部コード ファイルを開きます。

    open("myAdd.m");

  2. ファイル名と行範囲の最初と最後の行番号を関数 slreq.getTextRange に渡すことで、MATLAB コード ファイル内の既存の slreq.TextRange オブジェクトを取得します。

    lr = slreq.getTextRange("myAdd.m",[1 2]);

  3. setLineRange メソッドを使用して行範囲を変更します。

    setLineRange(lr,1);

  4. 変更を保存します。

    myLinkSet = slreq.find(Type="LinkSet",Artifact=lr.Artifact);
    save(myLinkSet);

MATLAB エディターによってコード範囲の強調表示が更新されます。あるいは、showgetText、または getLineRange を使用して、変更内容を確認できます。

リンクと未使用の行範囲の削除

MATLAB エディター、要件エディター[要件のトレーサビリティ] パネル、または MATLAB コマンド ラインで、MATLAB コードへのリンクを削除できます。

MATLAB エディターでコード範囲へのリンクを削除すると、エディター、[要件のトレーサビリティ] パネル、または MATLAB コマンド ラインで未使用の行範囲を削除できます。

リンクの削除

読み込まれたリンク セットの個々のリンクを削除するには、要件エディターを使用します。詳細については、リンクおよびリンク セットの削除を参照してください。

MATLAB エディターで現在のファイルの個々のリンクを削除するには、[要件のトレーサビリティ] パネルを使用します。詳細については、Delete Linksを参照してください。

MATLAB エディターでコード範囲へのすべての内向きリンクと外向きリンクを削除するには、強調表示されたコード範囲を右クリックし、[要件][すべてのリンクを削除] を選択します。

プログラムでリンクを削除するには、slreq.Link オブジェクトへのハンドルを取得し、remove 関数を使用します。あるいは、内向きリンクまたは外向きリンクを含むファイルを MATLAB エディターで開きます。その後、slreq.getTextRange 関数を使用して slreq.TextRange オブジェクトへのハンドルを取得します。deleteLinks 関数を使用してオブジェクトへのリンクを削除します。

行範囲の削除

MATLAB エディターで現在のファイルの行範囲を削除するには、[要件のトレーサビリティ] パネルを使用します。詳細については、Delete Linksを参照してください。

プログラムで行範囲を削除するには、内向きリンクまたは外向きリンクを含むファイルを MATLAB エディターで開きます。その後、slreq.getTextRange 関数を使用して slreq.TextRange オブジェクトを取得します。remove 関数を使用してコード範囲を削除します。

リンクの修復

外向きリンクを含む行範囲を削除した場合や MATLAB コード ファイルまたはプレーンテキスト ファイルの行範囲をソフトウェアで特定できない場合、リンク範囲へのリンクが未解決になります。未解決のリンクは修復することができ、もう必要がない場合は削除することもできます。詳細については、Resolve Linksを参照してください。

未解決のリンクを表示するには、要件エディター[リンクの表示] をクリックします。未解決のリンクには未解決リンク アイコン が表示されます。

"孤立リンク" (ソースが無効なリンク) を確認するには、[要件のトレーサビリティ] パネルを使用します。孤立リンクが赤のテキストでパネルに表示されます。

リンクの保存

リンクや行範囲を作成、編集、削除、または修復するときに変更をリンク セットに保存するには、次のいずれかの方法を使用します。

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

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

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

参考

アプリ

クラス

関数

トピック