Reactis for Simulink

Reactis for Simulink は、MathWorks社のSimulink®環境で作成された .slx ファイルを読込み、検証する事が可能です。 Reactis® は、3つの メインコンポーネントで構成されます: Reactis Tester, Reactis Simulator, そして Reactis Validator です。

Reactis Tester

自動でテストデータを生成

予期せぬ入力でランタイムエラーが発生する?

自分のモデルのどれだけの部分が本当にテストできている?

Reactis Tester は、guided simulation と呼ばれる特許技術に基づいて テストスイートを生成します。ツールは、様々な カバレッジメトリクスをテストデータの生成と同時に計測し、 未到達のターゲットを使って、以降のテストステップの生成を誘導します。

Simulink/Stateflow モデルからテストを生成

カバレッジメトリクスとは、一般的な Decision, Condition, と Modified Condition/Decision Coverage (MC/DC), Simulink 特有のブランチやサブシステム、そして Stateflow 特有のステート、コンディションアクション、 トランジションアクション等です。 MC/DC とは?

コードとモデルの比較

モデルに対する生成されたコード(自動生成、ハンドコード)のテストは、 Reactis なら容易に行う事が可能です:

  1. モデルからテストスイートを生成
  2. テストスイートをコード上で実行
  3. 出力値の差分を自動的に検出し、フラグを立てる

Reactis Simulator

シミュレーションとデバッグ

バグを理解し、影響分析、修正するためには?


  • 一つのブロックを実行、1ステップ実行、複数ステップ実行。
  • リバース実行。
  • 変数値の確認は、マウスによるホバー、スコープによる確認、変数の監視(watched variable)で。
  • 未実行箇所を赤でハイライト。
  • 詳細なカバレッジレポートを生成。
  • ブレークポイントの設定。
  • Reactis for C Plugin や Reactis for EML Plugin を使用すると、さらに高度なソースコード デバッガーになります。Simulink, Stateflow, Embedded MATLAB, C コードのデバッグを すべて同じシンプルなインターフェースから統合的にコントロールする事が可能となります。
Simulink モデルのデバッグについて詳しく→
Simulink モデルのデバッグ

Reactis Validator

要求事項のチェック

ブレーキは常にクルーズコントロールを解除する?

Validator はテストスイートを使用し、モデルの検証作業を行います。ユーザは、 まず初めにモデルを監視するための条件(モデルや式)を装着します。 Validator は、次にテストスイート生成コンポーネントの Tester を使いデータを生成し、 違反を引き起こすデータが無いか確認します。このテストは、検出された異常動作の 原因を診断するためにも利用できます。

Simulink モデルの検証

監視するための条件とは、assertions や user-defined targets の事です。 Assertions の条件は、モデルの機能が正しく動作する場合、常に true であることが求められます。 User-defined targets の条件は、要求事項が満たされている事を検証するために、 常にテストされなくてはなりません。テストスイート生成の間、Reactis は assertions の違反を 引き起こす事を試み、user-defined targets をカバーする事を試みます。assertions と user-defined targets は、C 言語風の式、又は Simulink/Stateflow を使った オブザーバーダイアグラムとして記述します。

モデル全体をテスト

プラグインは Reactis for Simulink とシームレスに統合され、ホワイトボックステストを モデル内の C コードや Embedded MATLAB 部分にまで拡張します。 モデルベース開発のための包括的なテストソリューションを提供します。

Reactis for C Plugin

C Caller ブロック、S-Function、Stateflow カスタムコード内の C コードをテストします。

  • C コード内のカバレッジターゲットを特定
  • C コード内のターゲットを実行するテストを生成
  • C コードのランタイムエラーを検出
  • C コードのデバッグ: コードへのステップイン、 変数値の確認、ブレークポイントの設定、 カバレッジの可視化

詳細はこちら →

Reactis for EML Plugin

MATLAB Function ブロック、トゥルーステーブル、Stateflow のステートアクション、 外部の `.m` ファイル内の Embedded MATLAB(EML)コードをテストします。

  • EML コード内のカバレッジターゲットを特定
  • EML コード内のターゲットを実行するテストを生成
  • EML コードのランタイムエラーを検出
  • EML コードのデバッグ: コードへのステップイン、 変数値の確認、ブレークポイントの設定、 カバレッジの可視化

詳細はこちら →

Reactis for Simulink はISO 26262認証を取得しています

TÜV SÜDにより、Reactis for SimulinkはASIL Dまでの ISO 26262に準拠した 安全関連ソフトウェアの開発に適格であると認証されています。 ISO 26262への適合について詳しく →
ISO 26262 ソフトウェアテスト Q&A →

TÜV SÜDのロゴ