(57)【要約】【課題】複雑なモデルを、全ての対策、ハザードを抜けなく考慮して作成し、複雑なモデルの作成を自動化することで、検査コストの低減を図る。【解決手段】  固有ハザード定義と一般ハザード定義を含むハザード定義と、一般対策定義と最終対策定義を含む対策定義とを有するイベント定義リストを蓄積する蓄積手段と、前記イベント定義リストから、ハザード及び対策をイベントとする状態モデルを生成する生成手段と、前記状態モデルを出力する出力手段とを有することを特徴とする対策網羅性検査装置である。この対策網羅性検査装置の出力する状態モデルにより、対策漏れの有無を容易に発見できる。【選択図】図１
2010244139.tif 000002
【特許請求の範囲】
【請求項１】
固有ハザード定義と一般ハザード定義を含むハザード定義と、一般対策定義と最終対策定義を含む対策定義とを有するイベント定義リストを蓄積する蓄積手段と、
前記イベント定義リストから、ハザード及び対策をイベントとする状態モデルを生成する生成手段と、
前記状態モデルを出力する出力手段と
を有することを特徴とする対策網羅性検査装置。
【請求項２】
前記生成手段は、
初期状態を生成し、
イベント定義リスト固有ハザード定義を検索し、見つかった場合、
前記初期状態からハザードをイベントとする遷移を生成し、遷移先の状態であるリスク状態を生成し、
生成された個々のリスク状態について、そのリスク状態への遷移を起こすハザードに対応する一般対策定義を検索し、見つかった場合、更に一般対策定義の対策に対応する最終対策定義を検査し、見つかった場合、そのリスク状態から、最終対策をイベントとし、前記初期状態に向かう遷移を生成し、一方、最終対策定義が見つからなかった場合は前記リスク状態から、前記見つかった一般対策定義に対応する対策をイベントとする遷移を生成し、この遷移先の状態である対策状態を生成し、
生成された個々の対策状態について、その対策状態への遷移を起こすイベントに対応する一般対策定義に記述された対策に対応する一般ハザード定義を検索し、見つかった場合、前記対策状態から、見つかった一般ハザード定義に対応するハザードをイベントとする遷移を生成し、遷移先の状態であるリスク状態を生成する
ことにより前記状態モデルの生成を行う
ことを特徴とする請求項１に記載の対策網羅性検査装置。
【請求項３】
前記対策網羅性検査装置は、
前記状態モデルに基づいて、デッドロック解析を実施し、デッドロックがあれば反例を出力手段に送り、デッドロックがなければ反例が存在しないことを示す情報を出力手段４０に送る検査手段をさらに有する
ことを特徴とする、請求項１又は２に記載の対策網羅性検査装置。
【請求項４】
前記対策網羅性検査装置は、
前記イベント定義リストに含まれるハザード及び対策のそれぞれの意味内容を記述したイベント意味リストを蓄積する第２の蓄積手段と、
前記イベント意味リストを参照して、前記状態モデルのイベントのそれぞれについて意味内容が付加された意味付き状態モデルを生成する第２の生成手段と
をさらに有する
ことを特徴とする、請求項１又は２に記載の対策網羅性検査装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対策網羅性検査装置に関し、より詳しくは、セキュリティ設計や安全設計の対策漏れを網羅的に検査するための装置であって、セキュリティや安全に対する障害となるハザードとその対策をリストとして入力することで、対策漏れが容易に発見可能な状態モデルを出力する対策網羅性検査装置に関する。
【背景技術】
【０００２】
近年、情報システムにおけるセキュリティ設計、制御システムにおける安全設計の重要性はますます高まっている。一方、セキュリティ設計と安全設計では対策のインテグリティが重要であり、多くの対策中、たった一つが不十分である場合や、また、対策の抜けがある場合、実施済みの対策が無意味になってしまう。このような問題の発生を防ぐため、対策の抜け・漏れを網羅的に検査することが重要となっている。
【０００３】
開発現場の現状では、セキュリティ設計や安全設計は人手による作業が主流であり、そのため複雑なシステムでは対策十分性の検査に多くのコストがかかってしまう。また、人手による作業のため見落としなどの人為的ミスが発生しうる。このような背景から、セキュリティ設計や安全設計における対策十分性の検査作業を効率化し、かつ、見落としなどの人為的ミスを低減することが課題となっている。
【０００４】
上記検査作業に関する従来手法として、FT分析(Fault Tree Analysis)、FMEA (Failure Mode and Effect Analysis)など図表を用いて分析する手法が知られている。しかし、これらの手法では、人手による作図、作表が必要であり、人為的なミスが発生しうる。また、しばしば図や表が複雑になり、全体の理解が困難となる。この結果、さらに対策の抜け漏れを招くという問題が発生している。さらに、作図、作表には多大なコストがかかる。たとえば、FMEAでは「部品１点１点から故障モードをブレイン・ストーミングで洗い出すと、部品が数百点ある場合はシステム全体で１ヶ月以上かかる」との報告もある。
【０００５】
従来の手法における作図の例を示す。図１５は現実のコピープロテクションシステムの一部についてハザードと対策を図的に表現したものである。図１５中、符号「ｘ」で記した部分は対策の欠落を想定している個所である。また、実際のシステムの全体を記述した場合より数よりも大規模となり、人手での作業では整合性や抜け漏れを廃して書くことは困難であり、かつ、作業コストが高い。
【０００６】
システムの検査作業に関する従来の技術として、セキュリティポリシー不整合解消支援システムが提案されている（例えば、特許文献１）。この従来技術は、ファイアーウォールの設定とセキュリティポリシーの設定を比較し、通過するパケット種についての両者の無矛盾性を自動検査、さらに矛盾発生時の重篤度を数値で算出する技術である。
【０００７】
また、別の従来の技術として、情報セキュリティリスク分析システムが提案されている（例えば、特許文献２）。この技術は、情報資産とその管理インフラについての情報を管理し、管理者から得たチェックリストに対して回答を分析することで脆弱性を判定する技術である。
【０００８】
また、さらに別の従来の技術として、管理対象の情報システムの規則違反をチェックするポリシ型管理装置が提案されている（例えば、特許文献３）。この従来技術では、管理対象の情報システムについて、規則違反が発生しているか否かが判断される。例えば、検査規則として、正しくない状態ないし不正な状態を示す条件を記述したものを利用する場合、ポリシ記述の作用を適用した後の情報モデルが、検査規則で示された不正な状態の条件を満たすときには、規則違反が発生していると判断する。検査の結果、規則違反が発生した、つまり、情報モデルに問題がある場合には、ポリシ記述の適用に問題がある旨を示す文字列を出力する。規則違反がない場合には、ポリシ記述の命令節に定義された作用を管理対象システムに対して適用する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００７−２０２０７９号公開公報
【特許文献２】特開２００８−１０２８５９号公開公報
【特許文献３】特開２００７−４１６７７号公開公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
セキュリティ設計や安全設計の対策漏れを網羅的に検査する場合、上述の従来の人手による手法では、人為的なミスが発生しうるし、また、しばしば図や表が複雑になり全体の理解が困難となり、その結果、さらに対策の抜け漏れを招くという問題がある。さらに、作図、作表には多大なコストがかかるという問題もある。
【００１１】
また、上述のセキュリティポリシー不整合解消支援システムのような従来技術は、パケット種の矛盾についての検出は可能であるが、対策とハザード整合関係、抜け漏れを検出することは出来ない。
【００１２】
また、上述の情報セキュリティリスク分析システムのような従来技術は、対策とハザードの相互関係に根ざしたモデルから整合や抜け漏れを検出するものではない。
【００１３】
また、上述のポリシ型管理装置のような従来技術は、管理対象システムを実行中に監視するものであり、管理対象システムの実行前に未然に設計上の問題を判断するものではない。
【００１４】
本発明の目的は、複雑なモデルを、全ての対策、ハザードを抜けなく考慮して作成し、複雑なモデルの作成を自動化することで、検査コストの低減を図ることが可能な技術を提供することにある。
【課題を解決するための手段】
【００１５】
上記課題を解決するための手段として、本発明は以下の特徴を有する。  
本発明は、対策網羅性検査装置として提案される。この対策網羅性検査装置は、固有ハザード定義と一般ハザード定義を含むハザード定義と、一般対策定義と最終対策定義を含む対策定義とを有するイベント定義リストを蓄積する蓄積手段と、前記イベント定義リストから、ハザード及び対策をイベントとする状態モデルを生成する生成手段と、前記状態モデルを出力する出力手段とを有することを特徴としている。
【発明の効果】
【００１６】
本発明によれば、複雑なモデルを、全ての対策、ハザードを抜けなく考慮して作成することが可能となるとともに、複雑なモデルの作成を自動化することで検査コストの低減を図ることができる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照しながら本発明の実施の形態について説明する。  
［１．用語の定義］
まず、本発明に関する用語の定義を以下に述べる。
【００１８】
［１．１．セキュリティ設計］
「セキュリティ設計」とは、システムが扱う資産、すなわち価値のあるデータや計算リソース、アクセス権などを不当に奪われないための仕組みを設計することをいう。この定義中の「仕組み」には、ソフトウェア、ハードウェアのほか、法による規制など人的社会的アプローチも含まれる。
【００１９】
［１．２．安全設計］
「安全設計」とは、システムの安全を実現ための仕組みを設計することをいう。この定義中にいう「仕組み」には、ソフトウェア、ハードウェアのほか、法による規制など人的社会的アプローチも含まれる。
【００２０】
［１．３．対策］
「対策」とは、セキュリティ設計、安全設計の仕組みを構成する個々の要素のことをいう。「対策」は、例えば、メールへの電子署名、重要データの暗号化、二重化、などである。
【００２１】
［１．４．ハザード］
「ハザード」とは、システムのセキュリティや安全を脅かす個々の要素のことをいう。「ハザード」は、例えば、復号鍵の不正入手、センサ故障である。
【００２２】
［２．第１の実施の形態］
まず、本発明の第１の実施の形態について述べる。第１の実施の形態は、対策網羅性検査装置として提案される。
【００２３】
［２．１．装置の構成］
対策網羅性検査装置（以下、「検査装置」と略する）は、セキュリティ設計や安全設計における対策網羅性の検査を補助するための装置であって、セキュリティや安全に対する障害となるハザードとその対策を入力することで、対策漏れを発見可能とする状態モデルを出力する装置である。
【００２４】
検査装置は、例えばコンピュータ、ワークステーションなどの情報処理装置によって実現される装置である。この情報処理装置は、演算処理装置（ＣＰＵ）、主メモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、入出力装置（Ｉ／Ｏ）、及び必要な場合にはハードディスク装置等の外部記憶装置を具備している装置である。
【００２５】
図１に、第１の実施の形態にかかる検査装置の機能ブロック図を掲げる。検査装置１Ａは、入力部１０と、入力部１０に接続されたイベント定義リスト蓄積部２０と、イベント定義リスト蓄積部２０に接続された状態モデル生成部３０と、状態モデル生成部３０に接続された出力部４０とを有する。なお、ここで「接続」とは、物理的に結合されている状態に限られず、データの受け渡しが可能である状態を含む意味である。また、上記の各構成要素はＣＰＵ及びＣＰＵによって実行されるプログラムによって実現される機能に対応するものであり、実際に各構成要素に対応するハードウェアを検査装置１Ａが備えている必要はない。
【００２６】
以下に上記の検査装置１Ａの構成要素のそれぞれを説明する。
［２．１．１．入力部］
入力部１０は、利用者からのイベント定義リスト１００の入力を受付け、イベント定義リスト蓄積部２０に受け渡す機能を有する。入力部１０は、例えば、イベント定義リスト入力用ＧＵＩ（グラフィカル・ユーザ・インターフェイス）である。
【００２７】
［２．１．２．イベント定義リスト蓄積部］
本発明の蓄積手段に相当するイベント定義リスト蓄積部２０は、入力部１０から受け取ったイベント定義リスト１００を蓄積し、状態モデル生成部３０からの検索要求により、必要なイベント定義を検索し、結果を受け渡す機能を有する。
【００２８】
［２．１．３．状態モデル生成部］
本発明の生成手段に相当する状態モデル生成部３０は、イベント定義リスト蓄積部２０から検索したイベント定義から状態モデルを生成し、出力部４０に渡す機能を有する。状態モデルの生成処理については後述する。
【００２９】
［２．１．４．出力部］
本発明の出力手段に相当する出力部４０は、状態モデル生成部３０から渡された状態モデルを出力する機能を有する。出力形態はどのようなものでもかまわない。画面表示、印刷物の作成、その他どのような出力形態であってもかまわない。
【００３０】
［２．２．イベント定義リスト（入力データ）］
次に、検査装置１Ａに入力されるイベント定義リスト１００について説明する。図２は、イベント定義リスト１００のデータ構造例を示す図である。
【００３１】
イベント定義リスト１００は、ハザード定義１１０と対策定義１２０とを含む。イベント定義リスト１００は、複数のハザード定義と対策定義の並びである。これら定義の出現（記載）順序は任意でよい。
【００３２】
ハザード定義１１０は固有ハザード定義１１１と一般ハザード定義１１２とを有する。
固有ハザード定義１１１は、システムに存在するもっとも基本的なハザードを定義する。例えば、「データの不正コピー」や「データの不正視聴」である。イベント定義リスト１００における固有ハザード定義であることが識別可能に表現される。例えば、固有的であることのマーク(e.g. Normal)をハザードに付記することによって行われる。データ表現の例は、例えば「Normal->h1」のように表記する。この例ではあるハザード「h1」が固有ハザードであることを表現するものである。
【００３３】
一般ハザード定義１１２は、特定の対策に対するハザードを定義するものである。例としては、「ＩＣカードの不正入手」は、ＩＣカードという対策に対するハザードであって、一般ハザード定義に相当する。イベント定義リスト１００における一般ハザード定義１１２の表現方法は、対策と対応付けてハザードを列挙する。本実施の形態における一般ハザード定義１１２のデータ表現は、例えば「 !a1={h2,h3} 」のように表記する。この表記例では対策「a1」のハザードが「h2」と「h3」であることを表現している。
【００３４】
対策定義１２０は、一般対策定義１２１と最終対策定義１２２とから構成される。
一般対策定義１２１は、特定のハザードに対する対策を定義するものである。例としては、「ＩＣカードによる機器認証」であって、これはＩＣカードの不正入手というハザードに対する対策である。一般対策定義１２１の表現方法は、 ハザードと対応付けて対策を列挙する。一般対策定義１２１のデータ表現の例は、例えば「 !h1=｛a1, a2}」のようになる。この例ではハザード「h1」に対する対策が「a1」と「a2」であることが表現されている。
【００３５】
最終対策定義１２２は、ある対策が、その対策に対してハザードが存在しない完璧な対策とみなすことができるか、又は、存在するハザードを看過するような対策であることを定義するものである。最終対策定義１２２の例としては、「著作権法三十条2項による法規制」などである。最終対策定義１２２の表現方法は、最終対策であることのマーク(e.g. Normal)などを対策に付記する。最終対策定義１２２のデータ表現の例は、「a3->Normal」のようになる。この例では対策が「a3」が最終対策であることを表現している。
図３に、イベント定義リスト１００の記述例を示す。
【００３６】
［２．３．検査装置の動作］
次に、上記検査装置１Ａの動作について説明する。
図４は、検査装置１Ａの動作例を示したフローチャートである。以下、図３を参照しながら検査装置１Ａの動作例を説明する。
【００３７】
まず、利用者によってベント定義リスト１００が入力部１０に入力される（Ｓ１１）。
利用者によるイベント定義リスト１００の入力が完了すると、入力部１０からイベント定義リスト蓄積部２０に送られ、蓄積される（Ｓ１２）。次に、状態モデル生成部３０はイベント定義リスト蓄積部２０のに蓄積されたイベント定義リスト１００を参照し、状態モデルを生成する（Ｓ１３）。なお、イベント定義リストから状態モデルを生成する方法については後述する。
【００３８】
次に、状態モデル生成部３０で生成された状態モデルは、出力部４０に送られる（Ｓ１４）。最後に、状態モデル生成部３０から受け取った状態モデルは出力部４０により出力される。図５に、出力部４０により出力される状態モデルの状態遷移図の例を示す。図５に示した状態モデルは、図３に示したイベント定義リスト１００が検査装置１Ａに入力された場合に出力される状態モデルである。図５中、領域５００に含まれる状態は、ハザードに対して最終対策がなされない、対策漏れの状態である。対策漏れの状態はデッドロックとして把握される。かかる部分に着目することにより、利用者は検査装置１Ａから出力される状態モデルにより、対策漏れが発生しているか否かを把握することが出来る。なお、図５に示した例は単純な例であるため対策漏れの存在が自明である。しかし、状態モデルが複雑な場合には、対策漏れの存在の把握が難しいこともある。そのような場合には、検査装置１Ａから出力された状態モデルを入力として、モデル検査器（ＳＰＩＮ，ＵＰＰＡＬなど）によるモデル検査を行いデッドロック検出を行うことが有効になる。
【００３９】
［２．３．１．状態モデル生成処理］
次に、状態モデル生成部３０によって行われる状態モデルの生成（Ｓ１３）の処理内容について説明する。
【００４０】
図６，図７、図８は、状態モデル生成部３０で実行される状態モデル生成アルゴリズムを示すフローチャートである。図７は、図６に続くフローチャート、図８は、図７とは別の図６に続くフローチャートである。
【００４１】
まず、状態モデル生成部３０は状態モデルにおける初期状態を生成する（Ｓ６１１）。次に、状態モデル生成部３０は、イベント定義リスト蓄積部２０のイベント定義リスト１００からイベント（ハザード又は対策）を抽出する（Ｓ６１２）。次に、状態モデル生成部３０は抽出したイベントが固有ハザード定義であるか否かを判定する（Ｓ６１３）。そのイベントが固有ハザード定義であると判定した場合（Ｓ６１３、Ｙｅｓ）、状態モデル生成部３０は、初期状態からそのハザードをイベントとする遷移を生成する（Ｓ６１４）。さらに、状態モデル生成部３０はこの遷移先の状態（リスク状態)を生成する（Ｓ６１５）。一方、前述のＳ６１３の判定において、そのイベントが固有ハザード定義でないと判定した場合（Ｓ６１３、Ｎｏ）、状態モデル生成部３０はステップＳ６１４、ステップＳ６１５の処理を行うことなく後述するステップＳ６１６に進む。
【００４２】
ステップＳ６１６において、状態モデル生成部３０はイベント定義リスト１００中の全ての固有ハザード定義を調べたか否かを判定する（Ｓ６１６）。全て調べていないと判定した場合（Ｓ６１６、Ｎｏ）は、状態モデル生成部３０はステップＳ６１２に戻り、未処理の固有ハザード定義の抽出を行う。一方、全ての固有ハザード定義を処理したと判定した場合（Ｓ６１６、Ｙｅｓ）は、状態モデル生成部３０はステップＳ６１５で新たに生成された個々のリスク状態を調べる（Ｓ６１７）。
【００４３】
ステップＳ６１７において、状態モデル生成部３０はイベント定義リスト１００を検索し、そのリスク状態への遷移を発生させるハザードに対応する一般対策定義あるか否かを判定する（Ｓ６１８）。そのような一般対策定義がないと判定した場合（Ｓ６１８，Ｎｏ）、そのまま後述するステップＳ６２１に進む。一方、そのような一般対策定義があると判定した場合（Ｓ６１８，Ｙｅｓ）、状態モデル生成部３０はその一般対策定義に対応する最終対策定義がイベント定義リスト１００にあるか否かを判定する（Ｓ６１９）。
【００４４】
ステップＳ６１９において一般対策定義に対応する最終対策定義がイベント定義リスト１００にあると判定した場合（Ｓ６１９、Ｙｅｓ）、状態モデル生成部３０はそのリスク状態から、その最終対策をイベントとし初期状態に向かう遷移を生成する（Ｓ６２０）。その後、状態モデル生成部３０は全てのリスク状態を調べたか否かを判定する（Ｓ６２１）。ステップＳ６２１において全てのリスク状態を調べていないと判定した場合（Ｓ６２１，Ｎｏ）、ステップＳ６１７に戻り、未だ調べていないリスク状態についてステップＳ６１７以降の処理を行う。
【００４５】
ステップＳ６１９において、その一般対策定義に対応する最終対策定義がイベント定義リスト１００にないと判定した場合（Ｓ６１９、Ｎｏ）、状態モデル生成部３０は、そのリスク状態から、対応する一般対策をイベントとする遷移を生成する（図７，Ｓ６２２）。さらに、状態モデル生成部３０は、ステップＳ６２２で生成した遷移先に遷移先の状態(対策状態)を生成する（Ｓ６２３）。その後、前述したステップＳ６２１に進む。
【００４６】
さて、前述したステップＳ６２１において、全てのリスク状態を調べたと判定した場合（Ｓ６２１、Ｙｅｓ）、状態モデル生成部３０は、ステップＳ６２３で新たに生成された個々の対策状態を調べる（図８，Ｓ６２４）。状態モデル生成部３０は、調べた対策状態について、その対策に対応する一般ハザード定義がイベント定義リスト１００にあるか否かを判定する（Ｓ６２５）。そのような一般ハザード定義がないと判定した場合（Ｓ６２５，Ｎｏ）、状態モデル生成部３０は、後述するステップＳ６２８にそのまま進む。一方、そのような一般ハザード定義があると判定した場合（Ｓ６２５，Ｙｅｓ）、状態モデル生成部３０は、その対策状態から、その一般ハザード定義に対応するハザードをイベントとする遷移を生成する（Ｓ６２６）。さらに、状態モデル生成部３０は、その遷移先の状態（リスク状態）を生成する（Ｓ６２７）。
【００４７】
ステップＳ６２７の後、状態モデル生成部３０は、イベント定義リスト１００中の全ての一般ハザード定義を調べたか否かを判定する（Ｓ６２８）。全ての一般ハザード定義を調べていないと判定した場合（Ｓ６２８、Ｎｏ）、状態モデル生成部３０は、ステップＳ６２５に戻り、未だ調べていない一般ハザード定義をイベント定義リスト１００から抽出し、それについてステップＳ６２５を実行する。一方、ステップＳ６２８において、全ての一般ハザード定義を調べたと判定した場合（Ｓ６２８、Ｙｅｓ）、状態モデル生成部３０は、全ての対策状態を調べたか否かを判定する（Ｓ６２９）。全ての対策状態を調べていないと判定した場合（Ｓ６２９、Ｎｏ）、状態モデル生成部３０は、ステップＳ６２４に戻り、他の対策状態についてステップＳ６２４以降の処理を実行する。一方、全ての対策状態を調べたと判定した場合（Ｓ６２９、Ｙｅｓ）、状態モデル生成部３０は、状態モデルの生成処理を完了する。
以上で、検査装置１Ａの動作の説明を終了する。
【００４８】
［２．４．利点］
第１の実施の形態にかかる検査装置１Ａの利点を以下に述べる。
（１）複雑なモデルであっても、全ての対策、ハザードを抜けなく考慮して作成することができる。
（２）複雑なモデルの作成を自動化し、検査コストの低減が図れる。
【００４９】
［３．第２の実施の形態］
［３．１．検査装置の構成］
本発明の第２の実施の形態について説明する。第２の実施の形態は、検査装置が状態モデルの検査を実行し、その検査結果をも出力することを特徴とする。図９は、第２の実施の形態にかかる検査装置の構成例を示した機能ブロック図である。
【００５０】
検査装置１Ｂは、入力部１０と、入力部１０に接続されたイベント定義リスト蓄積部２０と、イベント定義リスト蓄積部２０に接続された状態モデル生成部３０と、状態モデル生成部３０に接続されたモデル検査部５０と、状態モデル生成部３０及びモデル検査部５０に接続された出力部４０とを有する。
【００５１】
第２の実施の形態にかかる検査装置１Ｂは、モデル検査部５０をさらに有している点を除いて、第１の実施の形態にかかる検査装置１Ａと同様の構成を有している。同様の構成要素については同一の参照符号を付し、それらの詳細な説明は省略する。
【００５２】
本発明の検査手段に相当するモデル検査部５０は、状態モデル生成部３０が生成した状態モデルによりデッドロック解析を実施し、デッドロックがあれば反例を出力部４０に送り、デッドロックがなければ反例が存在しないことを示す情報を出力部４０に送る機能を有する。モデル検査部５０は、状態モデルのデッドロックを検出し、反例を出力することが出来るものであればどのようなモデル検査器、モデル検査プログラムを使用して実現してもかまわない。例えば、ＮｕＳＭＶ，ＳＰＩＮ，ＵＰＰＡＡＬ、ＬＴＳＡを本実施の形態のモデル検査部５０としてよい。
【００５３】
なお、本実施の形態では、出力部４０は状態モデルに加えて、モデル検査部５０の出力（反例、又は反例が存在しないことを示す情報）をも出力する。
【００５４】
［３．２．検査装置の動作］
上記検査装置１Ｂの動作について説明する。図１０は、第２の実施の形態にかかる検査装置１Ｂの動作例を示したフローチャートである。以下、図１０を参照しながら説明する。
【００５５】
まず、利用者によってベント定義リスト１００が入力部１０に入力される（Ｓ２１）。
利用者によるイベント定義リスト１００の入力が完了すると、入力部１０からイベント定義リスト蓄積部２０に送られ、蓄積される（Ｓ２２）。次に、状態モデル生成部３０はイベント定義リスト蓄積部２０のに蓄積されたイベント定義リスト１００を参照し、状態モデルを生成する（Ｓ２３）。なお、イベント定義リストから状態モデルを生成する方法については、第１の実施の形態と同様である。
【００５６】
次に、状態モデル生成部３０で生成された状態モデルは、出力部４０及びモデル検査部５０に送られる（Ｓ２４）。モデル検査部５０は、受け取った状態モデルのデッドロック解析（モデル検査）を行い（Ｓ２５）、解析結果（反例又は反例は存在しないことを示す情報）を出力部４０に渡す（Ｓ２６）。最後に、出力部４０は、状態モデル生成部３０から受け取った状態モデル及びモデル検査部５０から受け取った解析結果を出力する（Ｓ２７）。
【００５７】
［３．３．利点］
第２の実施の形態にかかる検査装置１Ｂは、第１の実施の形態にかかる検査装置１Ａの利点に加えて、以下の利点を有している。
【００５８】
検査装置１Ｂによれば、対策漏れの箇所を示す情報である反例を自動的に抽出可能とすることにより、複雑なモデルであっても、対策漏れの箇所を探す作業を効率化することができる。
【００５９】
［４．第３の実施の形態］
［４．１．検査装置の構成］
本発明の第３の実施の形態について説明する。第３の実施の形態は、利用者が意味を理解しやすい態様で状態モデルを出力することを特徴とする。図１１は、第３の実施の形態にかかる検査装置の構成例を示した機能ブロック図である。
【００６０】
第３の実施の形態にかかる検査装置１Ｃは、イベント意味リスト蓄積部６０、意味付け状態モデル生成部７０をさらに有している点を除いて、第１の実施の形態にかかる検査装置１Ａと同様の構成を有している。同様の構成要素については同一の参照符号を付し、それらの詳細な説明は省略する。
【００６１】
第３の実施の形態では、利用者はイベント定義リスト１００に加えて、イベント意味リスト２００を検査装置１Ｃに入力する。図１２に、イベント意味リスト２００の例を示す。なお、図１２に示したイベント意味リスト２００は、図３に示したイベント定義リスト１００の例に対応する内容を有している。図１２に示したように、イベント意味リスト２００においては、イベント定義リスト１００に記述されている、ハザードを示す符号ｈ１〜ｈ４と対策を示す符号ａ１〜ａ３のそれぞれについて、内容を表す説明文が対応付けられて記述されている。
【００６２】
本発明の第２の蓄積手段に相当するイベント意味リスト蓄積部６０は、入力されたイベント意味リスト２００を蓄積する機能を有する。
【００６３】
本発明の第２の生成手段に相当する意味付け状態モデル生成部７０は、状態モデル３０により生成された状態モデルにおいて、ハザードを示す符号、対策を示す符号を、イベント意味リスト２００に記述された説明文に置換する、又はそれら符号に説明文（意味内容）を付加する機能を有する。
【００６４】
［４．２．検査装置の動作］
上記検査装置１Ｃの動作について説明する。図１３は、第３の実施の形態にかかる検査装置１Ｃの動作例を示したフローチャートである。以下、図１３を参照しながら説明する。
【００６５】
まず、利用者によってイベント定義リスト１００が入力部１０に入力される（Ｓ３１）。
利用者によるイベント定義リスト１００の入力が完了すると、入力部１０からイベント定義リスト蓄積部２０に送られ、蓄積される（Ｓ３２）。
【００６６】
また、利用者によってイベント意味リスト２００が入力部１０に入力される（Ｓ３３）。
利用者によるイベント意味リスト２００の入力が完了すると、入力部１０からイベント意味リスト蓄積部６０に送られ、蓄積される（Ｓ３４）。
【００６７】
次に、状態モデル生成部３０はイベント定義リスト蓄積部２０のに蓄積されたイベント定義リスト１００を参照し、状態モデルを生成する（Ｓ３５）。なお、イベント定義リストから状態モデルを生成する方法については、第１の実施の形態と同様であるので説明は省略する。次に、状態モデル生成部３０で生成された状態モデルは、意味付け状態モデル生成部７０に送られる。状態モデルを受け取った意味付け状態モデル生成部７０は、状態モデルにおける、イベント（ハザード、又は対策）のＩＤをイベント意味リスト２００の意味内容に置き換え、意味付け状態モデルを生成し、出力部４０に送る（Ｓ３６）。最後に、出力部４０は受け取った状態モデルを出力する。図１４に、出力部４０により出力される意味付け状態モデルの状態遷移図の例を示す。図１４に示した状態モデルは、図３に示したイベント定義リスト１００及び図１２に示したイベント意味リスト２００が検査装置１Ｃに入力された場合に出力される状態モデルである。
【００６８】
［４．３．利点］
第３の実施の形態にかかる検査装置１Ｃは、第１の実施の形態にかかる検査装置１Ａの利点に加えて、以下の利点を有している。
検査装置１Ｃによれば、利用者が意味を理解しやすい状態モデルを得ることが出来る。
【００６９】
［５．その他］
本発明は、発明の技術的範囲内において自由に変形可能である。例えば、第２の実施の形態、第３の実施の形態を組み合わせた態様でも本発明は成立する。
【図面の簡単な説明】
【００７０】
【図１】第１の実施の形態にかかる検査装置の機能ブロック図
【図２】イベント定義リストの例を示す図
【図３】イベント定義リストのデータ構成例を示す図
【図４】検査装置の動作例を示したフローチャート
【図５】出力部により出力される状態モデルの状態遷移図の例を示す図
【図６】状態モデル生成アルゴリズムを示すフローチャート
【図７】図６に続くフロ−チャート
【図８】図６に続くフローチャート
【図９】第２の実施の形態にかかる検査装置の構成例を示した機能ブロック図
【図１０】第２の実施の形態にかかる検査装置の動作例を示したフローチャート
【図１１】第３の実施の形態にかかる検査装置の構成例を示した機能ブロック図
【図１２】イベント意味リストの例を示す図
【図１３】第３の実施の形態にかかる検査装置の動作例を示したフローチャート
【図１４】出力部により出力される意味付け状態モデルの状態遷移図の例を示す図
【図１５】従来の手法による、ハザードと対策を表現した図
【符号の説明】
【００７１】
１Ａ，１Ｂ，１Ｃ…対策網羅製検査装置
１０…入力部
２０…イベント定義リスト蓄積部
３０…状態モデル生成部
４０…出力部
５０…モデル検査部
６０…イベント意味リスト蓄積部
７０…意味付け状態モデル生成部
１００…イベント定義リスト
２００…イベント意味リスト
【図１】
2010244139.tif 000003
【図２】
2010244139.tif 000004
【図３】
2010244139.tif 000005
【図４】
2010244139.tif 000006
【図５】
2010244139.tif 000007
【図６】
2010244139.tif 000008
【図７】
2010244139.tif 000009
【図８】
2010244139.tif 000010
【図９】
2010244139.tif 000011
【図１０】
2010244139.tif 000012
【図１１】
2010244139.tif 000013
【図１２】
2010244139.tif 000014
【図１３】
2010244139.tif 000015
【図１４】
2010244139.tif 000016
【図１５】
2010244139.tif 000017