DO-178Cとは?
RTCA DO-178C / EUROCAE ED-12Cは、航空機搭載システム向けソフトウェア認証に関するDO-178B/ED-12B規格の改訂版です。
「コア」ガイダンスの改訂は一部で、4つの新しい文書が追加されました。:
- Software Tool Qualification Considerations (RTCA DO-330 / EUROCAE ED-215)
- 特定の開発手法のための 「サプリメント」
- Model-Based Development and Verification (RTCA DO-331 / EUROCAE ED-218)
- Object-Oriented Technology and Related Techniques (RTCA DO-332 / EUROCAE ED-217)
- Formal Methods (RTCA DO-333 / EUROCAE ED-216)
2011年12月に公開された規格は、「耐空性要件に適合する安全性の信頼レベル( a level in confidence in safety that complies with airworthiness requirements )」を達成するオブジェクトに基づいたアプローチ( objectives-based approach )を規定する当初のDO-178Bの主旨を保持し、1990年代初頭にDO-178Bが公開された以降の技術的進歩を考慮にいれ、ガイダンスを改訂しています。
DO-178Bの変更点
改訂作業は2004年末にRTCA特別委員会#205(SC-205)とEUROCAE作業部会#71(WG-71)の合同委員会で始まり、主な目的は以下の通りです:
- DO-178Bのエラーを修正し、紛らわしい内容を明確にする
- DO-178Bの発行以降に成熟し、実用化されたソフトウェア技術とスタンダードに対応する
- DO-178B をサポートする補足資料 (Certification Authorities Software Team (CAST) の文書や問題に関する文書 (IP) など) を考慮する
当初は、セーフティケース解析を必須にして、「プロセス 」ベースから 「製品 」ベースに文書の性質を変更することが議論されましたが、必要最小限の変更にとどめ、DO-178Bと比較して認証の難易度の変更が最小になるように合意されました。DO-178B規格は機能しており、大幅な方向転換は不要であり、適切でないと判断されました。
「コア・ガイダンス」の変更は比較的軽微です。詳細な議論は、フレデリック・ポトン(Frédéric Pothon)の論文「DO-178C/ED-12C versus DO-178B/ED-12B: Changes and Improvements << http://www.adacore.com/uploads/technical-papers/DO178C-ED12C-Changes_and_Improvements-Sep2012.pdf>>」に記載されています。
更新の内容は以下となります。
- システムとソフトウェアのライフサイクルプロセス間の情報フローの処理範囲の拡張
- オブジェクト・コードがソース・コードにトレースできない場合のレベルAの新しい検証オブジェクティブ(verification objective)
- 強力に連結された条件を扱うことができる新しく導入されたマスキング MC/DC
ツール資格
DO-178Cの新しいドキュメントとしてSoftware Tool Qualification Considerations(DO-330/ED-215)があります。これは分野に依存せず、DO-178C以外の高信頼性規格と併用できるため、厳密には補足ではありません。DO-178Bの検証ツールと開発ツールの概念は、3つのツール資格認定基準に置き換えられています:
Criterion 2 は新しく、ソース コードのレビューに静的解析ツールを使用し (たとえば、再帰がないことを実証する)、その結果を使用してコンパイル済みコード内のスタック チェックの削除を正当化するなどの状況に対応します。
DO-178Cは、ソフトウェアレベルとツールCriterionに基づいて、5つのツール資格レベル(TQL)を定義しています。
DO-330 は、DO-178C と同じ構造を使用して、各TQL の特定のガイダンスを定義しています。ツール・ユーザは、ツール開発者から提供された資料 (特に、操作環境、機能動作、その他の内容を文書化したツール運用要件) を含む、資格認定成果物を用意する必要があります。TQL-1からTQL-4までの資格認定活動は、レベルAからDまでの認証活動とほぼ同等で、TQL-5は、DO-178Bの検証ツールに相当します。
テクノロジーサプリメント
1992年にDO-178Bが発表されて以来、多くのソフトウェアエンジニアリング方法論が成熟し、航空機搭載システムの開発者には有益でした(また、問題も提起しています)。DO-178Cの取り組みでは、3つの技術の問題点を分析して、必要に応じてDO-178Cのガイダンスを適応し、拡張するサプリメントを用意しました。このサプリメントでは、検証プロセスに焦点を当てています。
- Model-Based Development and Verification (RTCA DO-331 / EUROCAE ED-218)
モデルベース開発では、システム要件、設計アーキテクチャ、および動作は、正確な(通常はグラフィカルな)モデリング言語で指定され、コードを自動的に生成するツールで処理され、場合によってはテストケースも生成されます。認定済モデリングツールを使用すると、ライフサイクルの短縮/簡素化、要件の正確な(そして理解しやすい)仕様など、多くの利点があります。しかし、モデルベース開発では、システムとソフトウェアのライフサイクルプロセスの統合、複雑なトレーサビリティ、モデルベース開発の観点でのカバレッジ解析の意義など、多くの課題も生じます。DO-331 のガイダンスでは、この問題に対処しています。
- Object-Oriented Technology and Related Techniques (RTCA DO-332 / EUROCAE ED-217)
オブジェクト指向 (システムのアーキテクチャが、システムが扱うエンティティの種類とその関係に基づく設計アプローチ) は、新しい要件を満たす必要がある場合にシステムを拡張するタスクを容易にできるため、数十年にわたってソフトウェア開発の主力となっています。しかし、オブジェクト指向テクノロジ (OOT) で、表現力を高めるプログラミング機能 (継承、ポリモーフィズム、動的バインディング) は、多くの重要な技術的問題を含んでいます。つまりOOTのダイナミックフレキシビリティは、プログラムプロパティを静的に検証するDO-178BおよびDO-178C要件と矛盾するため、DO-332 のガイダンスでは、この問題に対処しています。それは、型置換可能性に新たな検証Objectiveを導入し、型特殊化のみに継承が利用されます。
- Formal Methods (RTCA DO-333 / EUROCAE ED-216)
証明技術とハードウェア速度の進歩に伴い、ソフトウェア検証における形式(数学的な)手法の使用は、セーフティ/セキュリティ・クリティカルの高いレベルでは、広範な分野で使用されています。形式手法は、実行時エラーが発生しないことや、モジュールの実装が形式要件に準拠していることまで、プログラムのプロパティを証明するために使用されています。
DO-178Bでは、コンプライアンスの代替手段として形式手法が規定されましたが、他のObjectiveへの適合についての共通理解はありませんでした。DO-333では、この点を考慮して、形式手法が他の検証活動、特に特定の要件ベーステストを補完または置き換える方法を提供します。
その他の資料等
- L. Rierson. Developing Safety-Critical Software: A Practical Guide for Aviation Software and DO-178C Compliance. CRC Press, 2013
- F. Pothon. DO-178C/ED-12C versus DO-178B/ED-12B: Changes and Improvements.
www.adacore.com/uploads/technical-papers/DO178C-ED12C-Changes_and_Improvements-Sep2012.pdf
- AdaCore. High-Integrity Object-Oriented Programming in Ada; June 2013.
extranet.eu.adacore.com/articles/HighIntegrityAda.pdf
AdaCore資格認定取得済み検証ツール
認証要件に対応できる検証ツールが提供されており、DO-178C(TQL-5/TQL-4)、EN 50128(T2)などの認証プロセスでは、そのツールを使用して、認定作業を簡略化することができます。 以下のツールには認定ドキュメントが提供可能です。
- GNATcheck, コーディング規格検査
- GNATcoverage, コードカバレッジ
- GNATstack, スタック消費の最大量の予測
- CodePeer, 脆弱性解析
- SPARK Pro, 形式検証
参考文献:AdaCore Technologies for EN 50128,AdaCore Technologies for DO-178C / ED-12C
*本資料は、AdaCoreのブログを意訳したものです。正確な内容については、原文こちらをご参照下さい。