Main Content

要件リンクとリンク タイプ

要件のトレーサビリティ リンク

Simulink® モデルから、または MATLAB® コード内のある領域から要件ドキュメント内の特定の位置に移動する目的で、そのモデルまたはコードに要件のトレーサビリティ リンクを追加できます。

要件のトレーサビリティ リンクには次のような属性があります。

  • 最大 255 文字の説明。

  • 要件ドキュメントのパス名。Microsoft® Word ファイルや、IBM® DOORS® データベース内のモジュールなどがこれに該当します。(RMI は複数の組み込みドキュメント形式に対応しています。要件ドキュメントのカスタム タイプを登録することもできます。サポートされる要件ドキュメントのタイプを参照してください)。

  • 要件ドキュメント内の、指定された場所。次のような場所があげられます。

    • ブックマーク

    • アンカー

    • ID

    • ページ番号

    • 行番号

    • セル範囲

    • リンク ターゲット

    • 定義したキーワード

要件リンクの作成が可能なモデル オブジェクト

Simulink モデル オブジェクトのうち、オブジェクトの間で要件リンクを関連付けることができるタイプは次のとおりです。

  • Simulink ブロック線図とサブシステム

  • Simulink ブロックと注釈

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

  • Signal Builder の信号グループ

  • Stateflow® のチャート、サブチャート、ステート、遷移、およびボックス

  • Stateflow 関数

  • MATLAB コードの行

  • Simulink Test™ マネージャーのテスト ケース

リンクとリンク タイプ

要件リンクは、ドキュメント内の特定の場所を識別するデータ構造で、Simulink により管理されます。ブロック上のリンクの取得と設定は rmi コマンドで行います。

リンクとリンク タイプの連動によりナビゲーションの実行と要件の管理が行われます。リンクの doc フィールドおよび id フィールドは、外部ドキュメント内のリンクされている項目を一意に識別するのに使用します。モデルからリンクで移動する際に、RMI はこれらの両方の値をナビゲーション コマンドに渡します。

リンク タイプ プロパティ

リンク タイプ プロパティでは、リンクの作成、識別、移動、要件管理ツール内での保存の方法を指定します。次の表は各プロパティを説明しています。

プロパティ説明
Registration

リンク タイプを作成した関数の名前。この名前は RMI により Simulink モデルに保存されます。

Label

このリンク タイプを識別するための文字列。この文字列は、外向きリンク エディターで Simulink オブジェクトまたは Stateflow オブジェクトの場合に [ドキュメント タイプ] ドロップダウン リストに表示されます。

IsFile

リンクされているドキュメントがコンピューター ファイル システム内のファイルであるかどうかを示す boolean プロパティ。ドキュメントがファイルの場合、次のようになります。

  • パスの解決には標準の方式が使用されます。

  • 外向きリンク エディターで [参照] をクリックすると、ファイル選択ダイアログ ボックスが開きます。

Extensions

ファイル拡張子の配列。これらのファイル拡張子は、外向きリンク エディターで [参照] をクリックしたときのフィルター オプションとして使用します。ファイル拡張子から、ドキュメント名に基づきリンク タイプが推測されます。同じファイル拡張子に 1 つを超えるリンク タイプが登録されている場合、自分が登録したリンク タイプが最優先されます。

LocDelimiters

サポートされているナビゲーション区切り記号の一覧が含まれる文字列。要件の ID の最初の文字は、識別子のタイプを表しています。たとえば、識別子は特定のページ番号 (#4)、名前付きのブックマーク (@my_tag)、検索可能なテキスト (?search_text) などを示す場合があります。有効な場所区切り記号により、外向きリンク エディターの [場所] ドロップダウン リストで使用可能なエントリが決まります。

NavigateFcn

リンクのクリック時に呼び出される MATLAB コールバック。この関数には、リンクのドキュメント フィールドと ID フィールドの 2 つの入力引数があります。

feval(LinkType.NavigateFcn, Link.document, Link.id)
ContentsFcn

外向きリンク エディターの [ドキュメント インデックス] タブをクリックしたときに呼び出される MATLAB コールバック。この関数に含まれる 1 つの入力引数には、解決された関数の絶対パス (リンク タイプがファイルでない場合は、[ドキュメント] フィールドの内容) が保存されます。

この関数は次の 3 つの出力を返します。

  • ラベル

  • 深度

  • 場所

BrowseFcn

外向きリンク エディターの [参照] をクリックしたときに呼び出される MATLAB コールバック。リンク タイプがファイルの場合、この関数は必要ありません。この関数には入力引数はありません。また、返される 1 つの出力引数によって、選択したドキュメントが識別されます。

CreateURLFcn

要件のパス名を構築する MATLAB コールバック。この関数はドキュメントのパスまたは URL を使用して特定の要件 URL を作成します。要件 URL は、3 番目の入力引数で指定された場所識別子に基づいています。入力引数は以下のとおりです。

  • 要件ドキュメントの絶対パス名

  • ドキュメントの URL の作成に関する情報 (該当する場合)

  • ドキュメント内での要件の場所

この関数は、文字ベクトルとして指定されている単一の出力引数を返します。この引数は、生成されたレポートから要件に移動する際に使用します。

IsValidDocFcn

要件の整合性チェックの実行時に呼び出される MATLAB コールバック。この関数で使用する入力引数は 1 つで、要件ドキュメントの完全修飾名です。ドキュメントを検出できた場合は true、ドキュメントを検出できなかった場合やドキュメント名が無効の場合は false を返します。

IsValidIdFcn

要件の整合性チェックの実行時に呼び出される MATLAB コールバック。この関数は 2 つの入力引数を使用します。

  • 要件ドキュメントの完全修飾名

  • ドキュメント内での要件の場所

IsValidIdFcn は、要件が見つかった場合は true を返し、指定したドキュメントに要件が見つからない場合は false を返します。

IsValidDescFcn

要件の整合性チェックの実行時に呼び出される MATLAB コールバック。この関数は 3 つの入力引数を使用します。

  • 要件ドキュメントの絶対パス

  • ドキュメント内での要件の場所

  • Simulink に保存されている要件の説明ラベル

IsValidDescFcn は、2 つの出力を返します。

  • 説明が要件と一致する場合は true、それ以外の場合は false。

  • Simulink で一致しない場合は、ドキュメント内の要件のラベル。

DetailsFcn

[リンクされたドキュメントからの詳細を含める] オプションで要件レポートを生成する際に呼び出される MATLAB コールバック。この関数は、要件に関連付けられた詳細な内容を返します。また、次の 3 つの入力引数を使用します。

  • 要件ドキュメントの絶対パス

  • ドキュメント内での要件の場所

  • レポートに表示する詳細レベル (未使用)

DetailsFcn は、2 つの出力を返します。

  • cell 配列内のフラグメント間の階層関係を示す数値配列

  • 要件から取得した、書式化されたフラグメント (段落、表など) の cell 配列

SelectionLinkFcn

このドキュメント タイプで選択ベースのリンクのメニュー オプションを使用する際に呼び出す MATLAB コールバック。この関数は 2 つの入力引数を使用します。

  • 要件リンクが設定されるモデル オブジェクトへのハンドル

  • ナビゲーション オブジェクトが要件ドキュメントに挿入されている場合は true、ナビゲーション オブジェクトが挿入されていない場合は false

SelectionLinkFcn は選択した要件の要件リンク構造を返します。

GetResultFcn

要件をもつ外部テスト ケースをカスタム リンク タイプ ファイルにリンクするときに呼び出される MATLAB コールバック。カスタム リンク タイプ ファイル内で使用され、外部の結果を取得して検証の状態と統合します。

この関数には入力引数が 1 つあります。

  • link:これは slreq.Link オブジェクトです。この関数はリンク元とリンク先を特定します。

関数は 1 つの出力引数 result を返します。この引数は次のフィールドをもつ struct として指定されます。

  • status (必須): これは slreq.verification.Status からの値です (PassFailStale、または Unknown)

  • timestamp (オプション): このフィールドをスキップするか、NaT とマークして古い結果が検出されることを回避します。

  • info (オプション): 文字、ベクトル、または string でなければなりません。info の値が状態のツールヒントに診断として出力されます。

  • error (オプション): 文字、ベクトル、または string でなければなりません。error の値が状態のツールヒントに診断として出力されます。指定されている場合、info フィールドよりも優先されます。

  • 古い結果を参照することがないように、結果ファイルのタイムスタンプがリンク作成のタイムスタンプよりも新しいことを確認してください。関数 GetResult で返される結果にタイムスタンプが記載されていないか NaT に設定されている場合、ステイルネスの検出はスキップされます。

外向きリンク エディター

外向きリンク エディターを使用した要件のトレーサビリティ リンクの管理

外向きリンク エディターを使用して、要件のトレーサビリティ リンクの作成、編集および削除ができます。外向きリンク エディターを開くには、次を行います。

  • Simulink エディター内で、要件のトレーサビリティ リンクが含まれるモデル オブジェクトを右クリックします。コンテキスト メニューから、[要件][[外向きリンク] ダイアログを開く] を選択します。

  • MATLAB エディター内で、要件のトレーサビリティ リンクが含まれるコード領域内を右クリックします。コンテキスト メニューから、[要件][[外向きリンク] ダイアログを開く] を選択します。

外向きリンク エディターが以下に示すように開きます。

外向きリンク エディターでは次のことができます。

  • 1 つ以上の Simulink モデル オブジェクトまたは MATLAB コード行からの要件リンクを作成する。

  • 要件リンクの情報をカスタマイズする (要件の強調表示やレポートをフィルターするためのユーザー キーワードの指定など)。

  • 既存の要件リンクを削除する。

  • リンクされているオブジェクトのコンテキスト メニューでラベルの順序を制御するため、保存済みの要件の順序を変更する。

[要件] タブ

[要件] タブでは、リンクに関する次のような詳細情報を指定できます。

  • 要件の説明 (最大 255 文字)。ドキュメント インデックスを使用してリンクを作成する場合、既存の説明文が "存在しない" と、インデックスの場所の名前がリンクの説明文になります。

  • 要件ドキュメントのパス名。

  • ドキュメント タイプ (Microsoft WordMicrosoft Excel®、IBM DOORS、MuPAD®、HTML、テキスト ファイルなど)。

  • 要件の場所 (検索テキスト、指定された場所、ページまたは項目番号)。

  • ユーザーが指定したキーワード。

[ドキュメント インデックス] タブ

[ドキュメント インデックス] タブを使用できるのは、[要件] タブの [ドキュメント] フィールドでインデックスをサポートするファイルを指定した場合に限られます。次のタイプの要件ドキュメントについて、指定した要件ドキュメントの場所の一覧が [ドキュメント インデックス] タブで生成されます。

  • Microsoft Word

  • IBM DOORS

  • HTML ファイル

  • MuPAD

メモ

RMI では PDF ファイルのドキュメント インデックスは作成できません。

ドキュメント インデックスから目的の要件を選択して [OK] をクリックします。既存の説明が "ない" 場合は、インデックスの場所の名前がリンクの説明になります。

要件ドキュメントを変更した場合、新しく作成された場所を読み込むには [リフレッシュ] をクリックしなければなりません。MATLAB セッション中は、[リフレッシュ] ボタンをクリックしない限りドキュメント インデックスは再度読み込まれません。