(57)【要約】【課題】状態機械図（状態遷移モデル）から故障の木解析を生成する故障の木解析生成方法、故障の木解析生成システム及びプログラムを提供する。【解決手段】本発明は、イベントと遷移とで表される状態遷移モデルから故障の木解析図を生成する故障の木解析生成方法であって、状態遷移モデルを少なくとも一以上の論理式として解釈し、論理式に基づいて、与えられたイベントをトップイベントとする故障の木解析を生成する故障の木解析生成方法である。【選択図】図１
2010237855.tif 000002
【特許請求の範囲】
【請求項１】
イベントと遷移とで表される状態遷移モデルから故障の木解析図を生成する故障の木解析生成方法であって、
状態遷移モデルを少なくとも一以上の論理式として解釈し、
前記論理式に基づいて、与えられたイベントをトップイベントとする故障の木解析を生成する
故障の木解析生成方法。
【請求項２】
前記イベントを内部イベント又は外部イベントに分類し、前記遷移を独立遷移又は関連遷移に分類する
請求項１に記載の故障の木解析生成方法。
【請求項３】
遷移が同期する遷移であるか非同期な遷移であるかの情報に基づいて、前記関連遷移の論理式を解釈する
請求項２に記載の故障の木解析生成方法。
【請求項４】
前記遷移が同期する遷移であるか非同期な遷移であるかの情報は、ユーザによって特定される
請求項３に記載の故障の木解析生成方法。
【請求項５】
前記外部イベントが故障イベントであるかの情報に基づいて、故障の木解析を生成する
請求項２に記載の故障の木解析生成方法。
【請求項６】
前記外部イベントが故障イベントであるかの情報、ユーザによって特定される
請求項５に記載の故障の木解析生成方法。
【請求項７】
イベントと遷移とで表される状態遷移モデルから故障の木解析を生成する故障の木解析生成システムであって、
状態遷移モデルを少なくとも一以上の論理式として解釈する状態遷移解釈手段と、
前記論理式に基づいて、与えられたイベントをトップイベントとする故障の木解析を生成する故障の木解析生成手段と
を有する故障の木解析生成システム。
【請求項８】
前記イベントを内部イベント又は外部イベントに分類し、前記遷移を独立遷移又は関連事象に分類する分類手段を有する請求項７に記載の故障の木解析生成システム。
【請求項９】
前記状態遷移解釈手段は、遷移が同期する遷移であるか非同期な遷移であるかの情報に基づいて、前記関連遷移の論理式を解釈する請求項８に記載の故障の木解析生成システム。
【請求項１０】
前記遷移が同期する遷移であるか非同期な遷移であるかの情報が入力される入力手段有する請求項９に記載の故障の木解析生成システム。
【請求項１１】
前記故障の木解析生成手段は、前記外部イベントが故障イベントであるかの情報に基づいて、故障の木解析を生成する請求項８に記載の故障の木解析生成システム。
【請求項１２】
前記外部イベントが故障イベントであるかの情報が入力される入力手段有する請求項１１に記載の故障の木解析生成システム。
【請求項１３】
イベントと遷移とで表される状態遷移モデルから故障の木解析を生成するプログラムであって、
状態遷移モデルを少なくとも一以上の論理式として解釈する状態遷移解釈処理と、
前記論理式に基づいて、与えられたイベントをトップイベントとする故障の木解析を生成する故障の木解析生成処理と
を情報処理装置に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は故障の木解析生成方法及び故障の木解析生成システムに関する。
【背景技術】
【０００２】
従来のソフトウェア故障の木解析（Fault Tree Analysis, FTA）方法およびシステムの一例が、特許文献１、非特許文献１に記載されている。
【０００３】
特許文献１に記載されているソフトウェア故障木生成装置は、図１０に示すように、ソフトウェアブロック図作成部と、ハードウェアブロック図作成部と、ソフトウェア振舞い記述作成部と、拡張アクティビティ図作成部と、デビエーション分析部と、ソフトウェア故障木生成部などとから構成されている。
【０００４】
このような構成を有するソフトウェア故障木生成装置は、次のように動作する。
【０００５】
まず、ソフトウェアの製品仕様書をもとにソフトウェアブロックを作成し、これよりソフトウェアの振舞い記述、拡張アクティビティを生成し、この拡張アクティビティに対してデビエーション分析部によって異常な動作要因を抽出し、これを利用してソフトウェア故障木の生成を行う。
【０００６】
しかしながら、この特許文献１に記載のソフトウェア故障木生成装置は、いくつかの通常状態に起因して発生する複合的な故障イベントについては考慮されていない。すなわち、この故障木生成装置は、状態遷移システムとしてモデル化される多くのソフトウェアシステムにおいて、複合的な故障イベントの解析には適していない。
【０００７】
このような複合的な故障イベントを解決するものとして、形式仕様記述および検証を用いた非特許文献１の技術が提案されている。しかしながら、非特許文献１の技術は、形式仕様記述および形式的検証に限定されるものであった。
【０００８】
一方、状態機械図のモデル検査は、近年、よく研究されている。しかしながら、このモデル検査は、特定のシステム上の故障を解析するというよりも、設計から導出されたモデルが形式仕様を満足するかどうか検証することに力点が置かれている。すなわち、システムにある故障が与えられた場合、モデル検査は、いくつかの初期構成のもとで、システムが安全性を有したものであるかどうかは導くことはできる。しかし、故障がどのような原因で起こるのかは導くことはできない。そして、それは故障の木解析が適している。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００１−１８４２３２号公報（第６−７頁、図１）
【非特許文献】
【００１０】
【非特許文献１】向剣文、緒方和博、孔維強、二木厚吉著「フォルトツリー解析からOTS/CafeOBJ によるシステムの形式仕様記述および検証へ」コンピュータソフトウェア、Vol.２３、 No.３（2006年７月）
【発明の概要】
【発明が解決しようとする課題】
【００１１】
故障の木解析（FTA）は、一般的に、状態遷移システムの分析には適しておらず、状態遷移図と故障の木解析（FTA）とを統合するような試みは、ほとんどなかった。
【００１２】
システム設計の段階において、故障の木解析図は、分析の正当性および完全性を保証するため、詳細で正確な設計明細書またはダイアグラムから作成されるのが一般的である。システム操作ダイアグラムが、ハードウェア故障の木解析の作成のために重要な役割を果たすことは、工業上認められている。
【００１３】
しかし、ソフトウェア状態遷移システムの場合、状態機械図は、故障の木を生成するためのひとつの有望な候補として考慮することができるが、この問題は今までに対処されていなかった。
【００１４】
そこで、本発明は上記課題に鑑みて発明されたものであって、その目的は、状態遷移モデルから故障の木解析を生成する故障の木解析生成方法及びそのシステムを提供することである。
【課題を解決するための手段】
【００１５】
上記課題を解決する本発明は、イベントと遷移とで表される状態遷移モデルから故障の木解析図を生成する故障の木解析生成方法であって、状態遷移モデルを少なくとも一以上の論理式として解釈し、前記論理式に基づいて、与えられたイベントをトップイベントとする故障の木解析を生成する故障の木解析生成方法である。
【００１６】
上記課題を解決する本発明は、イベントと遷移とで表される状態遷移モデルから故障の木解析を生成する故障の木解析生成システムであって、状態遷移モデルを少なくとも一以上の論理式として解釈する状態遷移解釈手段と、前記論理式に基づいて、与えられたイベントをトップイベントとする故障の木解析を生成する故障の木解析生成手段とを有する故障の木解析生成システムである。
【００１７】
上記課題を解決する本発明は、イベントと遷移とで表される状態遷移モデルから故障の木解析を生成するプログラムであって、状態遷移モデルを少なくとも一以上の論理式として解釈する状態遷移解釈処理と、前記論理式に基づいて、与えられたイベントをトップイベントとする故障の木解析を生成する故障の木解析生成処理とを情報処理装置に実行させるプログラムである。
【発明の効果】
【００１８】
本発明によれば、状態遷移モデルから故障の木解析を生成することができる。
【図面の簡単な説明】
【００１９】
【図１】図１は実施の形態の故障の木解析生成システムのブロック図である。
【図２】図２は実施の形態のフローチャートである。
【図３】図３は本実施の形態の論理式を説明するための図である。
【図４】図４は本実施の形態の論理式を説明するための図である。
【図５】図５は本実施の形態の論理式を説明するための図である。
【図６】図６は実施例の状態機械図である。
【図７】図７は３つの関連遷移の論理式を説明するための図である。
【図８】図８は図６の状態機械図を解釈した論理式を示す図である。
【図９】図９は実施例の故障の木解析図である。
【図１０】図１０は関連する技術を説明するための図である。
【発明を実施するための形態】
【００２０】
本発明の実施の形態について図面を参照して詳細に説明する。図１は、本実施の形態の故障の木解析生成システムのブロック図である。
【００２１】
故障の木解析生成システムは、図１に示す如く、状態機械図入力部１１０と、分類部１２０と、状態遷移解釈部１３０と、格納部１４０と、ユーザ・インタフェース部１５０と故障の木解析生成部１６０と、出力部１７０とを備える。
【００２２】
これらの部はそれぞれ概略つぎのように動作する。
【００２３】
状態機械図入力部１１０は、対象となるシステムの状態機械図（状態遷移モデル）を入力する。
【００２４】
分類部１２０は、状態機械図のイベント及び遷移を分類する。具体的には、イベントは、内部イベントと外部イベントとに分類する。また、遷移は、独立遷移と関連遷移とに分類する。
【００２５】
状態遷移解釈部１３０は、状態機械図を一組の論理式として解釈する。
【００２６】
格納部１４０は、状態遷移解釈部１３０で生成された状態機械図の論理式が格納される。
【００２７】
ユーザ・インタフェース部によって、ユーザは、状態機械図の関連遷移の分類（同期遷移なのか非同期遷移）を入力する。また、ユーザ・インタフェース部によって、ユーザは、故障の木解析生成部１６０で生成される故障の木解析で解析するトップイベントとなるイベントも入力する。また、外部イベントを基本故障イベント又は基本正常イベントに分類する情報も入力する。
【００２８】
故障の木解析生成部１６０は、格納部１４０に格納されている論理式とユーザ・インタフェース部によって入力された情報とに基づいて、ユーザ・インタフェース部によって入力されたイベントをトップイベントとする故障の木解析を生成する。
【００２９】
出力部１７０は、生成された故障の木解析を出力する。
【００３０】
次に、図１及び図２のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。
【００３１】
まず、システムの状態機械図は、状態機械図入力部１１０によって読み取られる（ステップＡ１）。
【００３２】
次に、分類部１２０は、状態機械図の各イベントを、内部イベントと外部イベントとに分類する（ステップＡ２）。また、分類部１２０は、状態機械図の各遷移を独立遷移と関連遷移とに分類する（ステップＡ２）。
【００３３】
ここで、内部イベントとは、遷移の対応するアクションで発生するイベントをいう。一方、外部イベントとは、状態機械図において、イベントの発生が定められていないイベントをいう。但し、外部イベントは、いくつかの遷移の外部的なトリガとなるばかりでなく、状態機械図の中で定義されていない遷移のガード条件も含むものである。
【００３４】
また、独立遷移とは、トリガのない遷移、または、トリガによって遷移するが、その遷移によって他の遷移に対してトリガとなるようなメッセージを送信しない遷移をいう。
【００３５】
また、関連遷移とは、２以上の遷移間でメッセージの送受信が行われる遷移をいい、例えば、ある遷移からのメッセージによって起動される遷移である。但し、いくつかの異なる遷移からのメッセージによって起動され遷移が、別の遷移に別のメッセージを送信するような場合、メッセージを送信する遷移とメッセージを受信する遷移との双方も関連遷移である。
【００３６】
メッセージは、同期又は非同期で送受信される。そこで、関連遷移は、同期遷移又は非同期遷移として分類される。この分類は、ユーザ・インタフェース部１５０を介してユーザによって定義される（ステップＡ３）。
【００３７】
解釈部１３０は、イベントおよび遷移の分類に基づいて、状態機械図を、論理式のセットとして解釈する（ステップＡ４）。
【００３８】
それらの論理式には、状態遷移図の複合状態に対応する等式と、遷移に対応する遷移ルール（ワンステップ論理解釈）との２種類がある。状態機械図の各状態および各イベントは、論理式の中で、状態の述部とイベントの述部とに解釈される。
【００３９】
ここで、複合状態とは、それを構成するサブ状態の論理和として定義されるものである。このような複合状態ではない状態は、兄弟関係にある状態（同じ対象に属する他の状態であって、同一レベルに位置する関係にあるもの）である。図３に複合状態の解釈パターンを示す。
【００４０】
一般的に、遷移ルールの左側は、ふたつの部分の結合から成っている。ひとつの部分は、元の状態を表している状態構成と他の対象の状態を参照するガード条件とである。そして、他の部分は、トリガとなるイベントと、対応する遷移の外部イベントを参照するガード条件とである。
【００４１】
同様に、遷移ルールの右側も、ふたつの部分から成る。ひとつの部分は、遷移先の状態を表す状態構成である。他の部分は、遷移先のアクションによって生成されるメッセージイベントである。
【００４２】
しかしながら、上述した遷移ルールは、遷移の相違によってわずかに相違する。
【００４３】
その相違を例示するために、対象Ａと対象Ｂとからなるシステムにおける、独立遷移、非同期遷移及び同期遷移の遷移ルールの例を、図３に示す。
【００４４】
複合状態が二以上の遷移領域を含む場合、閉じられた状態への遷移は、各領域内の内部状態への遷移を示す。領域内の最終状態への遷移は、その領域内での完了を示すものである。
【００４５】
例えば、オブジェクト状態機械図が３つの状態、S0、S1およびS2を含むと仮定し、S1は２つの領域を含む複合状態であると仮定する。S1の各々の領域には二つのサブ状態を持っており、第１の領域のサブ状態をS11およびS12とし、第2の領域のサブ状態をS13およびS14とする。そして、S11およびS13は初期状態であり、S12及びS14が最終状態であるとする。
【００４６】
ここで、e1によってトリガされた最初の遷移はS0からS1とする。すると、この遷移は、S0∧e1→S11∧S13と表現することができる。そして、S1からS2の遷移は、S12∧S14→S2と表現することができる。尚、第２の遷移は、トリガイベントのない完了遷移である。
【００４７】
状態機械図が解釈された論理式は、格納部１４０に記憶される。
【００４８】
続いて、故障の木解析図の生成のために必要であるユーザ情報が、ユーザ・インタフェース部１５０を介して入力される（ステップＡ６）。このステップでは、３種類のユーザ情報が入力される。すなわち、故障の木解析のためのトップイベントと、状態機械図の外部イベントに関連かる基本故障イベントと基本正常イベントとの分類に関する情報である。
【００４９】
状態機械図の全ての外部イベントは、これ以上分解することができない状態である故障の木解析の基本イベント（故障の木解析図ではリーフに相当する）として扱われる。そして、基本正常イベントは条件イベントとして扱われ、故障の木解析図のInhibit-gateと接続される。
【００５０】
各基本故障イベントは故障の木解析図において円で定義され、各条件イベントは故障の木解析図において楕円で定義される。
【００５１】
分解されたトップイベントは、最初に、基本イベントを含むかどうかを調べる。基本イベントを含む場合は、基本イベントの分類に従って、AND-gate又はINHIBIT-gateによって簡略化する（ステップＡ７）。
【００５２】
３種類の基本的イベントには、ユーザによって定義された基本故障イベント及び基本正常イベントと、基本正常イベントのひとつである状態機械図の初期設定がある。これらの基本イベントに関する簡略化パターンを、図４に示す。
【００５３】
簡略化の理由は、論理式によるパターンマッチングで考慮されず、故障の木解析図ではそれ以上分解できないイベント（リーフ）に相当するからである。
【００５４】
簡略化した中間イベントに関しては、その中間イベント又はその一部が、論理式（遷移ルール）の右側部分にマッチするものがあるかどうかを調べる。マッチするものがある場合（YES）、マッチした論理式の左側部分を用いて、ひとつ以上の分岐のOR-gateで分解する（ＳｔｅｐＡ８）。
【００５５】
パターンマッチングと分解とは、簡略化された中間イベントの構成に従い、３つに分類することができる。
【００５６】
第１は、イベントが複合状態の述部である場合、等式（論理式）の右側部分がその複合状態の述部にマッチする等式を見つける。そして、その等式の左側部分（いくつかのサブ状態の結合）を用いて、いくつかのサブ状態に分解し、OR-gateで接続する。これは、故障の木解析を見やすくするために有効な手法である。
【００５７】
第２は、イベントがいかなる非同期メッセージも含まない場合、そのイベントにマッチする全ての遷移ルール（論理式）を見つける。そして、そのマッチした遷移ルールの左側部分を用いて、そのイベントをいくつかのサブイベントに分解し、複数の遷移ルールが見つかった場合はOR-gateで接続し、ひとつの遷移ルールの場合は直接ラインで接続する。
【００５８】
第３は、イベントが非同期メッセージを含む場合、それから少なくとも状態構成の一部にマッチする遷移ルール（論理式）を見つける。そして、そのマッチした遷移ルールの左側部分を用いて、そのイベントをいくつかのサブイベントに分解し、複数の遷移ルールが見つかった場合はOR-gateで接続し、ひとつの遷移ルールの場合は直接ラインで接続する。
【００５９】
分解する故障イベントの３つのマッチングパターンを、図５に示す。
【００６０】
中間故障イベントにマッチする論理式がない場合、この故障イベントは与えられた状態機械図では解析できないものであり、論理ゲートからこの故障イベントに対してのパスを取り除く（ステップＡ９）。
【００６１】
ステップA7−A9は、故障の木生成部１６０によってされる。
【００６２】
最後に、パターンマッチおよび分解の後、故障の木解析図の全てのリーフが基本イベントで表されているかを調べる。
【００６３】
故障の木解析図の全てのリーフが基本イベントで表されていれば、故障の木解析の生成を終了し、出力部１７０により故障の木解析図を提示する（ステップＡ１０）。そうでなければ、ステップＡ７からＡ９を繰り返す。
【実施例１】
【００６４】
本発明の実施例を説明する。
【００６５】
本実施例では、列車と道路とが交差する踏切を制御する踏切制御システムを例にして説明する。
【００６６】
本実施例における踏切制御システムは、まず、列車が踏切に進入する前に、踏切の安全を確保するため、遮断要求信号を踏切制御装置に送信する。踏切制御装置が遮断要求信号を受信すると、踏切の信号が切り替わり、遮断機が閉じる。遮断機が閉じると、踏切は一定期間、安全が確保される。そして、列車の通過の許可を示す通過許可の信号が列車に送信される。列車が踏切を通り過ぎたあと、列車が踏切を通過したことを示す通過完了信号を踏切制御装置に送信する。そして、通過完了信号を受信した踏切制御装置は、遮断機を開放し、初期状態に遷移する。
【００６７】
しかしながら、通過完了信号を受信できない場合、永遠に遮断機が開放されないと、車などが通行できなくなってしまうので、遮断機は数分間待って開放する。
【００６８】
このようなシステムでは、いくつかの予想外の故障イベントが起こりうる。例えば、列車の運転者が、違法行為的に又は誤動作により、列車の停止信号を無視したり、未知のハードウェアの故障に起因して踏切制御装置や踏切が故障したりして、電車を停止することができない場合などである。
【００６９】
このような列車や踏切制御装置、遮断機の状態機械図を図６に示す。尚、説明を簡単にするため、図６の遷移の全てのメッセージアクションが同期するものとする（同期遷移）。
また、状態A、状態B、状態Cの３つの同期遷移の論理式の一般的な解釈は、図３に示される２つの同期遷移に対して、図７に示す通りとなる。
【００７０】
状態機械図は、図８に示すように上述した論理式の生成の規則に基づいた論理式のセットと解釈することができる。
【００７１】
一例として、図６に示される状態A1と状態A2との間の遷移間（e1/B.i1の遷移）についての論理式への解釈について説明する。
【００７２】
まず、状態機械図の中でイベントe1の発生は定義されていないので、イベントe1は外部イベントである。また、状態機械図の中でイベントi1は遷移の対応するアクションで発生するイベントであるので、イベントi1は内部イベントである。
【００７３】
本実施例では、状態機械図における遷移の全メッセージアクションは同期するという前提であるので、状態A1と状態A2との間の遷移は同期遷移である。
【００７４】
そこで、システムは、メッセージi1を受信する遷移を捜し、状態B1と状態B2との間のi1/C.a1の遷移を見つける。この状態B1と状態B2との間の遷移も同期遷移であり、この遷移は複合状態C（上述した状態A1と状態A2との間の遷移と同様の理由である）にメッセージa1を送っている。
【００７５】
そこで、システムは、メッセージa1を受信する遷移を捜し、状態c1と状態c2との間でa1による遷移を見つける。その遷移がいかなるメッセージも送信しなければ、相関遷移の検索は終了する。
【００７６】
検索の後、３つの相関遷移は、下記で示される。
2010237855.tif 000003
そして、これらの遷移を、図７の同期遷移に関する解釈パターンに適用することにより、下記式に示されるように、図８の（１）、（２）、（３）式が得られる。
2010237855.tif 000004
このようにして、図６に示される状態機械図を図８に示す論理式のセットと解釈する。
【００７７】
次に、この踏切制御システムにおいて、最も危険なトップイベントがA3∧C0であると仮定する。すなわち、列車が踏切上（A3）にあり、遮断機が開放（C0）されており、電車と車や人とが衝突する状態である。
【００７８】
この危険な状態は、従来のFTAによっては解決することができない。何故なら、A3もCoも、それぞれに独立した故障イベントであり、同時に起きなければ、それぞれは、列車の正常状態、遮断機の正常状態であるからである。
【００７９】
このような例において、ユーザが、外部イベントとして、イベントe2（列車のブレーキの故障）、e3（運転手の停止信号の無視）、e5（タイムアウト）、e6（踏切制御装置の故障）およびe7（遮断機の故障）を基本故障イベントとして定義し、イベントe1（列車が踏切に近づき、遮断要求信号を送信する）およびe4（列車の踏切の通過）を基本正常イベントとして定義したとする。
【００８０】
状態機械図の初期設定は、A1∧B1∧C1である。
【００８１】
ユーザが、故障のトップイベント（A3∧C0）と上述のユーザ情報を入力すると、状態機械図から解釈された論理式に基づいて、図９に示すような故障の木解析図を生成することができる。
【００８２】
上述の如く、状態機械図を論理式に解釈し、この論理式から故障の木解析を生成することができる。
【００８３】
尚、上述した実施の形態及び実施例の説明では、情報処理装置をハードウェアで構成したが、通常のコンピュータであっても、上述した実施の形態で説明した動作と同様な動作をＣＰＵ等に行わせるプログラムにより、実施することもできる。
【００８４】
以上好ましい実施の形態、及び実施例をあげて本発明を説明したが、本発明は必ずしも上記実施の形態及び態様に限定されるものではなく、その技術的思想の範囲内において様々に変形し実施することが出来る。
【符号の説明】
【００８５】
１１０      状態機械図入力部
１２０      分類部
１３０      状態遷移解釈部
１４０      格納部
１５０      ユーザ・インタフェース部
１６０      故障の木解析生成部
１７０      出力部
【図１】
2010237855.tif 000005
【図２】
2010237855.tif 000006
【図３】
2010237855.tif 000007
【図４】
2010237855.tif 000008
【図５】
2010237855.tif 000009
【図６】
2010237855.tif 000010
【図７】
2010237855.tif 000011
【図８】
2010237855.tif 000012
【図９】
2010237855.tif 000013
【図１０】
2010237855.tif 000014