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

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

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

要件の検証

ドキュメント、スプレッドシート、または IBM ® Rational ® DOORS ® などの要件管理ツールに保存できる非形式的なテキスト要件により、開発プロセスが開始されます。Requirements Toolbox™ を使用すると、要件をアーキテクチャ、設計、生成コード、およびテスト アーティファクトとともにインポート、表示、作成、管理することができます。要件から System Composer™、Simulink、Stateflow ® での設計、または Simulink Test™ でのテストまでのデジタルスレッドを作成することができます。このトレーサビリティにより、実装またはテストのギャップを特定し、変更が設計またはテストに及ぼす影響を迅速に把握することができます。

Requirements Toolbox の Requirements Table ブロックを使用して、要件を形式化し、一貫性、完全性、正確性を解析して早期に妥当性を確認することができます。Simulink Test の時間的評価では、評価およびデバッグできる自然言語形式の正確なセマンティクスで評価を指定することにより、テキスト要件を検証することができます。


認証標準への準拠

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


エラーがないことの証明および要件の形式検証

形式検証では、設計をシミュレーションすることなく、整数オーバーフロー、デッドロジック、配列アクセス違反、およびゼロ除算を引き起こす潜在的な設計エラーを検出します。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++ ソースコードのオーバーフロー、ゼロ除算、範囲外の配列アクセス、およびその他のランタイムエラーがないことを証明します。


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

Daming Li, Weichai Power