メインコンテンツ

when 構造を使用したモデルのシミュレーションの検証

Test Assessment ブロックで、when 構造シーケンスを使用して、verify ステートメントを含むステップを有効にするシミュレーション条件を定義できます。when 構造シーケンスでは、定義したシミュレーション条件に基づいてステップが有効になります。when 構造シーケンスの詳細については、テスト シーケンスの基礎を参照してください。

verify ステートメントは論理式を評価し、各タイム ステップとシミュレーション全体について、passfail、または untested の結果を返します。いずれかのタイム ステップで結果が fail になると、シミュレーション全体の結果が fail になります。失敗になる結果が 1 つもない場合、いずれかのタイム ステップで pass になると、シミュレーション全体の結果が pass になります。それ以外の場合、全体の結果は untested になります。その後、テスト マネージャーまたはシミュレーション データ インスペクター (テスト ケースなしでシミュレーションを実行する場合) でテスト結果を確認できます。テストされた verify ステートメントの結果のみをログに記録して、passfail のステートメントのみを表示するように選択できます。verify ステートメントの作成の詳細については、verify を参照してください。

verify ステートメントは when 構造で次のように作成できます。

  • モデルで Test Sequence ブロックをソースとして使用しない場合、またはテスト シーケンス ステップが検証する条件と対応しない場合。この状況では、それぞれの verify ステートメントを信号条件を使用して有効にできます。

  • モデルで Test Sequence ブロックをソースとして使用する場合。この状況では、Test Assessment ブロックの verify ステートメントを Test Sequence ブロックのアクティブなステップを使用して有効にできます。アクティブなステップの出力を別のブロックへの入力として使用を参照してください。

信号条件を使用した verify ステートメントの有効化

この例では、Test Assessment ブロックの when 構造で verify ステートメントを使用してテスト ハーネスの評価を作成する方法を示します。

このモデルは、オフ、低速、クイックの 3 つのモードで動作するシンプルな信号トラッカーを実装します。

出力と誤差の信号を確認するには、モデルをシミュレートします。

テスト ハーネスを開く

SimpleTracker サブシステムには、Test Assessment ブロックを含むテスト ハーネスが含まれています。

Test Assessment ブロックでは、when 構造の verify ステートメントを使用して SimpleTracker サブシステムの動作を評価します。

CheckError ステップに 3 つのサブステップをもつ when 構造があります。

  • mode の値が 0 の場合、OffMode がアクティブになります。

  • mode の値が 1 の場合、SlowMode がアクティブになります。

  • mode の値がそれ以外の場合、いずれも QuickMode がアクティブになります。

モデルの評価の実行

評価を実行するには、テスト ハーネスをシミュレートします。シミュレーション データ インスペクターを開いて結果を検証します。

テストされた verify の結果のみのログ記録

passfail の結果のみをログに記録して表示するには、[ハーネス] タブで [Suppress Untested Results] をクリックします。テスト ハーネスをシミュレートし、シミュレーション データ インスペクターを開きます。シミュレーション データ インスペクターに untested の結果は表示されません。

テスト シーケンス ステップを使用した verify ステートメントの有効化

モデルで Test Sequence をブロック ソースとして使用する場合、Test Sequence ブロックと Test Assessment ブロックを Test Sequence ブロックからのアクティブなステップ信号を使用して接続できます。Test Assessment ブロックで when 構造を作成して verify ステートメントを定義し、モデルのシミュレーションを評価できます。

たとえば、Harness1_TestSeqAndTestAssessment ハーネスには Test Sequence ブロックと Test Assessment ブロックが含まれています。ブロックは Active_Step 信号で接続されています。

A test harness with a Test Sequence and Test Assessment block connected by a signal.

Test Assessment ブロックに 4 つのサブステップをもつ when 構造シーケンスが含まれています。各サブステップに、2 つの論理式を評価する verify ステートメントが含まれています。各 verify ステートメントは、Test Sequence ブロックの異なるステップで有効になります。

この例の Else ステップにはアクションはなく、前の when 条件のいずれにも一致しないシミュレーション条件を処理します。このステップに when 条件を含めることはできません。

The Test Editor. The editor shows the steps for the test sequence and test assessment blocks in the harness.

Test Assessment の verify ステートメントを Test Sequence ブロックのアクティブなステップを使用して有効にするには、Test Sequence ブロックのアクティブなステップのデータ出力を作成します。Test Sequence ブロックを選択し、プロパティ インスペクターで [アクティブなステップの監視用データを作成] を選択して [データ型]Enum に設定します。[Enum 名] に名前を入力します。

Property Inspector for the Test Sequence block

次に、Test Assessment ブロックの入力データを作成します。Test Assessment ブロックを開き、[シンボル] ペインで [入力] をポイントして [データの追加] をクリックし、入力に名前を付けます。Test Sequence ブロックの出力を Test Assessment ブロックの入力に接続します。

Test Assessment ブロックで when 構造を作成します。Test Assessment ブロックには、既定で when 構造シーケンスがあります。標準のシーケンスと when 分解構造シーケンスを切り替えるには、親ステップを右クリックして [when 分解構造] を選択します。それぞれの when 構造ステップについて、アクティブなステップの列挙データを使用してそのステップがアクティブになるタイミングを定義します。

VerifyBoth when TSActiveStepIN == ...
    TSActiveStepEnum.PressBothButtons

参考

| | | | | |

トピック