(57)【特許請求の範囲】
【請求項１】
対象システムのモデル検査に基づく性能シミュレーションを行う性能モデル検査装置は、ＲＡＭにロードされたプログラムのＣＰＵでの実行を行う性能モデル検査装置であって、
入力装置およびネットワークおよび記録媒体から対象モデルと応答時間計算式と処理完了条件式を取得し、前記対象モデルの特定処理に応答時間計算式を追加したシミュレーション用モデルに変換する手段を備えるモデル変換処理部と、
前記モデル変換処理部で変換された前記シミュレーション用モデルと前記処理完了条件式を用いてモデル検査ツールを実行する手段を備えるモデル検査実行部と、
前記シミュレーション用モデルのモデル検査実行時に出力される応答時間情報の統計処理を行うことにより得られた性能統計情報を表示装置、ネットワーク及び記録媒体のいずれかに出力する手段を備える性能情報統計処理部、
を備えていることを特徴とする性能モデル検査装置。
【請求項２】
前記モデル変換処理部は、
前記対象モデルの特定処理に前記応答時間計算式を追加する際に、前記処理完了条件式を元に対象モデル内の特定処理を検索して、前記応答時間計算式を追加する手段を備えることを特徴とする請求項１記載の性能モデル検査装置。
【請求項３】
前記性能情報統計処理部は、
モデル検査実行時に出力される前記応答時間情報の統計処理として、応答時間の最悪値、最良値、平均値、中央値、標準偏差、頻度分布を算出する手段を備えることを特徴とする請求項１記載の性能モデル検査装置。
【請求項４】
性能シミュレーションとして応答時間に加えスループットを含む性能に関する値を扱うことを特徴とする請求項１から請求項３のいずれかに記載の性能モデル検査装置。
【請求項５】
前記性能モデル検査装置は、さらに、出力する性能統計情報を用いてモデル検査の継続の可否を判断できる手段を備えたことを特徴とする請求項３記載の性能モデル検査装置。
【請求項６】
情報処理装置が、対象システムのモデル検査に基づく性能シミュレーションを行う性能モデル検査方法において、
前記情報処理装置が、入力装置およびネットワークおよび記録媒体から対象モデルと応答時間計算式と処理完了条件式を取得し、
前記対象モデルの特定処理に応答時間計算式を追加したシミュレーション用モデルに変換し、
前記変換されたシミュレーション用モデルと前記処理完了条件式を用いてモデル検査ツールを実行し、
前記シミュレーション用モデルのモデル検査実行時に出力される応答時間情報の統計処理を行うことにより得られた性能統計情報を表示装置、ネットワーク及び記録媒体のいずれかに出力する性能情報統計処理を行うことを特徴とする性能モデル検査方法。
【請求項７】
情報処理装置が、性能シミュレーションとして応答時間に加えスループットを含む性能に関する値を扱うことを特徴とする請求項６に記載の性能モデル検査方法。
【請求項８】
情報処理装置が、さらに、出力した前記性能統計情報に含まれる最悪応答時間を過ぎても対象処理が完了していない場合には状態空間の検索を打ち切ることにより、前記モデル検査を効率化することを特徴とする請求項６に記載の性能モデル検査方法。
【請求項９】
コンピュータに、請求項６に記載の性能モデル検査方法を実行させるための性能モデル検査プログラム。
【請求項１０】
請求項９に記載の性能モデル検査プログラムを格納した、コンピュータで読み取り可能な記憶媒体。
【請求項１１】
請求項１から請求項５のいずれかに記載の性能モデル検査装置を組み込んで、実際の処理をシミュレーションすることによって前記処理の応答時間を事前にユーザに提示する機能を備えていることを特徴とする情報処理装置。
【請求項１２】
情報処理装置が、請求項９に記載の性能モデル検査プログラムにより性能モデル検査部として機能するＣＰＵを有し、実際の処理をシミュレーションすることによって前記処理の応答時間を事前にユーザに提示する機能を備えていることを特徴とする情報処理装置。
【請求項１３】
請求項９に記載の性能モデル検査プログラムにより性能モデル検査部として機能するＣＰＵを有したコンピュータに、実際の処理をシミュレーションすることによって前記処理の応答時間を事前にユーザに提示させることを特徴とする情報処理装置の情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モデル検査においてシステムの性能を検証する技術に関する。
【背景技術】
【０００２】
近年、デジタルテレビやカーナビゲーション機器などの組込みシステムは、より複雑かつ大規模になりつつあり、組み込まれるソフトウェアもハードウェア以上に複雑なものになっている。複雑なソフトウェアでは複数の機能が協調して動作する必要があり、各機能の状態とその遷移系列で表現されるシステム仕様に誤りや矛盾がないかを確認してシステムを構築する必要がある。【０００３】
システム仕様を検証する技術としてモデル検査技術があり、代表的なモデル検査ツールとしては、”ＳＰＩＮ”（例えば、非特許文献１参照）や”ＵＰＰＡＡＬ”（例えば、非特許文献２参照）などが知られている。【０００４】
一般に、モデル検査システムでは、検査対象のモデルをオートマトンなどの形式で表現し、与えられた条件の論理式（検証式)を満たすかどうか網羅的に状態空間を探索して検索する。そのため、検査対象のモデルが、与えられた一定の時間内に応答するかなどの時間要求を満たすかどうかを検証することができる。【０００５】
モデル検査システムで応答時間などの時間要求を検証するときに、検証用の論理式などのモデル検査技術に詳しくない技術者でも容易に検証作業ができるよう支援する技術として、特開２００８−２１１６０号公報（特許文献1)がある。この公報には、UMLシーケンス図で表現した検証したい時間要求から、モデル検査用の状態遷移を生成し、検査対象のモデルと合成することで、モデル検査を実施する手段等について記載されている。【０００６】
また、モデル検査以外に従来から応答時間などの性能のシミュレーションをする方法としては、特開平１０−２６１０１０号公報（特許文献２）などに示される待ち行列理論に基づくモデルを用いたシミュレーションが知られている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−２１１６０号公報
【特許文献２】特開平１０−２６１０１０号公報
【非特許文献】
【０００８】
【非特許文献１】G.J.Holzmann著  「The  ＳPIN  model  checker:  Primer  and  reference  manual」Addison  Wesley,  2000年
【非特許文献２】G.Behrmann  et.al  「A  Tutorial  an  UPPAAL」In  Proceeding  of  the  4th  International  Ｓchool  on  Formal  Methods  for  the  Design  of  Computer,  Communication,  and  Ｓoftware  Ｓystems（ＳＦＭ−ＲＴ’04).  LNCＳ  3185  2004年
【発明の概要】
【発明が解決しようとする課題】
【０００９】
特許文献１に示される手法では、モデル検査を行う際に満たすべき時間要求をUMLシーケンス図に記述して与えるため、応答時間がある特定の値（たとえばt1）の条件（制約)を満たすことを検証できるが、モデルが応答時間としてとりうる値の範囲（たとえばα＜ｔ１＜βのαとβ）を知ることはできない。すなわち性能シミュレーションとして応答時間などの性能の最悪値や最善値や分布を求めるのに使うには適さない。さらに、設計の初期段階では、応答時間の制約として特定の値を詳細に決定することは困難である。また、検証式の応答時間の制約の値を変更してモデル検査を繰り返し行うことで、たとえば
ｔ１をｘ、・・・、α、・・・、β、・・・、ｙと変更しながら検証式を満たす制約の値の集合を得ることができるが、複雑な検証を繰り返すと計算量が膨大になる。【００１０】
また、特許文献２に示すように待ち行列モデルを用いた性能シミュレーションの場合は、統計モデルを用いた効率のよい性能シミュレーションが可能であるが、システムが取りうる状態を網羅的に検査できるモデルではないので、性能シミュレーション結果がすべての可能性を含む値であることを保証するのが難しいという課題がある。【００１１】
本発明の目的は、モデル検査において、モデル応答時間などの性能を検証するときに、検証式として特定の値の制約を与えずに、とりうる性能の値の集合を効率よく求められる性能シミュレーションとして利用可能な方法、プログラムおよび装置を提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、例えば以下の構成を採用する。
本願は上記目的を達成する手段を複数含んでいるが、その一例を挙げるならば、対象システムのモデル検査に基づく性能シミュレーションを行う性能モデル検査装置は、ＲＡＭにロードされたプログラムのＣＰＵでの実行を行う性能モデル検査装置であって、入力装置、ネットワークおよび記録媒体から対象モデル、応答時間計算式及び処理完了条件式を取得し、前記対象モデルの特定処理に応答時間計算式を追加したシミュレーション用モデルに変換する手段を備えるモデル変換処理部と、前記モデル変換処理部で変換された前記シミュレーション用モデルと前記処理完了条件式を用いてモデル検査ツールを実行する手段を備えるモデル検査実行部と、前記シミュレーション用モデルのモデル検査実行時に、応答時間計算式を用いて、出力される応答時間情報の統計処理を行い、性能統計情報を表示装置やネットワークや記録媒体に出力する手段を備える性能情報統計処理部を備えている。
【発明の効果】
【００１３】
本発明によれば、モデル検査において、モデル応答時間などの性能を検証するときに、検証式として特定の値の制約を与えずに、とりうる性能の値の集合を効率よく求められる性能シミュレーションが実現できる。
【図面の簡単な説明】
【００１４】
【図１】性能モデル検査装置のハードウェアの全体構成図の例である。
【図２】性能モデル検査装置の機能全体構成図の例である。
【図３】性能モデル検査装置の一連の処理を説明するフローチャートの例である。
【図４】対象モデル変換処理部の処理を説明するフローチャートの例である。
【図５】対象モデル変換処理部の機能構成図の例である。
【図６】対象モデル変換処理によるモデルの変換前と後を示す例である。
【図７】表示装置における性能統計情報の表示の例である。
【図８】性能モデル検査装置の機能全体構成図の例である。
【図９】対象モデル変換処理部の処理を説明するフローチャートの例である。
【図１０】対象モデル変換処理部の機能構成図の例である。
【図１１】表示装置における性能統計情報の表示の例である。
【図１２】出力する性能統計情報を用いてモデル検査を効率化する対象モデル変換処理部の機能構成図の例である。
【図１３】モデル検査を効率化する対象モデル変換処理によるモデル変換後を示す例である。
【図１４】モデル検査を効率化する対象モデル変換処理部の処理を説明するフローチャートの例である。
【図１５】ストレージ情報処理装置に性能モデル検査プログラムが組み込まれたシステム全体の構成の例である。
【図１６】ストレージ情報処理装置に性能モデル検査プログラムが組み込まれた管理機能の構成の例である。
【図１７】ストレージ情報処理装置において性能シミュレーションを行う処理を説明するフローチャートの例である。
【発明を実施するための形態】
【００１５】
以下、実施例を、図面を用いて説明する。
【実施例１】
【００１６】
図１は、本実施例における性能モデル検査装置１１のハードウェア構成の一例を示すブロック図である。【００１７】
図１に示すように性能モデル検査装置１１は、たとえばパーソナルコンピュータやサーバや専用ハードウェアなどであり、コンピュータの主要な部分で演算処理および各部を制御する中心であるＣＰＵ１を備えている。このＣＰＵは起動プログラムであるＢＩＯＳなどを記憶したＲＯＭ２や、各種プログラムやデータ等を記憶する書き換え可能なＲＡＭ３がバス４で接続される。【００１８】
さらに、バスには各種プログラムやデータ等を格納するＨＤＤ５、ＣＤＲＯＭ７などで配布されたプログラムやデータを読み取るＣＤＲＯＭドライブ６と、ネットワークとの通信を制御するＮＩＣ８と、各種操作指示を行うキーボードなどの入力装置９と、各種情報を表示するＬＣＤなどの表示装置１０が、直接・間接的に接続されている。【００１９】
なお、各種プログラムやデータ等を格納するのはハードディスクドライブに限らずＳＳＤなどの半導体記憶装置なども用いることができ、記憶媒体としてはＣＤＲＯＭに限らずＤＶＤやその他の磁気、光学、半導体などを用いた媒体を用いることができる。また、ＮＩＣ８を介してネットワークからプログラムやデータをダウンロードしてＨＤＤ５やＲＡＭ３に記憶しても良い。なお、プログラムやデータは、特定のＯＳ上で動作するか、ＯＳを必要としないか、特定のＯＳやアプリケーション群を構成するファイルの一部であるかは問わない。【００２０】
ＣＰＵ１はこのシステムの主記憶であるＲＡＭ３にロードされたプログラムに基づいて各種処理を実行する。【００２１】
次に、性能モデル検査装置１１のＨＤＤ５に格納されＲＡＭ３にロードされる各種のプログラムがＣＰＵ１において実行される機能で、本実施例の形態の性能モデル検査装置１１が備える特長的な機能について説明する。【００２２】
図２は、性能モデル検査装置１１の機能構成の一例を示すブロック図である。図２に示す性能モデル検査装置１１は、汎用的な情報処理装置を用いて実現できる。【００２３】
図２に示す性能モデル検査装置１1への入力として、シミュレーション対象モデル２１と対象処理応答時間計算式２２と対象処理完了条件式２３がある。これらの入力はＮＩＣ８、入力装置９、ＣＤＲＯＭ７、又はＨＤＤ５などからＲＡＭ３にロードされるデータである。シミュレーション対象モデル２１は、応答時間などの性能シミュレーションの対象となるプログラムで実現されるモデルであり、モデル検査ツール“ＳＰＩＮ”や“ＵＰＰＡＡＬ”に用いられるオートマトンを基盤にした形式のモデルで、時間に関する情報を含んでいるが、他のモデル検査ツールのモデルであっても良い。【００２４】
対象処理応答時間計算式２２は、シミュレーション対象モデル２１を用いた性能シミュレーションで求めたい処理の応答時間を算出するための計算式であり、モデル検査ツール“ＳＰＩＮ”や“ＵＰＰＡＡＬ”に用いられるモデル内で利用可能な式である。【００２５】
対象処理完了条件式２３は、シミュレーション対象モデル２１を用いた性能シミュレーションで求めたい処理の完了を示す論理式であり、モデル検査ツール“ＳＰＩＮ”や“ＵＰＰＡＡＬ”に用いられるモデルの検証式として利用可能な式である。【００２６】
図２に示す性能モデル検査装置１１の出力として、性能統計情報２４がある。性能統計情報２４は、シミュレーション対象モデル２１と対象処理応答時間計算式２２と対象処理完了条件式２３を用いた性能シミュレーションの結果として出力される応答時間の最悪値、最良値、平均値、中央値、標準偏差、及び頻度分布などを含む統計情報であり、ＲＡＭ３において生成された後、ＮＩＣ８、表示装置１０、又はＨＤＤ５に出力されるデータである。なお、応答時間の統計情報としてここに述べたもの以外を含んでもかまわない。【００２７】
図２に示すように、性能モデル検査装置１１はＨＤＤ５に格納されＲＡＭ３にロードされる性能モデル検査プログラムに従うことで、モデル検査に使用するモデルを用いて性能シミュレーションを可能にするモデルに変換する手段である対象モデル変換処理部３１と、オートマトンなどの状態遷移に基づくモデル検査を実行する手段であるモデル検査実行部３２と、モデル検査実行時に出力される性能情報の統計処理を行う手段である性能情報統計処理部３５を備える。なお、性能モデル検査装置１1の中では、当該処理の一時的なデータとして、対象モデル変換処理部３１がシミュレーション用変換済モデル３４を生成し、モデル検査実行部３２が応答時間情報３３を生成し、ＲＡＭ３およびＨＤＤ５に一時的に格納されるが、性能モデル検査装置１1の固定された構成要素ではない。また、ここでは各機能の処理部がＣＰＵ１で実行されるプログラムである例を示したが、ハードウェアとして実現されてもよい。【００２８】
対象モデル変換処理部３１は、入力されたシミュレーション対象モデル２１と、開始時間と終了時間との差から応答時間を求める対象処理応答時間計算式２２と、データが揃った、あるいは計算の終了などの対象処理完了条件式２３から、シミュレーション対象モデル２１に含まれる応答性能を求めたい処理を特定し、対象処理応答時間計算式２２を追加することで、シミュレーション用変換済モデル３４を生成する。後述の完了条件式解析部４１がシミュレーション対象モデル２１のプログラムを検索して対象処理応答時間計算式２２の挿入場所を決め、同様に、後述のモデル内処理検索部４３が対象処理完了条件式２３の解析結果である対象処理判定条件４２の挿入場所を決める。【００２９】
ここで、シミュレーション対象モデル２１やシミュレーション用変換済モデル３４はモデル検査ツール“ＳＰＩＮ”や“ＵＰＰＡＡＬ”に用いられるモデルを用いるが、他のモデル検査ツールであっても良い。また、対象処理応答時間計算式２２は他の方法で応答時間を求める式であっても良い。【００３０】
ＳPINモデルの例としてEuclidの互除法を以下に示す。
proctype  euclid（int  x,  y)
{
int  clk  =  0;  /*  時間用変数  */
printf（"euclid（%d,%d)  =  ",  x,  y);
do
::  atomic  {（x  >  y)  ;  clk++}  ->
atomic  {  x  =  x  -  y;  clk  =  clk  +  2  }
::  atomic  {（x  <  y)  ;  clk++}  ->
atomic  {  y  =  y  -  x;  clk  =  clk  +  3  }
::  atomic  {（x  ==  y);  clk++}  ->
goto  Done
od;
Done:
printf（"%d\n",  x);
printf（"clock  time=%d\n",  clk);
}
init
{
run  euclid（63,  14);  /*  63と14の最大公約数を求める  */
}
モデル検査実行部３２は、入力されたシミュレーション用変換済（応答時間の計算文を追加した）モデル３４と対象処理完了条件式２３を用いて、モデル検査ツール“ＳＰＩＮ”や“ＵＰＰＡＡＬ”を実行することで、モデルパラメータを可変して、条件に合うものを抽出する。即ち、対象処理が完了する条件を満たす場合のモデルパラメータの全てについて応答時間を網羅した応答時間情報３３を生成する。同様に他のモデル検査ツールを実行しても良い。【００３１】
性能情報統計処理部３５は、モデル検査実行部３２の出力する応答時間情報３３を集計し、最悪値、最良値、平均値、中央値、標準偏差、及び頻度分布などの算出の統計処理を行い、シミュレーション結果として性能統計情報２４を生成して、出力する。【００３２】
次に、性能モデル検査装置１１の処理の手順を図３のフローチャートを参照して説明する。【００３３】
まず、ステップＳ０１において、性能シミュレーションを行うためにユーザが用意したシミュレーション対象モデル２１と対象処理応答時間計算式２２と対象処理完了条件式２３を性能モデル検査装置１1に入力すると、対象モデル変換処理部３１が入力情報（対象処理応答時間計算式２２又は対象処理完了条件式２３）のエラーチェックを行う。次に、ステップＳ０２に進み、入力された情報にエラーがあれば処理を終了し、エラーがなければステップＳ０３に進む。ステップＳ０３では、対象モデル変換処理部３１が入力された情報を変換して、シミュレーション用変換済みモデル３４を生成する。次に、ステップＳ０４に進み、変換処理にエラー、例えば、対象処理応答時間計算式２２又は対象処理完了条件式２３のモデルへの挿入エラー、又は不適合のエラーがあれば終了し、エラーがなければステップＳ０５に進む。対象モデル変換処理部３１は、シミュレーション対象モデル２１に依存しない、上記のエラーを判定するための一般的なルールを保持している。【００３４】
ステップＳ０５では、モデル検査実行部３２がシミュレーション対象モデル２１とシミュレーション用変換済モデル３４を入力にモデル検査ツール“ＳＰＩＮ”や“ＵＰＰＡＡＬ”を起動する。モデル検査ツール実行中は応答時間情報３３が出力される。ステップＳ０６では、モデル検査エラー、例えば、対象モデルとモデル検査ツールとの不適合（メモリ不足、モデルのバクなど）がモデル検査ツールから出されれば終了し、エラーがなければステップＳ０７に進む。ステップＳ０７では、モデル検査が完了していなければステップＳ０６にもどり、完了していればステップＳ０８に進む。ステップＳ０８では、性能情報統計処理部３５が入力された応答時間情報３３を集計して、最悪値（応答時間の最大値）、最良値（応答時間の最小値）、平均値、中央値（データを値の昇順／降順に並べたときに真ん中にあるデータの値）、標準偏差、及び頻度分布などの算出の統計処理を行い、シミュレーション結果として性能統計情報２４を生成、出力し、一連の処理を終了する。この性能情報統計処理３５では、種々のモデルパラメータに対する応答時間が処理対象であり、従って、ランダムなモデルパラメータに対する応答時間の統計処理が行われる。【００３５】
図４のフローチャートを参照して、ステップＳ０３の対象モデル変換処理の詳細について説明し、図５を参照して、ステップＳ０３を実行する対象モデル変換処理部３１の詳細について説明する。【００３６】
図５に示すように、対象モデル変換処理部３１には、対象処理完了条件式２３を解析して応答時間の計算の対象となる処理の判定条件である対象処理判定条件４２を生成する完了条件式解析部４１と、シミュレーション対象モデル２１の中の対象処理判定条件４２に適合する部分を検索するモデル内処理検索部４３と、シミュレーション対象モデル２１の中に対象処理応答時間計算式２２を追加してシミュレーション用変換済みモデル３４を生成する性能計算処理追加部４４とがある。【００３７】
図４のステップＳ１１では完了条件式解析部４１が対象処理完了条件式２３を解析、即ち、条件式の構文や論理的な関係などをチェックして対象処理判定条件４２を生成する。              このとき完了条件解析エラー（構文や論理のエラー）が発生すればステップＳ１２で終了し、エラーがなければ次に進む。次にステップＳ１３では、モデル内処理検索部４３がシミュレーション対象モデル２１から対象処理判定条件４２に適合する部分を検索し（対象モデルのプログラムの処理ステップを検索して、条件に合う処理ステップを抽出する）、ステップＳ１４で対象処理が特定できないエラーがあれば終了し、エラーがなければ次へ進む。次に、ステップＳ１５では、性能計算処理追加部４４がシミュレーション対象モデル２１内の対象処理判定条件４２に適合する部分に対象処理応答時間計算式２２を追加し、即ち、対象処理が完了する条件を満たしている処理ステップの後に応答時間計算式を挿入して、応答時間を計算し網羅的に出力するようにした、シミュレーション用変換済みモデル３４を生成する。【００３８】
図６は対象モデル変換処理による変更の一例を示す図である。シミュレーション対象モデル２１内の変換前モデル６０の処理Ａ内容６２が対象処理完了条件式２３において適合する処理内容であり、シミュレーション用変換済モデル３４内の変換後モデル６１の処理Ａ開始前時刻取得部６３と処理Ａ応答時間計算部６４が対象処理応答時間計算式２２として追加された部分の一例である。【００３９】
図７は、変換済みモデル３４を検査実行部３２で実行した後、応答時間情報３３を統計処理し、ステップＳ０８において出力する性能統計情報２４を表示装置１０における表示の一例を示す図である。表示装置１０においてシミュレーション結果表示部５１には性能統計情報２４に含まれる応答時間の最悪値、最良値、平均値、中央値、標準偏差、及び頻度分布などの統計算出結果が表示され、対象モデル表示部５２にはシミュレーション対象モデル２１に関する情報が表示され、対象処理表示部５３には対象処理完了条件式２３および対象処理応答時間計算式２２の内容が表示される。表示内容は必ずしもここに示したものである必要はなく、各表示部に表示する情報を一体のものとして表示しても良い。【００４０】
このように、モデル検査において応答時間などの性能を検証するときに、検証式として特定の値の制約を与えずに、対象処理完了条件式２３から生成された対象処理判定条件４２に基づいて、とりうる性能の値の集合を効率よく求められる性能シミュレーションが実現できる効果がある。
【実施例２】
【００４１】
本実施例では、応答時間ではなくスループットについて性能シミュレーションを行う性能モデル検査装置の例を説明する。【００４２】
実施例２における性能モデル検査プログラムを実行する性能モデル検査装置１１のハードウェア構成の一例を示すブロック図は、図１に示す実施例１におけるハードウェア構成のブロック図と同様である。以後、実施例１と同一の機能を有する部分および処理手順のフローチャートについては説明を省略する。【００４３】
図８はスループットについて性能シミュレーションを行う性能モデル検査装置１１の一例を示すブロック図である。実施例１において応答時間の性能シミュレーションを行う図２との違いは、対象処理のスループットを求めるための計算式である対象処理スループット計算式２５が入力される点と、モデル検査実行部３２で出力されるのがスループット情報３６である点であり、他の構成要素は同等である。【００４４】
次に、性能モデル検査装置１１の処理の手順は実施例１の図３のフローチャートと同様である。【００４５】
図９のフローチャートは対象モデル変換処理３１の詳細を示すものであり、実施例１の図４と同様であるが、ステップＳ１６において応答時間計算処理ではなくスループットの計算処理として対象処理スループット計算式（応答時間の逆数に比例する量を求める式）２５を追加するものである。また、図１０は実施例１の図５と同様であるが、性能計算処理追加部４４において対象処理スループット計算式２５を追加するものである。【００４６】
図１１はスループットについて性能シミュレーションを行う際にステップＳ０８において出力する性能統計情報２４を表示装置１０における表示の一例を示す図である。実施例１の図７において応答時間ではなくスループットを表示するようにしたものである。【００４７】
このように、モデル検査においてスループットなどの性能を検証するときに、検証式として特定の値の制約を与えずに、対象処理完了条件式２３から生成された対象処理判定条件４２に基づいて、とりうる性能の値の集合を効率よく求められる性能シミュレーションが実現できる効果がある。ここでは、性能としてスループットのみを一例にあげたが、応答時間やスループットその他の複数の性能の値も同時に効率よく求めることが可能である。
【実施例３】
【００４８】
本実施例では、性能モデル検査装置１１の出力した性能統計情報２４を用いて、さらに入力されたシミュレーション対象モデル２１へ、最悪応答時間を過ぎても対象処理が完了していない場合は、対象処理が完了しない条件の組み合わせになっていると判断する処理を追加することで、モデル検査を効率化する性能モデル検査装置の例を説明する。【００４９】
図１２は実施例１の図５の対象モデル変換処理部３１において、すでに性能シミュレーションを行って判明している性能統計情報２４を用いてモデル検査を効率化するようにしたものである。性能統計情報２４に含まれるシミュレーション対象モデル２１の既に取得した最悪応答時間から、最悪応答時間を過ぎても対象処理が完了していない場合は、対象処理が完了しない条件の組み合わせになっていると判断する処理を追加する非完了条件処理追加部７０が、対象モデル変換処理部３１に含まれる。その他の構成は図２に示したものと同様である。【００５０】
次に、対象モデル変換処理３１の詳細の例を図１４のフローチャートを用いて示す。実施例１の図４のフローチャートと同様のためステップＳ１１からステップＳ１５までの説明は省略する。引き続きステップＳ１７では、非完了条件処理追加部７０が、最悪応答時間を過ぎても対象処理が完了していない場合、対象処理が完了しない条件の組み合わせになっていると判断する処理をシミュレーション対象モデル２１に追加し、シミュレーション用変換済モデル３４を出力する。【００５１】
図１３は対象モデル変換処理による変更の一例を示す図である。非完了条件変換後モデル７１は、実施例１の図６の変換後モデル６１に、処理Ａ非完了条件判定部７２を加えることで、処理Ａ内容６２に対象処理の最悪応答時間を過ぎても対象処理が完了していない場合は、処理が完了しないケースであると判断して、状態空間の検索を打ち切ることができる。【００５２】
このように、性能モデル検査において、すでに求められている性能統計情報をモデルに追加することで、モデル検査の効率化ができる効果がある。
【実施例４】
【００５３】
本実施例では、情報処理装置において、組み込まれた性能モデル検査プログラムを用いて、ユーザが処理指示を出す際に、実際に処理を実行しなくても、処理の性能がどの程度かをシミュレーションすることができる例を説明する。本実施例では、実施例１〜３の性能モデルを、入出力処理（ディスクや端末などとのデータの授受）を仮想化したものと組み合わせてシミュレーションを行うので、実機（計算機）を用いてモデル対象のプログラムを実行する必要がない。【００５４】
図１５は本実施例のシステム全体の構成を示す図の一例である。ＲＡＩＤ（Redundant  Arrays  of  Inexpensive Disks)機能を備えたストレージ情報処理装置１１０とストレージ情報処理装置に情報を格納するサーバ１０７とがストレージネットワーク１０８で接続され、管理端末１１０がＬＡＮ１０９で接続されている。ストレージ情報処理装置１００は、ＲＡＩＤ機能を実現するＲＡＩＤ機能部１０１と、ストレージネットワーク１０８経由の通信を行うＳＡＮ  Ｉ／Ｆ１０２と、ＨＤＤ１０４を接続するＤＩＳＫ  Ｉ／Ｆ１０３と、データが実際に格納されるＨＤＤ１０４と、ストレージ情報処理装置１００の管理を行う管理機能部１０５と、ＬＡＮ１０９経由の通信を行うＬＡＮ  Ｉ／Ｆ１０６から構成される。【００５５】
図１６は管理機能部１０５の詳細な構成の一例を示す図である。管理要求処理部１１１は管理端末１１０からのシミュレーションの要求を受け付ける処理を行い、シミュレーション処理部１１２は管理端末からのシミュレーションの要求に応じて性能シミュレーションを行う。また、管理機能実行部１１５は管理端末からの要求に応じて入出力の仮想化を行う。シミュレーション処理部１１２は実施例１および実施例２で示したモデル検査による性能シミュレーションを行う性能モデル検査装置１１の機能を実現する性能モデル検査部１１３と、性能モデル検査部１１３への入力であるモデルや条件式を生成するモデル生成部１１４とで構成される。性能モデル検査部１１３は一例として、実施例１および実施例２と同様なプログラムとしてＣＰＵを用いて実行されるものとする。また、モデル生成部１１４は実行する管理機能に対応する性能シミュレーション用モデルや性能計算式を備えたモデルライブラリ１１６と管理機能の実行に用いられる管理情報１１７を参照してモデルや条件式を生成する。即ち、部品化されたモデルライブラリ１１６や管理情報１１７を用いて新たなモデルや条件式を生成する。                  
次に、ユーザの指示に応じて実際の処理の実行がどの程度の応答時間になるかを性能シミュレーションする処理の手順の一例を図１７のフローチャートを用いて示す。性能シミュレーションの一例として、ここではストレージ情報処理装置１００にＨＤＤ１０４を増設する処理を示す。【００５６】
まず、ステップＳ２１において、管理端末からのＨＤＤ増設処理の性能シミュレーション要求を管理要求処理部１１１が受け付ける。もしシミュレーションの要求内容にエラー（例えば、シミュレーション不可な内容）があればステップＳ２２において終了し、エラーがなければ次へ進む。ステップＳ２３において、シミュレーション処理部１１２のモデル生成部１１４がＨＤＤ増設処理の性能シミュレーションに対応するモデルおよび応答時間計算式をモデルライブラリ１１６から選択し、ＨＤＤの接続設定などの情報を管理情報１１７から取得し、性能シミュレーションに必要なモデルや条件式などを生成する。生成するモデルや条件式などの詳細は、実施例１と同様で説明の詳細は省略するが、図２のシミュレーション対象モデル２１、対象処理応答時間計算式２２、対象処理完了条件式２３である。ステップＳ２４において、もしモデルの生成エラー（例えば、上記の部品を用いても要求された性能シミュレーションのモデルを作れない）が発生すれば終了し、なければ次へ進む。【００５７】
次に、ステップＳ２５において実施例１と同様のモデル検査による性能シミュレーションをステップＳ２３において生成したシミュレーション対象モデル２１、対象処理応答時間計算式２２、対象処理完了条件式２３を用いて行う。もしステップＳ２５においてエラー発生していれば、ステップＳ２６において終了し、エラーがなければ次へ進む。次にステップＳ２７において性能モデル検査部１１３の出力するＨＤＤ増設処理の応答時間シミュレーション結果である性能統計情報２４をＬＡＮ  Ｉ／Ｆ１０６およびＬＡＮ１０９を経由して管理端末１１０に送信する。【００５８】
このように、情報処理装置において組み込まれた性能モデル検査プログラムを用いることで、実際に処理を実行しなくても、事前にユーザの指示する機能の実行の応答時間が、性能シミュレーションでわかるので、ユーザが機能の実行をいつどのように行うかなどの判断を支援することができる効果がある。ここでは、性能として応答時間をあげたが、スループットその他の複数の性能の値も同時に効率よく求めることが可能である。また、ここでは情報処理装置の内部にシミュレーション処理部をプログラムとして配置する構成の一例を示したが、情報処理装置の外部で同様の処理を行う装置を配置する構成でもかまわない。
【符号の説明】
【００５９】
１：ＣＰＵ、２：ＲＯＭ、３：ＲＡＭ、４：バス、５：ＨＤＤ、６：ＣＤＲＯＭドライブ、７：ＣＤＲＯＭ、８：ＮＩＣ、９：入力装置、１０：表示装置、１１：性能モデル検査装置、２１：シミュレーション対象モデル、２２：対象処理応答時間計算式、２３：対象処理完了条件式、２４：性能統計情報、２５：対象処理スループット計算式、３１：対象モデル変換処理部、３２：モデル検査実行部、３３：応答時間情報、３４：シミュレーション用変換済モデル、３５：性能情報統計処理部、３６：スループット情報、４１：完了条件式解析部、４２：対象処理判定条件、４３：モデル内処理検索部、４４：性能計算処理追加部、５１：シミュレーション結果表示部、５２：対象モデル表示部、５３：対象処理表示部、５４：スループットシミュレーション結果表示部、５５：対象処理表示部、６０  変換前モデル、６１：変換後モデル、６２：処理Ａ内容、６３：処理Ａ開始時刻取得部、６４：処理Ａ応答時間計算部、７０：非完了条件処理追加部、７１：非完了条件変換後モデル、７２：処理Ａ非完了条件判定部、１００：ストレージ情報処理装置、１０１：ＲＡＩＤ機能部、１０２：ＳＡＮ  Ｉ／Ｆ、１０３：ＤＩＳＫ  Ｉ／Ｆ、１０４：ＨＤＤ、１０５：管理機能部、１０６：ＬＡＮ  Ｉ／Ｆ、１０７：サーバ、１０８：ストレージネットワーク、１０９：ＬＡＮ、１１０：管理端末、１１１：管理要求処理部、１１２：シミュレーション処理部、１１３：性能モデル検査部、１１４：モデル生成部、１１５：管理機能実行部、１１６：モデルライブラリ、１１７：管理情報
【図１】
0005875607.tif 000002
【図２】
0005875607.tif 000003
【図３】
0005875607.tif 000004
【図４】
0005875607.tif 000005
【図５】
0005875607.tif 000006
【図６】
0005875607.tif 000007
【図７】
0005875607.tif 000008
【図８】
0005875607.tif 000009
【図９】
0005875607.tif 000010
【図１０】
0005875607.tif 000011
【図１１】
0005875607.tif 000012
【図１２】
0005875607.tif 000013
【図１３】
0005875607.tif 000014
【図１４】
0005875607.tif 000015
【図１５】
0005875607.tif 000016
【図１６】
0005875607.tif 000017
【図１７】
0005875607.tif 000018