(57)【特許請求の範囲】
【請求項１】
コンピュータソフトウェアをコンピュータで実行することで実現される仕様モデルの検査方法であって、
少なくとも第１及び第２の機能ブロックを含む複数の機能ブロックの遷移で表わされる仕様モデルと目標値とが入力され、
上記複数の機能ブロックのそれぞれについて、状態遷移で表わされる設計モデルと目標値とが入力され、
上記複数の機能ブロックのそれぞれが上記設計モデルと共に入力された目標値を満たすか否かを検証し、
上記機能ブロックの検証において目標値を満たさない状態遷移を有する第１の機能ブロックが抽出された場合には、上記第１の機能ブロックの目標値を、上記目標値を満たさない状態遷移に要する値に再設定し、
第２の機能ブロックについて、上記第１の機能ブロックの目標値を再設定した場合に、上記仕様モデルの目標値を満たすように再設定された第２の機能ブロックの目標値の入力を受け、
上記第１の機能ブロックで上記目標値を満たさない状態遷移を生じさせる制約条件に関係しない状態遷移を上記第２の機能ブロックの設計モデルから除いた上記第２の機能ブロックの変形設計モデルを生成し、
上記第２の機能ブロックの変形設計モデルが上記再設定された第２の機能ブロックの目標値を満たす場合には、上記仕様モデルがその目標値を満足するという結果を出力する仕様モデル検査方法。
【請求項２】
請求項１において、
上記第１の機能ブロックの目標値を満たさない状態遷移を表示装置に表示させる仕様モデル検査方法。
【請求項３】
仕様モデルの検査装置であって、
少なくとも第１及び第２の機能ブロックを含む複数の機能ブロックの遷移で表わされる仕様モデルと目標値とが入力され、仕様検証モデルを生成する第１モデル変換部と、
上記複数の機能ブロックのそれぞれについて、状態遷移で表わされる設計モデルと目標値とが入力され、設計検証モデルを生成する第２モデル変換部と、
上記仕様検証モデルと上記設計検証モデルとの入力を受け、上記仕様検証モデルと上記設計検証モデルが上記仕様モデルと共に入力された目標値と上記設計モデルと共に入力された目標値を満たすか否か検査を行うモデル検査部と、
上記モデル検査部により目標値を満たさないと判定された第１の機能ブロックの設計モデルから、目標値を満たさない状態遷移を抽出する反例抽出部と、
上記第１の機能ブロックで上記目標値を満たさない状態遷移を生じさせる制約条件に関係しない状態遷移を上記第２の機能ブロックの設計モデルから除いた上記第２の機能ブロックの変形設計モデルを生成する設計モデル管理部とを有し、
上記モデル検査部により第１の機能ブロックが目標値を満たさないと判定された場合には、上記第１の機能ブロックの目標値を、上記目標値を満たさない状態遷移に要する値に再設定した場合に、上記仕様モデルの目標値を満たすように再設定された第２の機能ブロックの目標値の入力を受け、
上記モデル検査部は、上記設計モデル管理部で生成された変形設計モデルが上記再設定された第２の機能ブロックの目標値を満たすか否か検査する仕様モデル検査装置。
【請求項４】
請求項３において、
上記モデル検査部は、上記設計モデル管理部で生成された変形設計モデルが上記再設定された第２の機能ブロックの目標値を満たす場合に、上記仕様モデルがその目標値を満足するという結果を出力する仕様モデル検査装置。
【請求項５】
請求項３において、
上記第１の機能ブロックの目標値を満たさない状態遷移を表示装置に表示させる仕様モデル検査装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、製品仕様を記述する製品仕様モデルに基づき、ソフトウェア処理の機能を記述した設計モデルの検査方法および検査装置に関する。
【背景技術】
【０００２】
近年、ソフトウェアの複雑化に伴い、従来以上に不具合が混入しやすくなるとともに、人手では仕様そのものの妥当性を検証することが困難になってきている。また、製品システムの仕様を決定する上流工程で混入した不具合が後工程で発見された場合、その解消には膨大なコストがかかる。そのため、不具合の早期発見と仕様の妥当性を検証する手段が必要不可欠となってきている。【０００３】
この問題の解決のため、対象となる製品システムを数学的基盤に基づく言語・モデルで記述して、システムが要求する目標値を満足するか確認することで、そのシステムの仕様の妥当性を厳密に検証するモデル検査技術がある。しかしながら、検査対象とするモデルが大きくなり、状態数が増大すると、コンピュータの扱える能力範囲を越える状態爆発という現象が発生する。そのため、モデル検査技術の適用範囲は、製品システムの仕様を記述した製品仕様モデルや、製品システムの仕様を処理機能で分割した機能ブロック毎の設計モデルなど、状態数が少ないモデルに制限される。この問題の解決のためには、検査対象とするモデルの状態数を削減する技術が必要となる。【０００４】
特許文献１には、動作モデルにおける複数の命令の状態遷移が、あるステージ以降同じになるか否かを調査し、同じになる場合にそのステージ以降を一つの命令として動作させることにより、動作モデルの記述の状態数を減らすモデル作成方法が記載されている。【０００５】
また、特許文献２には、モデル検査対象となるシステムの仕様において、状態が変化する要素の状態を示すためのモデル内変数である状態変数間の関連性をユーザに指定させることで、モデル検査に用いるシステムの状態数を削減する方法が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−９６０３６号公報
【特許文献２】特開２００９−１３４３６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
一般に、ソフトウェアは、機能ブロック間の依存関係が複雑であり、製品仕様モデルと複数の機能ブロックの設計モデルが、単純な階層構造とはならない。従って、機能ブロック設計モデルのレベルで製品仕様の目標値を満足することを検証するために、各々の機能ブロックの設計モデルにおいて、製品仕様からその機能ブロックに割りあてた目標値を満足することを検証するだけでは機能ブロックに対して過度な仕様が与えられるおそれがあり、不十分である。機能ブロックがその目標値を満足しないが、全体としては製品仕様を満足するということが起こりうるからである。このためには、製品仕様に関わる全ての機能ブロックの設計モデルを含んだ検証が必要であるが、その検証は状態数が多くなるため状態爆発を引き起こすおそれが高い。
【課題を解決するための手段】
【０００８】
本発明の仕様モデル検査方法では、少なくとも第１及び第２の機能ブロックを含む複数の機能ブロックの遷移で表わされる仕様モデルと目標値とが入力され、複数の機能ブロックのそれぞれについて、状態遷移で表わされる設計モデルと目標値とが入力され、複数の機能ブロックのそれぞれがその目標値を満たすか否かを検証し、機能ブロックの検証において目標値を満たさない状態遷移を有する第１の機能ブロックが抽出された場合には、第１の機能ブロックの目標値を、目標値を満たさない状態遷移に要する値に再設定し、第２の機能ブロックについて、第１の機能ブロックの目標値を再設定した場合に、仕様モデルの目標値を満たすように再設定された第２の機能ブロックの目標値の入力を受け、第１の機能ブロックで目標値を満たさない状態遷移を生じさせる制約条件に関係しない状態遷移を第２の機能ブロックの設計モデルから除いた第２の機能ブロックの変形設計モデルを生成し、第２の機能ブロックの変形設計モデルが再設定された第２の機能ブロックの目標値を満たす場合には、仕様モデルがその目標値を満足するという結果を出力する。【０００９】
また、本発明の仕様モデル検査装置では、少なくとも第１及び第２の機能ブロックを含む複数の機能ブロックの遷移で表わされる仕様モデルと目標値とが入力され、仕様検証モデルを生成する第１モデル変換部と、複数の機能ブロックのそれぞれについて、状態遷移で表わされる設計モデルと目標値とが入力され、設計検証モデルを生成する第２モデル変換部と、仕様検証モデルと設計検証モデルとの入力を受け、モデルがその目標値を満たすか否か検査を行うモデル検査部と、モデル検査部により目標値を満たさないと判定された第１の機能ブロックの設計モデルから、目標値を満たさない状態遷移を抽出する反例抽出部と、第１の機能ブロックで上記目標値を満たさない状態遷移を生じさせる制約条件に関係しない状態遷移を第２の機能ブロックの設計モデルから除いた第２の機能ブロックの変形設計モデルを生成する設計モデル管理部とを有する。
【発明の効果】
【００１０】
本発明によれば、依存関係が複雑な機能ブロックの設計モデルにおいて、製品仕様の目標値を満足することを検証する方法が提供され、それによって、機能ブロックの設計モデルが要因となる不具合の解消に要するコストが削減される。
【図面の簡単な説明】
【００１１】
【図１】モデル検査装置の構成を表わす図である。
【図２】製品仕様モデルの製品仕様検査フローの例である。
【図３】機能ブロックの設計モデルの製品仕様検査フローの例である。
【図４】機能ブロックの設計モデル上の反例パスの表示処理フローの例である。
【図５】製品仕様モデルとその目標値の例を表わす図である。
【図６】機能ブロックの目標値を満足する機能ブロックの設計モデルとその目標値の例を表わす図である。
【図７】機能ブロックの目標値を満足しない機能ブロックの設計モデルとその目標値の例を表わす図である。
【図８】反例に基づき変形した機能ブロックの設計モデルと再設定した機能ブロックの目標値の例を表わす図である。
【図９】反例パスのみに変形した機能ブロックの設計モデルと反例パスの処理時間に固定した目標値の例を表わす図である。
【図１０】検証モデルとなるテーブルを示す図である。
【発明を実施するための形態】
【００１２】
図面を参照して本発明の実施形態について詳しく説明する。なお、本発明においては製品システムの仕様を検証するにあたってモデル検査手法を採用する。モデル検査は、対象とするシステムを状態遷移モデルで記述し、そのシステムが目標値を満足することを確認することで、システムの仕様を厳密に検証する手法である。
【００１３】
図１は一実施の形態であるモデル検査装置の処理を示す図である。モデル検査装置１０は、一般的な計算機、記憶装置、入出力装置、表示装置を備えた計算機システムによって実現できるものである。例えば、後述するモデル変換部１０１、モデル検査部１０２、反例抽出部１０３、設計モデル管理部１０５は、計算機システム上で実行されるプログラムとして実現することができる。
【００１４】
まず、製品仕様の設計者は、開発しようとする製品システムの製品仕様を解釈し、複数の機能ブロックの状態遷移で記述される製品仕様モデル１１１と製品仕様の目標値１１２とを作成し、モデル検査装置１０に入力する。モデル検査装置１０は、前記製品仕様モデル１１１をモデル変換部１０１ａで製品仕様検証モデル１１３に変換し、モデル検査部１０２に入力するとともに、前記製品仕様の目標値１１２をモデル検査部１０２に入力する。モデル検査部１０２は、製品仕様検証モデル１１３が製品仕様の目標値１１２を満足するか検証し、製品仕様の検証結果１１４を出力する。
【００１５】
機能ブロックの設計者は、製品仕様モデル１１１を解釈し、機能ブロックを状態遷移で記述される設計モデル１２１と機能ブロックの目標値１２２とを作成し、モデル検査装置１０に入力する。モデル検査装置１０は、前記機能ブロックの設計モデル１２１をモデル変換部１０１ｂで機能ブロックの設計検証モデル１２３に変換し、モデル検査部１０２に入力するとともに、前記機能ブロックの目標値１２２をモデル検査部１０２に入力する。モデル検査部１０２は、機能ブロックの設計検証モデル１２３が目標値１２２を満足するか検証し、機能ブロックの検証結果１２４を出力する。
【００１６】
機能ブロックの設計検証モデル１２３が目標値１２２を満足しない場合、反例抽出部１０３は、機能ブロックの検証結果１２４から、機能ブロックの目標値を満足しない機能ブロックとその条件である反例１０４を抽出し、設計モデル管理部１０５に入力する。設計モデル管理部１０５では、製品仕様モデル１１１と製品仕様の目標値１１２とに基づき、前記反例１０４から機能ブロックの設計モデル１２１とその目標値１２２を調整し、モデル検査部１０２で機能ブロックの検証を再び実施する。また、設計モデル管理部１０５は、機能ブロックの設計モデル１２１における反例１０４を、機能ブロックの設計者が確認できるよう、表示装置上に表示する（反例１３０）。
【００１７】
図２は、製品仕様モデルにおける製品仕様検査フローの例である。まず、製品仕様設計者は製品仕様を解釈し、製品仕様モデルの目標値１１２を設定する（ステップＳ２０１）。次に、製品仕様設計者は製品仕様から製品仕様モデル１１１を作成する（ステップＳ２０２）。製品仕様モデル１１１及び製品仕様モデルの目標値１１２がモデル検査装置１０に入力されると、モデル検査を実行するため、モデル変換部１０１ａが製品仕様モデル１１１を製品仕様検証モデル１１３に変換する（ステップＳ２０３）。モデル検査部１０２は、製品仕様検証モデル１１３が製品仕様の目標値１１２を満足することを検証する（ステップＳ２０４）。その検証の結果、製品仕様検証モデル１１３が製品仕様の目標値１１２を満足しないときには（ステップＳ２０４でＮｏ）、製品仕様設計者は、製品仕様モデル１１１を作成しなおす（ステップＳ２０２）。また、製品仕様検証モデル１１３が製品仕様の目標値１１２を満足するときには（ステップＳ２０４でＹｅｓ）、処理を終了する。
【００１８】
図３は、機能ブロックの設計モデルの製品仕様検査フローの例である。機能ブロック設計者は、製品仕様モデル１１１から、製品仕様モデルを構成する機能ブロックの目標値１２２を設定する（ステップＳ３０１）。次に、機能ブロック設計者は製品仕様モデル１１１を解釈し、機能ブロックの設計モデル１２１を作成する（ステップＳ３０２）。機能ブロックの設計モデル１２１及び機能ブロックの目標値１２２がモデル検査装置１０に入力されると、モデル検査を実行するため、モデル変換部１０１ｂが機能ブロック設計モデル１２１を機能ブロック設計検証モデル１２３へ変換する（ステップＳ３０３）。モデル検査部１０２は、機能ブロックの設計検証モデル１２３が機能ブロックの目標値１２２を満足することを検証する（ステップＳ３０４）。その検証の結果、機能ブロックの設計検証モデル１２３が、機能ブロックの目標値１２２を満足しているときには（ステップＳ３０４でＹｅｓ）、機能ブロックの設計検証モデル１２３が製品仕様の目標１１２を満足するため、処理を終了する。また、機能ブロックの設計検証モデル１２３が機能ブロックの目標値１２２を満足しないときには（ステップＳ３０４でＮｏ）、次のステップＳ３０５の処理へ移行する。ステップＳ３０５は、機能ブロックの検証結果１２４より、機能ブロックが目標値を満足しない条件である反例１０４を抽出する。その反例１０４から、機能ブロックの設計モデルにおいて、反例パス｛Ｃｘ｝を抽出する（ステップＳ３０６）。その反例パス｛Ｃｘ｝を持つ機能ブロックの目標値を反例パス｛Ｃｘ｝の処理時間に設定する（ステップＳ３０７）。次に、前記反例パス｛Ｃｘ｝を持たない機能ブロックの目標値１２２を製品仕様の目標値１１２を満足するように再設定する（ステップＳ３０８）。次に、反例パス｛Ｃｘ｝を持つ機能ブロックの設計モデルから、反例パス｛Ｃｘ｝を遷移するための制約条件を抽出する（ステップＳ３０９）。全ての機能ブロックの設計モデル１２１を前記制約条件に無関係なパスを削除した状態遷移モデルに変形（ステップＳ３１０）し、ステップＳ３０３に移行する。
【００１９】
図４は、機能ブロックの設計検証モデル１２３が目標値１２２を満足しないときに、設計モデル管理部１０５において、機能ブロックの設計モデル上の反例１３０を機能ブロック設計者に表示する例を示すフローチャートである。まず、機能ブロックの設計検証モデル１２３が目標値１２２を満足しないとき、反例抽出部１０３が抽出した反例１０４から、目標値を満足しない機能ブロックの設計検証モデル１２３における反例パス｛Ｃｘ｝を抽出する（ステップＳ４０１）。次に、その反例パス｛Ｃｘ｝に関係のある制約条件を抽出する（ステップＳ４０２）。機能ブロックの設計モデル１２１の内、その制約条件が関係するパスを抽出する（ステップＳ４０３）。最後に、抽出したパスを機能ブロック設計者に表示して（ステップＳ４０４）、処理を終了する。
【００２０】
続いて、図５以降の図面を参照して、具体的に説明する。図５は、製品仕様モデル１１１と製品仕様の目標値１１２との例を示した図である。図５に示すように、製品仕様モデル５０は、機能ブロックである状態５１と遷移パスの矢印５４とで構成された状態遷移図で表される。ここで、矢印５４は、状態遷移の方向を示し、また、その遷移にかかる時間５２が付されている。さらに、状態５１には、機能ブロック内の処理にかかる目標値５５が付されている。また、この製品仕様モデルが満足する製品仕様の目標値５３が付されている。ただし、製品仕様モデル１１１の状態遷移は、主に分岐のための制約条件を含まない。
【００２１】
例えば、図５に示した製品仕様モデル５０は、目標値５ｓｅｃの機能ブロックＡの処理が終了した後、０ｓｅｃで目標値５ｓｅｃの機能ブロックＢに遷移し、機能ブロックＢの処理が終了した後、０ｓｅｃで目標値５ｓｅｃの機能ブロックＣに遷移し、機能ブロックＣの処理が終了すると、全体の処理が終了する。このときの製品仕様の目標値５３が１５ｓｅｃであり、全体の処理が１５ｓｅｃで終了するため、この製品仕様モデルをモデル検査部１０２で検証すると、「製品仕様の目標値を満足する」という検証結果を出力する。図５の例では、モデル変換部１０１で生成される製品仕様検証モデル１１３は、各機能ブロックＡ〜Ｃのそれぞれの目標値ＴＡ〜ＴＣとすると、（ＴＡ＋ＴＢ＋ＴＣ）≦１５ｓｅｃ（式１）として与えられる。詳細は省略するが、モデル検査部１０２では、図６以降で各機能ブロックＡ〜Ｃについて検証された目標値により、式１が満足するか否かにより製品仕様検証結果１１４を出力する。
【００２２】
図６および図７は、機能ブロックの設計モデルとその目標値との例を示した図である。図６に示すように、機能ブロックの設計モデル６０は、状態６１と遷移の矢印６４とで構成された状態遷移モデルで表される。ここで、矢印６４は、状態遷移の方向を示し、その遷移分岐の制約条件とその遷移にかかる時間６２が付されている。例えば、図６に示した状態Ｓ１からＳ２に遷移する条件はグローバル変数ｖａｒ１が１のときであり、状態Ｓ１からＳ３に遷移する条件はグローバル変数ｖａｒ１が２のときであり、状態Ｓ１からＳ４に遷移する条件はグローバル変数ｖａｒ１が３のときである。なお、分岐の制約条件６２が＊のものは、無条件で状態遷移することを意味する。各機能ブロックは、他機能ブロックからの遷移を受けるスタート状態６１１から他の機能ブロックへ遷移するエンド状態６１２に到達することで、機能ブロックの処理を終了する。なお、設計モデルの表記法は、図７以降も同様である。
【００２３】
この機能ブロックの設計モデルに対して、モデル検査部１０２は、機能ブロックの目標値を満足するか検証し、結果を出力する。図６の例では、モデル変換部１０１で生成される機能ブロック設計検証モデル１２３は、図５の例と同様に、スタート状態６１１からエンド状態６１２に到達するためにとりうる全ての遷移パスが目標値６３を満たすかで与えられる。詳細は省略するが、モデル変換部１０１では、検証モデルとして、状態Ｓｉから状態Ｓｏに到達する遷移パスを抽出し、遷移にかかる時間を算出し、全ての遷移パスで遷移にかかる時間が目標値以内に収まるかを検証するモデルを作成する。この場合、図６に示した機能ブロックの設計モデル６０は、スタート状態６１１からエンド状態６１２に到達する全ての遷移パスが目標値６３の５ｓｅｃ以内であるため、モデル検査部１０２は、「機能ブロックＢは目標値を満足する」という検証結果を出力する。
【００２４】
一方、図７に示した機能ブロックＣの設計モデル７０は、スタート状態７１１からエンド状態７１２に到達するパスの内、パス｛Ｓｉ（７１１）−Ｓ１（７１３）−Ｓ４（７１６）−Ｓ３（７１５）−Ｓ５（７１７）−Ｓｏ（７１２）｝がスタート状態Ｓｉ（７１１）から０ｓｅｃ（７２１）で状態Ｓ１（７１３）に、状態Ｓ１（７１３）から３ｓｅｃ（７２２）で状態Ｓ４（７１６）に、状態Ｓ４（７１６）から１ｓｅｃ（７２３）で状態Ｓ３（７１５）に、状態Ｓ３（７１５）から２ｓｅｃ（７２４）で状態Ｓ５（７１７）に、状態Ｓ５（７１７）から０ｓｅｃ（７２５）でエンド状態Ｓｏ（７１２）に遷移するため、遷移時間の合計は６ｓｅｃとなる。図１０にその検証モデルとなるテーブルを示す。このとき、機能ブロックＣの目標値７３は、５ｓｅｃ以内であるため、モデル検査部１０２は、図１０のテーブルの遷移時間と目標値とを比較し、「機能ブロックＣは目標値を満足しない」という検証結果を出力する。このように、機能ブロックの設計モデルが目標値を満足しないときの処理（ステップＳ３０５〜Ｓ３１０）について、以下、説明する。
【００２５】
前記のように、図７に示す機能ブロックＣの設計モデル７０は、目標値７３を満足しないパスを含むため、モデル検査部１０２は、満足しないという結果１２４を出力する。その出力結果から、反例抽出部１０３は、反例となるパス｛Ｓｉ（７１１）−Ｓ１（７１３）−Ｓ４（７１６）−Ｓ３（７１５）−Ｓ５（７１７）−Ｓｏ（７１２）｝を抽出する（ステップＳ３０５とステップＳ３０６）。次に、設計モデル管理部１０５は、前記反例パスの処理時間６ｓｅｃを機能ブロックＣの目標値９３として固定する（ステップＳ３０７）。次に前記反例パスを含まない機能ブロックの目標値を製品仕様の目標値５３を満足するように、再設定する。この例では、前述の（式１）を満たすように、反例パスを含まない機能ブロックの目標値を調整していく。一例として、機能ブロックＢの目標値８３を４ｓｅｃに変更すると、機能ブロックＡの目標値が５ｓｅｃ、機能ブロックＢの目標値が４ｓｅｃ、機能ブロックＣの目標値が６ｓｅｃとなり、製品仕様の目標値１５ｓｅｃを満足する（ステップＳ３０８）。これは、機能ブロック設計者が表示装置に表示された反例を確認し、他の機能ブロックの目標値を再設定し、再設定した目標値をモデル検査装置１０に入力することで実現することができる。次に、機能ブロックＣの設計モデル７０から、前記反例パスに関係する制約条件ｖａｒ１！＝１（７２２）かつｖａｒ２＝＝２（７２３）を抽出する（ステップＳ３０９）。なお、「ｖａｒ１！＝１」は、ｖａｒ１≠１を意味する。そして、全ての機能ブロックにおいて、前記制約条件に関係のない遷移を削除する（ステップＳ３１０）。したがって、ｖａｒ１！＝１かつｖａｒ２＝＝２の制約条件を満たさない遷移、すなわち制約条件がｖａｒ１＝＝１またはｖａｒ２！＝２であるパスを削除すればよい。これにより、図６に示す機能ブロックＢの設計モデル６０は、図８に示す設計モデル８０のように、Ｓ１（８１３）からＳ２（８１４）への遷移（制約条件ｖａｒ１＝＝１）とＳ３（８１５）からＳ５（８１７）への遷移（制約条件ｖａｒ２＝＝１）が削除された設計モデルとなる。同様に、図７に示す機能ブロックＣの設計モデル７０において、ｖａｒ１！＝１かつｖａｒ２＝＝２の制約条件を満たさない遷移を削除すると、図９に示す設計モデル９０のように、反例パス｛Ｓｉ（９１１）−Ｓ１（９１３）−Ｓ４（９１６）−Ｓ３（９１５）−Ｓ５（９１７）−Ｓｏ（９１２）｝のみを含む設計モデルとなる。図示していないが、機能ブロックＡについても同様の処理を行なう。このような変形処理はモデル検査装置１０の設計モデル管理部１０５で行う。
【００２６】
その後、前記変形した設計モデル８０と９０について、再設定した目標値８３と９３を満足するか検証する（ステップＳ３０４）。機能ブロックＣの設計モデル９０については、反例パスのみの設計モデルに対して、その処理時間を目標値としているため、モデル検査部１０２は「機能ブロックＣは目標値を満足する」という検証結果を出力する。また、機能ブロックＢの設計モデル８０は、全てのパスが目標値４ｓｅｃを満足しているため、モデル検査部１０２は「機能ブロックＢは目標値を満足する」という検証結果を出力する。よって、最終的に機能ブロックの目標値を満足しない機能ブロックを含んでいるが、製品仕様の目標値を満足するという結果を得る。
【００２７】
なお、本実施形態の例では、反例パスが一つとなっているが、一般には複数存在するときは、同様の手法により、それら全ての反例パスが目標値を満足するか網羅的に検証する。
【符号の説明】
【００２８】
１０：モデル検査装置、１０１：モデル変換部、１０２：モデル検査部、１０３：反例抽出部、１０４：反例、１０５：設計モデル管理部、１１１：製品仕様モデル、１１２：製品仕様目標値、１１３：製品仕様検証モデル、１１４：製品仕様検証結果、１２１：機能ブロック設計モデル、１２２：機能ブロック目標値、１２３：機能ブロック設計検証モデル、１２４：機能ブロック検証結果。
【図１】
0005524244.tif 000002
【図２】
0005524244.tif 000003
【図３】
0005524244.tif 000004
【図４】
0005524244.tif 000005
【図５】
0005524244.tif 000006
【図６】
0005524244.tif 000007
【図７】
0005524244.tif 000008
【図８】
0005524244.tif 000009
【図９】
0005524244.tif 000010
【図１０】
0005524244.tif 000011