DO-178Cが要求するデータ/コントロールカップリング解析に対応
VectorCAST/Couplingは、C/C++ソースファイルのデータカップリングやコントロールカップリングの検証に必要な解析とコードの埋め込みを自動化するツールで、既存のVectorCAST/QAプロジェクトやVectorCAST Cover環境と組み合わせて使用します。セーフティクリティカルな航空ソフトウェアの開発では、カップリングの検証はRTCA DO-178BとDO-178Cの両方で義務化されていますが、このツールはコードベースのカップルを特定する静的解析と、アプリケーション実行中に行われるカップルの実行時検証とを組み合わせることにより、DO-178B/Cのカップリング要件をサポートします。静的解析と実行時検証はいずれもソフトウェアの「コンポーネント」に対して行われます。「コンポーネント」とは、ユーザーの定義による1つ以上のソースファイルのコレクションです。
特長
- C/C++ソースファイルの自動的なカップリング検証
- 既存のVectorCAST Cover環境を使用
- DO-178Cの要求事項を検証
- レポートの生成
- 手動での解析よりも時間と工数を大幅に削減し、精度を向上
動作の仕組み
カップリング解析の目的は、実装したアーキテクチャのコンポーネント間の制御とデータフローが、設計で意図したものと一致すること、そしてそれらのフローがテスト済みであることを実証することです。DO-178Bでは、設計内のカップルの特定と、それら以外のカップルが実装内に存在しないことの検証が申請者に求められています。さらに、機能要求テスト中にそれらのカップルが実行されたことを検証することも求められています。VectorCASTのコンポーネントレポートとカップリングカバレッジレポートはその証明となります。
DO-178Cではコントロールカップルとデータカップルの2種類のカップルが定義されており、仕様では以下のように定義されています。
コントロールカップリング: あるソフトウェアコンポーネントが他のソフトウェアコンポーネントの実行に影響を与える方法、またはその程度 (DO-178C ANNEX B, Glossary)。
データカップリング – あるソフトウェアコンポーネントが、自身の独占的な管理下にないデータとの間に持つ依存関係 (DO-178C ANNEX B, Glossary)。
DO-178Bではデータカップリングとコントロールカップリングの確認しか求められませんでしたが、DO-178Cではこれが変更され、データカップリングとコントロールカップリングに対して、要件ベーステストを実施したことの確認が求められるようになりました。DO-178C(A、B、C)に準拠する必要がある場合は、Objective 8が適用されることになります。また、DO-178Bでは、データカップリングとコントロールカップリングの確認は手作業か静的解析で行いましたが、今では以下が必要となっています。
- データカップリングとコントロールカップリングが要件を満たし、設計の意図に沿っていることの確認
- 要件ベーステストを実行した後のデータカップリングとコントロールカップリングに対するカバレッジ解析の結果の提示
- 静的解析のみでは不十分: 動的なカバレッジ解析の結果の提示も必要。ただし、VectorCAST/Couplingを使用すれば時短が可能
手動での解析は煩雑で手間がかかります。動的なカバレッジ解析の結果の提示も必要であることから、静的解析のみでは不十分です。しかし、VectorCAST/Couplingを使用すれば作業を省力化し、時間を短縮できます。
カップリングカバレッジレポート
VectorCASTの一連のカップリングレポートは、実装したアーキテクチャのコンポーネント間の制御とデータフローが設計で意図したものと一致すること、そしてそれらのフローがテスト済みであることの証明となります。VectorCAST/Couplingには次のレポートが用意されています。詳細は以下をご覧ください。
ダウンロード
ニュース/イベント
トレーニング

VectorCASTワークショップ(言語:英語)
ベクターのワークショップには、VectorCASTに関する知識を広げ、深めるための機会が多数用意されています。
単体テストとコードカバレッジの概念、そしてVectorCASTテスト自動化プラットフォームを使用して、それらの概念を実現する方法を基礎から学びましょう。