機能安全に触れる機会があり、技術・手法群についてもとても勉強になりそうであったため、一つずつ理解していきたい
IEC 61508-3:2010 附属表A
IEC 61508-3:2010 附属表Aにおいて、要求安全度水準に従って採用すべき技術・手法が規定されている。
以下の表はIEC 61508-3:2010 附属表Aより引用
https://kikakurui.com/c0/C0508-3-2014-01.html
評価 | 説明 |
---|---|
HR | この安全度水準には、技法又は手段を使用することを強く推奨する。この技法又は手段を使用しない場合は、使用しない理論的根拠について、附属書Cを参照して安全計画時に詳述しなければならず、またアセッサと合意しなければならない。 |
R | この安全度水準には、HR推奨より低い推奨事項としての技法又は手段が望ましい。 |
— | 技法又は手段を使用することに関しては、推奨も反対もしない。 |
NR | この安全度水準には、技法又は手段を使用することを積極的には推奨しない。この技法又は手段を使用する場合は、使用する理論的根拠について、附属書Cを参照して安全計画時に詳述しなければならず、またアセッサと合意することが望ましい。 |
表A.2−ソフトウェア設計及び開発−ソフトウェアアーキテクチャ設計(7.4.3参照) の一部抜粋
https://kikakurui.com/c0/C0508-3-2014-01.html
ID | 技法及び手段 | 参照先 | SIL 1 | SIL 2 | SIL 3 | SIL 4 |
---|---|---|---|---|---|---|
1 | フォールト検出 | IEC 61508-7のC.3.1 | — | R | HR | HR |
2 | エラー検出コード | IEC 61508-7のC.3.2 | R | R | R | HR |
3a | 故障アサーションプログラミング | IEC 61508-7のC.3.3 | R | R | R | HR |
3b | ダイバースモニタリング(同一コンピュータ内で監視する機能を実装している機能的多様性) | IEC 61508-7のC.3.4 | — | R | R | — |
3c | ダイバースモニタリング(監視するコンピュータを監視されるコンピュータとは別の場所に設置している) | IEC 61508-7のC.3.4 | — | R | R | HR |
3d | 同一のソフトウェア安全要求仕様を実装する多様冗長 | IEC 61508-7のC.3.5 | — | — | — | R |
3e | 異なるソフトウェア安全要求仕様を実装する多様冗長 | IEC 61508-7のC.3.5 | — | — | R | HR |
3f | バックワードリカバリ | IEC 61508-7のC.3.6 | R | R | — | NR |
3g | ステートレスソフトウェア設計(又は限定ステート設計) | IEC 61508-7のC.2.12 | — | — | R | HR |
4a | 再試行/フォールト回復メカニズム | IEC 61508-7のC.2.14 | R | R | — | — |
4b | グレースフルデグラデーション | IEC 61508-7のC.3.8 | R | R | HR | HR |
IEC 61508-7:2010
IEC 61508-7:2010にて以下の定義が示されている
C.3.8 グレースフルデグラデーション
注記 この技術及び手法は,JIS C 0508-3の表A.2で引用されている。
目的:故障の有無にかかわらず,重要度が小さい方のシステム機能を見放すことによって,重要度が大きい方のシステム機能を有効状態に維持する。
説明:この技術は,システムにおいて実行する様々な機能に優先権を与える。設計では,全てのシステム機能を実行するだけの資源が不足している場合,優先度が高い機能が,優先度が低い機能よりも優先的に実行することを確実にする。例えば,エラーロギング及び事象ロギング機能は,システム制御機能よりも優先度が低くてもよく,その場合,エラーロギングに関わるハードウェアが故障した場合でも,システム制御は継続される。さらに,システム制御ハードウェアが故障したが,エラーロギングハードウェアが故障していない場合,エラーロギングハードウェアが制御機能を引き継ぐこともある。 この技術は,主としてハードウェアに適用する技術だが,ソフトウェアを含むシステム全体にも適用することができる。ただし,このことは,最上部の設計フェーズから考慮に入れる必要がある。
参考文献: Towards the Integration of Fault, Resource, and Power Management, T. Siridakis. In Computer Safety, Reliability, and Security: 23rd International Conference, SAFECOMP 2004. Eds. Maritta Heisel et. al. Springer, 2004, ISBN 3540231765, 9783540231769 Achieving Critical System Survivability Through Software Architectures, J.C. Knight, E.A. Strunk. Springer Berlin / Heidelberg, 2004, 978-ISBN 3-540-23168-4 The Evolution of Fault-Tolerant Computing. Vol. 1 of Dependable Computing and Fault-Tolerant Systems, Edited by A. Avizienis, H. Kopetz and J. C. Laprie, Springer Verlag, 1987, ISBN 3-211-81941-X Fault Tolerance, Principle and Practices. T. Anderson and P. A. Lee, Vol. 3 of Dependable Computing and Fault-Tolerant Systems, Springer Verlag, 1987, ISBN 3-211-82077-9
各Moduleに対して優先度を設定すべきということです。実装できるかどうかはプログラミング言語仕様やライブラリに依存する所がありますので、記載通り実装必要性についてばデザイン初期で決定すべきである