組込みソフトウェアに必要な安全設計とは、どのようなものでしょうか。今回は、エレベータを例に具体的に考えてみましょう。
組込みソフトウェアエンジニアが目指す安全設計
組込みソフトウェアエンジニアが目指すべき安全設計のヒントは、何十年もかけて技術者が築き上げてきた電源デバイスの安全設計のアプローチの中にあります。
安全設計の基本
- リスクの高いモジュールは他のモジュールから独立させて切り離す(アイソレーション)
- 安全はシンプルな構造、処理で確保する(シンプルデザイン)
安全設計の基本の真意は、リスクの高いモジュールをその他のモジュールから隔離し、故障(バグ)が発生しても装置全体としてはリスクを最小にする(ファイルセーフ)ことにあります。
ソフトウェアは外から見えにくく、1つの仕様を満たすためのプログラミングは複数存在することから、安全設計を実現するためには、リスクの高いモジュールの切り離しと、安全ソフトウェアの単純化が非常に重要です。
安全ソフトウェアの処理手続きが単純であればあるほど、テストの組み合わせを少なくできます。プログラムの作り方にもよりますがプログラムコードが500行を超えただけでも、入力と出力の数によってはソフトウェアモジュールのテスト網羅性を100%にすることが難しくなります。
また、機器の安全確保は必ずしもソフトウェアだけで実現するものではありません。ハードウェアとソフトウェアが協調して安全を確保することもあるため、「ハードウェアのことは関係ない」などと自分の領域に線を引かずに機器の安全を確保するには何をしなければいけないかを考えることが必要です。
この記事は参考になりましたか?
- 安全ソフトウェアの設計連載記事一覧
-
- 【第4回】安全ソフトウェアの実現と維持に向けた取り組み
- 【第3回】安全アーキテクチャの可視化
- 【第2回】エレベータの安全ソフトウェア設計
- この記事の著者
-
酒井 由夫(サカイ ヨシオ)
1987年よりクリティカルデバイスのソフトウェア開発に20年間従事する。おもに16bitのワンチップマイコンを使った信号処理、リアルタイム組込みシステムの開発を行い、製品の仕様立案からソフトウェア開発のプロセス管理、プロジェクトマネージメント、安全性・信頼性の検証、保守、ソフトウェア技術者教育など組...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
