組み込みソフトウェア開発用ツールの認定

こんにちは、Habr!この記事では、開発および検証ツールが信頼性の高いシステムの作成に適していることがどのように証明されるかについて、最も簡単でアクセスしやすい方法で説明します。これは非常に重要で、最も簡単な質問とはほど遠いものです。私の目標は、可能な限り最も理解しやすい言語で答えることです。記事自体には、KT-178やR-331(航空に組み込まれたソフトウェア)、GOST R ISO 26262-8(自動車業界に組み込まれたソフトウェア)などの業界標準のガイドラインをまとめました。だから猫の下で歓迎します。



資格-それはなぜですか?



KT-178やISO26262などの業界標準では、堅牢なソフトウェアを構築するためのプロセスについて説明しています。これらの説明に従うと、そのようなソフトウェアの作成は、永遠に続く官僚的な地獄に変わります。しかし、これらのプロセスの重要な部分を自動化できるソフトウェアがあります。このようなソフトウェアはツールと呼ばれます。また、ツールを使用する場合、それは信頼できるものでなければなりません(ISO 26262では「ツールへの信頼」という用語も導入されています)。機器の信頼性を確認するために、認定が行われます。



資格-理論



業界標準にはセキュリティレベルの概念があります。異なる規格では、それらは異なる方法で呼ばれます。CT-178のソフトウェアレベル、ISO 26262の車両安全完全性レベル。開発ツールの場合、ツール認定レベル(CT-178)またはツール分類レベル(ISO 26262)が使用されます。これらのレベルは、ツールの重要度に応じて割り当てられます。ツールが開発に与える影響が大きいほど、スキルレベルが高くなります。この場合、ツールの影響を判断するための主な基準の1つは、結果として得られるソフトウェアへの影響の測定です。



例として、ソースコードジェネレータと静的コードアナライザを考えてみましょう。生成されたコードは、航空機または車に搭載されるデバイスのファームウェアに入ります。したがって、コードジェネレータは、結果のソフトウェアに直接影響を与えます。コードジェネレーターは複雑なものであり、エラーのあるコードを生成する可能性があるため、このコードジェネレーターの品質には厳しい要件が課せられ、その資格のレベルは最大になります。もう1つは静的アナライザーであり、その結果はオンボードソフトウェアに含まれておらず、その影響の程度は最小限です。したがって、静的アナライザーのスキルレベルはコードジェネレーターのスキルレベルよりも低くなります。



また、資格のレベルは人件費に直接影響します。たとえば、航空の場合、KT-178Sの最高レベルのツールの資格には、76の管理手段が必要であり、最低レベルの場合は14のみです。



もう1つの重要な点は、ツールの資格はツールの開発者によって実行されるのではなく、ソフトウェア開発者が直接、プロジェクトごとに認定を行う必要があります。



資格-実践ノート



理論の部分で述べたように、ツールの認定はコストのかかるプロセスですが、いくつかの方法で簡略化されています。



  • ツールメーカー(ベンダー)による認定プロセスのサポート

  • 標準からの機器認定ガイドライン



それらを順番に考えてみましょう。まず、ベンダー自身がツール認定サポートパッケージを提供しています。第二に、業界標準は、ワークロードを削減できる適格なツールに関するガイダンスを提供します。



2点目についてお話したいと思います。コードジェネレータをもう一度見てみましょう。その助けを借りて生成されたコードは、引き続きテストする必要があり、コードカバレッジが収集され、その分析が実行されます。つまり、検証されます。



業界標準によると、コードの検証を担当するツールを認定する場合、コードジェネレータ自体の認定は必要ありません。したがって、標準自体は、資格のコストを大幅に削減するために従うことができるガイダンスを提供します。



検証ツールの認定については、標準は通常の条件下での動作を実証することを規定しています。実際には、次のようになります。



  1. ベンダーは、機器とその参照結果のドキュメントテンプレート、規制、ベンチマークのセットを提供します。

  2. ドキュメントテンプレートに入力し、ご使用の環境で提供されているテストを実行します。

  3. 実行したテストの結果はベンチマークと比較され、結果に不一致がある場合は、不一致を排除します。



説明されているプロセスも多くの時間がかかり、すべての開発と同様に、認証機関と協力して実行されることは注目に値します。



MathWorksツールとその資格



Simulink、DSP Toolbox、Control System Toolboxなどのツールは、制御システム、デジタル信号処理を開発するための業界標準です。それらが航空、自動車および他の産業で使用されることは驚くべきことではありません。開発されたモデルは、移動および飛行するC / C ++コードを生成するために使用されます。当然、開発者はツールの資格の問題に直面しています。また、KT-178S用のMathWorksツールの認定は、モデルおよびコード検証ツールに対して実行されます。





また、ISO 26262の場合、証明書は次の目的で提供されます。



  • Simulinkチェック

  • Simulinkカバレッジ

  • Simulinkの要件

  • Simulink Design Verifier

  • Simulinkテスト

  • Simulinkレポートジェネレータ

  • ポリスペースバグファインダー

  • ポリスペースコード証明者

  • 埋め込みコーダー

  • HDLコーダー

  • PLCコーダー



業界に応じて、航空用DO認定キットまたは 自動車、鉄道、その他の業界向けのIEC認定キット提供され ます。



結論の代わりに



この記事では、業界標準のツール認定プロセスの概要を説明しました。この記事を書く過程で、私は次の情報源に導かれました。



  1. R-330、「ソフトウェアツール認定ガイド」、特に:



  • p。2.0ツール資格の割り当て

  • p。3.1。資格レベル

  • 参考資料D質問D7



  1. GOST R ISO 26262-8、第11章、「ツーリングソフトウェアの使用に対する自信」



信頼性を高めたシステムをどのように作成するかに興味がある場合は、次の記事で検討する必要があることをコメントに書き込んでください。



All Articles