フェールセーフとは
フェールセーフとは、システムや機器が故障した際や、利用者が誤った操作をした際に、常に「安全(セーフ)」な状態に移行するように制御する設計思想です。どんなシステムもいつかは必ず故障するという前提に立ち、故障したとしても大事故や深刻なトラブルに発展させないことを最優先に考えます。壊れることを防ぐのではなく、壊れた後の安全を確保することが特徴です。
具体例
- 鉄道の踏切:停電などでシステムへの電力供給がストップした場合、遮断機を持ち上げる力が失われ、自重(重力)によって自動的に遮断機が下におります。これにより、列車が通る危険な線路内に人や車が侵入するのを防ぎます。
- 石油ファンヒーター:地震の揺れを感知したり、本体が傾いたり倒れたりした際に、火災を防ぐため自動的に消火機能が作動して運転を停止します。
もう少し詳しく
フェールセーフは、システムが必ずいつか故障するという「フォールト(障害)」の発生を避けられない現実的な前提として受け入れています。この前提に基づき、障害が発生した際の影響を最小限に抑え、致命的な事故や人命に関わるような最悪の事態を確実に防ぐためのアーキテクチャ設計の一つです。例えば、機械制御の分野においては、電力が失われた場合にアクチュエータが中立位置や安全な位置に復帰するような機械的機構(バネや重力など物理的な力を利用した仕組み)が組み込まれます。情報システムの分野では、データベースのトランザクション処理中に異常が発生した場合、処理を途中で強行してデータに矛盾を生じさせるのではなく、ロールバックして変更を全て取り消し、データの一貫性を保つ(安全な状態に戻す)といった処理もフェールセーフの概念に広く含まれます。
また、フェールセーフと似た言葉に「フェールソフト」がありますが、フェールソフトが「機能低下を許容してでもシステムを稼働させ続ける」ことを目指すのに対し、フェールセーフは「システムを完全に停止させてでも安全を確保する」ことを最優先とする決定的な違いがあります。人命に関わる医療機器や交通システム、火災・爆発の危険があるプラント制御システムなどでは、フェールセーフの設計が法的に義務付けられているケースも多く見られます。いかなる事態においても「安全側へ倒す」という考え方が根底にあります。
試験でのポイント
情報処理技術者試験(ITパスポート、基本情報技術者試験、応用情報技術者試験など)において、フェールセーフは「システムの高信頼化技術(RASISなど)」の分野で非常によく出題される最重要キーワードの一つです。
出題パターンとしては、具体的な事例(踏切の遮断機が重力で下りる、石油ストーブが転倒時に自動消火する、信号機が故障時に赤点滅になるなど)が提示され、「これはどの設計思想に基づくものか?」と問われる形式が定番中の定番です。選択肢には「フェールソフト」「フールプルーフ」「フォールトトレラント」などが並ぶため、それぞれのキーワードの意味を正確に区別しておく必要があります。
特に間違いやすいのが「フェールセーフ」と「フェールソフト」の違いです。問題を解く際のキーワードとして、「安全性を優先して停止する」「被害を最小限に抑える」「被害を食い止める」といった記述があればフェールセーフを選び、「機能を縮退させて継続する」「一部の機能を切り離して稼働を続ける」といった記述があればフェールソフトを選ぶようにしましょう。
また、フールプルーフが「人間の操作ミス」に対する予防策であるのに対し、フェールセーフは「機械やシステムの故障」が発生した後の安全確保策である点も、対比としてよく問われます。前提として「人間が間違える」のか「機械が壊れる」のかを意識すると正解しやすくなります。
関連する用語
関連する用語として「フェールソフト」と「フールプルーフ」があります。フェールソフトは障害発生時に機能を縮小してでも運転を継続する設計思想であり、システムを止めないことを重視します。一方、フールプルーフは利用者が誤操作をしても危険な状態にならないように、人間側のミスを想定した設計思想です。これらはあわせてシステムの信頼性設計の基本として学習されます。