説明

モデル検査システム、モデル検査方法およびモデル検査用プログラム

【課題】容易に検査する状態数を削減して設計モデルの検査を行うことができるようにする。
【解決手段】検査対象システムの仕様を記述した設計モデルの検査を行うモデル検査システムであって、検査対象システムの仕様において状態が変化する要素の状態を示すためのモデル内変数である状態変数間の関連性をユーザに指定させる関連性指定手段と、ユーザに指定させた前記状態変数間の関連性を示す情報に基づいて、検査に用いるシステムの状態数を削減する状態数削減手段とを備えたことを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検査対象システムの仕様を記述した設計モデルの検査を行うモデル検査システム、モデル検査方法およびモデル検査用プログラムに関する。
【背景技術】
【0002】
検査対象システム(ハードウェアとソフトウェアを含む。)の設計から導出されるモデルが検査式を満足するか否かを検証するモデル検査システムの一例として、Spinと呼ばれるモデル検査ツールがある。Spinは、Promelaという言語で書かれた検査プログラムとLTL(Linear Temporal Logic :線形時相論理)で書かれた検査式を基にモデルの検査を行う。
【0003】
一般に、モデル検査システムでは、検査対象のモデルが大きくなり状態数が増大すると、コンピュータで扱える範囲を超えてしまい処理しきれなくなる”状態爆発”と呼ばれる現象が発生するという問題がある。
【0004】
この問題を防ぐためには、検査する状態数を削減する技術が必要となる。その一方法として、抽象化と呼ばれる方法が提案されている。具体的には、”Partial Order Reduction ”と呼ばれる2つのプロセス間で通信がない部分を独立と見なして検査対象から除外する方法(非特許文献1参照。)や、述語抽象化の方法(非特許文献2参照。)、遷移パス削減の方法(非特許文献3参照。)などが提案されている。
【0005】
これらの抽象化は主にモデル検査を実行する手段において行われ、検査に不要な状態をシステムが自動的に削減する。
【0006】
ところで、特許文献1には、パイプライン処理機能を有するプロセッサの動作論理を検証するための試験命令列を作成するための方法が記載されている。特許文献1に記載されている方法では、仕様情報から構成されるパイプラインに関する初期動作モデルの状態の数を最小化した動作モデルを作成する。そして、作成した動作モデルと試験状態の集合とから動作モデルの状態が競合を起こすことなく所定の入力状態から試験情報の集合に含まれる試験状態のいずれかに遷移する過程に対応した試験命令列を列挙する。
【0007】
また、特許文献2には、動作モデルにおける複数の命令の状態遷移が、あるステージ以降同じになるか否かを調査し、同じになる場合にそのステージ以降を1つの命令として動作させることにより、動作モデルの記述の状態数を減らすモデル作成方法が記載されている。
【0008】
【特許文献1】特開平8−50554号公報
【特許文献2】特開平11−96036号公報
【非特許文献1】日経エレクトロニクス編,「モデルに基づく開発方法論のすべて−組み込みソフトウェア2007」,日経BP社,2006年12月,p.???
【非特許文献2】田辺 他,「抽象化を用いた検証ツールの調査」,産業技術総合研究所算譜科学グループ研究速報AIST-PS-2003-007,2003年12月,p.12−15
【非特許文献3】Matthew B. Dwyer, "Formal Software Analysis Emerging Trends in Software Modek Checking", Future of Software Engineering(FOSE'07), IEEE Computer Society, 2007, p.120-136
【発明の開示】
【発明が解決しようとする課題】
【0009】
問題点は、実際にシステムに実装させようとした場合に、検査対象システムの仕様を記述した設計モデルから検査内容に応じた状態変数間の論理的な関連性を検出することが困難な点にある。なお、本発明において状態変数とは、検査対象システムの仕様において状態が変化する要素(ハードウェアの一部品やソフトウェアの一データ等)の状態を示すためのモデル内変数をいう。
【0010】
特に、設計フェーズで作成したモデルをそのまま検査に適用する場合、該モデルには検査内容に関係しないシステム仕様が多数含まれている。この検査内容に関係しない部分を除外していくことが重要となる。抽象化などの方法を用いて自動的にシステム状態数を削減する方法は有効であるが、設計モデルで表現される仕様と検査式とだけを用いてシステム状態数を削減することには限界がある。
【0011】
なお、特許文献1には、初期動作モデルに含まれる各状態変数が有する複数の状態を、それらの状態が有する属性に基づいてグループ化することにより、状態の数を最小化する方法が記載されている。しかし、特許文献1における”状態変数”は、パイプラインの各構成部分の状態とそれらの状態の遷移関係を表現するために、ある命令による処理内容を一状態として表現するための変数であって、本発明における”状態変数”とは意味が異なる。特許文献1に記載されている方法は、パイプラインの各構成部分における各命令に対応した処理内容をグループ化することにより、複数の命令間で同じプロセスを1つにまとめて重複シーケンスを排除した試験命令列を列挙しようというものであって、検査内容に直接影響を及ぼさない要素の状態変化によって遷移するシステム状態を検査対象から除外できるわけではない。
【0012】
なお、特許文献2に記載されている方法も、複数の命令で重複しているステージを1つの命令として動作させるよう動作モデルを作成することで、重複部分の状態数を削減しようというものであって、検査内容に直接影響を及ぼさない要素の状態変化によって遷移するシステム状態を検査対象から除外できるわけではない。
【0013】
そこで、本発明は、検査対象システムに、設計モデルからは容易に検出できない検査内容に応じた状態変数間の論理的な関連性が存在していたとしても、容易に検査する状態数を削減して、モデル検査を行うことができるモデル検査システム、モデル検査方法およびモデル検査用プログラムを提供することを目的とする。
【課題を解決するための手段】
【0014】
本発明によるモデル検査システムは、検査対象システムの仕様を記述した設計モデルの検査を行うモデル検査システムであって、検査対象システムの仕様において状態が変化する要素の状態を示すためのモデル内変数である状態変数間の関連性をユーザに指定させる関連性指定手段と、ユーザに指定させた前記状態変数間の関連性を示す情報に基づいて、設計モデル上のシステムの状態数を削減する状態数削減手段とを備えたことを特徴とする。
【0015】
また、本発明によるモデル検査方法は、検査対象システムの仕様を記述した設計モデルの検査を行うためのモデル検査方法であって、検査対象システムの仕様において状態が変化する要素の状態を示すためのモデル内変数である状態変数間の関連性をユーザに指定させ、ユーザに指定させた前記状態変数間の関連性を示す情報に基づいて、検査に用いるシステムの状態数を削減することを特徴とする。
【0016】
また、本発明によるモデル検査用プログラムは、検査対象システムの仕様を記述した設計モデルの検査を行うためのモデル検査用プログラムであって、コンピュータに、検査対象システムの仕様において状態が変化する要素の状態を示すためのモデル内変数である状態変数間の関連性をユーザに指定させる処理、およびユーザに指定させた前記状態変数間の関連性を示す情報に基づいて、検査に用いるシステムの状態数を削減する処理を実行させることを特徴とする。
【発明の効果】
【0017】
本発明によれば、検査対象システムの仕様を記述した設計モデルから検査内容に応じた状態変数間の論理的な関連性を検出することが困難な場合であっても、容易に、検査する状態数を削減して設計モデルの検査を行うことができる。その理由は、自動では削減できない状態を、利用者から指定される状態変数間の関連性を示す情報に基づいて削減できるからである。
【発明を実施するための最良の形態】
【0018】
実施形態1.
以下、本発明の実施形態を図面を参照して説明する。図1は、本発明によるモデル検査システムの構成例を示すブロック図である。図1に示すモデル検査システムは、関連性指定手段101と、状態数削減手段102とを備える。
【0019】
関連性指定手段101は、検査対象システムの仕様において状態が変化する要素の状態を示すためのモデル内変数である状態変数間の関連性をユーザに指定させる。関連性指定手段101は、例えば、ある状態変数の変化が他の状態変数の変化に影響を与えるか否かを示す情報をユーザに入力させ、その情報を状態変数間の関連性を示す情報として取得する(受ける)。すなわち、関連性指定手段101は、ユーザが入力した状態変数間の関連性を示す情報を受ける手段である。
【0020】
状態数削減手段102は、ユーザに指定させた状態変数間の関連性を示す情報に基づいて、検査に用いるシステムの状態数を削減する。状態数削減手段102は、例えば、入力される検査式と、状態変数間の関連性を示す情報とに基づいて、検査内容に関係のない状態変数をシステムの状態変化要因の対象から除外することによって、システムの状態数を削減してもよい。ここで、検査式とは、検査内容を示す情報であって設計モデルに要求する性質を状態変数に関する論理式で記述される情報をいう。
【0021】
なお、状態数削減手段102によって検査に用いるシステムの状態数が削減された後は、図示しないモデル検査実行手段が、削減されたシステムの状態数に応じた状態遷移系に基づく検査プログラムを実行するなどして、モデル検査を行えばよい。
【0022】
関連性指定手段101および状態数削減手段102は、例えば、プログラムに従って動作するCPUによって実現される。
【0023】
以下、より具体的な構成例について説明する。図2は、第1の実施形態におけるモデル検査システムの構成例を示すブロック図である。図2に示すように、本実施形態におけるモデル検査システムは、プログラム制御により動作するコンピュータ等のデータ処理装置10によって実現されている。データ処理装置10は、設計モデル作成手段11と、モデル検査手段12とを実装している。モデル検査手段12は、関連性指定手段121と、検査式入力手段122と、検査プログラム作成手段123と、モデル検査実行手段124とを含む。また、検査プログラム作成手段123は、状態変数識別手段1231を有する。
【0024】
なお、本実施形態は、図1に示す状態数削減手段102を、検査プログラム作成手段123と状態変数識別手段1231とによって実装した例である。なお、図1に示す関連性指定手段101は、関連性指定手段121によって実装されている。
【0025】
設計モデル作成手段11は、検査対象となる設計モデルを作成する。なお、本実施形態において、設計モデルとは、所定のモデル化形式に従って記述される、検査対象システムの仕様を示す情報をいう。なお、検査対象システムの仕様には、検査対象システムを構成するハードウェアの仕様やソフトウェアの仕様を含む。
【0026】
モデル検査手段12は、設計モデル作成手段11によって作成された設計モデルの検査を行う処理手段である。
【0027】
関連性指定手段121は、状態遷移図等の設計モデルに定義されている状態変数間の関連性をユーザに指定させる。なお、関連性指定手段121は、図1に示す関連性指定手段101に相当する処理手段である。
【0028】
図3は、関連性指定手段121による関連性指定方法の一例を示す説明図である。図3に示すように、関連性指定手段121は、例えば、「状態変数1は状態変数2の状態変化の流れに影響を与えない」という状態変数間の関連性をユーザに指定させる場合に、状態変数1および状態変数2に該当する状態変数を表などに入力させるGUIをユーザに提示し、ユーザ操作に応じて入力される情報を、状態変数間の関連性を示す情報として取得してもよい。図3に示す例では、”状態変数c”の状態が変化しても「状態変数a」の状態変化に影響を与えないこと、および「状態変数c」の状態が変化しても「状態変数b」の状態変化に影響を与えないことがユーザから指定されたことを示している。関連性指定手段121は、上記例における状態変数1と状態変数2との組み合わせを取得し、その組をリスト化して保持するようにしてもよい。また、例えば、関連性指定手段121は、設計モデルに定義されている状態変数の一覧を提示した上で、その状態変数間の関係性をユーザに指定させてもよい。
【0029】
検査式入力手段122は、検査内容を示す情報であって設計モデルに要求する性質を状態変数に関する論理式で記述される情報である検査式を入力する。
【0030】
検査プログラム作成手段123は、設計モデルから、検査エンジン(具体的には、モデル検査実行手段124)が検査可能な検査プログラムを生成する。なお、本実施形態では、検査プログラム作成手段123は、後述する状態変数識別手段1231によって識別された状態変数の情報を基に、検査内容に関係ない状態変数を除外することによって検査範囲とするシステムの状態数を削減した検査プログラムを作成する。
【0031】
本発明において、システムの状態は、各状態変数が取りうる値の組み合わせに対応し割り当てられる。従って、状態変数の値が異なると別の状態として扱うものとする。例えば、状態変数が複数ある場合、どれか一つの状態変数の値が変化すると、システムの状態が別の状態へ遷移したと見なしてシステムの状態遷移系(状態遷移の体系)を識別する。
【0032】
検査プログラム作成手段123は、例えば、識別した状態遷移系に沿って状態を遷移させつつ、各状態で条件式に違反していないかを判定し、その結果を出力するようなプログラムを作成してもよい。なお、状態遷移系から検査プログラムを作成する方法は、前述の非特許文献等により開示されている技術と同様でよいため説明省略する。
【0033】
状態変数識別手段1231は、検査式入力手段122を介して入力される検査式と、関連性指定手段121によって取得された状態変数間の関連性を示す情報を基に、検査内容に関係ない状態変数を識別する。状態変数識別手段1231は、その識別結果を検査プログラム作成手段123に出力することによって、検査プログラム作成手段123にて検査内容に関係ない状態変数をシステムの状態変化要因から除外可能にしている。
【0034】
モデル検査実行手段124は、検査プログラム作成手段123が作成した検査プログラムを実行して、設計モデルが検査式を満足するかを検証するモデル検査を実行する。
【0035】
本実施形態において、設計モデル作成手段11は、例えば、データ処理装置10が備えるCPUによって実現される。また、関連性指定手段121、検査式入力手段122は、例えば、データ処理装置10が備えるCPUと、マウスやキーボード等の入力装置と、ディスプレイ等の表示装置とによって実現される。また、検査プログラム作成手段123、状態変数識別手段1231、モデル検査実行手段124は、例えば、データ処理装置10が備えるCPUによって実現される。
【0036】
次に、本実施形態の動作について説明する。図4は、本実施形態におけるモデル検査システムの動作例を示すフローチャートである。なお、図示省略しているが、図4に示す動作の前に、次に示す動作が行われている。まず、設計モデル作成手段11が、ユーザ操作に従い、設計モデルを作成する。ここでは、状態遷移図を作成したとする。次に、関連性指定手段121が、状態変数間の関連性をユーザに指定させる。また、検査式入力手段122は、ユーザ操作に従い、検査式を入力する。
【0037】
ここまでの動作が完了すると、検査プログラム作成手段123が、次の手順でモデル検査用の検査プログラムの作成処理を開始する。まず、状態変数識別手段1231が、検査式に関係する状態変数を取得する(ステップA1)。なお、検査式に関係する状態変数には、検査式(ここでは、検査内容を示す論理式)によって直接示される状態変数だけでなく、その状態変数の変化に影響を与える状態変数を含む。状態変数識別手段1231は、例えば、設計モデルとして作成された状態遷移図から状態変数間の関連性を検出したり、または、プログラムスライシング等の技法を用いて取得すればよい。
【0038】
次に、状態変数識別手段1231は、関連性指定手段121がユーザに指定させた状態変数間の関連性を示す情報を取得する(ステップA2)。そして、状態変数間の関連性を示す情報に基づいて、ステップA1で取得した検査式に関係する状態変数と関連性のない状態変数を、当該検査においてシステム状態の変化要因の対象から除外する(ステップA3)。例えば、状態変数識別手段1231は、設計モデルに定義されている各状態変数について、当該検査においてシステム状態の変化要因の対象とする状態変数か否かを示す情報を作成して、検査プログラム作成手段123に出力する。
【0039】
検査プログラム作成手段123は、状態変数識別手段1231によって識別された結果に沿って、検査プログラムを作成する(ステップA4)。検査プログラム作成手段123は、例えば、設計モデルに定義されている状態変数からシステム状態の変化要因の対象外とされた状態変数を除いた状態変数のみによる状態遷移系を導出し、その状態遷移系が検査式を満たしているか否かを判断するための検査プログラムを作成する。
【0040】
検査プログラム作成手段123が検査プログラムを作成すると、モデル検査実行手段124は、その検査プログラムを実行することにより、設計モデルを検査する(ステップA5)。
【0041】
以上のように、本実施形態によれば、利用者の判断に基づいて、検査と関係のない状態をモデル検査の対象から削減することができる。具体的には、ユーザに指定させた状態変数間の関連性を使用して、検査式に無関係な状態変数を識別し、それを除外した検査プログラムを作成することにより、容易に検査する状態数を削減することができる。従って、検査対象システムに、設計モデルからは容易に検出できない検査内容に応じた状態変数間の論理的な関連性が存在していたとしても、容易に検査する状態数を削減して、モデル検査を行うことができる。
【0042】
図5は、本実施形態の一実施例を示す説明図である。なお、図5(a)は、状態数削減前のシステムの状態遷移系を示している。また、図5(b)は、状態数削減後のシステムの状態遷移系を示している。本実施例では、検査対象システムが3つの変数a,b,c,および1つのスイッチからなるシステムを例に説明する。なお、検査対象システムの仕様は、次のとおりである。
・変数a,bは整数0〜2のいずれかの値をとり、変数cは整数0〜4のいずれかの値をとり、スイッチはonかoffのいずれかの状態をとる。
・変数aは、0→1,1→2,2→0と繰り返して変化する。ただし、b=1またはc<4のときは、次の時点でもその値を保ち変化しない。
・変数bは、0→1,1→2,2→0と繰り返して変化する。ただし、a=bまたはc<4のときは、次の時点でもその値を保ち変化しない。
・変数cは、0→1→2→3→4→0と繰り返して変化する。
・スイッチは、a=b=2ならonとなり、a=b=1ならoffとなる。それ以外の場合は、現時点での状態を保ち変化しない。初期状態は0ffとする。
【0043】
この例題における状態遷移系を図示すると、図5(a)のようになる。図5(a)および図5(b)において、1つのブロックは1つの状態を表し、ブロック内には当該ブロックの状態における各状態変数の値を示している。ただし、ブロック内の状態変数cの値が”0−4”となっているブロックでは、状態変数cが0から4に変化するまでの5つのシステム状態を省略して表現している。なお、状態変数a,b,c,swは、変数a,b,c,スイッチに対応する状態変数である。
【0044】
例えば、図5(a)の1番目のブロックにより、検査対象システムの初期状態が、状態変数(a,b,c,sw)=(0,0,0,off)の状態であることが示されている。また、例えば、2番目のブロックにより、検査対象システムの初期状態からの遷移先状態が、状態変数(a,b,c,sw)=(0,0,1,off)の状態であることが示されている。
【0045】
本例において、例えば、設計モデル作成手段11は、ユーザ操作に応じて、このような状態遷移系を図示した設計モデルである状態遷移図を作成する。そして、関連性指定手段121は、この状態遷移図に定義されている状態変数a,b,c,sw間の関連性をユーザに指定させる。本例では、図3に示されている状態変数間の関連性が指定されたとする。すなわち、「状態変数cは状態変数aの状態変化の流れに影響を与えない」、および「状態変数cは状態変数bの状態変化の流れに影響を与えない」旨を示す情報が指定されたとする。また、検査式入力手段122は、検査式として「スイッチがonならいずれoffになる」旨の情報を入力する。検査式は、例えば、LTLで記述された論理式でよい。
【0046】
モデル検査システムでは、検査対象とする状態遷移図に対して、状態変数間の関連性がユーザに指定され、検査式が入力されると、検査プログラムの作成処理を開始する。まず、状態変数識別手段1231は、状態遷移図に定義されている状態変数a,b,c,swの中から、検査式に関係する状態変数を取得する。ここでは、検査したいスイッチのon/offが状態変数a,bに依存する旨の情報を、設計モデル作成手段11から取得する。なお、設計モデル作成手段11は、状態遷移図を作成する際に入力される仕様情報から取得できる。また、例えば、状態変数識別手段1231が、設計モデルの仕様情報として示される論理式の集合体に対してプログラムスライシング等の技法を用いることにより、状態変数swに対して関連性を有する状態変数を検出してもよい。
【0047】
次に、状態変数識別手段1231は、状態変数間の関連性を示す情報を取得し、検査式に関係する状態変数と無関係な状態変数を識別する。ここでは、状態変数cが状態変数aおよび状態変数bの状態変化に影響を与えない旨の情報を得て、その情報に基づき、状態変数cは検査したい内容である状態変数swの変化に影響を与えないと判断し、状態変数cをシステム状態の変化要因の対象から除外する。状態変数識別手段1231は、状態変数cが検査式に関係する状態変数a,bのどちらに対しても影響を与えないため、検査に無関係な(検査結果に影響を与えない)状態変数であると判断して、システム状態を割り当てる状態変数の組み合わせから除外すればよい。
【0048】
図5(b)は、状態変数cをシステム状態の変化要因の対象から除外した場合の本例における検査対象システムの状態遷移系を示している。図5(b)に示すように、状態変数cを除外すると、システム状態が3つの状態変数a,b,swにより定義づけることにより、状態数を1/5(削減前40→削減後8)に削減できる。検査プログラム作成手段123は、この状態数が削減された後の状態遷移系を用いて、設計モデルが検査式を満足しているかを検査するための検査プログラムを作成すればよい。
【0049】
実施形態2.
次に、本発明の第2の実施形態について説明する。図6は、本実施形態におけるモデル検査システムの構成例を示すブロック図である。図6に示すモデル検査システムは、図2に示す第1の実施形態と比べて、設計モデル作成手段11が、関連性指定手段111を含む点が異なる。
【0050】
関連性指定手段111は、第1の実施形態における関連性指定手段121と同様に、状態遷移図等の設計モデルに定義されている状態変数間の関連性をユーザに指定させる。本実施形態では、関連性指定手段111は、ユーザに指定させることで取得した状態変数間の関連性を示す情報を、設計モデルに埋め込む(含ませる)。
【0051】
例えば、設計モデル作成手段11が、設計モデルの情報をファイル(以下、設計モデルファイルという。)に保存する場合には、関連性指定手段111は、そのファイルの中に、図3の例における状態変数1と状態変数2の組を追記すればよい。例えば、設計モデルファイルが、状態遷移系の要素(状態)の情報として、状態遷移系の位置や、状態変数等の値をテキスト形式で保持するような場合には、その最後に、(c,a),(c,b)といったテキスト形式で保持させるようにしてもよい。なお、予め決められた構造体に格納されるバイナリデータに含ませて保持させることも可能である。
【0052】
なお、第2の実施形態の動作は、基本的には図4に示す第1の実施形態と同様である。ただし、ステップA2において、状態変数間の関連性を示す情報の取得先が設計モデルである点が異なる。他の点に関しては第1の実施形態と同様である。
【0053】
実施形態3.
次に、本発明の第3の実施形態について説明する。図7は、本実施形態におけるモデル検査システムの構成例を示すブロック図である。図7に示すモデル検査システムは、図2に示す第1の実施形態と比べて、間連性導出手段125を備える点で異なる。なお、本実施形態では、モデル検査手段12が関連性導出手段125を含む。
【0054】
関連性導出手段125は、関連性指定手段121がユーザに指定させることによって取得した状態変数間の関連性を示す情報から、新たな状態変数間の関連性を導出する。関連性導出手段125は、ユーザが指定した状態変数間の関連性を組み合わせることによって、新たな状態変数間の関連性を導出する。なお、関連性導出手段125は、ユーザが指定した状態変数の関連性を示す情報に、新たなに導出した状態変数間の関連性を示す情報を追加していけばよい。
【0055】
例えば、次に示す関連性がユーザから指定されたとする。
指定1.「状態変数bは状態変数aの状態変化の流れに影響を与えない」
指定2.「状態変数cは状態変数bの状態変化の流れに影響を与えない」
【0056】
関連性導出手段125は、上記指定から「状態変数cは、状態変数aの状態変化の流れに影響を与えない」という関連性を導出する。さらに、導出した関連性と、他に利用者が指定した関連性とで矛盾がある場合にはその旨をユーザに提示するようにしてもよい。
【0057】
例えば、上記関連性を示す情報として、(b,a),(c,b)という2つの組がリストなどで保持されていたとする。関連性導出手段125は、具体的には、次に示す処理を行うことにより、新たな組として(c,a)を導出すればよい。
【0058】
まず、関連性導出手段125は、リストに存在する組を一つ取り出す。これを仮にX(x1,x2)とする。次に、その組の第2変数であるx2を取り出す。第2変数を取り出すと、リストに存在する全ての組から、x2と一致する第1変数をもつ組を取り出す。これを仮にY(x2,y1)とする。そして、組XとYを合成した新しい組として、(x1,y1)を生成する。関連性導出手段125は、リストの残りの要素について、上記手順を繰り返し行えばよい。これにより、状態変数間の関連性を網羅的に取得することができる。関連性導出手段125は、網羅的な状態変数間の関連性を示す情報として、設計モデルから取得したユーザが指定した状態変数間の関連性を示す情報と、新たに導出した状態変数間の関連性を示す情報とを併せたリストを保持しておけばよい。
【0059】
なお、本実施形態の動作は、基本的には図4に示す第1の実施形態と同様である。ただし、ステップA2において、状態変数識別手段1231が、状態変数間の関連性を示す情報を関連性導出手段125から取得する点が異なる。ここでは、状態変数識別手段1231は、関連性指定手段121がユーザに指定させることで取得した状態変数間の関連性を示す情報と、関連性導出手段125が導出した新たな状態変数間の関連性を示す情報とを含む網羅的な状態変数間の関連性を示す情報を、関連性導出手段125から取得する。他の点に関しては第1の実施形態と同様である。
【0060】
以上のように、本実施形態によれば、ユーザが指定した状態変数間の関連性の情報に基づいて新たな関連性の情報を生成することで、ユーザの手間を軽減することができる。すなわち、ユーザが判断して指定する状態変数間の関連性を組み合わせて別の状態変数間の関連性を導出することができるので、そのような情報を指定する手間を軽減した上で、網羅的な関連性に基づいて、より精度よく検査と関係のない状態をモデル検査の対象から削減することができる。
【0061】
実施形態4.
次に、本発明の第4の実施形態について説明する。図8は、本実施形態におけるモデル検査システムの構成例を示すブロック図である。図8に示すモデル検査システムは、図6に示す第2の実施形態の構成に、第3の実施形態で示した関連性導出手段125を追加した形態である。
【0062】
関連性導出手段125は、第3の実施形態と同様に、ユーザが指定した状態変数間の関連性を示す情報から、新たな状態変数間の関連性を導出する。なお、本実施形態では、関連性指定手段111によって設計モデルに埋め込まれたユーザが指定した状態変数間の関連性を示す情報から、新たな状態変数間の関連性を導出する。関連性導出手段125は、網羅的な状態変数間の関連性を示す情報として、設計モデルから取得したユーザが指定した状態変数間の関連性を示す情報と、新たに導出した状態変数間の関連性を示す情報とを併せて保持しておけばよい。なお、関連性指定手段111と同様に、設計モデルに埋め込ませて保持させてもよい。
【0063】
なお、上記実施形態には、検査対象システムの仕様において状態が変化する要素の状態を示すためのモデル内変数である状態変数間の関連性をユーザに指定させる関連性指定手段と、ユーザに指定させた状態変数間の関連性を示す情報に基づいて、検査に用いるシステムの状態数を削減する状態数削減手段とを備えたモデル検証システムの構成例が示されている(実施形態1参照。)。
【0064】
また、上記実施形態には、検査対象システムの仕様を記述した設計モデルを作成する設計モデル作成手段を備え、関連性指定手段が、設計モデル作成手段に含まれ、設計モデルを作成する過程で、状態変数間の関連性をユーザに指定させるモデル検証システムの構成例が示されている(実施形態2参照。)。
【0065】
また、上記実施形態には、関連性指定手段によってユーザに指定させた状態変数間の関連性を示す情報から、新たな状態変数間の関連性を導出する関連性導出手段を備え、状態数削減手段が、ユーザに指定させた状態変数間の関連性を示す情報と、関連性導出手段によって導出された新たな状態変数間の関連性を示す情報とに基づいて、検査に用いるシステムの状態数を削減するモデル検証システムの構成例が示されている(実施形態3参照。)。
【0066】
また、上記実施形態には、関連性導出手段が、関連性指定手段によってユーザに指定させた状態変数間の関連性を組み合わせることによって、新たな状態変数間の関連性を導出するモデル検証システムの構成例が示されている。
【0067】
また、上記実施形態には、関連性指定手段が、ある状態変数の変化が他の状態変数の変化に影響を与えるか否かを示す情報をユーザに入力させ、入力させた該情報を状態変数間の関連性を示す情報として受けるモデル検証システムの構成例が示されている。
【0068】
また、上記実施形態には、検査内容を示す情報であって設計モデルに要求する性質を状態変数に関する論理式で記述される情報である検査式を入力する検査式入力手段を備え、状態数削減手段が、入力される検査式と、状態変数間の関連性を示す情報とに基づいて、検査内容に関係のない状態変数をシステムの状態変化要因の対象から除外することによって、検査に用いるシステムの状態数を削減するモデル検証システムの構成例が示されている(図4のフローチャート参照。)。
【産業上の利用可能性】
【0069】
本発明は、モデル検査における検査対象の状態の削減を行うシステムであれば、好適に適用可能である。
【図面の簡単な説明】
【0070】
【図1】本発明によるモデル検査システムの構成例を示すブロック図である。
【図2】第1の実施形態におけるモデル検査システムの構成例を示すブロック図である。
【図3】関連性指定手段121による関連性指定方法の一例を示す説明図である。
【図4】モデル検査システムの動作例を示すフローチャートである。
【図5】第1の実施形態の一実施例を示す説明図である。
【図6】第2の実施形態におけるモデル検査システムの構成例を示すブロック図である。
【図7】第3の実施形態におけるモデル検査システムの構成例を示すブロック図である。
【図8】第4の実施形態におけるモデル検査システムの構成例を示すブロック図である。
【符号の説明】
【0071】
101,111,121 関連性指定手段
102 状態数削減手段
11 設計モデル作成手段
12 モデル検査手段
122 検査式入力手段
123 検査プログラム作成手段
1231 状態変数識別手段
124 モデル検査実行手段
125 関連性導出手段

【特許請求の範囲】
【請求項1】
検査対象システムの仕様を記述した設計モデルの検査を行うモデル検査システムであって、
検査対象システムの仕様において状態が変化する要素の状態を示すためのモデル内変数である状態変数間の関連性をユーザに指定させる関連性指定手段と、
ユーザに指定させた前記状態変数間の関連性を示す情報に基づいて、検査に用いるシステムの状態数を削減する状態数削減手段とを備えた
ことを特徴とするモデル検査システム。
【請求項2】
検査対象システムの仕様を記述した設計モデルを作成する設計モデル作成手段を備え、
関連性指定手段は、前記設計モデル作成手段に含まれ、設計モデルを作成する過程で、状態変数間の関連性をユーザに指定させる
請求項1に記載のモデル検査システム。
【請求項3】
関連性指定手段によってユーザに指定させた状態変数間の関連性を示す情報から、新たな状態変数間の関連性を導出する関連性導出手段を備え、
状態数削減手段は、ユーザに指定させた前記状態変数間の関連性を示す情報と、前記関連性導出手段によって導出された新たな状態変数間の関連性を示す情報とに基づいて、検査に用いるシステムの状態数を削減する
請求項1または請求項2に記載のモデル検査システム。
【請求項4】
関連性導出手段は、関連性指定手段によってユーザに指定させた状態変数間の関連性を組み合わせることによって、新たな状態変数間の関連性を導出する
請求項3に記載のモデル検査システム。
【請求項5】
関連性指定手段は、ある状態変数の変化が他の状態変数の変化に影響を与えるか否かを示す情報をユーザに入力させ、入力させた該情報を状態変数間の関連性を示す情報として受ける
請求項1から請求項4のうちのいずれか1項に記載のモデル検査システム。
【請求項6】
検査内容を示す情報であって設計モデルに要求する性質を状態変数に関する論理式で記述される情報である検査式を入力する検査式入力手段を備え、
状態数削減手段は、入力される検査式と、状態変数間の関連性を示す情報とに基づいて、検査内容に関係のない状態変数をシステムの状態変化要因の対象から除外することによって、検査に用いるシステムの状態数を削減する
請求項5に記載のモデル検査システム。
【請求項7】
検査対象システムの仕様を記述した設計モデルの検査を行うためのモデル検査方法であって、
検査対象システムの仕様において状態が変化する要素の状態を示すためのモデル内変数である状態変数間の関連性をユーザに指定させ、
ユーザに指定させた前記状態変数間の関連性を示す情報に基づいて、検査に用いるシステムの状態数を削減する
ことを特徴とするモデル検査方法。
【請求項8】
設計モデルを作成する過程で、状態変数間の関連性をユーザに指定させる
請求項7に記載のモデル検査方法。
【請求項9】
ユーザに指定させた状態変数間の関連性を示す情報から、新たな状態変数間の関連性を導出し、
ユーザに指定させた前記状態変換の関連性を示す情報と、新たに導出された状態変数間の関連性を示す情報とに基づいて、検査に用いるシステムの状態数を削減する
請求項7または請求項8に記載のモデル検査方法。
【請求項10】
検査対象システムの仕様を記述した設計モデルの検査を行うためのモデル検査用プログラムであって、
コンピュータに、
検査対象システムの仕様において状態が変化する要素の状態を示すためのモデル内変数である状態変数間の関連性をユーザに指定させる処理、および
ユーザに指定させた前記状態変数間の関連性を示す情報に基づいて、検査に用いるシステムの状態数を削減する処理
を実行させるためのモデル検査用プログラム。
【請求項11】
コンピュータに、
検査対象システムの仕様を記述した設計モデルを作成する処理を実行させ、
前記設計モデルを作成する処理で、状態変数間の関連性をユーザに指定させる
請求項10に記載のモデル検査用プログラム。
【請求項12】
コンピュータに、
ユーザに指定させた状態変数間の関連性を示す情報から新たな状態変数間の関連性を導出する処理、および
ユーザに指定させた前記状態変換の関連性を示す情報と、新たに導出された状態変数間の関連性を示す情報とに基づいて、検査に用いるシステムの状態数を削減する処理
を実行させる請求項10または請求項11に記載のモデル検査用プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate