(57)【要約】【課題】インターフェース仕様に想定されていないテストを行うための、検証対象装置と通信を行うモデルを作成するモデル作成プログラム、モデル作成装置、モデル作成方法を提供する。【解決手段】検証の対象である検証対象装置との通信を行うモデルの作成をコンピュータに実行させるモデル作成プログラムであって、検証対象装置のインターフェース仕様を状態遷移機械として表した第１状態遷移機械とを取得する取得ステップと、エラー状態と該エラー状態への状態遷移とを第１状態遷移機械に追加して第２状態遷移機械とし、設定されたエラー確率に基づいて第２状態遷移機械の遷移条件を設定する第１追加ステップと、第２状態遷移機械を、検証対象装置との通信を行うモデルに変換する変換ステップとをコンピュータに実行させる。【選択図】図２
2008171296.tif 000002
【特許請求の範囲】
【請求項１】
検証の対象である検証対象装置との通信を行うモデルの作成をコンピュータに実行させるモデル作成プログラムであって、
前記検証対象装置のインターフェース仕様を状態遷移機械として表した第１状態遷移機械とを取得する取得ステップと、
エラー状態と該エラー状態への状態遷移とを前記第１状態遷移機械に追加して第２状態遷移機械とし、設定されたエラー確率に基づいて前記第２状態遷移機械の遷移条件を設定する第１追加ステップと、
前記第２状態遷移機械を、前記検証対象装置との通信を行うモデルに変換する変換ステップと
をコンピュータに実行させるモデル作成プログラム。
【請求項２】
請求項１に記載のモデル作成プログラムにおいて、
前記変換ステップの後に、前記検証時に通過した状態遷移に関する記録を行う記録機構を、前記検証用通信モデルに追加する第２追加ステップをコンピュータに実行させるモデル作成プログラム。
【請求項３】
請求項１または請求項２に記載のモデル作成プログラムにおいて、
前記エラー状態への状態遷移の遷移条件は、前記エラー確率で成立する条件とすることを特徴とするモデル作成プログラム。
【請求項４】
請求項１乃至請求項３のいずれかに記載のモデル作成プログラムにおいて、
前記第１追加ステップは、前記第１状態遷移機械中の第１状態からの状態遷移である第１状態遷移の遷移条件を取得し、前記第１状態からエラー状態への遷移条件に基づいて、前記第２状態遷移機械中の前記第１状態遷移の遷移条件を変更することを特徴とするモデル作成プログラム。
【請求項５】
請求項１乃至請求項４のいずれかに記載のモデル作成プログラムにおいて、
前記取得ステップは更に、前記第１状態遷移機械の一部を指定する部分情報を取得し、
前記第１追加ステップは、前記部分情報により指定された前記第１状態遷移機械の一部に対して、エラー状態と該エラー状態への状態遷移とを前記第１状態遷移機械に追加することを特徴とするモデル作成プログラム。
【請求項６】
検証の対象である検証対象装置との通信を行うモデルの作成を行うモデル作成装置であって、
前記検証対象装置のインターフェース仕様を状態遷移機械として表した第１状態遷移機械とを取得する取得部と、
エラー状態と該エラー状態への状態遷移とを前記第１状態遷移機械に追加して第２状態遷移機械とし、設定されたエラー確率に基づいて前記第２状態遷移機械の遷移条件を設定する第１追加部と、
前記第２状態遷移機械を、前記検証対象装置との通信を行うモデルに変換する変換部と
を備えるモデル作成装置。
【請求項７】
検証の対象である検証対象装置との通信を行うモデルの作成を行うモデル作成方法であって、
前記検証対象装置のインターフェース仕様を状態遷移機械として表した第１状態遷移機械とを取得する取得ステップと、
エラー状態と該エラー状態への状態遷移とを前記第１状態遷移機械に追加して第２状態遷移機械とし、設定されたエラー確率に基づいて前記第２状態遷移機械の遷移条件を設定する第１追加ステップと、
前記第２状態遷移機械を、前記検証対象装置との通信を行うモデルに変換する変換ステップと
を実行するモデル作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検証の対象である検証対象装置との通信を行うモデルの作成を行うモデル作成プログラム、モデル作成装置、モデル作成方法に関するものである。
【背景技術】
【０００２】
ハードウェアの検証は、「機能検証」及び「インターフェース検証」に大別できる。機能検証は、検証対象ハードウェアの機能が正しいか否かの検証が目的である。一方、インターフェース検証は、検証対象ハードウェアと他のハードウェアとのデータや信号のやり取りが正しいか否かの検証が目的である。一般的にはハードウェアの機能検証に着目されるが、インターフェース検証も同様に重要である。
【０００３】
ハードウェアのインターフェースを検証する際には、次の３点について着目する。
【０００４】
（検証項目１）インターフェースが、仕様に規定されている正常な信号のやり取りを正しくできているか否か。
（検証項目２）インターフェースが、仕様に規定されている想定可能な、例外動作を正しく処理して信号のやり取りをしているか否か。
（検証項目３）インターフェースが、仕様に規定されていない信号のやり取りに対して、デッドロックやライブロック等の回復不能な状態に陥らず、次に入力された正常な信号のやり取りを処理できるか否か。
【０００５】
一般的なハードウェアのインターフェース検証は検証項目１、検証項目２を確認すれば十分である。しかし、一部の特殊なハードウェアは検証項目１、検証項目２と共に検証項目３も確認しなければならない。例えば、２つの異なるインターフェースを持つバスを結ぶバスブリッジというハードウェアが、その類いに属する。バスブリッジは２つのバスを結んでいるため、障害が起きるとバス間通信ができなくなる。したがって、インターフェース仕様に規定されている正常パターン、異常パターンに加えて、インターフェース仕様に想定外の信号のパターンが、バス上に流れてもバスブリッジは通信不能状態に陥らないと確認しなければならない。
【０００６】
また、近年のハードウェア設計の動向として、過去に設計した設計資産や外部から調達した設計資産（ＩＰ：Intellectual Property）を利用して新たなハードウェアの設計が行われている。この場合、再利用される設計資産は、異なった動作環境でも他のハードウェアと正しく信号のやり取りをしなければならない。また、再利用される設計資産は異なる動作環境下において、正常ではない信号や想定しない異常な信号のやり取りに対して耐えなければならない場合がある。この場合、ハードウェアがデッドロックやライブロック等の回復不可能な状態に陥らないか否かを検証する必要がある。
【０００７】
検証対象ハードウェアのインターフェースを検証するために、検証対象ハードウェアとの通信を行う検証用通信ハードウェアが利用される。図２４は、検証対象ハードウェアと検証用通信ハードウェアの接続の一例を示すブロック図である。検証用通信ハードウェアは、検証用通信ハードウェアから検証対象ハードウェアへ信号（テストパターン）を入力したり、検証対象ハードウェアから検証用通信ハードウェアへ出力された信号を受けたりするものである。また、検証用通信ハードウェアは、検証対象ハードウェアに対してマスターとスレーブの両方に成り得る。
【０００８】
また、検証対象ハードウェアの入出力信号を送受信する検証用通信ハードウェアの代わりに、検証用通信ハードウェアをハードウェア記述言語等で表したモデルである検証用通信モデル（擬似マスター・スレーブモデル）が用いられる。検証用通信モデルは、基本的に、インターフェース仕様で規定されている信号を検証対象ハードウェアへ出力し、応答として検証対象ハードウェアが出力する信号を受け、それらが規定通りであった場合に、次に規定された信号を出力する。
【０００９】
ハードウェアのインターフェース検証を行うためには検証用通信モデルを使って次の２種類のテストを実施できる。
【００１０】
（テスト手法１）ユースケース毎にテストパターンを生成する。このテスト手法では、インターフェース仕様のユースケース毎の動作確認が可能である。
（テスト手法２）ランダムにテストパターンを生成する。
【００１１】
これらのテストにおいて、検証対象ハードウェアのインターフェースに入力するテストパターンは２通りある。それは、インターフェースの仕様（プロトコル）に規定されている信号のやり取り、及びインターフェース仕様に規定されていない（違反する）信号のやり取りである。
【００１２】
また、テストパターンを生成する技術は、従来から開発されてきた（例えば、特許文献１、特許文献２）。まず、最も原始的なテストパターン生成手法は、インターフェース仕様から手作業でテストパターンを生成する手法である。また、インターフェース仕様を状態遷移機械（ＦＳＭ：Finite State Machine）に変換してから非特許文献１の技術を用いて自動的にテストパターンを生成する検証用通信モデルの作成手法が存在する。この類いのアプローチはインターフェース仕様で規定されている正常な動作のテストパターン、または予想されている異常動作のテストパターンを生成する検証用通信モデルの作成に適している。
【００１３】
なお、本発明の関連ある従来技術として、タイミングチャートからＦＳＭを作成する技術がある（例えば、非特許文献２、非特許文献３）。
【特許文献１】特開平９−９１３１５号公報
【特許文献２】特開平６−２３１０６３号公報
【非特許文献１】Ｊ．  Ｙｕａｎ，  Ｋ．  Ａｌｂｉｎ，  Ａ．  Ａｚｉｚ，  ａｎｄ  Ｃ．  Ｐｉｘｌｅｙ，  “Ｃｏｎｓｔｒａｉｎｔ  Ｓｙｎｔｈｅｓｉｓ  ｆｏｒ  Ｅｎｖｉｒｏｎｍｅｎｔ  Ｍｏｄｅｌｉｎｇ  ｉｎ  Ｆｕｎｃｔｉｏｎａｌ  Ｖｅｒｉｃａｔｉｏｎ”，  ｉｎ  Ｐｒｏｃ．  Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ  Ｃｏｎｆｅｒｅｎｃｅ，  ｐｐ．  ２９６−２９９，  ２００３．
【非特許文献２】Ｋ．  Ａｒａ  ａｎｄ  Ｋ．  Ｓｕｚｕｋｉ，  “Ａ  Ｐｒｏｐｏｓａｌ  ｆｏｒ  Ｔｒａｎｓａｃｔｉｏｎ−Ｌｅｖｅｌ  Ｖｅｒｉｆｉｃａｔｉｏｎ  ｗｉｔｈ  Ｃｏｍｐｏｎｅｎｔ  Ｗｒａｐｐｅｒ  Ｌａｎｇｕａｇｅ，”  ｉｎ  Ｐｒｏｃ．  Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ  ａｎｄ  Ｔｅｓｔ  ｉｎ  Ｅｕｒｏｐｅ  Ｃｏｎｆｅｒｅｎｃｅ，  ｐｐ．  ８２−８７，  ２００３．
【非特許文献３】Ｋ．  Ａｒａ  ａｎｄ  Ｋ．  Ｓｕｚｕｋｉ，  “Ｆｉｎｅ−Ｇｒａｉｎｅｄ  Ｔｒａｎｓａｃｔｉｏｎ−Ｌｅｖｅｌ  Ｖｅｒｉｆｉｃａｔｉｏｎ：  Ｕｓｉｎｇ  ａ  Ｖａｒｉａｂｌｅ  Ｔｒａｎｓａｃｔｏｒ  ｆｏｒ  Ｉｍｐｒｏｖｅｄ  Ｃｏｖｅｒａｇｅ  ａｔ  ｔｈｅ  Ｓｉｇｎａｌ  Ｌｅｖｅｌ，”  Ｉｎ  ＩＥＥＥ  Ｔｒａｎｓ．  ｏｎ  Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ  ｏｆ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ，  ｖｏｌ．  ２４，  ｎｏ．  ８，  ｐｐ．  １２３４−１２４０，  Ａｕｇｕｓｔ  ２００５．
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかしながら、現状の手法では、インターフェース仕様で規定されていない異常なテストパターンを生成する検証用通信モデルを作成することができない。従来、このようなテストパターンの生成は、手作業で行われていた。手作業で行うと自由度が高い反面、テストパターン生成作業効率は非常に低い。また、ハードウェアのインターフェース検証をする際に、正常なテストパターン、異常なテストパターンのみを検証対象ハードウェアに入力するだけではなく、正常なテストパターンの中にランダムに異常なテストパターンを入力する仕組みが必要となる。
【００１５】
本発明は上述した問題点を解決するためになされたものであり、インターフェース仕様に想定されていないテストを行うための、検証対象装置と通信を行うモデルを作成するモデル作成プログラム、モデル作成装置、モデル作成方法を提供することを目的とする。
【課題を解決するための手段】
【００１６】
上述した課題を解決するため、本発明は、検証の対象である検証対象装置との通信を行うモデルの作成をコンピュータに実行させるモデル作成プログラムであって、前記検証対象装置のインターフェース仕様を状態遷移機械として表した第１状態遷移機械とを取得する取得ステップと、エラー状態と該エラー状態への状態遷移とを前記第１状態遷移機械に追加して第２状態遷移機械とし、設定されたエラー確率に基づいて前記第２状態遷移機械の遷移条件を設定する第１追加ステップと、前記第２状態遷移機械を、前記検証対象装置との通信を行うモデルに変換する変換ステップとをコンピュータに実行させる。
【００１７】
また、本発明は、検証の対象である検証対象装置との通信を行うモデルの作成を行うモデル作成装置であって、前記検証対象装置のインターフェース仕様を状態遷移機械として表した第１状態遷移機械とを取得する取得部と、エラー状態と該エラー状態への状態遷移とを前記第１状態遷移機械に追加して第２状態遷移機械とし、設定されたエラー確率に基づいて前記第２状態遷移機械の遷移条件を設定する第１追加部と、前記第２状態遷移機械を、前記検証対象装置との通信を行うモデルに変換する変換部とを備える。
【００１８】
また、本発明は、検証の対象である検証対象装置との通信を行うモデルの作成を行うモデル作成方法であって、前記検証対象装置のインターフェース仕様を状態遷移機械として表した第１状態遷移機械とを取得する取得ステップと、エラー状態と該エラー状態への状態遷移とを前記第１状態遷移機械に追加して第２状態遷移機械とし、設定されたエラー確率に基づいて前記第２状態遷移機械の遷移条件を設定する第１追加ステップと、前記第２状態遷移機械を、前記検証対象装置との通信を行うモデルに変換する変換ステップとを実行する。
【発明の効果】
【００１９】
本発明によれば、インターフェース仕様に想定されていないテストを行うための、検証対象装置と通信を行うモデルを作成することができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態について図面を参照しつつ説明する。
【００２１】
実施の形態１．
【００２２】
まず、本実施の形態に係る検証用通信モデル作成装置（モデル作成装置）の構成について説明する。
【００２３】
図１は、本実施の形態に係る検証用通信モデル作成装置の構成の一例を示すブロック図である。この検証用通信モデル作成装置は、情報処理装置で実現され、情報処理装置における制御装置で実現されるＦＳＭ作成部１１、エラー状態定義部１２、遷移追加部１３、モデル作成部２１、機構追加部２２と、情報処理装置における記憶装置で実現されるタイムチャート記憶部３１、ＦＳＭ記憶部３２、エラー確率記憶部３３、モデル記憶部３４を備える。
【００２４】
まず、本実施の形態に係る検証用通信モデル作成装置の動作について説明する。
【００２５】
図２は、本実施の形態に係る検証用通信モデル作成装置の動作の一例を示すフローチャートである。タイムチャート記憶部３１には、予め検証対象ハードウェア（検証対象装置）のインターフェース仕様（プロトコル仕様）のタイムチャートが保存されている。次に、ＦＳＭ作成部１１は、タイムチャート記憶部３１に保存されたタイムチャートからＦＳＭを作成し、ＦＳＭ記憶部３２に保存するＦＳＭ作成処理を行う（Ｓ１１）。次に、エラー状態定義部１２は、エラー状態を定義するエラー状態定義処理を行う（Ｓ１２）。
【００２６】
次に、遷移追加部１３は、エラー状態定義処理により定義されたエラー状態への遷移を、ＦＳＭ記憶部３２に保存されたＦＳＭに追加し、ＦＳＭ記憶部３２に保存する遷移追加処理を行う（Ｓ２０）。次に、モデル作成部２１は、ＦＳＭ記憶部３２に保存されたＦＳＭから検証用通信モデルを作成し、モデル記憶部３４に保存するモデル作成処理を行う（Ｓ２１）。次に、機構追加部２２は、モデル記憶部３４に保存された検証用通信モデルにカバレッジ集計機構（記録機構）を追加し、モデル記憶部３４に保存する機構追加処理を行い（Ｓ２２）、このフローは終了する。
【００２７】
次に、本実施の形態に係る検証用通信モデル作成装置の動作の詳細について、インターフェース仕様の例を用いて説明する。
【００２８】
図３は、本実施の形態に係るインターフェース仕様の一例を示すブロック図である。検証用通信モデル作成装置により作成される検証用通信モデルと検証対象ハードウェアの両方に、外部から信号Ｃｌｏｃｋが入力される。また、検証用通信モデルから出力される信号ｒｅｑ，ｒｘｗは、検証対象ハードウェアへ入力される。また、検証対象ハードウェアから出力される信号ａｃｋ，ｖａｌは、検証用通信モデルへ入力される。
【００２９】
次に、ＦＳＭ作成処理について説明する。
【００３０】
インターフェース仕様は通常、波形（タイミングチャート）として表現される。図４は、本実施の形態に係るインターフェース仕様の一例を示すタイミングチャートである。このタイミングチャートは、５つの信号波形を示す。信号波形は、上から信号Ｃｌｏｃｋ，ｒｅｑ，ｒｘｗ，ａｃｋ，ｖａｌを示す。信号Ｃｌｏｃｋの立ち上がりにおいて、その他の４つの信号ｒｅｑ，ｒｘｗ，ａｃｋ，ｖａｌの値が確定する。ＦＳＭ作成部１１は、ＦＳＭ作成処理により、このタイムチャートをＦＳＭに変換し、ＦＳＭ記憶部３２に保存する。ＦＳＭ作成処理は、非特許文献２、非特許文献３の技術を用いて容易に実現できる。
【００３１】
図５は、本実施の形態に係るインターフェース仕様の一例を示すＦＳＭである。この図は、図４のタイミングチャートから得られたＦＳＭである。ＦＳＭにおける状態は、４つの信号ｒｅｑ，ｒｘｗ，ａｃｋ，ｖａｌの値により決定される。このＦＳＭにおいて、初期状態は、状態Ｓ０である。状態Ｓ０は、遷移条件ａを満たすと状態Ｓ１への遷移Ｔ０１が起こる。状態Ｓ１は、遷移条件ｂを満たすと遷移せず（状態Ｓ１への遷移Ｔ１１が起こる）、遷移条件ｃを満たすと状態Ｓ２への遷移Ｔ１２が起こる。状態Ｓ２は、遷移条件ｄを満たすと状態Ｓ０への遷移Ｔ２０が起こる。
【００３２】
図６は、本実施の形態に係る遷移追加処理前の遷移条件及び出力信号の一例を示す表である。遷移Ｔ０１，Ｔ１１，Ｔ１２，Ｔ２０において、遷移条件は、それぞれａ，ｂ，ｃ，ｄとする。遷移条件ａ，ｂ，ｃ，ｄは、信号ｒｅｑ，ｒｘｗ，ａｃｋ，ｖａｌの値を用いて表される。また、遷移Ｔ０１，Ｔ１１，Ｔ１２，Ｔ２０において、検証用通信モデルから検証対象ハードウェアへ出力される出力信号（テストパターン）は、それぞれＡ，Ｂ，Ｃ，Ｄとする。
【００３３】
次に、エラー状態定義処理について説明する。
【００３４】
本実施の形態において、エラー状態定義部１２は、１つのエラー状態Ｅを定義する。なお、エラー状態定義部１２は、複数のエラー状態を定義しても良いし、ランダムにエラー状態を定義しても良い。図７は、本実施の形態に係るエラー状態が追加されたＦＳＭの一例を示す図である。本実施の形態においては、状態Ｓ０からエラー状態Ｅへのエラー遷移Ｔ０Ｅ、状態Ｓ１からエラー状態Ｅへのエラー遷移Ｔ１Ｅ、状態Ｓ２からエラー状態Ｅへのエラー遷移Ｔ２Ｅが追加される。
【００３５】
次に、エラー状態定義部１２は、これらのエラー遷移が起こる確率であるエラー確率を設定する。ここで、エラー状態定義部１２は、ユーザ（検証者）からエラー遷移毎のエラー確率の入力を受け付け、エラー確率記憶部３３に保存する。次に、エラー状態定義部１２は、入力したエラー確率を設定し、エラー確率テーブルとしてエラー確率記憶部３３に保存する。図８は、本実施の形態に係るエラー確率テーブルの一例を示す表である。このエラー確率テーブルにおいて、エラー遷移Ｔ０Ｅ（Ｓ０→Ｅ）が起こるエラー確率α、エラー遷移Ｔ１Ｅ（Ｓ１→Ｅ）のエラー確率β、エラー遷移Ｔ２Ｅ（Ｓ２→Ｅ）のエラー確率γがそれぞれ設定されている。
【００３６】
このエラー状態定義処理によれば、正常状態からエラー状態への遷移を自動的に作成することができる。また、ユーザは、エラー状態への遷移確率を制御することができ、適切なテストを行うことができる。
【００３７】
次に、遷移追加処理について説明する。
【００３８】
遷移追加部１３は、各状態からのエラー遷移を追加すると共に、正常な遷移を修正する。図９は、本実施の形態に係る遷移追加処理後の遷移条件及び出力信号の一例を示す表である。遷移追加処理により設定される遷移条件は、元の遷移条件ａ，ｂ，ｃ，ｄ、エラー確率α，β，γ、関数ｒ（ｘ）で表される。ここで、関数ｒ（ｘ）は確率ｘで真となる関数である。また、遷移追加処理により設定される出力信号は、元の出力信号Ａ，Ｂ，Ｃ，Ｄを用いて表される。
【００３９】
ここで、まず、遷移追加部１３は、状態Ｓ０からの遷移Ｔ０Ｅを追加すると共に、遷移Ｔ０１を修正する。エラー遷移Ｔ０Ｅの遷移条件は、ｒ（α）とする。一方、遷移Ｔ０１の遷移条件は、エラー遷移Ｔ０Ｅが起こらず、且つ、元の遷移条件ａを満たすことであり、（  ｒ（１−α）  ＆＆  ａ  ）で表される。また、エラー遷移Ｔ０Ｅにおける出力信号は、正常な遷移Ｔ０１における出力信号Ａの論理否定であるＡ’とする。同様に、遷移追加部１３は、遷移Ｔ１１，Ｔ１２，Ｔ１Ｅ，Ｔ２０，Ｔ２Ｅの遷移条件及び出力信号を設定する。
【００４０】
この遷移追加処理によれば、設定されたエラー確率でエラー状態に遷移するＦＳＭを作成することができる。
【００４１】
次に、モデル作成処理について説明する。
【００４２】
ここで、モデル作成部２１は、遷移追加処理によりエラー遷移が追加されたＦＳＭを、ハードウェア記述言語または汎用のプログラミング言語で記述された検証用通信モデルに変換し、このモデルを検証用通信モデルとしてモデル記憶部３４に保存する。次に、エラー遷移を追加しない場合の検証用通信モデルとエラー遷移を追加した場合の検証用通信モデルを用いて説明する。ここでは、モデルをハードウェアシミュレーション言語Ｖｅｒｉｌｏｇ（登録商標）−ＨＤＬで記述した場合について説明する。
【００４３】
図１０は、本実施の形態に係るエラー遷移を追加しない場合の検証用通信モデルの一部を示す記述である。このモデルは、エラー遷移を追加しない場合の検証用通信モデルにおける状態Ｓ０を示す部分である。このモデルは、状態Ｓ０において遷移条件ａを満たすと、状態Ｓ１に移行する（Ｔ０１）。
【００４４】
図１１は、本実施の形態に係るエラー遷移を追加した場合の検証用通信モデルの一部を示す記述である。このモデルは、エラー遷移を追加した場合の検証用通信モデルにおける状態Ｓ０を示す部分である。ここでエラー確率αは、ｐ１［％］で表される。このモデルは、状態Ｓ０において乱数がエラー確率ｐ１を満たす場合、状態Ｅへ移行する（Ｔ０Ｅ）。一方、状態Ｓ０において乱数がエラー確率ｐ１を満たさない場合、且つ、元の遷移条件ａを満たす場合、状態Ｓ１へ移行する（Ｔ０１）。ここで、（＄ｒａｎｄｏｍ  ％  １００）は、０〜９９の整数の乱数を出力する。この値が、ｐ１［％］より大きい場合、正常時の遷移条件の判定を行い、ｐ１［％］以下である場合、エラー遷移を行う。
【００４５】
このモデル作成処理によれば、設定されたエラー確率でエラー状態に遷移する検証用通信モデルを作成することができる。
【００４６】
次に、機構追加処理について説明する。
【００４７】
機構追加部２２は、モデル作成処理により作成された検証用通信モデルの遷移の部分に、カバレッジ集計機構を追加する。カバレッジ集計機構は、遷移毎に通過した回数をカウントし、出力するものである。図１２は、本実施の形態に係るカバレッジ集計機構を追加した場合の検証用通信モデルの一部を示す記述である。このモデルは、図１１のモデルにカバレッジ集計機構を追加したものである。このモデルにおいて、Ｔ０１用カウンタと記した部分は、遷移Ｔ０１の通過回数をカウントするカウンタであり、Ｔ０Ｅ用カウンタと記した部分は、遷移Ｔ０Ｅの通過回数をカウントするカウンタである。更に、機構追加部２２は、各カウンタ値を０に初期化する初期化部分と、各カウンタ値をスコアボードとして出力するスコアボード出力部分とを検証用通信モデルに追加する。
【００４８】
スコアボードには、ＦＳＭ中の全ての状態遷移がリストアップされ、各状態遷移の通過回数が記録される。図１３は、本実施の形態に係るスコアボードの一例を示す表である。インターフェース仕様に基づく全ての遷移（Ｔ０１，Ｔ１１，Ｔ１２，Ｔ２０）の他に、全てのエラー遷移（Ｔ０Ｅ，Ｔ１Ｅ，Ｔ２Ｅ）について、通過回数が記録される。
【００４９】
図１４は、本実施の形態に係るスコアボードの結果の一例を示す表である。このスコアボードは、検証用通信モデルと検証対象ハードウェアを用いてテストを行った結果、カバレッジ集計機構により記録されたデータである。ここでは、説明を簡単にするため、状態遷移は、（Ｓ０→Ｓ１）、（Ｓ１→Ｓ１）、（Ｓ１→Ｓ２）、（Ｓ２→Ｓ０）の４種類とする。このスコアボードによれば、状態Ｓ１から状態Ｓ１への状態遷移以外の状態遷移は、１回以上通過したことが分かる。また、このスコアボードによれば、このテストの状態遷移カバレッジの割合は、７５％であることが分かる。
【００５０】
テストツールは、この検証用通信モデル作成装置により作成された検証用通信モデルと検証対象ハードウェアを用いてテストを行うことにより、テストツールは、スコアボードによりテストの充足度を得ることができ、充足度に応じて、テスト回数を増加させたり、テストを終了させたりすることができる。
【００５１】
また、検証用通信モデル作成装置は、エラー遷移の通過回数が低い場合にエラー確率を高くするなど、スコアボードに基づいてエラー確率を再設定しても良い。また、テストツールからエラー確率テーブルへのアクセスを可能とし、テストツールがスコアボードに基づいてエラー確率を再設定し、再テストを行っても良い。
【００５２】
この機構追加処理によれば、ユーザは、実際のテストにおいて、どの状態遷移を何回通過したか、どのテストパターンが何回出力されたか、等を知ることができる。これにより、テストツールやユーザは、テストの充足度を測定することができる。
【００５３】
本実施の形態により作成された検証用通信モデルを用いることにより、エラー状態へ遷移した場合において検証対象ハードウェアが適切に対処できるか等、検証対象ハードウェアのエラー処理を容易にテストすることができる。
【００５４】
実施の形態２．
本実施の形態においては、テストの要件に従って、テストパターンを出力する検証用通信モデルを作成する検証用通信モデル作成装置について説明する。
【００５５】
実施の形態１の検証用通信モデル作成装置により作成された検証用通信モデルは、１回だけエラー状態に遷移する。即ち、この検証用通信モデルは、１回だけ異常テストパターンを出力すると、それ以上テストパターンを出力しない。ハードウェアのインターフェースのテストケースによっては、このようなテストは適切ではない。例えば、特定のテストのみにおいて異常テストパターンを出力させたいケースや、異常テストパターンを出力してから引き続き正常テストパターンを出力させたいケースが挙げられる。
【００５６】
まず、本実施の形態に係る検証用通信モデル作成装置の構成について説明する。
【００５７】
図１５は、本実施の形態に係る検証用通信モデル作成装置の構成の一例を示すブロック図である。図１と同一符号は図１に示された対象と同一又は相当物を示しており、ここでの説明を省略する。この図は、図１と比較すると、エラー状態定義部１２の代わりにエラー状態定義部４２を備え、新たに要件記憶部５５を備える。エラー状態定義部４２は、情報処理装置における制御装置で実現され、要件記憶部５５は、情報処理装置における記憶装置で実現される。
【００５８】
次に、本実施の形態に係る検証用通信モデル作成装置の動作について説明する。
【００５９】
図１６は、本実施の形態に係る検証用通信モデル作成装置の動作の一例を示すフローチャートである。この図において、図２と同一符号は図２に示された対象と同一又は相当処理を示しており、ここでの説明を省略する。この図は、図２と比較すると、処理Ｓ１２の代わりに処理Ｓ１５，Ｓ１６を実行する。
【００６０】
実施の形態１と同様にして処理Ｓ１１が実行された後、エラー状態定義部４２は、テスト要件を設定し、要件記憶部５５に保存するテスト要件定義処理を行う（Ｓ１５）。次に、エラー状態定義部４２は、テスト要件を満足するように、部分ＦＳＭに対するエラー状態を定義するエラー状態定義処理を行う（Ｓ１６）。以後、実施の形態１と同様、処理Ｓ２０，Ｓ２１，Ｓ２２を実行する。
【００６１】
次に、本実施の形態に係る検証用通信モデル作成装置の動作の詳細について、インターフェース仕様の例を用いて説明する。
【００６２】
図１７は、本実施の形態に係るインターフェース仕様の一例を示すＦＳＭである。このＦＳＭは、図５のＦＳＭに加えて、状態Ｓ３，Ｓ４を加え、状態Ｓ０から状態Ｓ３への遷移Ｔ０３、状態Ｓ３から状態Ｓ４への遷移Ｔ３４、状態Ｓ４から状態Ｓ０への遷移Ｔ４０を加えたものである。ここで、インターフェース仕様におけるトランザクションについて説明する。この図においては、初期状態Ｓ０から状態Ｓ１，Ｓ２を経由して、初期状態Ｓ０へ戻る経路と、初期状態Ｓ０から状態Ｓ３，Ｓ４を経由して、初期状態Ｓ０へ戻る経路とが存在する。トランザクションは、これらの経路であり、ＦＳＭ中の部分ＦＳＭに相当する。例えば、状態Ｓ０，Ｓ１，Ｓ２の経路を持つトランザクションが、データ書き込みトランザクションを示し、状態Ｓ０，Ｓ３，Ｓ４の経路を持つトランザクションが、データ読み出しトランザクションを示す。
【００６３】
図１８は、本実施の形態に係る遷移追加処理前の遷移条件及び出力信号の一例を示す表である。遷移Ｔ０３，Ｔ３４，Ｔ４０において、遷移条件は、それぞれｆ，ｇ，ｈとする。また、遷移Ｔ０３，Ｔ３４，Ｔ４０において、検証用通信モデルから検証対象ハードウェアへ出力される出力信号（テストパターン）は、それぞれＦ，Ｇ，Ｈとする。
【００６４】
次に、テスト要件定義処理について説明する。
【００６５】
エラー状態定義部４２は、ユーザからテスト要件の入力を受け付け、要件記憶部５５に保存する。テスト要件は、インターフェース仕様においてエラーを出力すべきトランザクション、追加するエラー状態の種類、特定のトランザクションのうち、エラー状態へ遷移可能な遷移元の状態、等を指定する。エラー状態が複数で存在する場合、遷移先のエラー状態も指定する。図１９は、本実施の形態に係るテスト要件の一例を示す表である。テスト要件は、上述した部分ＦＳＭのトランザクション、新たに定義されるエラー状態、遷移元の状態、遷移先の状態、を有する。ここでは、状態Ｓ０，Ｓ３，Ｓ４の経路を持つトランザクションを部分ＦＳＭとする。また、遷移元の状態毎に、エラー状態が定義される。エラー状態として、状態Ｓ０から遷移可能なエラー状態Ｅ１、状態Ｓ３から遷移可能なエラー状態Ｅ２、状態Ｓ４から遷移可能なエラー状態Ｅ３がある。エラー状態Ｅ１は状態Ｓ３へ遷移し、エラー状態Ｅ２は状態Ｓ４へ遷移し、エラー状態Ｅ３は状態Ｓ０へ遷移する。
【００６６】
次に、エラー状態定義処理について説明する。
【００６７】
エラー状態定義部４２は、要件記憶部５５に保存されたテスト要件に従って、エラー状態を定義する。図２０は、本実施の形態に係るエラー状態が追加されたＦＳＭの一例を示す図である。テスト要件に従って、状態Ｓ０からエラー状態Ｅ１への遷移Ｔ０Ａ、エラー状態Ｅ１から状態Ｓ３への遷移ＴＡ３、状態Ｓ３からエラー状態Ｅ２への遷移Ｔ３Ｂ、エラー状態Ｅ２から状態Ｓ４への遷移ＴＢ４、状態Ｓ４からエラー状態Ｅ３への遷移Ｔ４Ｃ、エラー状態Ｅ３から状態Ｓ０への遷移ＴＣ０が追加される。
【００６８】
次に、エラー状態定義部４２は、エラー状態Ｔ０Ａ，Ｔ３Ｂ，Ｔ４Ｃへの遷移が起こる確率であるエラー確率を設定する。ここで、エラー状態定義部４２は、ユーザからエラー遷移毎のエラー確率の入力を受け付け、エラー確率記憶部３３に保存する。次に、エラー状態定義部４２は、入力したエラー確率を設定し、エラー確率テーブルとしてエラー確率記憶部３３に保存する。図２１は、本実施の形態に係るエラー確率テーブルの一例を示す表である。このエラー確率テーブルにおいて、エラー遷移Ｔ０Ａ（Ｓ０→Ｅ１）が起こるエラー確率α、エラー遷移Ｔ３Ｂ（Ｓ３→Ｅ２）のエラー確率β、エラー遷移Ｔ４Ｃ（Ｓ４→Ｅ３）のエラー確率γがそれぞれ設定されている。
【００６９】
図２２は、本実施の形態に係る遷移追加処理後の遷移条件及び出力信号の一例を示す表である。遷移追加処理により設定される遷移条件は、元の遷移条件ｆ，ｇ，ｈ、エラー確率α，β，γ、関数ｒ（ｘ）で表される。また、遷移追加処理により設定される出力信号は、元の出力信号Ｆ，Ｇ，Ｈを用いて表される。
【００７０】
上述したテスト要件定義処理及びエラー状態定義処理によれば、インターフェース仕様内の特定のトランザクションにおいてエラーを発生させる検証用通信モデルを作成することができる。また、テスト要件を満たす状態遷移を自動的に作成することができる。
【００７１】
次に、機構追加処理について説明する。
【００７２】
図２３は、本実施の形態に係るスコアボードの一例を示す表である。起こり得る全ての遷移について、通過回数が記録される。なお、本実施の形態におけるカバレッジ集計機構は、状態遷移毎の通過回数を記録するとしたが、トランザクション毎の通過回数を記録するようにしても良い。この場合、スコアボードは、部分ＦＳＭとして指定されたトランザクションの他に、この部分ＦＳＭの経路の途中にエラー状態を経由する全ての経路をトランザクションとしてリストアップしたものである。
【００７３】
本実施の形態により作成された検証用通信モデルを用いることにより、エラー状態へ遷移した場合において検証対象ハードウェアが正常状態へ復帰できるか等、検証対象ハードウェアのエラー耐性を容易にテストすることができる。
【００７４】
なお、取得ステップは、実施の形態におけるエラー状態定義処理、テスト要件定義処理に対応する。また、第１追加ステップは、実施の形態における遷移追加処理に対応する。また、変換ステップは、実施の形態におけるモデル作成処理に対応する。また、第２追加ステップは、実施の形態における機構追加処理に対応する。また、仕様変換ステップは、実施の形態におけるＦＳＭ作成処理に対応する。
【００７５】
また、取得部は、実施の形態におけるエラー状態定義部に対応する。また、第１追加部は、実施の形態における遷移追加部に対応する。また、変換部は、実施の形態におけるモデル作成部に対応する。また、第２追加部は、実施の形態における機構追加部に対応する。また、仕様変換部は、実施の形態におけるＦＳＭ作成部に対応する。
【００７６】
また、本実施の形態に係るモデル作成装置は、情報処理装置に容易に適用することができ、情報処理装置の性能をより高めることができる。ここで、情報処理装置には、例えばＰＣ（Personal Computer）、サーバ、ワークステーション等が含まれ得る。
【００７７】
更に、モデル作成装置を構成するコンピュータにおいて上述した各ステップを実行させるプログラムを、モデル作成プログラムとして提供することができる。上述したプログラムは、コンピュータにより読取り可能な記録媒体に記憶させることによって、モデル作成装置を構成するコンピュータに実行させることが可能となる。ここで、上記コンピュータにより読取り可能な記録媒体としては、ＲＯＭやＲＡＭ等のコンピュータに内部実装される内部記憶装置、ＣＤ−ＲＯＭやフレキシブルディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータ並びにそのデータベースや、更に回線上の伝送媒体をも含むものである。
【００７８】
（付記１）  検証の対象である検証対象装置との通信を行うモデルの作成をコンピュータに実行させるモデル作成プログラムであって、
前記検証対象装置のインターフェース仕様を状態遷移機械として表した第１状態遷移機械とを取得する取得ステップと、
エラー状態と該エラー状態への状態遷移とを前記第１状態遷移機械に追加して第２状態遷移機械とし、設定されたエラー確率に基づいて前記第２状態遷移機械の遷移条件を設定する第１追加ステップと、
前記第２状態遷移機械を、前記検証対象装置との通信を行うモデルに変換する変換ステップと
をコンピュータに実行させるモデル作成プログラム。
（付記２）  付記１に記載のモデル作成プログラムにおいて、
前記変換ステップの後に、前記検証時に通過した状態遷移に関する記録を行う記録機構を、前記検証用通信モデルに追加する第２追加ステップをコンピュータに実行させるモデル作成プログラム。
（付記３）  付記２に記載のモデル作成プログラムにおいて、
前記記録機構は、前記第２状態遷移機械における状態遷移毎の通過回数をカウントし、該状態遷移毎の通過回数を出力することを特徴とするモデル作成プログラム。
（付記４）  付記２または付記３に記載のモデル作成プログラムにおいて、
前記記録機構は、前記第２状態遷移機械における状態遷移の経路毎の通過回数をカウントし、該経路毎の通過回数を出力することを特徴とするモデル作成プログラム。
（付記５）  付記１乃至付記４のいずれかに記載のモデル作成プログラムにおいて、
前記第１追加ステップは、前記エラー状態への状態遷移毎のエラー確率を取得することを特徴とするモデル作成プログラム。
（付記６）  付記１乃至付記５のいずれかに記載のモデル作成プログラムにおいて、
前記エラー状態への状態遷移の遷移条件は、前記エラー確率で成立する条件とすることを特徴とするモデル作成プログラム。
（付記７）  付記１乃至付記６のいずれかに記載のモデル作成プログラムにおいて、
前記第１追加ステップは、前記第１状態遷移機械中の第１状態からの状態遷移である第１状態遷移の遷移条件を取得し、前記第１状態からエラー状態への遷移条件に基づいて、前記第２状態遷移機械中の前記第１状態遷移の遷移条件を変更することを特徴とするモデル作成プログラム。
（付記８）  付記１乃至付記７のいずれかに記載のモデル作成プログラムにおいて、
前記第１追加ステップは、前記第１状態遷移機械中の第１状態からの状態遷移である第１状態遷移により前記モデルから前記検証対象装置へ出力される出力信号の内容を取得し、該内容に基づいて前記第１状態からエラー状態への状態遷移による出力信号の内容を設定することを特徴とするモデル作成プログラム。
（付記９）  付記１乃至付記８のいずれかに記載のモデル作成プログラムにおいて、
前記取得ステップは更に、前記第１状態遷移機械の一部を指定する部分情報を取得し、
前記第１追加ステップは、前記部分情報により指定された前記第１状態遷移機械の一部に対して、エラー状態と該エラー状態への状態遷移とを前記第１状態遷移機械に追加することを特徴とするモデル作成プログラム。
（付記１０）  付記１乃至付記９のいずれかに記載のモデル作成プログラムにおいて、
前記取得ステップは更に、前記エラー状態へ遷移可能な前記第１状態遷移機械内の状態を指定する遷移元情報を取得し、
前記第１追加ステップは、エラー状態と、前記遷移元情報により指定された状態から該エラー状態への状態遷移とを前記第１状態遷移機械に追加することを特徴とするモデル作成プログラム。
（付記１１）  付記１乃至付記１０のいずれかに記載のモデル作成プログラムにおいて、
前記取得ステップは更に、前記エラー状態から遷移可能な前記第１状態遷移機械内の状態を指定する遷移先情報を取得し、
前記第１追加ステップは、エラー状態と、該エラー状態から前記遷移元情報により指定された状態への状態遷移とを前記第１状態遷移機械に追加することを特徴とするモデル作成プログラム。
（付記１２）  付記１乃至付記１１のいずれかに記載のモデル作成プログラムにおいて、
前記第１追加ステップの前に、前記インターフェース仕様を表すタイムチャートを、前記インターフェース仕様を表す状態遷移機械に変換する仕様変換ステップをコンピュータに実行させるモデル作成プログラム。
（付記１３）  付記１乃至付記１２のいずれかに記載のモデル作成プログラムにおいて、
前記モデルは、ハードウェア記述言語またはプログラミング言語で表されることを特徴とするモデル作成プログラム。
（付記１４）  検証の対象である検証対象装置との通信を行うモデルの作成を行うモデル作成装置であって、
前記検証対象装置のインターフェース仕様を状態遷移機械として表した第１状態遷移機械とを取得する取得部と、
エラー状態と該エラー状態への状態遷移とを前記第１状態遷移機械に追加して第２状態遷移機械とし、設定されたエラー確率に基づいて前記第２状態遷移機械の遷移条件を設定する第１追加部と、
前記第２状態遷移機械を、前記検証対象装置との通信を行うモデルに変換する変換部と
を備えるモデル作成装置。
（付記１５）  付記１４に記載のモデル作成装置において、
更に、前記検証時に通過した状態遷移に関する記録を行う記録機構を、前記検証用通信モデルに追加する第２追加部をコンピュータに実行させるモデル作成装置。
（付記１６）  付記１４乃至付記１５のいずれかに記載のモデル作成装置において、
前記エラー状態への状態遷移の遷移条件は、前記エラー確率で成立する条件とすることを特徴とするモデル作成装置。
（付記１７）  付記１４乃至付記１６のいずれかに記載のモデル作成装置において、
前記第１追加部は、前記第１状態遷移機械中の第１状態からの状態遷移である第１状態遷移の遷移条件を取得し、前記第１状態からエラー状態への遷移条件に基づいて、前記第２状態遷移機械中の前記第１状態遷移の遷移条件を変更することを特徴とするモデル作成装置。
（付記１８）  付記１４乃至付記１７のいずれかに記載のモデル作成装置において、
前記取得部は更に、前記第１状態遷移機械の一部を指定する部分情報を取得し、
前記第１追加部は、前記部分情報により指定された前記第１状態遷移機械の一部に対して、エラー状態と該エラー状態への状態遷移とを前記第１状態遷移機械に追加することを特徴とするモデル作成装置。
（付記１９）  付記１４乃至付記１８のいずれかに記載のモデル作成装置において、
更に、前記インターフェース仕様を表すタイムチャートを、前記インターフェース仕様を表す状態遷移機械に変換する仕様変換部をコンピュータに実行させるモデル作成装置。
（付記２０）  検証の対象である検証対象装置との通信を行うモデルの作成を行うモデル作成方法であって、
前記検証対象装置のインターフェース仕様を状態遷移機械として表した第１状態遷移機械とを取得する取得ステップと、
エラー状態と該エラー状態への状態遷移とを前記第１状態遷移機械に追加して第２状態遷移機械とし、設定されたエラー確率に基づいて前記第２状態遷移機械の遷移条件を設定する第１追加ステップと、
前記第２状態遷移機械を、前記検証対象装置との通信を行うモデルに変換する変換ステップと
を実行するモデル作成方法。
【図面の簡単な説明】
【００７９】
【図１】実施の形態１に係る検証用通信モデル作成装置の構成の一例を示すブロック図である。
【図２】実施の形態１に係る検証用通信モデル作成装置の動作の一例を示すフローチャートである。
【図３】実施の形態１に係るインターフェース仕様の一例を示すブロック図である。
【図４】実施の形態１に係るインターフェース仕様の一例を示すタイミングチャートである。
【図５】実施の形態１に係るインターフェース仕様の一例を示すＦＳＭである。
【図６】実施の形態１に係る遷移追加処理前の遷移条件及び出力信号の一例を示す表である。
【図７】実施の形態１に係るエラー状態が追加されたＦＳＭの一例を示す図である。
【図８】実施の形態１に係るエラー確率テーブルの一例を示す表である。
【図９】実施の形態１に係る遷移追加処理後の遷移条件及び出力信号の一例を示す表である。
【図１０】実施の形態１に係るエラー遷移を追加しない場合の検証用通信モデルの一部を示す記述である。
【図１１】実施の形態１に係るエラー遷移を追加した場合の検証用通信モデルの一部を示す記述である。
【図１２】実施の形態１に係るカバレッジ集計機構を追加した場合の検証用通信モデルの一部を示す記述である。
【図１３】実施の形態１に係るスコアボードの一例を示す表である。
【図１４】実施の形態１に係るスコアボードの結果の一例を示す表である。
【図１５】実施の形態２に係る検証用通信モデル作成装置の構成の一例を示すブロック図である。
【図１６】実施の形態２に係る検証用通信モデル作成装置の動作の一例を示すフローチャートである。
【図１７】実施の形態２に係るインターフェース仕様の一例を示すＦＳＭである。
【図１８】実施の形態２に係る遷移追加処理前の遷移条件及び出力信号の一例を示す表である。
【図１９】実施の形態２に係るテスト要件の一例を示す表である。
【図２０】実施の形態２に係るエラー状態が追加されたＦＳＭの一例を示す図である。
【図２１】実施の形態２に係るエラー確率テーブルの一例を示す表である。
【図２２】実施の形態２に係る遷移追加処理後の遷移条件及び出力信号の一例を示す表である。
【図２３】実施の形態２に係るスコアボードの一例を示す表である。
【図２４】検証対象ハードウェアと検証用通信ハードウェアの接続の一例を示すブロック図である。
【符号の説明】
【００８０】
１１  ＦＳＭ作成部、１２，４２  エラー状態定義部、１３  遷移追加部、２１  モデル作成部、２２  機構追加部、３１  タイムチャート記憶部、３２  ＦＳＭ記憶部、３３  エラー確率記憶部、３４  モデル記憶部、５５  要件記憶部。
【図１】
2008171296.tif 000003
【図２】
2008171296.tif 000004
【図３】
2008171296.tif 000005
【図４】
2008171296.tif 000006
【図５】
2008171296.tif 000007
【図６】
2008171296.tif 000008
【図７】
2008171296.tif 000009
【図８】
2008171296.tif 000010
【図９】
2008171296.tif 000011
【図１０】
2008171296.tif 000012
【図１１】
2008171296.tif 000013
【図１２】
2008171296.tif 000014
【図１３】
2008171296.tif 000015
【図１４】
2008171296.tif 000016
【図１５】
2008171296.tif 000017
【図１６】
2008171296.tif 000018
【図１７】
2008171296.tif 000019
【図１８】
2008171296.tif 000020
【図１９】
2008171296.tif 000021
【図２０】
2008171296.tif 000022
【図２１】
2008171296.tif 000023
【図２２】
2008171296.tif 000024
【図２３】
2008171296.tif 000025
【図２４】
2008171296.tif 000026