カップリング検証は、DO-178BおよびDO-178Cの両方において、セーフティクリティカルな航空機搭載ソフトウェアに求められる必須要件です。VectorCAST/Couplingは、まず静的解析によってカップリングを特定し、その後、アプリケーション実行時に動的に検証することで、これらの要件に対応します。
VectorCAST/Couplingは、既存のVectorCAST/QAプロジェクトまたはVectorCAST Cover環境内で動作します。個別のセットアップは必要ありません。静的解析および実行時解析はいずれも、ユーザーが定義したソフトウェアコンポーネントを対象に実施されます。ソフトウェアコンポーネントとは、1つまたは複数のC/C++ソースファイルで構成される単位です。
VectorCAST/Couplingの適用分野
VectorCAST/Couplingは、DO-178BまたはDO-178Cに準拠する航空機搭載ソフトウェア開発プロジェクトで、Design Assurance Level(DAL)A、B、またはCに対応する検証エンジニアおよびソフトウェアリード向けのソリューションです。利用には既存のVectorCAST/QA環境が必要です。
DO-178におけるカップリング要件
DO-178Cでは、検証対象となるカップリングとして以下の2種類が定義されています。
データカップリング(Data Coupling)
あるソフトウェアコンポーネントが、そのコンポーネント自身だけでは制御できないデータに依存する関係。
(DO-178C Annex B 用語集)
コントロールカップリング(Control Coupling)
あるソフトウェアコンポーネントが、別のソフトウェアコンポーネントの実行に影響を与える方法またはその程度。
(DO-178C Annex B 用語集)
DO-178BからDO-178Cで強化された要件
DO-178Bでは、データカップリングおよびコントロールカップリングが設計どおりに存在することの確認が求められていました。
DO-178Cではさらに要件が強化され、要求ベーステストによってデータカップリングおよびコントロールカップリングが実際に検証されたことを示す必要があります。
DO-178CのDAL A、B、またはCへの適合には、以下の3点を証明しなければなりません。
- データカップリングおよびコントロールカップリングが要求事項および設計意図に適合していること
- 要求ベーステスト実行後に、データカップリングおよびコントロールカップリングのカバレッジ解析が実施されていること
- 動的カバレッジ解析が実施されていること(静的解析のみでは不十分)
VectorCAST/Couplingは、これら3つの要件すべてに対応します。
VectorCAST/Couplingのメリット
手作業では煩雑な解析を自動化
C/C++コードベース全体にわたるカップリングの特定と検証を手作業で行うことは、多くの工数を要し、ミスも発生しやすくなります。VectorCAST/Couplingは、静的なカップリング特定と実行時検証の両方を自動化し、大幅な工数削減と精度向上を実現します。
既存のVectorCAST環境をそのまま活用
VectorCAST/Couplingは、既存のVectorCAST/QAプロジェクトまたはVectorCAST Cover環境に直接統合されます。専用の環境構築や並行運用のためのインフラは必要ありません。
DO-178Cの動的解析要件に対応
静的解析だけでは、DO-178Cのカップリング検証要件を満たすことはできません。VectorCAST/Couplingは、適合性を証明するために必要な実行時検証機能を提供します。
監査対応レポートを自動生成
Coupling Coverage Report、Coupling Access Order Full Report、および Coupling Access Order Error Report を自動生成します。これらのレポートは認証レビューで利用しやすい構成になっています。
動作の仕組み
カップリング解析の目的は、実装におけるアーキテクチャコンポーネント間の制御フローおよびデータフローが設計意図どおりであること、さらに、それらのフローがテストによって実際に検証されていることを証明することです。VectorCAST/Couplingは、2段階のプロセスを通じてこれを実現します。
フェーズ1:静的解析
VectorCAST/Couplingは、CまたはC++ソースファイルに対して静的解析を実施し、定義されたソフトウェアコンポーネント間のデータカップリングおよびコントロールカップリングを特定します。コンポーネントとは、ユーザーが定義する1つまたは複数のソースファイルの集合です。静的解析の結果として生成される Component Report には、各コンポーネントに含まれるグローバルデータオブジェクトおよび関数が一覧表示され、カップリングマップの基礎情報が作成されます。
フェーズ2:実行時検証
アプリケーション実行中、VectorCAST/Couplingは特定されたカップリングに対してインスツルメンテーションを適用し、それらが設計どおりに動作していることを検証します。実行結果は収集され、静的解析によって作成されたカップリングマップと照合されます。この動的検証こそが、静的解析だけでは満たせないDO-178Cの要求事項に対応するための重要な要素です。
カップリングカバレッジレポート
VectorCAST/Couplingは、検証および監査プロセスで異なる目的を持つ3種類のレポートを生成します。
カップリングカバレッジレポート
静的解析と実行時解析の結果を統合し、アプリケーション全体におけるカップリングカバレッジを俯瞰できるレポートです。各コンポーネントのグローバルデータオブジェクトおよび関数を一覧表示するコンポーネントレポートも含まれます。
カップリングアクセス順詳細レポート
すべてのカップリングについて、テスト結果ごとのアクセス順序を表示します。ソフトウェアアーキテクチャがすべてのテストで正しく実装されていることを確認でき、カップリング動作の完全なカバレッジを証明するために利用されます。
カップリングアクセス順エラーレポート
エラーが発生したカップリングのみを対象に、テスト結果ごとのアクセス順序を表示します。検証エンジニアは、すべての結果を確認することなく、アクセス順序違反を効率的に特定できます。
よくあるご質問

