HOMEソフトウェア高信頼化報告書・出版物・ツール事業成果(報告書等)「大規模・複雑化した組込みシステムのための障害診断手法~モデルベースアプローチによる事後V&Vの提案~」の公開

本文を印刷する

ソフトウェア高信頼化

「大規模・複雑化した組込みシステムのための障害診断手法~モデルベースアプローチによる事後V&Vの提案~」の公開

2016年4月4日更新
2015年3月31日公開
独立行政法人情報処理推進機構
技術本部 ソフトウェア高信頼化センター

概要

  IPA/SECは、「大規模・複雑化した組込みシステムの障害診断手法を確立する」ことを目的に、近年着目されつつある「モデルベースシステムズエンジニアリング(MBSE))(*1)」に基づいて組込みシステムの障害診断を行うための手法を公開します。
  この手法で提案する事後V&V(*2)フレームワークにより、様々な機器が組み合わさって構成された大規模なシステムで発生した障害原因の仮説を生成、システム全体のシミュレーションや形式検証手法により仮説を検証し、迅速かつ適切に障害診断を行い、更に障害の再発防止・未然防止に役立つことが期待できます。

※2016年3月31日に「大規模・複雑化した組込みシステムのための障害診断手法~モデルベースアプローチによる事後V&Vの提案~ Ver. 2.0」を公開しました。

背景

  交通系ICカードとクレジット決済システムが連携しているように、近年では複数のシステムが連携することで、新たなサービスや高度な機能が実現されるようになっています。しかしそれに伴い、システム自体が大規模・複雑になり、システムを管理・操作する人とシステムの関係も複雑になりつつあります。そのため、ひとたび障害が発生すると、その原因を見つけ出すことは困難であり、影響範囲も大きく深刻となります。
  また、システムの制御を担う要素が、電子部品などのハードウェアによる物理的なものから、制御ソフトウェアなどのソフトウェアを主体としたものに替わってきていることから、障害発生時の対応も、ハードウェア中心のものから、システムズエンジニアリング(*3)に基づいたシステム中心の視点に変える必要があります。
  こうした認識の下、IPA/SECでは、2014年5月よりJASAと連携し、"大規模・複雑なシステムに対する障害診断手法の確立"を目的として取り組んできました。

特徴

  本手法では、「モデルベース手法(*4)」をベースに、1.シミュレーションによる障害の再現を行う方法、2.ハザード分析によって抽出した障害原因の仮説を検証しながら診断を行う方法、3.ソフトウェアロジック(*5)の不具合を見極める「形式検証手法(*6)」を組み合わせた方法を採用しています。
  これにより、様々な要素が繋がったシステム全体を、コンピューター上でシミュレートし、視覚的に確認することができます。また、実際のシステムを動作させることなく、シミュレーター上で仮想的に動作検証できるため、実際のシステムを一切毀損することなく、迅速かつ的確な障害診断が実現できます。

本障害診断手法で期待できる効果

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

今後の展開

  今回新たに体系化した診断・原因分析手法である「事後V&V」フレームワークの普及展開を図っていく予定です。
  さらに、「STAMP(Systems-Theoretic Accident Model and Processes)」のような新しい安全解析手法を取り入れるなど、実用性の向上を図っていく予定です。

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

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

  IPA/SECでは、本取組みを通じて製品・制御システムの高信頼化に貢献し、情報処理システムを制御するソフトウェアの安全性・信頼性の向上を更に推進していきます。

脚注

(*1)システム開発方法論のひとつで、構成要素の動作や計算の関係などに注目した抽象表現である「モデル」に基づいて開発を行うための方法論。
(*2)検証と妥当性確認(verification and validation)
(*3)システムを成功裏に実現するための複数の分野にまたがるアプローチおよび手段。
(*4)システムの仕様を、「モデル」によって記述する手法。
(*5)ソフトウェアを構成している処理の流れや処理そのもののこと。
(*6)ソフトウェアの使用や振る舞いを数式や論理式などで表現し、誤りの有無を数学的な証明やコンピューターによる推論、検査によって証明する手法。

ダウンロード

注:当ページのコンテンツはPDF形式での提供となっております。

更新履歴

2015年8月13日 「大規模・複雑化した組込みシステムのための障害診断手法【ダイジェスト】」PDF版を追加しました。
2016年4月4日 Ver. 2.0へのリンクを追加しました。