エラー・コンセプト
SimpleModelingにおけるエラー概念と用語体系について整理します。
IEEE Errorの多義性
IEEE 610.12-1990 では error に対して次の4つの意味を与えています。
No. | IEEE Definition | 例 |
---|---|---|
(1) |
The difference between a computed, observed, or measured value and the true, specified, or theoretically correct value |
計算結果が正しい値から30mずれている |
(2) |
An incorrect step, process, or data definition |
プログラムに誤った命令がある |
(3) |
An incorrect result |
期待値10に対して計算結果12 |
(4) |
A human action that produces an incorrect result |
プログラマやオペレータの操作ミス |
これらは歴史的にはすべて "error" の語で呼ばれてきましたが、SimpleModelingでは次のように整理します。
-
(1) → Deviation(逸脱)
-
(2) → Fault(障害要因)/Defect(欠陥)
-
(3) → Failure(故障)
-
(4) → Mistacke(過誤 - 人間の誤った行為)
エラー概念の整理
整理結果に基づく因果連鎖は次のようになります。
- Mistake (4)
-
人間による過誤。
- Defect (2)
-
成果物に存在する誤りの総称。
- Fault (2)
-
Defectがシステム内部で具現化した技術的欠陥。
- Failure (3)
-
システムやコンポーネントが要求機能を実行できない現象。
- Deviation (1)
-
計算値や観測値の真値からの逸脱。
ISO/IEC 24765 は IEEEの定義を継承しつつ、Defect を明示的に追加して体系を補強しています。
Javaとの用語衝突
「エラー」という語はソフトウェア工学において多義的に使われてきました。IEEE では人間の過誤を Error と定義していますが、Java では Error
クラスが致命的障害を表すため、混乱を招きやすくなっています。
SimpleModelingはモデリングからプログラミングまでをスコープにし、Javaエコシステム(Scala 3を含む)を前提とします。このためIEEEのError概念をそのまま採用すると用語衝突が発生します。
そこでSimpleModelingではErrorを汎用的表現とし、主要な概念体系は Mistake–Defect–Fault–Failure–Deviation に基づかせます。
SimpleModelingでの定義
IEEE Error番号 | SimpleModelingでの用語 | 扱い |
---|---|---|
(1) Difference from true value |
Deviation |
Observationで記録 |
(2) Incorrect step/process/data |
Fault / Defect |
内部要因 |
(3) Incorrect result |
Failure |
外部に表出しObservationで記録 |
(4) Human action mistake |
Mistake |
人間由来の原因 |
この整理により、Error(汎用語)と Mistake(人間の過誤)を区別しつつ、Defect, Fault, Failure, Deviation の位置づけを一貫して扱うことができます。
日本語用語
Defect・Fault・Failure・Deviation・Error・Mistake の訳語は以下の通りです。
英語 | 日本語 |
---|---|
Defect |
欠陥 |
Fault |
障害要因 |
Failure |
故障 |
Deviation |
逸脱 |
Error |
エラー |
Mistake |
過誤 |
Fault は一般に「欠陥」と訳されますが、Defect と区別するために SimpleModeling では「障害要因」としています。 == 観測記録
観測記録(Observation)は、システム運用中に発生する現象を体系的に記録する仕組みです。ここで定義される現象や原因の一部は、エラー概念の Mistake・Defect・Fault・Failure・Deviation と間接的または直接的に結びつきます。
エラー概念との関係
観測記録における Failure(現象)、Deviation(現象)、Defect・Fault(原因)、そして間接的に Mistake(人間由来の過誤)は、それぞれエラー概念で定義された内容と接続されます。これにより、ISO/IEC 24765 で整理された用語体系と運用上の記録が統合されます。
結果として、SimpleModelingのエラーコンセプトは単なる分析の枠組みにとどまらず、ログ、監査証跡、モニタリング、継続的改善といった実務的な観測活動の基盤となります。
用語定義
用語 | 定義 |
---|---|
バグ (bug) |
俗語的にソフトウェアの不具合を指す用語。厳密な技術的定義はなく、Defect や Fault、Failure を広く含む日常的な表現。 |
欠陥 (defect) |
成果物(設計書、仕様書、コードなど)に存在する不完全さや不足。要求や仕様を満たさず、修正や置換が必要となる状態。ISO/IEC 24765 に基づく。 |
逸脱 (deviation) |
計算値や観測値が、基準値や真値から外れている状態。観測可能な量的ずれを表す。 |
エラー (error) |
汎用的な表現として用いられる用語。ソフトウェア工学では多義的に使われ、バグや障害全般を指す。SimpleModeling では広義のラベルとして使用し、個別には Mistake・Defect・Fault・Failure・Deviation に整理する。 |
故障 (failure) |
システムまたはコンポーネントが要求された機能を規定条件内で実行できない状態。外部に表出し観測される現象。 |
障害要因 (fault) |
システム内部に存在する技術的な欠陥。Defect が具現化したもので、実行時に Failure を引き起こす可能性がある。IEEE 610.12 に基づく。 |
過誤 (mistake) |
人間の行為や判断の過誤。設計者・開発者・運用者による誤操作や誤判断を指す。直接は観測されにくいが、Defect や Fault を通じて Failure や Deviation に結びつく。 |