フールプルーフ

フールプルーフ (: fool proof) とは、安全工学における用語のひとつで、工業製品やシステムを設計する際、誤操作や誤設定などの間違った使い方をしても、少なくとも使用者や周囲にとって危険な動作をしないように、あるいはそもそも間違った使い方ができないように配慮する設計手法のこと。英語では「壊したり間違えたりすることなく、誰でも簡単に使える」という意味を持つ、idiot-proofという言葉が使われることもある[1]。またフールプルーフと同じ概念として、日本語のポカヨケを直訳したpoka-yokeが用いられることもある[2]

フールプルーフが目指す「誤用されない設計」とは、本質的に防御的な設計 (: defensive design) となる。これは、「人間は往々にして間違いを犯すものである」という前提に立った考え方に基づいている[3]。特に生産現場では、ちょっとしたミスが人命にかかわる致命的な事故につながる可能性があることから、労働災害を防止するために、安全衛生の観点からも機器や環境のフールプルーフ化を推進することが望ましい[4][5]

[編集]

  • 全自動洗濯機で蓋が開放のままスタート操作をしても動作(巻き込みの危険性がある回転動作[注釈 1])を開始しないような設計。脱水槽が完全停止しないと蓋が開けられない設計[10]
  • ATの自動車で、誤発進を防ぐため、「レンジがP (駐車) もしくはN (ニュートラル) の状態」で、かつ「ブレーキを踏んでいる状態」のときのみイグニッションキーが回せる(他の状態でエンジン始動しない)設計[11]

ロボット工学[編集]

日本産業規格(旧称:日本工業規格)では、JIS B 0187「サービスロボット-用語」において、フールプルーフとは、「人為的に不適切な行為,過失などが起こっても,ロボット及びロボットシステムの要素が危険な状態に至らないようにする機能又は性質」と定義されている[12]

ソフトウェア工学[編集]

ソフトウェア工学およびコンピュータプログラミングの分野では、間違ったソフトウェアの使い方をしても、危険な動作や間違った動作、意図しない動作をしないようにするための「防御的プログラミング」という技法がある。不正な入力データが来るかもしれないことを想定してプログラムを記述することで、不測のバグ(不具合)やセキュリティホール(脆弱性)が発生することを防止する[13]。これはフールプルーフと同様の考え方である。

防御的プログラミングは、オペレーティングシステムデバイスドライバライブラリアプリケーションソフトウェアなど、様々な層で適用される可能性があるが、プログラムに含まれるすべてのサブルーチンにおいて防御的プログラミングを完全に適用しようとすると膨大な作業工数がかかることになるし、またプログラムの安全性と実行速度はトレードオフの関係になる[注釈 2]。そのため、サブルーチンの呼び出し元あるいは呼び出し先でのパラメータチェックなど、どの層が安全性について責任を持つべきか、ということに注目した「契約プログラミング」(契約による設計)といった技法も同時に用いられる。プログラミング言語の仕様として自動化されたチェック機構を設けることで安全性を担保することもある。

脚注[編集]

注釈[編集]

  1. ^ 蓋が開いていても、注水前の計量まではできる製品もある[6][7][8][9]
  2. ^ 分岐処理など、事前チェックコードによるオーバーヘッド自体は一般的に小さく、数回呼ばれるだけであれば大きな負荷にはならないが、ループ構造の中で繰り返し呼ばれるルーチンの場合、オーバーヘッドが積み重なることで最終的な速度損失は無視できないものとなる。

出典[編集]

  1. ^ idiot-proof | ロングマン現代英英辞典でのidiot-proofの意味 | LDOCE
  2. ^ ポカヨケ(ぽかよけ):情報システム用語事典 - ITmedia エンタープライズ
  3. ^ フールプルーフ(foolproof)とは - IT用語辞典 e-Words
  4. ^ 職場のあんぜんサイト:フールプルーフ[安全衛生キーワード]
  5. ^ 労働災害におけるヒューマン・エラーとその対策 - Risk Solutions Report No.22” (PDF). 銀泉リスクソリューションズ株式会社 (2014年5月7日). 2023年4月24日閲覧。
  6. ^ 日立全自動電気洗濯機 NW-M5 取扱説明書” (PDF). 日立製作所 (1997年6月). 2023年4月24日閲覧。
  7. ^ 東芝全自動電気洗濯機(家庭用)取扱説明書 AW-80DE, AW-70DE” (PDF). 東芝 (2006年7月). 2023年4月24日閲覧。
  8. ^ SHARP 電気洗濯乾燥機(家庭用)取扱説明書 ES-TG55L” (PDF). SHARP (2014年3月). 2023年4月24日閲覧。
  9. ^ SHARP 電気洗濯乾燥機(家庭用)取扱説明書 ES-TX840, ES-TX940” (PDF). SHARP (2014年10月). 2023年4月24日閲覧。
  10. ^ 杉本旭「国際規格に見る安全・安心の構造と技術者の責任」『精密工学会誌』第75巻第9号、精密工学会、2009年、1045-1049頁、doi:10.2493/jjspe.75.1045ISSN 09120289 
  11. ^ AT車は「P」や「N」じゃなきゃ始動しないのになぜ? ブレーキを踏まないとクルマのエンジンがかからないワケ | 自動車情報・ニュース WEB CARTOP
  12. ^ JISB0187 2005.
  13. ^ 第1回 良いコードを書くための5つの習慣[前編]| 良いコ-ドへの道―普通のプログラマのためのステップアップガイド | gihyo.jp (技術評論社)

関連項目[編集]

外部リンク[編集]