Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

要件ファイルへのリンク

このワークフローでは、外向きリンク エディターと API を使用して要件を Microsoft® Excel® 形式のテスト結果ファイルにリンクします。Simulink® Requirements™ エディターの検証の状態に、テスト結果が反映されます。これらの説明は、外部のテスト結果を要件の検証の状態に含めるためのワークフローに従います。詳細については、外部ソースからの結果を検証の状態に含めるを参照してください。

外向きリンク エディターを使用した要件ファイルへのリンク

要件エディターで counter_req.slreqx という要件セットを作成し、それを書き込み可能な場所に保存します。この要件セットには要件 ID と説明をもつ子要件があります。要件セットの作成方法の詳細については、Simulink エディターでの要件の処理を参照してください。

外部の結果ファイルは results.xlsx という Excel ファイルです。Simulink 要件の検証の状態が Excel シートのセルの値に基づいて更新されます。[テスト] 列の一意の ID によって [状態] 列の各結果が特定されます。ヘッダー行には [テスト] および [状態] ラベルが含まれています。

Excel の状態ログに基づいて counterSetsValue テスト ケースの検証情報を更新するとします。結果ファイルへのリンクを作成して検証するには、次の手順に従います。

リンク タイプの作成と登録

matlabroot/toolbox/slrequirements/linktype_examples/linktype_TEMPLATE.m にあるテンプレート ファイルを開きます。次の手順に従います。

  1. 新しい MATLAB ファイルを作成します。

  2. linktype_TEMPLATE の内容を新しいファイルにコピーします。ファイルを linktype_myexcelresults.m として保存します。

  3. linktype_myexcelresults.m の場合:

    1. 関数名 linktype_TEMPLATElinktype_myexcelresults で置き換えます。

    2. linkType.Label'Excel Results' として設定します。

    3. linkType.Extensions{'.xlsx'} として設定します。

    4. linktype_myexcelresults で使用するために GetResultFcn のコマンドのコメントを解除し、以下を入力します。

      linktype.GetResultFcn = @GetResultFcn;
      ......
      function result = GetResultFcn(link)
          testID = link.destination.id;
          resultFile = link.destination.artifact;
          
          if ~isempty(resultFile) && isfile(resultFile)
              resultTable = readtable(resultFile);
              testRow = strcmp(resultTable.Test,testID);
              status = resultTable.Status(testRow);
              
              if status{1} == "passed"
                  result.status = slreq.verification.Status.Pass;
              elseif status{1} == "failed"
                  result.status = slreq.verification.Status.Fail;
              else
                  result.status = slreq.verification.Status.Unknown;
              end
          else
              result.status = slreq.verification.Status.Unknown;
          end
      end
      GetResultFcn の詳細については、リンクとリンク タイプを参照してください。

  4. linktype_myexcelresults.m を保存します。

  5. リンク タイプを登録します。コマンド ラインに次のように入力します。

    rmi register linktype_myexcelresults

    メモ

    コマンドが警告を返す場合、ファイルを登録解除し、手順 5 に再度従わなければなりません。以下を入力して、ファイルを登録解除します。

    rmi unregister linktype_myexcelresults

リンクの作成

次の手順に従って、外向きリンク エディターでリンクを手動で追加します。

  1. 要件エディターを開き、counter_req.slreqx 要件セットで子要件 1.3 を右クリックして、[[外向きリンク] ダイアログを開く] を選択します。

  2. 外向きリンク エディターのダイアログ ボックスの [要件] タブで、[新規] をクリックします。

  3. 以下の詳細を入力してリンクを確立します。

    • 説明: resultcounterSetsValue

    • ドキュメント タイプ: Excel Results

    • ドキュメント: results.xlsx

    • 場所: counterSetsValue

  4. [OK] をクリックします。要件エディターの [リンク] セクションでリンクが強調表示されます。

検証の状態の表示

要件エディターで検証の状態を更新します。要件エディターで要件の検証の状態を表示するには、[更新] ボタンをクリックします。これにより、パスまたは失敗した要件セット全体の検証の状態が示されます。

counterSetsValue の要件は完全に検証されています。ここでは、検証の状態は、3 つのテストのうち 1 つにパスしたことを示しています。

API を使用した結果ファイルへのリンク

要件エディターで counter_req.slreqx という要件セットを作成し、それを書き込み可能な場所に保存します。この要件セットには要件 ID と説明をもつ子要件があります。要件セットの作成方法の詳細については、Simulink エディターでの要件の処理を参照してください。

外部の結果ファイルは results.xlsx という Excel ファイルです。Simulink 要件の検証の状態が Excel シートのセルの値に基づいて更新されます。[テスト] 列の一意の ID によって [状態] 列の各結果が特定されます。ヘッダー行には [テスト] および [状態] ラベルが含まれています。

Excel の状態ログに基づいて counterSetsValue テスト ケースの検証情報を更新するとします。結果ファイルへのリンクを作成して検証するには、次の手順に従います。

リンク タイプの作成と登録

matlabroot/toolbox/slrequirements/linktype_examples/linktype_TEMPLATE.m にあるテンプレート ファイルを開きます。次の手順に従います。

  1. 新しい MATLAB ファイルを作成します。

  2. linktype_TEMPLATE の内容を新しいファイルにコピーします。ファイルを linktype_myexcelresults.m として保存します。

  3. linktype_myexcelresults.m の場合:

    1. 関数名 linktype_TEMPLATElinktype_myexcelresults で置き換えます。

    2. linkType.Label'Excel Results' として設定します。

    3. linkType.Extensions{'.xlsx'} として設定します。

    4. linktype_myexcelresults で使用するために GetResultFcn のコマンドのコメントを解除し、以下を入力します。

      linktype.GetResultFcn = @GetResultFcn;
      ......
      function result = GetResultFcn(link)
          testID = link.destination.id;
          resultFile = link.destination.artifact;
          
          if ~isempty(resultFile) && isfile(resultFile)
              resultTable = readtable(resultFile);
              testRow = strcmp(resultTable.Test,testID);
              status = resultTable.Status(testRow);
              
              if status{1} == "passed"
                  result.status = slreq.verification.Status.Pass;
              elseif status{1} == "failed"
                  result.status = slreq.verification.Status.Fail;
              else
                  result.status = slreq.verification.Status.Unknown;
              end
          else
              result.status = slreq.verification.Status.Unknown;
          end
      end
      GetResultFcn の詳細については、リンクとリンク タイプを参照してください。

  4. linktype_myexcelresults.m を保存します。

  5. リンク タイプを登録します。コマンド ラインに次のように入力します。

    rmi register linktype_myexcelresults

    メモ

    コマンドが警告を返す場合、ファイルを登録解除し、手順 5 に再度従わなければなりません。以下を入力して、ファイルを登録解除します。

    rmi unregister linktype_myexcelresults

リンクの作成

リンクを作成するには次の手順に従います。

  1. MATLAB® コマンド プロンプトで、次を入力します。

    externalSource.id = 'counterSetsValue';
    externalSource.artifact = 'results.xlsx';
    externalSource.domain = 'linktype_myexcelresults';

  2. 以下を入力して、リンクに関連する要件を見つけます。

    requirement = reqSet.find('Type', 'Requirement', 'SID', 4);

  3. 以下を入力してリンクを作成します。

    link = slreq.createLink(requirement, externalSource);
    これにより、要件 SID のテスト ケース counterSetsValue としてリンクが作成されます。要件エディターで、リンクが [リンク][確認者] セクションに表示されます。

検証の状態の表示

要件セットの検証の状態を更新します。MATLAB コマンド プロンプトで、次を入力します。

reqSet.updateVerificationStatus
以下を入力して、要件の検証の状態を取得します。
status = reqSet.getVerificationStatus
これにより、パスまたは失敗した要件セット全体の検証の状態が示されます。要件エディターで要件の検証の状態を表示するには、 [更新] をクリックします。

counterSetsValue の要件は完全に検証されています。ここでは、検証の状態は、3 つのテストのうち 1 つにパスしたことを示しています。

関連するトピック