Simulink Code Inspector
安全規格のためのソースコードの確認を自動化
Simulink Code Inspector™ は、DO-178 やその他の高信頼性規格に対応したコードレビューの目標を達成するために、生成されたコードとソースモデルを自動的に比較します。このコードインスペクターは、モデルのブロック、状態図、パラメーター、および設定を体系的に検査し、それらが生成されたコードの操作、演算子、およびデータと構造的に等しいかどうかを判断します。Simulink Code Inspector では、モデルからコード、およびコードからモデルへの詳細なトレーサビリティ解析を行います。構造同値およびトレーサビリティのレポートが生成され、DO-178 のソフトウェア コーディング検証の目標を達成するために認証機関に提出することができます。
DO Qualification Kit (for DO-178 and DO-254)によって業界標準の対応が可能です。
今すぐ始める:
Simulink Code Inspector™ は、高信頼性システムモデルによく使用されるモデリング セマンティクスおよびコードの最適化の制約付きのセットをサポートします。Simulink Code Inspector が提供する互換性チェッカーは、モデルが制約付きのセットに準拠しているかどうかを判定します。
互換性チェックは,金宝app仿真软件代码检查员ユーザーインターフェイスから対話的に、または MATLAB®コマンドを使用してプログラムで呼び出すことができます。参照モデル内に互換性がないと識別されたモデルのブロックや他の部分を配置してから、コード検査中に互換性のない参照モデルを省略するように Simulink Code Inspector を設定できます。また、自動的に確認されないモデルについては、手動でコード検査を実施することができます。
コード検査はコード生成に依存しません。既定では、Simulink Code Inspector は、コードが既に生成されていると仮定します。ただし、コード検査プロセスの一環として、コードを生成するようにインスペクターを設定することができます。また、実稼働のビルドプロセスで使用されるファイルなど、生成されたソースコードファイルの場所を指定することもできます。この検査は、ユーザー インターフェイスまたはコマンドラインから呼び出すことができます。
Simulink Code Inspector は、コード検査中に以下の一般的なカテゴリを検査します。
- モデルのインターフェイス
- ブロックの動作
- ブロック接続と実行順序
- データとファイルのパッケージ化
- ローカル変数と機能的なモデル要素
高レベルのインターフェイス評価 (初期化関数やステップ関数が生成されたかどうかのチェックなど) から、生成されたコードで 2 つのブロック コンポーネント間のデータ依存関係が保持されているかどうかを判断するブロック実行順序の詳細な解析まで、さまざまな解析が実施されます。
次のセクションで説明するように、MATLAB で検査ステータスメッセージを直接確認したり、詳細レポートを調べたりできます。これには、設計オブジェクトへの対話型リンクを含むきめの細かいトレーサビリティ解析が含まれます。
Simulink Code Inspector では、コード検査結果の詳細なレポートを生成することができます。レポートの保存場所を指定します。これにより、レポートを簡単にアーカイブし、完全な認証パッケージに含めることができます。検査レポートを生成するには、まずモデルのチェックサム、パス名、日付/時刻スタンプを使用して、検査対象の正確なモデルおよびソースコードを特定します。実施した検証と各項目の状態 (検証済み、一部検証済み、または不合格など) の概要が表示されます。詳細セクションには、生成したコードのファイル、関数、行ごとの検証結果が出力されます。
コードの検査の詳細には、以下が含まれます。
- 関数インターフェイスの検証
- モデルからコードの検証
- コードからモデルの検証
- 一時的な変数の使用
トレーサビリティの詳細には、以下の内容が含まれます。
- モデルからコードのトレーサビリティ
- コードからモデルのトレーサビリティ
標準規格 RTCA DO-178CSoftware Considerations in Airborne Systems and Equipment Certificationでは、ソースコード検証の目標を規定しています。Simulink Code Inspector が提供する自動コード検査により、以下の表に示す DO-178 ソースコード検証の目標を達成するために必要な時間が短縮されます。目標 (3) のSource code is verifiableは、Polyspace Bug Finder™が提供する MISRA C®アナライザーと Simulink Code Inspector を併用することで完全に達成することができます。また、目標 (4) のSource code conforms to standardsは、Polyspace Bug Finder が提供する MISRA C アナライザーのようなツールを使用して達成することができます。Simulink Code Inspector およびPolyspace®製品のツール認定サポートは、DO Qualification Kit (for DO-178 and DO-254)で提供されます。
DO-178C の目標と Simulink Code Inspector の互換性
付表 A | 目標 | DO-331 のリファレンス* | ソフトウェアレベル |
---|---|---|---|
表 MB A-5 | (1) Source code complies with low-level requirements | セクション MB 6.3.4a | A、B、C |
表 MB A-5 | (2) Source code complies with software architecture | セクション MB 6.3.4b | A、B、C |
表 MB A-5 | (3) Source code is verifiable | セクション MB 6.3.4c | A、B |
表 MB A-5 | (5) Source code is traceable to low-level requirements | セクション MB 6.3.4e | A、B、C |
表 MB A-5 | (6) Source code is accurate and consistent** | セクション MB 6.3.4f | A、B、C |
*DO-331,Model-Based Development and Verification Supplement to DO-178C and DO-278A
**コンパイラやオブジェクトコードの解析を必要とする目標は対象外です。
コード生成設定
[関数 disable の削除]、[関数 reset の削除] の制限を撤廃
Simulink ブロック
列挙データ型と、Unit Conversion ブロックの追加単位変換に対応した追加のブロック
MATLAB Function ブロック
関数呼び出し出力および組み込み関数sign
、函数
、およびrad2deg
のサポート
コード生成の最適化
最適化を強化するためのコード検査のサポート
これらの機能や対応する関数の詳細については、リリースノートを参照してください。