確認、検証、テストのための MATLAB および Simulink

モデルベースデザインによる組み込みシステムの確認と検証

エンジニアリング チームは MATLAB® および Simulink® を使用したモデルベースデザインにより、複雑な組み込みシステムを設計して量産品質の C、C++、および HDL コードを生成します。MathWorks のツールは、シミュレーション テストと形式手法に基づいた静的解析を使用して、厳密さと自動化によってモデルベースデザインを補完し、エラーを早期に発見して高品質を実現します。

MATLAB と Simulink を使用すれば、次のことが可能になります。

  • アーキテクチャ、設計、テストおよびコードの要件のトレース
  • 設計が要件を満たし、重大なランタイムエラーがないことを証明
  • 法令順守を確認し、モデルとコードの品質を測定
  • テストカバレッジを向上させるためにテストケースを自動生成
  • DO-178 および ISO 26262 などの規格を満たすレポートとアーティファクトを作成

「当社が過去に行っていたハンドコーディングと比較すると、モデルベースデザインによって人件費と検証コストがそれぞれ 30%と 20% 削減され、生産性が 30% 向上しました。社内ソフトウェア開発チームの立ち上げと同時に進めたにもかかわらず、ECU 開発をスケジュールよりも早く完了できました。」

Daming Li, Weichai Power

確認と検証のための MATLAB および Simulink の使用

要件の検証

文書、スプレッドシート、または IBM® Rational® DOORS® などの要件管理ツールに保存できる非公式のテキスト要件により、開発プロセスが開始されます。Simulink Requirements™ を使用すると、アーキテクチャ、設計、生成されたコード、およびテスト アーティファクトとともに要件を表示、作成、管理できます。 要件から設計までのデジタルスレッドを、System Composer™、Simulink、Stateflow®、または Simulink Test™ の MATLAB テストで作成できます。このトレーサビリティにより、実装またはテストのギャップを特定し、変更が設計またはテストに与える影響を迅速に把握することができます。  サードバーティ製ツールの要件を表示、同期、管理して、開発プロセスにおける他のツールとのトレーサビリティを確立できます。

Simulink Test の時間的評価では、評価およびデバッグできる自然言語形式の正確なセマンティクスで評価を指定することにより、テキスト要件を検証できます。


認証規格への準拠

モデルとコードの検証を、DO-178、ISO 26262、IEC 61508、IEC 62304、および MathWorks Automotive Advisory Board (MAAB) スタイルガイドラインなどの標準に合わせて自動化します。Simulink Check™ は、開発中の標準およびガイドライン違反を特定する、業界認定のチェックやメトリクスを提供します。独自の基準やガイドラインに合わせてカスタムチェックを作成できます。IEC Certification Kit (ISO 26262 および IEC 61508 用) および DO Qualification Kit (DO-178 用) は、ツール認証アーティファクト、証明書、およびテストスイートを提供し、コード生成および検証製品の認定と組み込みシステムの認定を合理化します。


エラーがないことを証明し、要件を形式的に検証する

形式検証では、設計をシミュレーションすることなく、整数オーバーフロー、デッドロジック、配列アクセス違反、およびゼロ除算を引き起こす潜在的な設計エラーを検出します。Simulink Design Verifier™ は、設計にエラーやセキュリティの脆弱性がないことを形式的に検証できます。また Simulink Design Verifier は、設計が重要な要件を満たしていることを証明します。ツールが例外を検出すると、デバッグ用の反例を生成します。


自動テスト生成

テストのギャップ、意図しない機能、または要件エラーを特定することが重要です。Simulink Coverage™ は、テスト中に実行されるモデルまたは生成されたコードのカバレッジを測定します。条件、判定、変更条件/判定カバレッジ (MCDC) およびカスタム カバレッジ オブジェクティブなどの業界標準メトリクスを適用します。Simulink Design Verifier はテストケースを自動的に生成して、不足カバレッジに対処し、構造的および機能的なカバレッジ オブジェクティブを達成することができます。


静的コード解析

手書きのコードおよび生成されたコードの検証のために、Polyspace® 製品は形式手法を使用してバグを見つけ、テストケースやコード実行なしで重大なランタイムエラーがないことを証明します。Polyspace Bug Finder™ は、MISRA®、ISO 26262、IEC 61508、DO-178、および FDA 規制などの標準への準拠を確認して文書化します。CWE、CERT-C、ISO/IEC 17961 などのソフトウェアのセキュリティ脆弱性と標準について確認できます。Polyspace Code Prover™ は、C および C++ ソースコードのオーバーフロー、ゼロ除算、範囲外の配列アクセス、およびその他のランタイムエラーがないことを証明するために、静的解析を実行します。