(57)【要約】【課題】利用者が指定した要求を検証対象であるデータ処理システムが満足するかを簡単に確認でき、利用者が指定したカバレッジ指標によるデータ処理システムのカバレッジの測定結果も簡単に確認できる、検証処理装置を提供する。【解決手段】検証対象であるデータ処理システムの状態遷移グラフを取得し、データ処理システムへの要求を取得し、データ処理システムの検証範囲に含まれるべき動作を示すカバレッジ指標を取得する。取得された状態遷移グラフが要求を満足するか検証し、取得されたカバレッジ指標に対応して状態遷移グラフのカバレッジを測定し、結果を出力する。【選択図】図１
2008071135.tif 000002
【特許請求の範囲】
【請求項１】
検証対象であるデータ処理システムの状態遷移グラフを取得するグラフ取得部と、
前記データ処理システムへの要求を取得する要求取得部と、
前記データ処理システムの検証範囲に含まれるべき動作を示すカバレッジ指標を取得する指標取得部と、
取得された前記状態遷移グラフが前記要求を満足するか検証する要求検証部と、
前記要求の検証結果を出力する検証出力部と、
取得された前記カバレッジ指標に対応して前記状態遷移グラフのカバレッジを測定するカバレッジ測定部と、
前記カバレッジの測定結果を出力する測定出力部と、
を有する検証処理装置。
【請求項２】
取得された前記カバレッジ指標を時相論理に変換する論理変換部を、さらに有し、
前記カバレッジ測定部は、変換された前記時相論理に対応して前記状態遷移グラフのカバレッジを測定する請求項１に記載の検証処理装置。
【請求項３】
検証対象であるデータ処理システムの機能と仕様との少なくとも一方が記述されている設計データを取得する設計取得部と、
前記データ処理システムの動作に検証範囲を規定するための制約条件を取得する条件取得部と、
取得された前記設計データと前記カバレッジ指標とを順序回路に各々変換する回路変換部と、
前記順序回路に変換された前記設計データを取得された前記制約条件に対応して前記状態遷移グラフに変換する構造変換部とを、
さらに有する請求項１または２に記載の検証処理装置。
【請求項４】
前記順序回路に変換された前記カバレッジ指標から時相論理を生成する論理変換部を、さらに有する請求項３に記載の検証処理装置。
【請求項５】
前記データ処理システムの動作に検証範囲を規定するための制約条件を取得する条件取得部と、
前記データ処理システムの順序回路を取得する回路取得部と、
取得された前記制約条件に対応して前記順序回路を前記状態遷移グラフに変換する構造変換部とを、
さらに有する請求項１または２に記載の検証処理装置。
【請求項６】
検証対象であるデータ処理システムの機能と仕様との少なくとも一方が記述されている設計データを取得する設計取得部と、
取得された前記設計データを前記順序回路に変換する回路変換部とを、
さらに有する請求項５に記載の検証処理装置。
【請求項７】
前記構造変換部は、取得された前記制約条件に対応して前記順序回路をクリプケ構造の前記状態遷移グラフに変換する請求項３ないし６の何れか一項に記載の検証処理装置。
【請求項８】
前記要求検証部は、モデル検査により前記要求を検証するモデル検査部を有する請求項１ないし７の何れか一項に記載の検証処理装置。
【請求項９】
前記カバレッジ測定部は、モデル検査により前記カバレッジを測定するモデル検査部を有する請求項１ないし８の何れか一項に記載の検証処理装置。
【請求項１０】
請求項１に記載の検証処理装置のためのコンピュータプログラムであって、
検証対象であるデータ処理システムの状態遷移グラフを取得すること、
前記データ処理システムへの要求を取得すること、
前記データ処理システムの検証範囲に含まれるべき動作を示すカバレッジ指標を取得すること、
取得された前記状態遷移グラフが前記要求を満足するか検証すること、
取得された前記カバレッジ指標に対応して前記状態遷移グラフのカバレッジを測定すること、
前記要求の検証結果と前記カバレッジの測定結果とを出力すること、
を前記検証処理装置に実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理システムの設計が所与の機能仕様を満たすか否かを検証する検証処理装置、この検証処理装置のためのコンピュータプログラム、に関する。
【背景技術】
【０００２】
従来、論理回路やコンピュータプログラムなどのデータ処理システムをモデル検査により検証する手法がある。モデル検査とは、有限状態機械の状態遷移関係を示すグラフ（状態遷移グラフ）において、ある特徴を持つ状態や遷移パスが存在するか否かを判定するものである。状態遷移グラフの各状態には、その状態で成立する命題が対応付けられており、モデル検査が判定する「特徴」は、その命題の時間的変化によって定義される。
【０００３】
図３は状態遷移グラフの例である。この図では、楕円が一つの状態を示し、矢印が状態間の遷移を示している。この例ではｘ、ｙ、ｚが命題を示しており、楕円内に書かれたｘ、ｙ、ｚは、その状態で成立する命題を示している。
【０００４】
例えば、状態１０１から２回の遷移で到達する状態（１０２、１０３、１０４、１０５、１０６）はいずれもｙが成立する。したがって、状態１０１は「次の２ステップ間（どんな遷移をしても）必ずｙが成立する」という特徴を持つということができる。
【０００５】
また、状態１０７、１０８，１０９，１１０，１１１，１１２を遷移するパスは、「ｘが成立したつぎにｙが成立する、というパターンが３回連続する」という特徴を持つということができる。
【０００６】
モデル検査は、状態遷移図(状態遷移グラフ)の全ての状態と全てのパスの検査を行い、指定された特徴を持つ状態や遷移パスが存在するか否かを判定する。モデル検査を用いた検証処理装置では、検証対象であるデータ処理システムの動作を状態遷移グラフに変換し、また検証対象であるデータ処理システムの機能仕様を状態遷移グラフ上の状態または遷移パスの特徴に変換する。
【０００７】
モデル検査を用いて機能仕様を示す状態または遷移パスの存在を判定することにより、データ処理システムが機能仕様を満たすか否かが検証される。モデル検査を用いた検証処理装置では、検証の高速化を図るために、制約条件を与えることにより状態遷移グラフ上の検証範囲を制限する手法が利用されている。
【０００８】
例えば、図３の例において「xとyとzは同時に成立しない」という制約条件を与えると、図４の１１２が示す範囲が取り除かれ、それ以外の範囲で検証が行われる。これは、状態１０８でｘ、ｙ、ｚが同時に成立し、制約条件を満たさないからである。
【０００９】
モデル検査を実施する方法としては状態遷移グラフを明示的に作成せず、論理関数処理のみで実施する方法が知られている。現在、上述のような検証処理装置として各種の提案がある(例えば、特許文献１，２、非特許文献１参照)。
【特許文献１】特開平１０−６３５３７号公報
【特許文献２】特開２００１−３１８９５９号公報
【非特許文献１】「論理関数処理に基づく形式的検証手法」平石、浜口、他著、情報処理、Ｖｏｌ．３５（８）ｐ．７１０―７１８
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかし、従来の検証処理装置では、状態遷移グラフ上の検証範囲に検証対象であるデータ処理システムの機能仕様を示す状態または遷移パスが存在するか否かの情報しか利用者に提供されない。
【００１１】
このため、従来の検証処理装置は、利用者の誤解などによって、本来与えられるべきではない制約条件が与えられた場合に、状態遷移グラフ上の検証範囲に本来検証されるべき状態が含まれなくなる可能性があるが、そのことを利用者に気づかせることができない。
【課題を解決するための手段】
【００１２】
本発明の検証処理装置は、検証対象であるデータ処理システムの状態遷移グラフを取得するグラフ取得部と、データ処理システムへの要求を取得する要求取得部と、データ処理システムの検証範囲に含まれるべき動作を示すカバレッジ指標を取得する指標取得部と、取得された状態遷移グラフが要求を満足するか検証する要求検証部と、要求の検証結果を出力する検証出力部と、取得されたカバレッジ指標に対応して状態遷移グラフのカバレッジを測定するカバレッジ測定部と、カバレッジの測定結果を出力する測定出力部と、を有する。
【００１３】
従って、本発明の検証処理装置では、利用者が指定した要求を、検証対象であるデータ処理システムが満足するか、検証されて結果が出力される。さらに、利用者が指定したカバレッジ指標で、検証対象であるデータ処理システムのカバレッジが測定されて結果が出力される。
【００１４】
なお、本発明で云う各種の構成要素は、その機能を実現するように形成されていれば良く、例えば、所定の機能を発揮する専用のハードウェア、所定の機能がコンピュータプログラムにより付与された検証処理装置、コンピュータプログラムにより検証処理装置に実現された所定の機能、これらの任意の組み合わせ、等として実現することができる。
【００１５】
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
【００１６】
また、本発明で云う「入力される」とは、例えば、利用者によりキーボードなどに入力操作されるデータを受け付けること、有線や無線で送信されるデータを受信すること、メモリなどの記憶データを読み出すこと、等を許容する。
【発明の効果】
【００１７】
本発明の検証処理装置では、利用者が指定した要求を、検証対象であるデータ処理システムが満足するか、の検証結果を利用者が確認することができる。さらに、利用者が指定したカバレッジ指標による、検証対象であるデータ処理システムのカバレッジの測定結果を、利用者が確認することができる。
【発明を実施するための最良の形態】
【００１８】
本発明の実施の第一の形態を図１を参照して以下に説明する。なお、図１は本実施の形態の検証処理装置の論理構造を示す模式的なブロック図である。
【００１９】
本実施の形態の検証処理装置３００は、検証対象であるデータ処理システムの状態遷移グラフを取得するグラフ取得部と、データ処理システムへの要求を取得する要求取得部３０１と、データ処理システムの検証範囲に含まれるべき動作を示すカバレッジ指標を取得する指標取得部３０４と、取得された状態遷移グラフが要求を満足するか検証する要求検証部３０５と、要求の検証結果を出力する検証出力部３０７と、取得されたカバレッジ指標に対応して状態遷移グラフのカバレッジを測定するカバレッジ測定部３０６と、カバレッジの測定結果を出力する測定出力部３１５と、を有する。
【００２０】
さらに、本実施の形態の検証処理装置３００は、検証対象であるデータ処理システムの機能と仕様との少なくとも一方が記述されている設計データを取得する設計取得部３０２と、データ処理システムの動作に検証範囲を規定するための制約条件を取得する条件取得部３０３と、も有する。
【００２１】
そして、要求検証部３０５は、取得された設計データを順序回路に変換する回路変換部３０８と、取得された制約条件に対応して順序回路を状態遷移グラフに変換する構造変換部３０９と、取得された状態遷移グラフが要求を満足するかをモデル検査により検証するモデル検査部３１０と、を有する。
【００２２】
また、カバレッジ測定部３０６は、取得された設計データを順序回路に変換する回路変換部３１１と、取得された制約条件に対応して順序回路を状態遷移グラフに変換する構造変換部３１２と、取得されたカバレッジ指標を時相論理に変換する論理変換部３１３と、変換された時相論理に対応して状態遷移グラフのカバレッジをモデル検査により測定するモデル検査部３１４と、を有する。
【００２３】
より詳細には、要求取得部３０１は、データ処理システムに要求される機能仕様が、ＣＴＬ(Computation Tree Logic)やＬＴＬ(Linear Temporal Logic)などの時相論理やＰＳＬ(Property Specification Language)やＳＶＡ(System Verilog Assertion)等のプロパティ言語の形式で要求(プロパティ)として入力される。
【００２４】
検証対象であるデータ処理システムは、例えば、論理回路やコンピュータプログラムである。そのデータ処理システムへの要求とは、例えば、データ処理システムに要求される機能や仕様である。
【００２５】
この機能仕様は、論理回路やコンピュータプログラムにおける信号や変数の値または値の時間的変化についての命題であり、例えば「信号Ｓと信号Ｔの値は同時に１にならない」、「信号Ｕの値が１となれば、その後３クロック以内に信号Ｖの値が１になる」、「変数Ａの値は必ず10以上100未満である」などが例として挙げられる。
【００２６】
設計取得部３０２は、データ処理システムの構造や機能が、ＶＨＤＬやＶｅｒｉｌｏｇ等の論理回路記述言語やＣ言語やＪａｖａ(登録商標)等のソフトウェアプログラム言語で記述されている設計データが入力される。
【００２７】
条件取得部３０３は、データ処理システムの動作に検証範囲を規定するための制約条件を、データ処理システムの記述に現れる変数を使った論理式や時相論理の形式で入力される。
【００２８】
指標取得部３０４は、データ処理システムの検証範囲に含まれるべき動作を示すカバレッジ指標が入力される。なお、「カバレッジ指標」とは、カバレッジを測定するための基準となる尺度のことである。
【００２９】
「カバレッジ」とは、論理回路やコンピュータプログラムの動作の検証において、その検証対象に発生し得るあらゆる動作のうち、実際に検証が行われた動作の割合を意味する。ただし、「発生しうるあらゆる動作」との概念には普遍的な定義は存在せず、実際には検証の目的に応じて適当な評価尺度が導入される。
【００３０】
例えば、ソフトウェアプログラムの行に着目して、全ての行のうちどの行に相当する動作を検証したか、という尺度でカバレッジを測定する場合や、信号の値に着目して、信号Ａが取りうる１００通りの値のうち何種類の値になる場合について検証したか、という尺度でカバレッジを測定する場合などが例として挙げられる。
【００３１】
そこで、本実施の形態の検証処理装置３００では、信号や変数の値または値の時間的変化についての命題を予め複数定義し、全命題のうちいくつの命題が成立する場合を検証したかを「カバレッジ指標」としている。
【００３２】
このカバレッジ指標は、例えば、データ処理システムの記述において、ある行が示す動作が含まれるか否か、または、データ処理システムの記述に現れる変数がある所定の値となる動作が含まれるか否か、または、データ処理システムの記述に現れる変数を使った論理式が成立する動作が含まれるか否か、または、データ処理システムの記述に現れる変数を使った論理式の真偽が所定の順列または時間的変化を示す動作が含まれるか否か、等の表現によって指定される。
【００３３】
要求検証部３０５は、要求取得部３０１に取得されたプロパティと、設計取得部３０２に取得されたデータ処理システムの設計データと、条件取得部３０３に取得された制約条件と、からモデル検査を行う。
【００３４】
このため、回路変換部３０８は、設計取得部３０２に取得されたデータ処理システムの設計データを順序回路に変換する。構造変換部３０９は、回路変換部３０８によって変換された順序回路を、条件取得部３０３に取得された制約条件に対応して、クリプケ(Kripke)構造と呼ばれるモデル検査用の状態遷移グラフに変換する。
【００３５】
モデル検査部３１０は、構造変換部３０９によって変換されたクリプケ構造と、要求取得部３０１に取得されたプロパティとに対してモデル検査を実施する。検証出力部３０７は、モデル検査部３１０で実施されたモデル検査の結果をもとに、要求取得部３０１に取得されたプロパティが成立するか否かの結果を出力する。
【００３６】
カバレッジ測定部３０６は、条件取得部３０３に取得された制約条件から規定される検証範囲で、指標取得部３０４に取得されたカバレッジ指標に対応して、設計取得部３０２に取得されたデータ処理システムの設計データのカバレッジを測定する。
【００３７】
このため、回路変換部３１１は、設計取得部３０２に取得されたデータ処理システムの設計データを順序回路に変換する。構造変換部３１２は、回路変換部３１１によって変換された順序回路を、条件取得部３０３に取得された制約条件に対応して、クリプケ構造の状態遷移グラフに変換する。
【００３８】
論理変換部３１３は、指標取得部３０４に取得されたカバレッジ指標を、ＣＴＬやＬＴＬなどの時相論理に変換する。モデル検査部３１４は、構造変換部３１２によって変換されたクリプケ構造の状態遷移グラフのカバレッジを、論理変換部３１３により変換された時相論理に対応してモデル検査により測定する。測定出力部３１５は、モデル検査部３１４で実施されたモデル検査の結果をもとに、指標取得部３０４に取得されたカバレッジ指標に対する結果を出力する。
【００３９】
なお、本実施の形態の検証処理装置３００では、回路変換部３０８，３１１から構造変換部３０９，３１２まで順序回路が提供される経路が、データ処理システムの順序回路を取得する回路取得部に相当する。
【００４０】
構造変換部３０９，３１２からモデル検査部３１０，３１４まで状態遷移グラフが提供される経路が、データ処理システムの状態遷移グラフを取得するグラフ取得部に相当する。
【００４１】
本実施の形態の検証処理装置３００は、例えば、いわゆるコンピュータ装置からなり、コンピュータプログラムが実装されている。このコンピュータプログラムに対応してハードウェアが機能することにより、上述のような各部３０１〜３１５が各種機能として論理的に実現されている。
【００４２】
例えば、各取得部３０１〜３０４は、利用者がキーボードで入力操作する各種データをコンピュータ装置がコンピュータプログラムに対応して受け付ける機能や、ＣＤ−Ｒ(Compact Disc-Recordable)等の記録媒体の記録データをコンピュータ装置が読み出す機能などに相当する。
【００４３】
各出力部３０７，３１５は、コンピュータ装置がコンピュータプログラムに対応して各種データをディスプレイユニットに表示出力する機能や、コンピュータ装置がＣＤ−Ｒなどに各種データを記録する機能などに相当する。その他の各部３０８〜３１０，３１１〜３１４は、コンピュータ装置がコンピュータプログラムに対応して各種のデータ処理を実行する機能などに相当する。
【００４４】
上述のような各部３０１〜３１５を検証処理装置３００に実現するコンピュータプログラムは、例えば、データ処理システムへの要求を取得すること、データ処理システムの設計データを取得すること、データ処理システムの制約条件を取得すること、データ処理システムのカバレッジ指標を取得すること、取得された設計データを順序回路に変換すること、取得された制約条件に対応して順序回路を状態遷移グラフに変換すること、取得された状態遷移グラフが要求を満足するかをモデル検査により検証すること、この要求の検証結果を出力すること、取得されたカバレッジ指標を時相論理に変換すること、変換された時相論理に対応して状態遷移グラフのカバレッジをモデル検査により測定すること、カバレッジの測定結果を出力すること、等をコンピュータ装置に実行させるように記述されている。
【００４５】
上述のような構成において、本実施の形態の検証処理装置３００の動作を以下に詳細に説明する。図示するように、検証処理装置３００の動作は二つに大別できる。すなわち、要求取得部３０１と設計取得部３０２と条件取得部３０３の取得データに要求検証部３０５が適用されてプロパティが検証される動作と、設計取得部３０２と条件取得部３０３と指標取得部３０４の取得データにカバレッジ測定部３０６が適用されてカバレッジが測定される動作である。
【００４６】
まず、要求検証部３０５が適用されるプロパティの検証動作について説明する。設計取得部３０２に取得されたデータ処理システムの設計データは、回路変換部３０８によって順序回路に変換される。
【００４７】
データ処理システムを順序回路に変換する処理は、例えば、次のように動作する。設計取得部３０２によってクロック同期の論理回路の設計データが取得された場合は、その設計データは順序回路である。
【００４８】
また、クロック非同期の論理回路の設計データが取得された場合は、発生し得る回路の内部状態が列挙され、その変化を表現する順序機械が想定されることによって順序回路に変換される。
【００４９】
設計取得部３０２によって設計データとしてコンピュータプログラムが取得された場合は、例えば、Ｃ言語で記述されたプログラムの場合は、１行を１状態として状態遷移を表す順序機械を想定することによって順序回路に変換することができる。
【００５０】
つぎに、構造変換部３０９によって、回路変換部３０８によって変換された順序回路と、条件取得部３０３に取得された制約条件とが、クリプケ構造と呼ばれるモデル検査用の状態遷移グラフに変換される。
【００５１】
クリプケ構造の状態遷移グラフへの変換は、例えば、非特許文献１に記載された公知の方法にしたがって実行される。その変換は、条件取得部３０３に取得された制約条件が反映されるように実施されるが、その動作は、例えば、非特許文献１に示されているように、遷移関係関数に対して条件取得部３０３に取得された制約条件を表す論理式との論理積をとるように変更することによって実現される。
【００５２】
例えば、条件取得部３０３に取得された制約条件が「ａ AND ｂ は常に０である」であった場合は、非特許文献１に示された方法によって得られる遷移関係関数と（ａ AND ｂ＝０）という論理式との論理積が計算される。
【００５３】
つぎに、モデル検査部３１０によって、上述のように変換されたクリプケ構造の状態遷移グラフが、要求取得部３０１に取得されたプロパティを満足するかが、モデル検査により検証される。
【００５４】
モデル検査は、例えば、非特許文献１に記載された公知のアルゴリズムによって実行される。検証出力部３０７は、モデル検査部３１０によって実施されたモデル検査の検証結果をディスプレイやディスクドライブに出力する。
【００５５】
例えば、要求取得部３０１に取得されたプロパティに違反する状態や遷移パスが検出された場合は「プロパティ違反」と出力する。また、要求取得部３０１に取得されたプロパティが成立することを示す状態や遷移パスが検出された場合は「プロパティ成立」と出力する。このため、利用者は検証対象のデータ処理システムが指定したプロパティを満足しているか満足していないかを確認することができる。
【００５６】
つぎに、カバレッジ測定部３０６が適用される動作について詳細に説明する。設計取得部３０２に取得されたデータ処理システムの設計データは、回路変換部３１１によって順序回路に変換される。回路変換部３１１は、回路変換部３０８と同様に動作する。
【００５７】
つぎに、構造変換部３１２によって、回路変換部３１１によって変換された順序回路と、条件取得部３０３に取得された制約条件とが、クリプケ構造の状態遷移グラフに変換される。
【００５８】
構造変換部３１２は、構造変換部３０９と同様に動作する。つぎに、論理変換部３１３によって、指標取得部３０４に取得されたカバレッジ指標が、ＣＴＬまたはＬＴＬ等の時相論理に変換される。
【００５９】
例えば、「データ処理システムの記述に現れる変数がある所定の値となる動作が含まれるか否か」という指標は「データ処理システムの記述に現れる変数がある所定の値となる可能性がある」という時相論理に変換される。
【００６０】
具体的には、例えば、Ａという変数がデータ処理システムの記述に存在するとして「Ａの値が５になる動作が検証に含まれるか否か」という指標は、「将来Ａ＝５となる可能性がある」という意味の時相論理に変換される。これは例えばＣＴＬで表現すると「ＥＦ（Ａ＝５）」という時相論理式になる。
【００６１】
また、別の指標の例として、「データ処理システムの記述に現れる変数を使った論理式が成立する動作が含まれるか否か」という指標が与えられた場合は、「将来その論理式が成立する可能性がある」という意味の時相論理に変換される。
【００６２】
例えば、Ａという変数とＢという変数とＣという変数がデータ処理システムの記述に存在するとして、「Ａ＋Ｂ＝Ｃ  が成立する動作が検証に含まれるか否か」という指標は、「将来（Ａ＋Ｂ＝Ｃ）が成立する可能性がある」という意味の時相論理に変換される。これは例えばＣＴＬで表現すると「ＥＦ（Ａ＋Ｂ＝Ｃ）」という時相論理式になる。
【００６３】
また、別の指標の例として、「データ処理システムの記述に現れる変数を使った論理式の真偽が所定の順列または時間的変化を示す動作が含まれるか否か」という指標が与えられた場合は、「将来その論理式の真偽が所定の順列または時間的変化を示す可能性がある」という意味の時相論理に変換される。
【００６４】
具体的には、例えば、Ａという変数とＢという変数とＣという変数がデータ処理システムの記述に存在するとして、「Ａ＝１が成立した後  Ｂ＝Ｃ  が成立するという動作が検証に含まれるか否か」という指標は、「将来Ａ＝１が成立した後  Ｂ＝Ｃ  が成立する可能性がある」という意味の時相論理に変換される。これは例えばＣＴＬで表現すると「ＥＦ（Ａ＝１  ＆  ＥＦ（Ｂ＝Ｃ））」という時相論理式になる。
【００６５】
また、別の指標の例として、「データ処理システムの記述においてある行が示す動作が含まれるか否か」という指標が与えられた場合は、「将来その行が示す動作が実行される条件が真となる可能性がある」という意味の時相論理に変換される。
【００６６】
例えば、「データ処理システムの記述において行番号１０の行が示す動作が含まれるか否か」という指標が与えられた場合は次のように動作する。回路変換部３１１において、データ処理システムの記述を順序回路に変換する過程で、行番号１０の行が順序回路においてどの動作に対応するかの情報を記録する。
【００６７】
行番号１０の行に対応する順序回路の動作が発生する条件が「Ａ＝１」であったとすると、「将来Ａ＝１が成立する可能性がある」という意味の時相論理に変換される。これは例えばＣＴＬで表現すると「ＥＦ（Ａ＝１）」という時相論理式になる。
【００６８】
つぎに、モデル検査部３１４によって、前記構造変換部３１２によって変換されたクリプケ構造の状態遷移グラフのカバレッジが、論理変換部３１３に取得されたプロパティである時相論理に対応して、モデル検査により測定される。
【００６９】
モデル検査は、例えば、非特許文献１に記載されたアルゴリズムによって動作する。測定出力部３１５は、モデル検査部３１４によってモデル検査で測定されたカバレッジをディスプレイやディスクドライブ装置などに出力する。
【００７０】
例えば、指標取得部３０４に取得されたあるカバレッジ指標Ａに対して、論理変換部３１３によって変換された時相論理が成立する場合は「カバレッジ指標Ａはカバーされた」と出力する。
【００７１】
または、指標取得部３０４に取得されたあるカバレッジ指標Ｂに対して、論理変換部３１３によって変換された時相論理が成立しない場合は「カバレッジ指標Ｂはカバーされない」と出力する。このため、利用者は検証対象のデータ処理システムが指定したカバレッジを満足しているか満足していないかを確認することができる。
【００７２】
つぎに、本発明の実施の第二の形態について図２を参照して詳細に説明する。本実施の形態の検証処理装置４００は、上述した第一の検証処理装置３００と同様に、各部４０１〜４１５が論理的に構築されている。
【００７３】
しかし、検証処理装置４００は、カバレッジ測定部４０６の各部の関係が第一の形態の検証処理装置３００とは相違している。つまり、回路変換部４１１が指標取得部４０４に取得されたカバレッジ指標を取り込み、論理変換部４１３が回路変換部４１１の結果を取り込む。
【００７４】
回路変換部４１１は、設計取得部４０２に取得されたデータ処理システムのデータを順序回路に変換する回路変換部３１１と同様の動作のほかに、指標取得部４０４に取得されたカバレッジ指標も順序回路に変換する。
【００７５】
論理変換部４１３は、指標取得部４０４に取得されたカバレッジ指標が回路変換部４１１によって順序回路に変換された結果をもとに、カバレッジ指標をプロパティに変換する。
【００７６】
より詳細には、回路変換部４１１は、データ処理システムとカバレッジ指標とを、検証対象のデータ処理システムの動作がカバレッジ指標に合致した場合に、所定の動作をするような機能を持つ順序回路に変換する。その「所定の動作」とは、例えば、ある信号値が、ある決まった値になる、といったような動作でよい。
【００７７】
また、論理変換部４１３は、上述のように変換された順序回路に対して、カバレッジ指標に合致するような動作が発生した場合の所定の動作を表すプロパティを生成する。つまり、カバレッジ指標に対して合致する動作を検出するような回路を生成し、その回路に対してプロパティを生成する。
【００７８】
例えば、Ａという変数がデータ処理システムの記述に存在するとして「Ａの値が５になる動作が検証に含まれるか否か」という指標が取得された場合は、回路変換部４１１によって、「Ａ＝５」が成立するときに信号Ｓが１となり、成立しないときは信号Ｓが０となるような回路が生成される。そして、論理変換部４１３によって、「将来Ｓ＝１となる可能性がある」という意味の時相論理が生成される。
【００７９】
また、別の指標の例として、Ａという変数とＢという変数とＣという変数がデータ処理システムの記述に存在するとして、「Ａ＋Ｂ＝Ｃが成立する動作が検証に含まれるか否か」という指標が取得された場合は、「Ａ＋Ｂ＝Ｃ」が成立するときに信号Ｓが１となり、成立しないときは信号Ｓが０となるような回路が生成される。そして、論理変換部４１３によって、「将来Ｓ＝１となる可能性がある」という意味の時相論理が生成される。
【００８０】
また、別の指標の例として、Ａという変数とＢという変数とＣという変数がデータ処理システムの記述に存在するとして、「Ａ＝１が成立した次のサイクルで  Ｂ＝Ｃ  が成立するという動作が検証に含まれるか否か」という指標が取得された場合は、Ａ＝１が成立した次のサイクルでＢ＝Ｃ」が成立した場合にのみ信号Ｓが１となるような回路が生成される。そして、論理変換部４１３によって、「将来Ｓ＝１となる可能性がある」という意味の時相論理が生成される。
【００８１】
なお、本発明は本実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で各種の変形を許容する。
【図面の簡単な説明】
【００８２】
【図１】本発明の実施の第一の形態の検証処理装置の論理構造を示す模式的なブロック図である。
【図２】実施の第二の形態の検証処理装置の論理構造を示す模式的なブロック図である。
【図３】状態遷移グラフの論理構造を示す模式図である。
【図４】状態遷移グラフに制約条件が設定された状態を示す模式図である。
【符号の説明】
【００８３】
３００    検証処理装置
３０１    要求取得部
３０２    設計取得部
３０３    条件取得部
３０４    指標取得部
３０５    要求検証部
３０６    カバレッジ測定部
３０７    検証出力部
３０８    回路変換部
３０９    構造変換部
３１０    モデル検査部
３１１    回路変換部
３１２    構造変換部
３１３    論理変換部
３１４    モデル検査部
３１５    測定出力部
４００    検証処理装置
４０２    設計取得部
４０４    指標取得部
４０６    カバレッジ測定部
４１１    回路変換部
４１３    論理変換部
【図１】
2008071135.tif 000003
【図２】
2008071135.tif 000004
【図３】
2008071135.tif 000005
【図４】
2008071135.tif 000006