安全設計

昔の記事をそのまま転載。



信頼性工学とは、システムが期待された動作を期待された期間まで全う出来る(つまり、信頼性を高めることを)研究する学問である。その中では、システムの性能維持も当然重要であるが、何よりも重要なのはシステムが破綻せず安全に動作するといふ点であらう。
安全な設計を行ふ上では、単純に「壊れない」「怪我をしない」と言ふ点だけにとどまらず「壊れても大丈夫」であるやうにすることも重要な観点である。後者には「フォールトトレラント」「フェイルセーフ」「フールプルーフ」と言った概念がある。
フールプルーフとは、知識を持たない者(fool:愚者)でも安全に使用出来る、若しくは危険な操作を防ぐ事を目的とする考へ方であり、より根本的には「人はいつか必ず間違ひを犯す」といふ思想に基づいてゐる。
例へば、「自動車はギアをPかNにしなければキーが抜けない」「洗濯機は脱水中にふたを開けると緊急停止する」「公共用の情報端末は特定の操作・ソフトウェアしか受け付けない」と言ったものがある。
フェイルセーフとは、万が一システムに致命的な障碍が生じた場合でも安全に停止出来る(暴走しない)事を目的とする考へ方であり、より根本的には「システムはいつか必ず故障する」といふ思想に基づいてゐる。
例へば、「ストーブは転倒すると自動的に停止する」「回路内のヒューズは過電流が流れると自己熱で焼き切れて回路を遮断する」「踏切遮断器は停電すると自重で遮断器が降りて通行を停止させる」などが挙げられる。この場合「人が関与せずとも障碍が発生すれば自動的に機能する」事が肝要である。

フォールトトラント(耐障碍性)とは、万が一システムの一部に問題が生じても全体の機能停止を防ぐ(そのシステム抜きでも何とか動作出来る)事を目的とする考へ方である。これを実現するには次のやうな手法がある。

レプリケーション
複数のシステムを並走させそれぞれ「答へ合はせ」をすることで耐障害性を向上させる。最も一般的な例はデータベースシステムによるレプリケーションである。また、同じ計算を二人でそれぞれが行ふことで回答ミスを減らす事も広義に含まれる。
冗長化
システムに「ゆとり」を持たせることで耐障害性を向上させる。最も一般的な例はデータをバックアップすることである。他にもエンジンやブレーキを二系統備へたり、肺や腎臓のやうに同じ物を二つ用意することで、片方が故障してももう片方でシステムを維持させる手法。可能であればそれぞれの系統は全く別の仕組みに基づいたものが望ましい(同じ原因によって同時に破壊される危険がある)
多様化
システムに「ゆらぎ」を持たせることで耐障害性を向上させる。最も一般的な例は私たち生き物の遺伝子である。多くの人間にとって致命的なウイルス、或いは環境の激変であっても、ある特定の遺伝子を持つ人間(或いは他の生物)には抗体・耐性があり、結果的に種の絶滅を免れる事が出来る。

参考:Wikipedia電気製品の EMC/安全適合性