HOMEソフトウェア高信頼化事業内容のご案内事業に関連するお知らせ大規模・複雑なシステムの障害診断の新手法を提案
~ システムズエンジニアリングに基づき、迅速かつ的確に診断する手法をJASAと共同開発 ~

本文を印刷する

ソフトウェア高信頼化

大規模・複雑なシステムの障害診断の新手法を提案
~ システムズエンジニアリングに基づき、迅速かつ的確に診断する手法をJASAと共同開発 ~

2014年11月19日 公開
独立行政法人情報処理推進機構
技術本部 ソフトウェア高信頼化センター

概要

  IPA(独立行政法人情報処理推進機構、理事長:藤江 一正)SEC(ソフトウェア高信頼化センター)は、大規模・複雑なシステムで障害が発生したときに、迅速かつ的確に診断する手法を、JASA(一般社団法人組込みシステム技術協会)と共同で開発し、取りまとめました。
  本手法では、シミュレーションによる障害の再現を行う方法を採用しており、実際のシステムを毀損することなく、想定されるすべての障害を仮想的に発生させて検証することができます。

本取組みの背景

  近年の情報処理技術の発達により、様々なシステムは異なる別のシステムと連携することで、新たなサービスや高度な機能が実現されるようになっています。しかし、このようにシステムが大規模化、複雑化するにつれ、システムを管理・操作する人とシステムの関係もまた複雑となり、システム障害が発生した際にその原因を特定する事が困難になり、影響範囲も大きなものとなってしまうという問題も発生しています。
  こうした認識の下、IPA/SECは、2014年1月よりJASAと連携し、“大規模・複雑なシステムに対する障害診断手法の確立”を目的とした取組みを開始しました。
  本取組みでは、「モデルベース手法(*1)」をベースに、
    1.シミュレーションによる障害の再現を行う方法
    2.原因の仮説を検証しながら診断を行う方法
    3.ソフトウェアロジック(*2)の不具合を見極める「形式検証手法(*3)」を組み合わせた方法
を採用した、様々な要素が繋がったシステム全体をコンピュータ上でシミュレーションして視覚的に確認することができる新たな障害診断手法の開発を行っています。

本障害診断手法の特徴

  本障害診断手法の主な特徴は以下の通りです。

  • システム全体の振る舞いを確認しながら分析できるため、原因箇所の特定がしやすく、分析に要する作業時間の短縮が期待できる。また、類似の原因による障害の再発防止にもつながる。
  • 実際のシステムを動作させることなくシミュレータ上で仮想的に動作検証できるため、実際のシステムを一切毀損することなく障害を再現でき、通常は試験が困難な障害まで確認できる。
  • システム実装前の動作検証にも使用できるため、障害の未然防止にもつながる。
  • 人(操作員)の動作とシステム機能間の不整合などを含む複合要因に対する障害診断が可能。
  • 実際のシステムをシミュレーションできるため、操作員向けのトレーニングや、非常事態を想定した訓練などへの活用が可能。
  • 実際のシステムを用いた実証実験や、各社・製品ごとに専用のシミュレータを開発するなど、従来の方法よりも容易に障害診断が可能。

これまでの活動結果

  本取組みでは、ソフトウェアの欠陥が関連している過去の障害事例を調査し、事後に検証を行うためのテストベッドの基本設計と、その実現例とすべくモデルベース開発ツールを用いて、CSSC(*4)協力の下、化学プラントシミュレータを開発し、検証を行いました。(図1)
   その結果、人間の操作と制御ロジックの間に矛盾があるようなシステム障害の模擬や、ソフトウェアロジックの形式検証が可能であることを確認し、障害診断手法の有用性が確認できました。

シミュレーション画面の例

図1 シミュレーション画面の例

今後の取組みと活動目標

  今後は、これまでの活動結果を取りまとめ、2015年3月に報告書を公開する予定です。 さらに、以下の点を目標に、「STAMP(*5)」のような新しい安全解析手法を取り入れるなど、実用性の向上を進め、本取組みで提案する診断・原因分析の手法を新たなフレームワークとして普及展開を図っていく予定です。(図2)

  • 以下の障害診断・原因分析の手法を「事後V&V(Verification and Validation)(*6)」として体系化。
    〇障害発生後の初動調査と情報収集の手法
    〇人為的な要因も含め、システムとソフトウェアのどこに原因があるかを見極める障害診断手法
    〇障害原因となるソフトウェア制御ロジックの不具合を見極める形式検証手法やテスト手法
  • 障害が発生した際に、第三者として診断活動を行う役割の確立。
  • 障害の再発防止、透明性・客観性の確保、診断作業の迅速化を図るため、障害原因の診断結果を抽象化し、教育コンテンツとして体系的に整理・蓄積。

「事後V&V」のフレームワーク

図2 「事後V&V」のフレームワーク

脚注

(*1) システムの仕様を、構成要素の動作や計算の関係などに注目した抽象表現である「モデル」によって記述する手法。
(*2) ソフトウェアを構成している処理の流れや処理そのもののこと。
(*3) ソフトウェアの仕様や振る舞いを数式や論理式などで表現し、誤りの有無を数学的な証明やコンピュータによる推論、検査によって証明する手法。
(*4) Control System Security Center(技術研究組合制御システムセキュリティセンター)
(*5) Systems Theoretic Accident Model and Processes(システム理論に基づく事故モデル)
(*6) Verification and Validation(検証と妥当性確認)