(57)【要約】【課題】モデル検査の反例解釈の作業に要する負担を軽減可能な検証処理装置を提供する。【解決手段】検証処理装置は、検査対象モデルに対してモデル検査を実施する処理部と、前記モデル検査の結果に基づき、不安全事象に至る過程で状態が変化した要素の中から一つの要素を選択する選択部と、を備える。前記処理部は、更に、前記一つの要素を除外してなる検査対象モデルに対して再度のモデル検査を実施する。【選択図】図１
2020071759.tif 000002
【特許請求の範囲】
【請求項１】
検査対象モデルに対してモデル検査を実施する処理部と、
前記モデル検査の結果に基づき、不安全事象に至る過程で状態が変化した要素の中から一つの要素を選択する選択部と、
を備え、
前記処理部は、更に、前記一つの要素を除外してなる検査対象モデルに対して再度のモデル検査を実施する
検証処理装置。
【請求項２】
前記処理部は、
前記再度のモデル検査で前記不安全事象に至らなかった場合に、前記一つの要素を前記検査対象モデルに戻し、前記一つの要素とは異なる要素を前記検査対象モデルから除外してなる検査対象モデルに対して再度のモデル検査を実施する
請求項１に記載の検証処理装置。
【請求項３】
前記処理部は、
前記再度のモデル検査で前記不安全事象に至った場合に、前記一つの要素を前記検査対象モデルに戻すことなく、前記一つの要素とは異なる要素を前記検査対象モデルから除外してなる検査対象モデルに対して再度のモデル検査を実施する
請求項２に記載の検証処理装置。
【請求項４】
前記処理部は、
前記検査対象モデルに対する最初のモデル検査において特定された、不安全事象に至るまでの遷移ステップ数以下の範囲で、前記再度のモデル検査を実施する
請求項１から請求項３のいずれか一項に記載の検証処理装置。
【請求項５】
前記再度のモデル検査の結果に基づいて抽出された要素から不安全事象の定義に含まれる要素までの最短パスを特定する特定部を更に備える
請求項１から請求項４のいずれか一項に記載の検証処理装置。
【請求項６】
要素ごとに規定された不具合発生確率に基づいて、前記検査対象モデルが初期状態から不安全事象に至る確率を演算する演算部を更に備える
請求項１から請求項５のいずれか一項に記載の検証処理装置。
【請求項７】
前記選択部は、前記確率が所定の判定閾値を下回る場合、前記モデル検査の結果に基づき前記一つの要素を選択する処理を省略する
請求項６に記載の検証処理装置。
【請求項８】
検査対象モデルに対してモデル検査を実施するステップと、
前記モデル検査の結果に基づき、不安全事象に至る過程で状態が変化した要素の中から一つの要素を選択するステップと、
前記一つの要素を除外してなる検査対象モデルに対して再度のモデル検査を実施するステップと、
を有する検証処理方法。
【請求項９】
検証処理装置のコンピュータに、
検査対象モデルに対してモデル検査を実施するステップと、
前記モデル検査の結果に基づき、不安全事象に至る過程で状態が変化した要素の中から一つの要素を選択するステップと、
前記一つの要素を除外してなる検査対象モデルに対して再度のモデル検査を実施するステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、検証処理装置、検証処理方法及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、モデル検査を用いて、データ処理システムの動作ロジックの網羅的検証を行うことが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−０７１１３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、モデル検査でリレー回路の動作ロジックを検証する場合、当該リレー回路の基本動作ロジックを検証するだけでは不十分であり、当該リレー回路に含まれる信号線や回路素子に不具合が発生し得ることを加味して検証を行う必要がある。
【０００５】
信号線や回路素子の不具合（例えば、信号線の混触、断線、回路素子の故障）はリレー回路の基本動作ロジックによらず同時多発的かつ非同期的に発生し得ることを考慮すると、モデル検査においては、基本動作中に起こり得る状態遷移に加え、基本動作中の各状態から発生し得る不具合の全ての組み合わせを網羅的に検証する必要がある。
【０００６】
しかしながら、そうした場合、リレー回路に含まれる各信号線及び各回路素子で生じた複数の不具合の組み合わせを含む反例が出力されたとしても、当該不具合の組み合わせの中には、不安全事象に至ったことに必ずしも寄与しない（クリティカルでない）不具合が含まれている可能性がある。
【０００７】
つまり、モデル検査は、ＢＤＤ（Binary Decision Diagram）などにより、検査対象モデルが取り得る全状態を論理式で表現することにより、不安全事象に至る条件（パターン）を網羅的に検査するものであり、その不安全事象に至った過程においては、必ずしもクリティカルでない状態遷移をも含み得る。そのため、不安全事象に関してクリティカルでない不具合をも含み得る反例について反例解釈を行わざるを得ず、モデル検査の反例解釈の作業に要する負担が大きかった。
【０００８】
本発明の少なくとも一実施形態は、モデル検査の反例解釈の作業に要する負担を軽減可能な検証処理装置、検証処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の第１の態様によれば、検証処理装置は、検査対象モデルに対してモデル検査を実施する処理部と、前記モデル検査の結果に基づき、不安全事象に至る過程で状態が変化した要素の中から一つの要素を選択する選択部と、を備える。前記処理部は、更に、前記一つの要素を除外してなる検査対象モデルに対して再度のモデル検査を実施する。
【００１０】
本発明の第２の態様によれば、前記処理部は、前記再度のモデル検査で前記不安全事象に至らなかった場合に、前記一つの要素を前記検査対象モデルに戻し、前記一つの要素とは異なる要素を前記検査対象モデルから除外してなる検査対象モデルに対して再度のモデル検査を実施する。
【００１１】
本発明の第３の態様によれば、前記処理部は、前記再度のモデル検査で前記不安全事象に至った場合に、前記一つの要素を前記検査対象モデルに戻すことなく、前記一つの要素とは異なる要素を前記検査対象モデルから除外してなる検査対象モデルに対して再度のモデル検査を実施する。
【００１２】
本発明の第４の態様によれば、前記処理部は、前記検査対象モデルに対する最初のモデル検査において特定された、不安全事象に至るまでの遷移ステップ数以下の範囲で、前記再度のモデル検査を実施する。
【００１３】
本発明の第５の態様によれば、上述の検証処理装置は、前記再度のモデル検査の結果に基づいて抽出された要素から不安全事象の定義に含まれる要素までの最短パスを特定する特定部を更に備える。
【００１４】
本発明の第６の態様によれば、上述の検証処理装置は、要素ごとに規定された不具合発生確率に基づいて、前記検査対象モデルが初期状態から不安全事象に至る確率を演算する演算部を更に備える。
【００１５】
本発明の第７の態様によれば、前記選択部は、前記確率が所定の判定閾値を下回る場合、前記モデル検査の結果に基づき前記一つの要素を選択する処理を省略する。
【００１６】
本発明の第７の態様によれば、検証処理方法は、検査対象モデルに対してモデル検査を実施するステップと、前記モデル検査の結果に基づき、不安全事象に至る過程で状態が変化した要素の中から一つの要素を選択するステップと、前記一つの要素を除外してなる検査対象モデルに対して再度のモデル検査を実施するステップと、を有する。
【００１７】
本発明の第８の態様によれば、プログラムは、検証処理装置のコンピュータに、検査対象モデルに対してモデル検査を実施するステップと、前記モデル検査の結果に基づき、不安全事象に至る過程で状態が変化した要素の中から一つの要素を選択するステップと、前記一つの要素を除外してなる検査対象モデルに対して再度のモデル検査を実施するステップと、を実行させる。
【発明の効果】
【００１８】
上述の発明の各態様によれば、モデル検査の反例解釈の作業に要する負担を軽減することができる。
【図面の簡単な説明】
【００１９】
【図１】第１の実施形態に係る検証処理装置の構成を示す図である。
【図２】第１の実施形態に係る検証処理装置のＣＰＵの機能構成を示す図である。
【図３】第１の実施形態に係る検査対象モデルの例を示す図である。
【図４】第１の実施形態に係る検証処理装置の処理フローを示す図である。
【図５】第１の実施形態に係る検証処理装置の動作を詳細に説明するための図である。
【図６】第１の実施形態に係る検証処理装置の動作を詳細に説明するための図である。
【図７】第２の実施形態に係る検証処理装置のＣＰＵの機能構成を示す図である。
【図８】第２の実施形態に係る特定部の動作を詳細に説明するための図である。
【図９】第２の実施形態に係る特定部の動作を詳細に説明するための図である。
【図１０】第３の実施形態に係る検証処理装置のＣＰＵの機能構成を示す図である。
【図１１】第３の実施形態に係る演算部の動作を詳細に説明するための図である。
【図１２】第３の実施形態に係る演算部の動作を詳細に説明するための図である。
【発明を実施するための形態】
【００２０】
＜第１の実施形態＞
以下、第１の実施形態に係る検証処理装置について、図１〜図６を参照しながら説明する。
【００２１】
（検証処理装置の構成）
図１は、第１の実施形態に係る検証処理装置の構成を示す図である。
図２は、第１の実施形態に係る検証処理装置のＣＰＵの機能構成を示す図である。
【００２２】
図１に示すように、検証処理装置１は、ＣＰＵ１０と、メモリ１１と、ディスプレイ１２と、入力デバイス１３と、ストレージ１４とを備え、一般的なコンピュータとして構成されている。
【００２３】
メモリ１１は、いわゆる主記憶装置であって、ＣＰＵ１０がプログラムに基づいて動作するための命令及びデータが展開される。
【００２４】
ディスプレイ１２は、情報を視認可能に表示する表示デバイスであって、例えば、液晶ディスプレイや有機ＥＬディスプレイなどであってよい。
【００２５】
入力デバイス１３は、検証処理装置１の使用者の操作を受け付ける入力デバイスであって、例えば、一般的なマウス、キーボード、タッチセンサなどであってよい。
【００２６】
ストレージ１４は、いわゆる補助記憶装置であって、例えば、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）等であってよい。ストレージ１４には、例えば、検査対象とするリレー回路を示す検査対象モデルＭＯＤなどが記録される。
【００２７】
ＣＰＵ１０は、検証処理装置１の動作全体の制御を司るプロセッサである。本実施形態に係るＣＰＵ１０は、図２に示すように、処理部１００、選択部１０１及び再構築部１０２としての機能を発揮する。
【００２８】
処理部１００は、検査対象モデルＭＯＤに対してモデル検査を実施する。ここで実施されるモデル検査とは、ＢＤＤ（Binary Decision Diagram）などにより検査対象モデルが取り得る全状態を論理式で表現することで、不安全事象に至る条件（パターン）を網羅的に検査するものである。本実施形態において実施されるモデル検査のアルゴリズムは、一般によく知られているものであってよい。
検査対象モデルＭＯＤとは、検査対象とするシステム（例えば、鉄道の保安システム）の動作ロジックが規定された情報であり、モデル検査では、ここで規定された動作ロジックにしたがって、システムの網羅的な動作検証が実施される。
また、不安全事象とは、検査対象とするシステムがいかなる場合であっても遷移してはならない状態として定義される状態である。例えば、鉄道の保安システムにおいては、“車両の自動運転制御中に非常ブレーキが効かない”状態、“車両が踏切を走行しているにもかかわらず遮断機が下りていない”状態などが不安全事象として定義される。
【００２９】
選択部１０１は、処理部１００によって実施されたモデル検査の結果に基づき、不安全事象に至る過程で状態が変化した要素の中から一つの要素を選択する。「要素」とは、検査対象モデルＭＯＤの動作ロジック及び状態を規定する最小単位であって、例えば、保安システムのリレー回路に実装されている信号線や回路素子などである。後述するように、「要素」には、現実のリレー回路に実装されている信号線や回路素子の動作そのものを模擬するものの他、不具合発生時におけるリレー回路の動作を模擬するために規定された仮想の素子をも含む。
【００３０】
再構築部１０２は、本実施形態で実施されるモデル検査の過程において、所定の条件に従い、検査対象モデルＭＯＤを再構築する。
【００３１】
（検査対象モデルの例）
図３は、第１の実施形態に係る検査対象モデルの例を示す図である。
図３に示す検査対象モデルＭＯＤは、鉄道の保安システムを構成するリレー回路の動作ロジックを模擬する。
図３に示す配線Ｖ及び配線Ｇは、それぞれ、電源線及び接地線（グラウンド）である。また、要素Ａ１、Ａ２、・・はリレースイッチであり、通電に応じてＯＦＦ状態またはＯＮ状態に遷移する（０（ＦＡＬＳＥ）＝ＯＦＦ／１（ＴＲＵＥ）＝ＯＮ）。また、要素Ｘ１、Ｘ２、・・は、マニュアルスイッチであり、人の操作によってＯＦＦ状態またはＯＮ状態に遷移する（０＝ＯＦＦ／１＝ＯＮ）。
要素Ｅ１、Ｅ２、・・は、各信号線で発生し得る不具合（断線及び混触）を再現するために規定された仮想素子である。例えば、配線Ｖ（電源線）と要素Ｘ１（マニュアルスイッチ）とを結ぶ信号線上には、要素Ｅ１が規定されている。この要素Ｅ１は、当該信号線における不具合の一つとして“断線の発生”を再現する（０＝断線／１＝非断線）。また、要素Ｘ１と要素Ｘ２（マニュアルスイッチ）とを結ぶ信号線上には、２つの要素Ｅ２、Ｅ３が規定されている。このうち、要素Ｅ２は、当該信号線における“断線の発生”を再現し（０＝断線／１＝非断線）、要素Ｅ３は、当該信号線における“電源線との混触の発生”を再現する（０＝非混触／１＝混触）。同様に、要素Ｘ２と要素Ａ１（リレースイッチ）とを結ぶ信号線上には、２つの要素Ｅ４、Ｅ５が規定されている。このうち、要素Ｅ４は、当該信号線における“断線の発生”を再現し（０＝断線／１＝非断線）、要素Ｅ５は、当該信号線における“電源線との混触の発生”を再現する（０＝非混触／１＝混触）。
【００３２】
実際の検査対象モデルＭＯＤは、論理式（言語）によって記述される。例えば、要素Ａ１（リレースイッチ）に関しては、マニュアルスイッチＸ１、Ｘ２の他、各信号線に生じ得る不具合（断線、混触）を加味して、式（１）のように記述される。
【００３３】
Ａ１＝（Ｅ１＆Ｘ１＆Ｅ２＆Ｘ２＆Ｅ４）ｏｒ（Ｅ３＆Ｘ２＆Ｅ４）ｏｒ（Ｅ５）・・・（１）
【００３４】
他の要素についても同様の論理式によって記述される。
【００３５】
なお、式（１）は、要素Ａ１（リレースイッチ）自身に不具合が発生していない場合における要素Ａ１の状態遷移を規定するものである。現実には、要素Ａ１自身にも不具合が発生する可能性があるため、検査対象モデルＭＯＤは、要素Ａ１が式（１）の論理式にかかわらずＯＦＦ状態又はＯＮ状態に遷移する遷移パターンをも含む。他の要素Ａ２、Ａ３、・・等についても同様である。
また、マニュアルスイッチである要素Ｘ１、Ｘ２、・・は、人の操作に従って状態遷移する要素であるため、モデル検査においては、不具合の発生を規定する要素Ｅ１、Ｅ２、・・と同様に、あらゆるタイミングで同時多発的かつ非同期的な状態遷移が起こり得るものとして規定される。
【００３６】
（検証処理装置の処理フロー）
図４は、第１の実施形態に係る検証処理装置の処理フローを示す図である。
図５及び図６は、第１の実施形態に係る検証処理装置の動作を詳細に説明するための図である。
図４に示す処理フローは、検査対象モデルＭＯＤに対するモデル検査の一連の処理の流れを示している。
【００３７】
まず、ＣＰＵ１０の処理部１００は、検査対象モデルＭＯＤに対して通常モデル検査を行う（ステップＳ０１）。ステップＳ０１にて実施されるモデル検査について、図５に示す状態遷移図を用いて説明する。
図５に示す複数の状態ＳＴｘは、それぞれ、図３で示した検査対象モデルＭＯＤの状態を示している。検査対象モデルＭＯＤの各状態は、当該検査対象モデルＭＯＤに含まれる要素Ａ１、Ａ２、・・、Ｘ１、Ｘ２、・・、Ｅ１、Ｅ２、・・の各々の状態（０／１）の組み合わせで規定される。このうち、状態ＳＴ１は検査対象モデルＭＯＤ（即ち、保安システム）の初期状態である。処理部１００は、検査対象モデルＭＯＤで規定される論理式（式（１）参照）にしたがい、不安全事象（状態ＳＴ２）から初期状態（状態ＳＴ１）に到達する状態遷移が存在するかを網羅的に検証する。不安全事象（状態ＳＴ２）は、例えば、検査対象モデルＭＯＤに含まれる他の要素Ｓ１、Ｔ１、Ｕ１についての論理式（Ｓ１＆Ｔ１＆Ｕ１＝ＴＲＵＥ）を含む状態として規定される。
【００３８】
不安全事象（状態ＳＴ２）から初期状態（状態ＳＴ１）に到達するパス（条件）が存在する場合、処理部１００は、当該不安全事象に到達した過程において不具合が発生した要素をリストアップし、不具合リストを作成する（ステップＳ０２）。ステップＳ０２にて作成される不具合リストの例を図６に示す。
【００３９】
処理部１００は、初期状態（状態ＳＴ１）から無作為に状態遷移を繰り返した結果、不安全事象（状態ＳＴ２）に至った場合に、当該不安全事象に至った過程において状態が変化した要素（つまり、不具合が発生した要素）をリストアップする。そして、処理部１００は、図６に示すような不具合リストＬを作成する。
【００４０】
図６に例示される不具合リストでは、状態ＳＴ１から状態ＳＴ２までの各遷移ステップで状態遷移が発生した要素の一覧と、各要素が何ステップ目にどのような値に遷移したかが示される。例えば、図６に示す不具合リストＬには、初期状態から第６ステップ目の状態遷移で不安全事象（Ｓ１＆Ｔ１＆Ｕ１＝ＴＲＵＥ）に至ったことが示されている。また、不具合リストＬによれば、要素Ｘ１は、不安全事象に至る過程において、４ステップ目にＦＡＬＳＥからＴＲＵＥに遷移し、５ステップ目にＴＲＵＥからＦＡＬＳＥに遷移したことが読み取れる。
【００４１】
しかしながら、ステップＳ０２で示される不具合リストＬは、無作為な状態遷移を繰り返した結果、初期状態から不安全事象（Ｓ１＆Ｔ１＆Ｕ１＝ＴＲＵＥ）に行きつく過程においてたまたま状態遷移が起こった要素をリストアップしたものにすぎない。したがって、不具合リストＬにリストアップされた各要素には、不安全事象に至ったことに直接的に寄与していない要素が含まれることが推察される。そこで、本実施形態に係る検証処理装置１は、更に、以下のステップＳ０３〜ステップＳ０８の処理を実行する。
【００４２】
具体的には、ＣＰＵ１０の選択部１０１は、リストアップされた要素のうちの一つを選択する（ステップＳ０３）。簡単な例として、不具合リストＬにリストアップされた要素が（Ｅ１、Ｅ２、Ｅ３、Ｘ１、Ｘ２）の５つであった場合、選択部１０１は、例えば、そのうちの一つとして要素Ｅ１を選択する。
【００４３】
次に、ＣＰＵ１０の再構築部１０２は、検査対象モデルＭＯＤから、ステップＳ０３で選択された要素を除いたモデルを作成（再構築）する（ステップＳ０４）。以下、ステップＳ０４で作成されたモデルを「再構築モデル」とも記載する。例えば、ステップＳ０３で要素Ｅ１が選択されたとき、再構築部１０２は、もともとの検査対象モデルＭＯＤから要素Ｅ１を除外した再構築モデルを作成する。
【００４４】
次に、処理部１００は、ステップＳ０４で作成された再構築モデルに対し、再度のモデル検査を実施する（ステップＳ０５）。上記の例では、この再構築モデルには要素Ｅ１が含まれていない。したがって、ステップＳ０５で実施されるモデル検査では、配線Ｖ（電源線、図３参照）と要素Ｘ１（マニュアルスイッチ、図３参照）とを結ぶ信号線上における“断線の発生”は考慮されない。
【００４５】
処理部１００は、ステップＳ０５で再度実施されたモデル検査の結果を出力し、最初のモデル検査（ステップＳ０１）にて発生した不安全事象と同一の不安全事象（Ｓ１＆Ｔ１＆Ｕ１＝ＴＲＵＥ）が発生するか否かを判定する（ステップＳ０６）。
同一の不安全事象が発生しなかった場合（ステップＳ０６；ＮＯ）、ステップＳ０３で選択された要素が除外された結果、不安全事象が発生しなくなったのであるから、当該除外された要素は、不安全事象の発生に寄与する、クリティカルな要素であるといえる。したがって、この場合、再構築部１０２は、ステップＳ０３で選択された要素を検査対象モデルＭＯＤに戻す（ステップＳ０７）。
他方、同一の不安全事象が発生した場合（ステップＳ０６；ＹＥＳ）、ステップＳ０３で選択された要素が除外されたにもかかわらず、依然として不安全事象が発生したのであるから、当該除外された要素は、不安全事象の発生には寄与しない（クリティカルではない）要素といえる。このような要素は、反例解釈の際には除外されていることが望ましいから、再構築部１０２は、ステップＳ０３で選択された要素を検査対象モデルＭＯＤに戻すことなく次のステップに移行する。
【００４６】
次に、選択部１０１は、ステップＳ０２の不具合リストＬでリストアップされた全ての要素を選択したか否かを判定する（ステップＳ０８）。全ての要素が選択されていない場合（ステップＳ０８；ＮＯ）、選択部１０１はステップＳ０３に戻り、前回のステップＳ０３とは異なる要素を一つ選択する。そして、再構築部１０２及び処理部１００は、ステップＳ０４〜ステップＳ０７の処理を繰り返す。
全ての要素が選択されていた場合（ステップＳ０８；ＹＥＳ）、選択部１０１は、不具合リストＬにリストアップされた要素のうち、検査対象モデルＭＯＤに残った要素を出力する（ステップＳ０９）。
【００４７】
例えば、ステップＳ０２の不具合リストＬにリストアップされた要素（Ｅ１、Ｅ２、Ｅ３、Ｘ１、Ｘ２）のうち、ステップＳ０３からステップＳ０８までの処理を経て、要素（Ｅ１、Ｅ２、Ｘ１）がクリティカルな要素ではなく除外されたとすると、残った要素（Ｅ３、Ｘ２）がステップＳ０９で出力される。
【００４８】
（作用、効果）
以上の通り、第１の実施形態に係る検証処理装置１は、検査対象モデルＭＯＤに対してモデル検査を実施する処理部１００と、モデル検査の結果に基づき、不安全事象に至る過程で状態が変化した要素の中から一つの要素を選択する選択部１０１と、を備える。そして、処理部１００は、選択部１０１によって選択された一つの要素を除外してなる検査対象モデル（再構築モデル）に対して再度のモデル検査を実施する。
このようにすることで、モデル検査で示された複数の要素（不具合）のうち、不安全事象の直接的な要因となる不具合のみを抽出することができる（図４のステップＳ０９参照）。したがって、検査対象モデルＭＯＤの検証者は、不安全事象の発生に寄与するクリティカルな要素のみを含む反例について反例解釈を行えばよいので、反例解釈の作業負担を軽減することができる。
【００４９】
また、第１の実施形態に係る処理部１００は、再度のモデル検査で不安全事象に至らなかった場合に、選択された一つの要素を検査対象モデルＭＯＤに戻し、当該一つの要素とは異なる要素を検査対象モデルＭＯＤから除外してなる検査対象モデルに対して再度のモデル検査を実施する。
また、処理部１００は、再度のモデル検査で不安全事象に至った場合に、選択された一つの要素を検査対象モデルＭＯＤに戻すことなく、当該一つの要素とは異なる要素を検査対象モデルＭＯＤから除外してなる検査対象モデルに対して再度のモデル検査を実施する。
このようにすることで、最初の不具合リストＬでリストアップされた要素（不具合）の候補のうち、不安全事象に関してクリティカルな要素のみを抽出する作業を自動化することができるので、検証者の負担を一層軽減することができる。
【００５０】
（第１の実施形態の変形例）
以上、第１の実施形態に係る検証処理装置１について詳細に説明したが、検証処理装置１の具体的な態様は、上述のものに限定されることはなく、要旨を逸脱しない範囲内において種々の設計変更等を加えることは可能である。例えば、第１の実施形態の変形例に係る処理部１００は、更に、以下の機能を有してもよい。
【００５１】
第１の実施形態の変形例に係る処理部１００は、検査対象モデルＭＯＤに対する最初のモデル検査（図４のステップＳ０１）において特定された、不安全事象に至るまでの遷移ステップ数以下の範囲で、再度のモデル検査（図４のステップＳ０５）を実施する。
例えば、図６に示す不具合リストＬの例では、最初のモデル検査の結果、検査対象モデルＭＯＤは６回の状態遷移（遷移ステップ数＝６）を経て不安全事象（Ｓ１＆Ｔ１＆Ｕ１＝ＴＲＵＥ）に至ることが判明している。なお、最初のモデル検査では、不安全事象に至るあらゆる状態遷移の可能性を網羅する目的で、遷移ステップ数に特段の上限を設けることなく実施される。
ここで、要素数が削減された検査対象モデルＭＯＤに対する再度のモデル検査（図４のステップＳ０５）において不安全事象に至るまでの遷移ステップ数が、要素数を削減する前の検査対象モデルＭＯＤに対するモデル検査（図４のステップＳ０１）において不安全事象に至るまでの遷移ステップ数よりも大きくなることはない。そこで、図４のステップＳ０５で実施される再度のモデル検査においては、図４のステップＳ０１で実施されたモデル検査で判明した遷移ステップ数を上限として定めたうえで、実施するようにしてもよい。このようにすることで、検査対象モデルＭＯＤに対する２回目以降のモデル検査で検証される遷移ステップ数に制限がかかるため、２回目以降のモデル検査に要する処理負荷、処理時間を低減することができる。
【００５２】
＜第２の実施形態＞
次に、第２の実施形態に係る検証処理装置について、図７〜図９を参照しながら説明する。
【００５３】
（検証処理装置の構成）
図７は、第２の実施形態に係る検証処理装置のＣＰＵの機能構成を示す図である。
図７に示すように、第２の実施形態に係るＣＰＵ１０は、更に、特定部１０３としての機能を発揮する。
特定部１０３は、再度のモデル検査の結果に基づいて抽出された要素（図４のステップＳ０９参照）から不安全事象の定義に含まれる要素までの最短パスを特定する。
特定部１０３による処理は、例えば、図４に示す一連の処理の完了後、自動的に実行される態様であってよい。
【００５４】
（最短パス特定部の処理）
図８〜図９は、第２の実施形態に係る最短パス特定部の動作を詳細に説明するための図である。
【００５５】
図４に示す処理フローの結果、不安全事象に至るクリティカルな要素として要素（Ｅ３、Ｘ２）が抽出されたとする（図４のステップＳ０９）。この場合、最短パス特定部１０３は、続いて、図８に示すように、抽出された要素Ｅ３、Ｘ２のそれぞれで起きた状態遷移（不具合）が、不安全事象の定義に含まれる各要素（要素Ｓ１、Ｔ１、Ｕ１）のそれぞれに状態遷移を起こさせるまでの最短パスを特定する。
【００５６】
より具体的に説明すると、図９に示すように、検査対象モデルＭＯＤを規定するロジックシート（論理式の集合）を参照して上述の最短パスを特定する。ここで、図９は、要素Ｘ２で起きた状態遷移が要素Ｓ１に状態遷移を起こさせるまでの最短パスを特定する処理の例を示している。
図９に示すように、まず、最短パス特定部１０３は、ロジックシートを参照し、右辺に要素Ｘ２を含む論理式を特定する。ここで特定された論理式ＬＣ１、ＬＣ２によれば、要素Ｘ２の状態遷移の影響を受ける要素として、要素Ｂ１及び要素Ｂ３が特定される（ステップＳ１１）。
次に、最短パス特定部１０３は、ロジックシートを参照し、右辺に要素Ｂ１を含む論理式を特定する（ステップＳ１２）。ここで特定された論理式ＬＣ３によれば、要素Ｂ１の状態遷移の影響を受ける要素として、要素Ｃ１が特定される（ステップＳ１３）。同様に、最短パス特定部１０３は、ロジックシートを参照し、右辺に要素Ｂ３を含む論理式を特定する（ステップＳ１４）。ここで特定された論理式ＬＣ３によれば、要素Ｂ３の状態遷移の影響を受ける要素として、ステップＳ１３で特定した要素と同一の要素Ｃ１が特定される（ステップＳ１５）。
最短パス特定部１０３は、以上のステップＳ１１からステップＳ１５までの処理を、要素Ｓ１に到達するまで繰り返し実行する。これにより、要素Ｘ２から要素Ｓ１までの最短パスが特定される。
同様に、最短パス特定部１０３は、要素Ｘ２から要素Ｔ１までの最短パス、要素Ｘ２から要素Ｕ１までの最短パス、要素Ｅ３から要素Ｓ１までの最短パス、要素Ｅ３から要素Ｔ１までの最短パス、及び、要素Ｅ３から要素Ｕ１までの最短パスを特定する。
【００５７】
（作用、効果）
以上の通り、第２の実施形態に係る検証処理装置１によれば、不安全事象を引き起こすクリティカルな不具合（要素）から実際に不安全事象に至るまでの最短パスを自動的に特定することができる。また、第１の実施形態で得られる効果により、最短パス特定部１０３によって特定される最短パスはいずれも不安全事象に直結する最短パス（クリティカルパス）のみとなり、不安全事象の発生に寄与しない要素からの最短パスは含まれない。これにより、検証者は、最短パス特定部１０３によって特定されたクリティカルパスについて対策を検討すればよいので、反例検証に要する作業負担を一層軽減することができる。
【００５８】
第２の実施形態の変形例に係る検証処理装置１は、更に、リレー回路で発生した不具合が上記クリティカルパスを伝搬する様子を、別途用意された回路図（図３参照）上でアニメーション表示する機能を有していてもよい。これにより、検証者は、不安全事象が発生する過程をより直感的に理解することができる。
【００５９】
＜第３の実施形態＞
次に、第３の実施形態に係る検証処理装置について、図１０〜図１２を参照しながら説明する。
【００６０】
（検証処理装置の構成）
図１０は、第３の実施形態に係る検証処理装置のＣＰＵの機能構成を示す図である。
図１０に示すように、第３の実施形態に係るＣＰＵ１０は、更に、演算部１０４としての機能を発揮する。
演算部１０４は、要素Ｘ１、Ｘ２、・・Ｅ１、Ｅ２、・・Ａ１、Ａ２、・・ごとに事前に規定された不具合発生確率λに基づいて、検査対象モデルＭＯＤが初期状態から不安全事象に至る確率（到達確率）を演算する。不具合発生確率λは、単位時間（例えば１時間以内）に各要素で不具合が発生する確率である。このような不具合発生確率λは、過去の運用実績やシミュレーションなどによって、要素別に事前に特定されているものとする。
【００６１】
（演算部の処理）
図１１〜図１２は、第３の実施形態に係る演算部の動作を詳細に説明するための図である。
図１１は、検査対象モデルＭＯＤの要素別に規定される故障モデルの例を示している。図１１は、信号線で起こる不具合の一つである“混触の発生”を示す故障モデルである。図１１に示す故障モデルによれば、信号線は、混触が発生していない状態（False）から「１−λ」の確率で同状態（False）に留まり、「λ」の確率で混触が発生した状態（True）に遷移する。そして、いったん混触が発生した後は、常に（１の確率で）同状態（True）に留まり続ける。なお、図示を省略するが、信号線における“断線の発生”についても個別に故障モデルが規定される。また、マニュアルスイッチである要素Ｘ１についての故障モデル、及び、リレースイッチである要素Ａ１についての故障モデル等も同様に規定されている。
【００６２】
図１２は、演算部１０４の処理を具体的に説明するための図である。本実施形態に係る演算部１０４は、処理部１００によって作成された不具合リストＬ（図６）が作成された後（図４のステップＳ０２の後）、当該不具合リストＬに示される不安全事象の発生に至る確率を演算する。
具体的には、演算部１０４は、不具合リストＬに示される１回目の状態遷移が起きる確率（状態遷移確率λ１）を演算する。ここで、演算部１０４は、１回目の状態遷移で変化した要素の故障モデルを用いて状態遷移確率λ１を演算する（図１１参照）。同様に、演算部１０４は、不具合リストＬに示される２回目の状態遷移が起きる確率（状態遷移確率λ２）を演算する。ここで、演算部１０４は、２回目の状態遷移で変化した要素の故障モデルを用いて状態遷移確率λ２を演算する。以下、同様にして、不安全事象（状態ＳＴ２）に至るまでの各状態遷移確率λ３、λ４、・・、λ６を演算する。そして、演算部１０４は、不具合リストＬで示された状態遷移が起こり得る確率、即ち、初期状態（状態ＳＴ１）から不安全事象（状態ＳＴ２）に至る確率（λ１×λ２×・・×λ６）を演算する。
【００６３】
（作用、効果）
以上の通り、第３の実施形態に係る検証処理装置１は、要素ごとに規定された不具合発生確率λに基づいて、検査対象モデルＭＯＤが初期状態から不安全事象に至る確率を演算する演算部１０４を更に備える。
これにより、検査対象モデルＭＯＤに対する最初のモデル検査（図４のステップＳ０１）の結果として不具合リストＬが作成された場合に、その不安全事象に至るすべての確率の総和を求めることができる。そして、その確率に応じて、反例解釈及び対策の優先度を適切に定めることができる。例えば、図４のステップＳ０２で作成された不具合リストに示される状態遷移の発生確率が極めて低い場合（所定の判定閾値に満たない場合）には、図４のステップＳ０３以降の処理を省略し、直ちに別の不具合リストＬについての絞り込みや反例検証に移行するという判断を下すことができる。
以上より、検査対象モデルＭＯＤの反例解釈の作業について、一層の効率化を図ることができる。
【００６４】
上述の第１〜第３の実施形態において、上述したＣＰＵ１０の各種処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって上記各種処理が行われる。また、コンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
【００６５】
上記プログラムは、上述した機能の一部を実現するためのものであってもよい。更に、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【００６６】
以上のとおり、本発明に係るいくつかの実施形態を説明したが、これら全ての実施形態は、例として提示したものであり、発明の範囲を限定することを意図していない。これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これらの実施形態及びその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６７】
１  検証処理装置
１０  ＣＰＵ
１００  処理部
１０１  選択部
１０２  再構築部
１０３  特定部
１０４  演算部
１１  メモリ
１２  ディスプレイ
１３  入力デバイス
１４  ストレージ
ＭＯＤ  検査対象モデル
Ｌ  不具合リスト
【図１】
2020071759.tif 000003
【図２】
2020071759.tif 000004
【図３】
2020071759.tif 000005
【図４】
2020071759.tif 000006
【図５】
2020071759.tif 000007
【図６】
2020071759.tif 000008
【図７】
2020071759.tif 000009
【図８】
2020071759.tif 000010
【図９】
2020071759.tif 000011
【図１０】
2020071759.tif 000012
【図１１】
2020071759.tif 000013
【図１２】
2020071759.tif 000014