ソリューション

電子コントロールユニットで用いられるソフトウェアコードの品質を評価するため、Motor Industry Software Reliability Association (MISRA) は自動車および航空機用ソフトウェアでの C コードの使用におけるガイドラインを導入しました。1998 年に、MISRA Ltd. は MISRA C (MISRA C:1998) を公開し、Safety Integrity Level (SIL) 2 以降を満たす、標準化および構造化された言語の制限されたサブセットを提供しました。

その後、MISRA C:2004、自動コード生成のコンテキストにおける MISRA AC AGC 規格、C++ 向け MISRA C++:2008、および MISRA C:2012 規格などの、いくつかの規格に対する更新が行われてきました。

MISRA C の詳細については

Simulink、Stateflow、および Embedded Coder は、MISRA C® に対応した組み込みソフトウェアの生成に広く使われています。Polyspace® コード検証製品は、手書きまたは生成されたコードの MISRA C 準拠の解析に使用されています。Polyspace Bug Finder は MISRA-C 2004、MISRA-C++:2008、MISRA C:2012、および MISRA AC AGC コーディングルールの検知をサポートします。

コード生成アドバイザーを用いてコードジェネレーターが MISRA C:2012 規格準拠コードを生成するように、モデルまたはサブシステムを設定できます。生成されたコードは Polyspace を使用して MISRA 準拠がチェックされ、結果はモデルまでトレースできます。モデルレベルに注釈を追加して、非準拠の理由を提示することができます。


MISRA 準拠のコード生成について詳細を見る

MISRA C 準拠の作業をさらに支援するため、MathWorks は Simulink および Stateflow モデルで Embedded Coder を使用する際の、MISRA C コード生成の実現可能性解析パッケージと推奨事項を管理しています。

MISRA C 解析パッケージには次のものが含まれます。

  • ルールの要約および詳細な例が記載されたドキュメンテーション
  • Simulink モデル

MISRA C アプリケーション開発向けの主な製品: