クリティカル・システムに使う市販ソフトウェアの検証方法(4) ―― 市販ソフトウェア・ベンダが提供する検証記録の内容

酒井 由夫

tag: 組み込み

技術解説 2013年3月29日

本連載では,市販ソフトウェアの使用に際して求められるリスク分析や検証作業,市販ソフトウェアの検証記録の作り方について解説する.今回は,検証記録の提供を受けられる市販ソフトウェアを紹介する.また,米国FDA(食品医薬品局)の要求に対応するOTSソフトウェア・レポートおよび検証記録のサンプルを提示する.(編集部)

技術解説・連載「クリティカル・システムに使う市販ソフトウェアの検証方法」 記事一覧
第1回 ソフトウェア品質論の推移とシステムの安全性確保の考え方
第2回 誰が,何をもって市販ソフトウェアが信頼できることを証明するのか
第3回 検証記録に含めるべき事項を考える
第4回 市販ソフトウェア・ベンダが提供する検証記録の内容

 

5.市販ソフトウェア検証記録の具体例

 米国FDA(食品医薬品局)などの規制当局が市販ソフトウェアの妥当性確認をクリティカル・システムの製造業者に求めるようになった昨今,自社製品の信頼性の高さを示す検証記録を利用者に対して提出(販売)する市販ソフトウェア・ベンダも現れています.ここでは,検証記録を有償で提供している市販ソフトウェアを二つ紹介します.なお,検証記録の詳細や購入方法については,各社に直接お問い合わせください.


●イー・フォースがリアルタイムOS「μC3/Compact」の検証記録を提供

 イー・フォースは,自社製のリアルタイムOS「μC3/Compact」の検証記録を提供しています.μC3はμITRON準拠のコンパクトなOSで,省メモリ・省サイズの「μC3/Compact」と,32ビット・プロセッサを搭載した本格的な組み込みシステム向けの「μC3/Standard」の2種類があります.検証記録が提供されているのはμC3/Compactの方です.

 μC3/Compactが対応するプロセッサはARM Cortex-M4,ARM Cortex-M3,ARM Cortex-M0,ARM7-TDMI,ルネサス エレクトロニクスのRX600となっており,主にARM系のマイコンのサポートを得意としているようです.μC3/Compact はカーネルのサイズが2.4Kバイト~7Kバイトと非常に小さく,μITRON 4.0 のフルスペックの機能を1/3程度に厳選しています(筆者はそれで十分,いや多すぎるくらいだと思っている).

 μC3/Compactは,ターゲットCPUに依存しない「共通部」とターゲットCPUに依存する「ターゲット依存部」に分かれます.リアルタイムOSの最初のコンフィグレーションは,コンフィグレータがC言語のプログラム・ソースのひな形を生成します.そして,それをユーザがビルドし,CPUにアップロードすることでOSが利用可能となります.


●μC3/Compactの検証記録の概要

 μC3/Compactの検証記録の概要は次の通りです.まず,製品の使用方法を示した「ユーザーズ・ガイド」に基づいて,そこに記述された仕様が期待通りに動作するかどうかを検査するためのテスト仕様が作成されています.テスト仕様の中には,テストの入力となるテスト・ケースと,テストの実施手順となるテスト・フローが含まれています.これらの情報に基づいてテストをほぼ自動で行うテスト・プログラムを作成し注1,このテスト・プログラムをターゲット・デバイス上で実行した結果から,検証記録を作成しています(図1表1).

注1:μC3/Compactを検証するテスト・プログラムは11万ステップにも及んだそうである.

 

図1 検証作業の流れ

 


表1 μC3/Compactの検証記録の特徴(イー・フォース提供資料より)

概要 詳細
コンフィグレータのテスト コンフィグレータにより,RTOSのコンフィグレーションを実施する.テスト仕様については,このコンフィグレーションが正しく行われているかについても考慮して作成する.
テストの網羅性について テスト仕様作成時には,μC3/Compactユーザーズ・ガイドに記載されたすべてのシステム・コールに対して,エラー条件テストと機能テストを実施している.このとき,呼び出しコンテキストも考慮して検証する.
テストの再現性と判定基準 テスト仕様では,具体的なテスト項目を設計している.その後作成するテストシーケンスにおいては,一意な判定値および流れを決定することから,テスト内容に再現性があり,判定結果も明確となっている.
タスクの優先順位の設定を変更したテスト 各テスト項目については,検査対象のシステムコールによりタスクのスケジュールに変化がある場合は,システムコール対象のタスク優先度を高い/同じ/低いと設定することで,OSの核となるスケジューラ・ディスパッチャの確認が行われている.

 

 μC3/Compactの検証記録には,コンフィグレータによるコンフィグレーションが設計者の意図通りに行われているかどうかの検証も含まれています.μITRON 4.0の1/3の機能でありながら,最終的にアウトプットされる検証記録の総ページ数はA4サイズで1,600ページにも及ぶということですから,OTSソフトウェアに対して網羅性の高いテストを行うのがいかに大変かをうかがい知ることができます.

 なお,リアルタイムOSの検証記録は,OSの種別やバージョンごとに異なる(同じものは使えない)ことに注意が必要です.μC3/CompactはターゲットCPUやターゲット・ボードによってOSのコードが変わることがあるので,検証記録を利用する際にはその点を考慮する必要があります.検証記録がどこまで再利用できるのかについては,対象となるCPUやターゲット・ボードの変更によって,OSの何が影響を受けるのかというギャップ分析を行う必要があります.

 検証記録のサンプルを稿末のコラムで紹介していますので,参考にしてください.

 

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日