JP5875607B2 - 性能モデル検査装置、方法およびプログラム - Google Patents

性能モデル検査装置、方法およびプログラム Download PDF

Info

Publication number
JP5875607B2
JP5875607B2 JP2013556125A JP2013556125A JP5875607B2 JP 5875607 B2 JP5875607 B2 JP 5875607B2 JP 2013556125 A JP2013556125 A JP 2013556125A JP 2013556125 A JP2013556125 A JP 2013556125A JP 5875607 B2 JP5875607 B2 JP 5875607B2
Authority
JP
Japan
Prior art keywords
model
performance
response time
target
simulation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013556125A
Other languages
English (en)
Other versions
JPWO2013114570A1 (ja
Inventor
知彦 茂岡
知彦 茂岡
岳彦 長野
岳彦 長野
早苗 中尾
早苗 中尾
浩気 大林
浩気 大林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2013114570A1 publication Critical patent/JPWO2013114570A1/ja
Application granted granted Critical
Publication of JP5875607B2 publication Critical patent/JP5875607B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation

Description

本発明は、モデル検査においてシステムの性能を検証する技術に関する。
近年、デジタルテレビやカーナビゲーション機器などの組込みシステムは、より複雑かつ大規模になりつつあり、組み込まれるソフトウェアもハードウェア以上に複雑なものになっている。複雑なソフトウェアでは複数の機能が協調して動作する必要があり、各機能の状態とその遷移系列で表現されるシステム仕様に誤りや矛盾がないかを確認してシステムを構築する必要がある。
システム仕様を検証する技術としてモデル検査技術があり、代表的なモデル検査ツールとしては、”SPIN”(例えば、非特許文献1参照)や”UPPAAL”(例えば、非特許文献2参照)などが知られている。
一般に、モデル検査システムでは、検査対象のモデルをオートマトンなどの形式で表現し、与えられた条件の論理式(検証式)を満たすかどうか網羅的に状態空間を探索して検索する。そのため、検査対象のモデルが、与えられた一定の時間内に応答するかなどの時間要求を満たすかどうかを検証することができる。
モデル検査システムで応答時間などの時間要求を検証するときに、検証用の論理式などのモデル検査技術に詳しくない技術者でも容易に検証作業ができるよう支援する技術として、特開2008−21160号公報(特許文献1)がある。この公報には、UMLシーケンス図で表現した検証したい時間要求から、モデル検査用の状態遷移を生成し、検査対象のモデルと合成することで、モデル検査を実施する手段等について記載されている。
また、モデル検査以外に従来から応答時間などの性能のシミュレーションをする方法としては、特開平10−261010号公報(特許文献2)などに示される待ち行列理論に基づくモデルを用いたシミュレーションが知られている。
特開2008−21160号公報 特開平10−261010号公報
G.J.Holzmann著 「The SPIN model checker: Primer and reference manual」Addison Wesley, 2000年 G.Behrmann et.al 「A Tutorial an UPPAAL」In Proceeding of the 4th International School on Formal Methods for the Design of Computer, Communication, and Software Systems(SFM−RT’04). LNCS 3185 2004年
特許文献1に示される手法では、モデル検査を行う際に満たすべき時間要求をUMLシーケンス図に記述して与えるため、応答時間がある特定の値(たとえばt1)の条件(制約)を満たすことを検証できるが、モデルが応答時間としてとりうる値の範囲(たとえばα<t1<βのαとβ)を知ることはできない。すなわち性能シミュレーションとして応答時間などの性能の最悪値や最善値や分布を求めるのに使うには適さない。さらに、設計の初期段階では、応答時間の制約として特定の値を詳細に決定することは困難である。また、検証式の応答時間の制約の値を変更してモデル検査を繰り返し行うことで、たとえば
t1をx、・・・、α、・・・、β、・・・、yと変更しながら検証式を満たす制約の値の集合を得ることができるが、複雑な検証を繰り返すと計算量が膨大になる。
また、特許文献2に示すように待ち行列モデルを用いた性能シミュレーションの場合は、統計モデルを用いた効率のよい性能シミュレーションが可能であるが、システムが取りうる状態を網羅的に検査できるモデルではないので、性能シミュレーション結果がすべての可能性を含む値であることを保証するのが難しいという課題がある。
本発明の目的は、モデル検査において、モデル応答時間などの性能を検証するときに、検証式として特定の値の制約を与えずに、とりうる性能の値の集合を効率よく求められる性能シミュレーションとして利用可能な方法、プログラムおよび装置を提供することにある。
上記目的を達成するために、例えば以下の構成を採用する。
本願は上記目的を達成する手段を複数含んでいるが、その一例を挙げるならば、対象システムのモデル検査に基づく性能シミュレーションを行う性能モデル検査装置は、RAMにロードされたプログラムのCPUでの実行を行う性能モデル検査装置であって、入力装置、ネットワークおよび記録媒体から対象モデル、応答時間計算式及び処理完了条件式を取得し、前記対象モデルの特定処理に応答時間計算式を追加したシミュレーション用モデルに変換する手段を備えるモデル変換処理部と、前記モデル変換処理部で変換された前記シミュレーション用モデルと前記処理完了条件式を用いてモデル検査ツールを実行する手段を備えるモデル検査実行部と、前記シミュレーション用モデルのモデル検査実行時に、応答時間計算式を用いて、出力される応答時間情報の統計処理を行い、性能統計情報を表示装置やネットワークや記録媒体に出力する手段を備える性能情報統計処理部を備えている。
本発明によれば、モデル検査において、モデル応答時間などの性能を検証するときに、検証式として特定の値の制約を与えずに、とりうる性能の値の集合を効率よく求められる性能シミュレーションが実現できる。
性能モデル検査装置のハードウェアの全体構成図の例である。 性能モデル検査装置の機能全体構成図の例である。 性能モデル検査装置の一連の処理を説明するフローチャートの例である。 対象モデル変換処理部の処理を説明するフローチャートの例である。 対象モデル変換処理部の機能構成図の例である。 対象モデル変換処理によるモデルの変換前と後を示す例である。 表示装置における性能統計情報の表示の例である。 性能モデル検査装置の機能全体構成図の例である。 対象モデル変換処理部の処理を説明するフローチャートの例である。 対象モデル変換処理部の機能構成図の例である。 表示装置における性能統計情報の表示の例である。 出力する性能統計情報を用いてモデル検査を効率化する対象モデル変換処理部の機能構成図の例である。 モデル検査を効率化する対象モデル変換処理によるモデル変換後を示す例である。 モデル検査を効率化する対象モデル変換処理部の処理を説明するフローチャートの例である。 ストレージ情報処理装置に性能モデル検査プログラムが組み込まれたシステム全体の構成の例である。 ストレージ情報処理装置に性能モデル検査プログラムが組み込まれた管理機能の構成の例である。 ストレージ情報処理装置において性能シミュレーションを行う処理を説明するフローチャートの例である。
以下、実施例を、図面を用いて説明する。
図1は、本実施例における性能モデル検査装置11のハードウェア構成の一例を示すブロック図である。
図1に示すように性能モデル検査装置11は、たとえばパーソナルコンピュータやサーバや専用ハードウェアなどであり、コンピュータの主要な部分で演算処理および各部を制御する中心であるCPU1を備えている。このCPUは起動プログラムであるBIOSなどを記憶したROM2や、各種プログラムやデータ等を記憶する書き換え可能なRAM3がバス4で接続される。
さらに、バスには各種プログラムやデータ等を格納するHDD5、CDROM7などで配布されたプログラムやデータを読み取るCDROMドライブ6と、ネットワークとの通信を制御するNIC8と、各種操作指示を行うキーボードなどの入力装置9と、各種情報を表示するLCDなどの表示装置10が、直接・間接的に接続されている。
なお、各種プログラムやデータ等を格納するのはハードディスクドライブに限らずSSDなどの半導体記憶装置なども用いることができ、記憶媒体としてはCDROMに限らずDVDやその他の磁気、光学、半導体などを用いた媒体を用いることができる。また、NIC8を介してネットワークからプログラムやデータをダウンロードしてHDD5やRAM3に記憶しても良い。なお、プログラムやデータは、特定のOS上で動作するか、OSを必要としないか、特定のOSやアプリケーション群を構成するファイルの一部であるかは問わない。
CPU1はこのシステムの主記憶であるRAM3にロードされたプログラムに基づいて各種処理を実行する。
次に、性能モデル検査装置11のHDD5に格納されRAM3にロードされる各種のプログラムがCPU1において実行される機能で、本実施例の形態の性能モデル検査装置11が備える特長的な機能について説明する。
図2は、性能モデル検査装置11の機能構成の一例を示すブロック図である。図2に示す性能モデル検査装置11は、汎用的な情報処理装置を用いて実現できる。
図2に示す性能モデル検査装置11への入力として、シミュレーション対象モデル21と対象処理応答時間計算式22と対象処理完了条件式23がある。これらの入力はNIC8、入力装置9、CDROM7、又はHDD5などからRAM3にロードされるデータである。シミュレーション対象モデル21は、応答時間などの性能シミュレーションの対象となるプログラムで実現されるモデルであり、モデル検査ツール“SPIN”や“UPPAAL”に用いられるオートマトンを基盤にした形式のモデルで、時間に関する情報を含んでいるが、他のモデル検査ツールのモデルであっても良い。
対象処理応答時間計算式22は、シミュレーション対象モデル21を用いた性能シミュレーションで求めたい処理の応答時間を算出するための計算式であり、モデル検査ツール“SPIN”や“UPPAAL”に用いられるモデル内で利用可能な式である。
対象処理完了条件式23は、シミュレーション対象モデル21を用いた性能シミュレーションで求めたい処理の完了を示す論理式であり、モデル検査ツール“SPIN”や“UPPAAL”に用いられるモデルの検証式として利用可能な式である。
図2に示す性能モデル検査装置11の出力として、性能統計情報24がある。性能統計情報24は、シミュレーション対象モデル21と対象処理応答時間計算式22と対象処理完了条件式23を用いた性能シミュレーションの結果として出力される応答時間の最悪値、最良値、平均値、中央値、標準偏差、及び頻度分布などを含む統計情報であり、RAM3において生成された後、NIC8、表示装置10、又はHDD5に出力されるデータである。なお、応答時間の統計情報としてここに述べたもの以外を含んでもかまわない。
図2に示すように、性能モデル検査装置11はHDD5に格納されRAM3にロードされる性能モデル検査プログラムに従うことで、モデル検査に使用するモデルを用いて性能シミュレーションを可能にするモデルに変換する手段である対象モデル変換処理部31と、オートマトンなどの状態遷移に基づくモデル検査を実行する手段であるモデル検査実行部32と、モデル検査実行時に出力される性能情報の統計処理を行う手段である性能情報統計処理部35を備える。なお、性能モデル検査装置11の中では、当該処理の一時的なデータとして、対象モデル変換処理部31がシミュレーション用変換済モデル34を生成し、モデル検査実行部32が応答時間情報33を生成し、RAM3およびHDD5に一時的に格納されるが、性能モデル検査装置11の固定された構成要素ではない。また、ここでは各機能の処理部がCPU1で実行されるプログラムである例を示したが、ハードウェアとして実現されてもよい。
対象モデル変換処理部31は、入力されたシミュレーション対象モデル21と、開始時間と終了時間との差から応答時間を求める対象処理応答時間計算式22と、データが揃った、あるいは計算の終了などの対象処理完了条件式23から、シミュレーション対象モデル21に含まれる応答性能を求めたい処理を特定し、対象処理応答時間計算式22を追加することで、シミュレーション用変換済モデル34を生成する。後述の完了条件式解析部41がシミュレーション対象モデル21のプログラムを検索して対象処理応答時間計算式22の挿入場所を決め、同様に、後述のモデル内処理検索部43が対象処理完了条件式23の解析結果である対象処理判定条件42の挿入場所を決める。
ここで、シミュレーション対象モデル21やシミュレーション用変換済モデル34はモデル検査ツール“SPIN”や“UPPAAL”に用いられるモデルを用いるが、他のモデル検査ツールであっても良い。また、対象処理応答時間計算式22は他の方法で応答時間を求める式であっても良い。
SPINモデルの例として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の最大公約数を求める */
}
モデル検査実行部32は、入力されたシミュレーション用変換済(応答時間の計算文を追加した)モデル34と対象処理完了条件式23を用いて、モデル検査ツール“SPIN”や“UPPAAL”を実行することで、モデルパラメータを可変して、条件に合うものを抽出する。即ち、対象処理が完了する条件を満たす場合のモデルパラメータの全てについて応答時間を網羅した応答時間情報33を生成する。同様に他のモデル検査ツールを実行しても良い。
性能情報統計処理部35は、モデル検査実行部32の出力する応答時間情報33を集計し、最悪値、最良値、平均値、中央値、標準偏差、及び頻度分布などの算出の統計処理を行い、シミュレーション結果として性能統計情報24を生成して、出力する。
次に、性能モデル検査装置11の処理の手順を図3のフローチャートを参照して説明する。
まず、ステップS01において、性能シミュレーションを行うためにユーザが用意したシミュレーション対象モデル21と対象処理応答時間計算式22と対象処理完了条件式23を性能モデル検査装置11に入力すると、対象モデル変換処理部31が入力情報(対象処理応答時間計算式22又は対象処理完了条件式23)のエラーチェックを行う。次に、ステップS02に進み、入力された情報にエラーがあれば処理を終了し、エラーがなければステップS03に進む。ステップS03では、対象モデル変換処理部31が入力された情報を変換して、シミュレーション用変換済みモデル34を生成する。次に、ステップS04に進み、変換処理にエラー、例えば、対象処理応答時間計算式22又は対象処理完了条件式23のモデルへの挿入エラー、又は不適合のエラーがあれば終了し、エラーがなければステップS05に進む。対象モデル変換処理部31は、シミュレーション対象モデル21に依存しない、上記のエラーを判定するための一般的なルールを保持している。
ステップS05では、モデル検査実行部32がシミュレーション対象モデル21とシミュレーション用変換済モデル34を入力にモデル検査ツール“SPIN”や“UPPAAL”を起動する。モデル検査ツール実行中は応答時間情報33が出力される。ステップS06では、モデル検査エラー、例えば、対象モデルとモデル検査ツールとの不適合(メモリ不足、モデルのバクなど)がモデル検査ツールから出されれば終了し、エラーがなければステップS07に進む。ステップS07では、モデル検査が完了していなければステップS06にもどり、完了していればステップS08に進む。ステップS08では、性能情報統計処理部35が入力された応答時間情報33を集計して、最悪値(応答時間の最大値)、最良値(応答時間の最小値)、平均値、中央値(データを値の昇順/降順に並べたときに真ん中にあるデータの値)、標準偏差、及び頻度分布などの算出の統計処理を行い、シミュレーション結果として性能統計情報24を生成、出力し、一連の処理を終了する。この性能情報統計処理35では、種々のモデルパラメータに対する応答時間が処理対象であり、従って、ランダムなモデルパラメータに対する応答時間の統計処理が行われる。
図4のフローチャートを参照して、ステップS03の対象モデル変換処理の詳細について説明し、図5を参照して、ステップS03を実行する対象モデル変換処理部31の詳細について説明する。
図5に示すように、対象モデル変換処理部31には、対象処理完了条件式23を解析して応答時間の計算の対象となる処理の判定条件である対象処理判定条件42を生成する完了条件式解析部41と、シミュレーション対象モデル21の中の対象処理判定条件42に適合する部分を検索するモデル内処理検索部43と、シミュレーション対象モデル21の中に対象処理応答時間計算式22を追加してシミュレーション用変換済みモデル34を生成する性能計算処理追加部44とがある。
図4のステップS11では完了条件式解析部41が対象処理完了条件式23を解析、即ち、条件式の構文や論理的な関係などをチェックして対象処理判定条件42を生成する。 このとき完了条件解析エラー(構文や論理のエラー)が発生すればステップS12で終了し、エラーがなければ次に進む。次にステップS13では、モデル内処理検索部43がシミュレーション対象モデル21から対象処理判定条件42に適合する部分を検索し(対象モデルのプログラムの処理ステップを検索して、条件に合う処理ステップを抽出する)、ステップS14で対象処理が特定できないエラーがあれば終了し、エラーがなければ次へ進む。次に、ステップS15では、性能計算処理追加部44がシミュレーション対象モデル21内の対象処理判定条件42に適合する部分に対象処理応答時間計算式22を追加し、即ち、対象処理が完了する条件を満たしている処理ステップの後に応答時間計算式を挿入して、応答時間を計算し網羅的に出力するようにした、シミュレーション用変換済みモデル34を生成する。
図6は対象モデル変換処理による変更の一例を示す図である。シミュレーション対象モデル21内の変換前モデル60の処理A内容62が対象処理完了条件式23において適合する処理内容であり、シミュレーション用変換済モデル34内の変換後モデル61の処理A開始前時刻取得部63と処理A応答時間計算部64が対象処理応答時間計算式22として追加された部分の一例である。
図7は、変換済みモデル34を検査実行部32で実行した後、応答時間情報33を統計処理し、ステップS08において出力する性能統計情報24を表示装置10における表示の一例を示す図である。表示装置10においてシミュレーション結果表示部51には性能統計情報24に含まれる応答時間の最悪値、最良値、平均値、中央値、標準偏差、及び頻度分布などの統計算出結果が表示され、対象モデル表示部52にはシミュレーション対象モデル21に関する情報が表示され、対象処理表示部53には対象処理完了条件式23および対象処理応答時間計算式22の内容が表示される。表示内容は必ずしもここに示したものである必要はなく、各表示部に表示する情報を一体のものとして表示しても良い。
このように、モデル検査において応答時間などの性能を検証するときに、検証式として特定の値の制約を与えずに、対象処理完了条件式23から生成された対象処理判定条件42に基づいて、とりうる性能の値の集合を効率よく求められる性能シミュレーションが実現できる効果がある。
本実施例では、応答時間ではなくスループットについて性能シミュレーションを行う性能モデル検査装置の例を説明する。
実施例2における性能モデル検査プログラムを実行する性能モデル検査装置11のハードウェア構成の一例を示すブロック図は、図1に示す実施例1におけるハードウェア構成のブロック図と同様である。以後、実施例1と同一の機能を有する部分および処理手順のフローチャートについては説明を省略する。
図8はスループットについて性能シミュレーションを行う性能モデル検査装置11の一例を示すブロック図である。実施例1において応答時間の性能シミュレーションを行う図2との違いは、対象処理のスループットを求めるための計算式である対象処理スループット計算式25が入力される点と、モデル検査実行部32で出力されるのがスループット情報36である点であり、他の構成要素は同等である。
次に、性能モデル検査装置11の処理の手順は実施例1の図3のフローチャートと同様である。
図9のフローチャートは対象モデル変換処理31の詳細を示すものであり、実施例1の図4と同様であるが、ステップS16において応答時間計算処理ではなくスループットの計算処理として対象処理スループット計算式(応答時間の逆数に比例する量を求める式)25を追加するものである。また、図10は実施例1の図5と同様であるが、性能計算処理追加部44において対象処理スループット計算式25を追加するものである。
図11はスループットについて性能シミュレーションを行う際にステップS08において出力する性能統計情報24を表示装置10における表示の一例を示す図である。実施例1の図7において応答時間ではなくスループットを表示するようにしたものである。
このように、モデル検査においてスループットなどの性能を検証するときに、検証式として特定の値の制約を与えずに、対象処理完了条件式23から生成された対象処理判定条件42に基づいて、とりうる性能の値の集合を効率よく求められる性能シミュレーションが実現できる効果がある。ここでは、性能としてスループットのみを一例にあげたが、応答時間やスループットその他の複数の性能の値も同時に効率よく求めることが可能である。
本実施例では、性能モデル検査装置11の出力した性能統計情報24を用いて、さらに入力されたシミュレーション対象モデル21へ、最悪応答時間を過ぎても対象処理が完了していない場合は、対象処理が完了しない条件の組み合わせになっていると判断する処理を追加することで、モデル検査を効率化する性能モデル検査装置の例を説明する。
図12は実施例1の図5の対象モデル変換処理部31において、すでに性能シミュレーションを行って判明している性能統計情報24を用いてモデル検査を効率化するようにしたものである。性能統計情報24に含まれるシミュレーション対象モデル21の既に取得した最悪応答時間から、最悪応答時間を過ぎても対象処理が完了していない場合は、対象処理が完了しない条件の組み合わせになっていると判断する処理を追加する非完了条件処理追加部70が、対象モデル変換処理部31に含まれる。その他の構成は図2に示したものと同様である。
次に、対象モデル変換処理31の詳細の例を図14のフローチャートを用いて示す。実施例1の図4のフローチャートと同様のためステップS11からステップS15までの説明は省略する。引き続きステップS17では、非完了条件処理追加部70が、最悪応答時間を過ぎても対象処理が完了していない場合、対象処理が完了しない条件の組み合わせになっていると判断する処理をシミュレーション対象モデル21に追加し、シミュレーション用変換済モデル34を出力する。
図13は対象モデル変換処理による変更の一例を示す図である。非完了条件変換後モデル71は、実施例1の図6の変換後モデル61に、処理A非完了条件判定部72を加えることで、処理A内容62に対象処理の最悪応答時間を過ぎても対象処理が完了していない場合は、処理が完了しないケースであると判断して、状態空間の検索を打ち切ることができる。
このように、性能モデル検査において、すでに求められている性能統計情報をモデルに追加することで、モデル検査の効率化ができる効果がある。
本実施例では、情報処理装置において、組み込まれた性能モデル検査プログラムを用いて、ユーザが処理指示を出す際に、実際に処理を実行しなくても、処理の性能がどの程度かをシミュレーションすることができる例を説明する。本実施例では、実施例1〜3の性能モデルを、入出力処理(ディスクや端末などとのデータの授受)を仮想化したものと組み合わせてシミュレーションを行うので、実機(計算機)を用いてモデル対象のプログラムを実行する必要がない。
図15は本実施例のシステム全体の構成を示す図の一例である。RAID(Redundant Arrays of Inexpensive Disks)機能を備えたストレージ情報処理装置110とストレージ情報処理装置に情報を格納するサーバ107とがストレージネットワーク108で接続され、管理端末110がLAN109で接続されている。ストレージ情報処理装置100は、RAID機能を実現するRAID機能部101と、ストレージネットワーク108経由の通信を行うSAN I/F102と、HDD104を接続するDISK I/F103と、データが実際に格納されるHDD104と、ストレージ情報処理装置100の管理を行う管理機能部105と、LAN109経由の通信を行うLAN I/F106から構成される。
図16は管理機能部105の詳細な構成の一例を示す図である。管理要求処理部111は管理端末110からのシミュレーションの要求を受け付ける処理を行い、シミュレーション処理部112は管理端末からのシミュレーションの要求に応じて性能シミュレーションを行う。また、管理機能実行部115は管理端末からの要求に応じて入出力の仮想化を行う。シミュレーション処理部112は実施例1および実施例2で示したモデル検査による性能シミュレーションを行う性能モデル検査装置11の機能を実現する性能モデル検査部113と、性能モデル検査部113への入力であるモデルや条件式を生成するモデル生成部114とで構成される。性能モデル検査部113は一例として、実施例1および実施例2と同様なプログラムとしてCPUを用いて実行されるものとする。また、モデル生成部114は実行する管理機能に対応する性能シミュレーション用モデルや性能計算式を備えたモデルライブラリ116と管理機能の実行に用いられる管理情報117を参照してモデルや条件式を生成する。即ち、部品化されたモデルライブラリ116や管理情報117を用いて新たなモデルや条件式を生成する。
次に、ユーザの指示に応じて実際の処理の実行がどの程度の応答時間になるかを性能シミュレーションする処理の手順の一例を図17のフローチャートを用いて示す。性能シミュレーションの一例として、ここではストレージ情報処理装置100にHDD104を増設する処理を示す。
まず、ステップS21において、管理端末からのHDD増設処理の性能シミュレーション要求を管理要求処理部111が受け付ける。もしシミュレーションの要求内容にエラー(例えば、シミュレーション不可な内容)があればステップS22において終了し、エラーがなければ次へ進む。ステップS23において、シミュレーション処理部112のモデル生成部114がHDD増設処理の性能シミュレーションに対応するモデルおよび応答時間計算式をモデルライブラリ116から選択し、HDDの接続設定などの情報を管理情報117から取得し、性能シミュレーションに必要なモデルや条件式などを生成する。生成するモデルや条件式などの詳細は、実施例1と同様で説明の詳細は省略するが、図2のシミュレーション対象モデル21、対象処理応答時間計算式22、対象処理完了条件式23である。ステップS24において、もしモデルの生成エラー(例えば、上記の部品を用いても要求された性能シミュレーションのモデルを作れない)が発生すれば終了し、なければ次へ進む。
次に、ステップS25において実施例1と同様のモデル検査による性能シミュレーションをステップS23において生成したシミュレーション対象モデル21、対象処理応答時間計算式22、対象処理完了条件式23を用いて行う。もしステップS25においてエラー発生していれば、ステップS26において終了し、エラーがなければ次へ進む。次にステップS27において性能モデル検査部113の出力するHDD増設処理の応答時間シミュレーション結果である性能統計情報24をLAN I/F106およびLAN109を経由して管理端末110に送信する。
このように、情報処理装置において組み込まれた性能モデル検査プログラムを用いることで、実際に処理を実行しなくても、事前にユーザの指示する機能の実行の応答時間が、性能シミュレーションでわかるので、ユーザが機能の実行をいつどのように行うかなどの判断を支援することができる効果がある。ここでは、性能として応答時間をあげたが、スループットその他の複数の性能の値も同時に効率よく求めることが可能である。また、ここでは情報処理装置の内部にシミュレーション処理部をプログラムとして配置する構成の一例を示したが、情報処理装置の外部で同様の処理を行う装置を配置する構成でもかまわない。
1:CPU、2:ROM、3:RAM、4:バス、5:HDD、6:CDROMドライブ、7:CDROM、8:NIC、9:入力装置、10:表示装置、11:性能モデル検査装置、21:シミュレーション対象モデル、22:対象処理応答時間計算式、23:対象処理完了条件式、24:性能統計情報、25:対象処理スループット計算式、31:対象モデル変換処理部、32:モデル検査実行部、33:応答時間情報、34:シミュレーション用変換済モデル、35:性能情報統計処理部、36:スループット情報、41:完了条件式解析部、42:対象処理判定条件、43:モデル内処理検索部、44:性能計算処理追加部、51:シミュレーション結果表示部、52:対象モデル表示部、53:対象処理表示部、54:スループットシミュレーション結果表示部、55:対象処理表示部、60 変換前モデル、61:変換後モデル、62:処理A内容、63:処理A開始時刻取得部、64:処理A応答時間計算部、70:非完了条件処理追加部、71:非完了条件変換後モデル、72:処理A非完了条件判定部、100:ストレージ情報処理装置、101:RAID機能部、102:SAN I/F、103:DISK I/F、104:HDD、105:管理機能部、106:LAN I/F、107:サーバ、108:ストレージネットワーク、109:LAN、110:管理端末、111:管理要求処理部、112:シミュレーション処理部、113:性能モデル検査部、114:モデル生成部、115:管理機能実行部、116:モデルライブラリ、117:管理情報

Claims (13)

  1. 対象システムのモデル検査に基づく性能シミュレーションを行う性能モデル検査装置は、RAMにロードされたプログラムのCPUでの実行を行う性能モデル検査装置であって、
    入力装置およびネットワークおよび記録媒体から対象モデルと応答時間計算式と処理完了条件式を取得し、前記対象モデルの特定処理に応答時間計算式を追加したシミュレーション用モデルに変換する手段を備えるモデル変換処理部と、
    前記モデル変換処理部で変換された前記シミュレーション用モデルと前記処理完了条件式を用いてモデル検査ツールを実行する手段を備えるモデル検査実行部と、
    前記シミュレーション用モデルのモデル検査実行時に出力される応答時間情報の統計処理を行うことにより得られた性能統計情報を表示装置、ネットワーク及び記録媒体のいずれかに出力する手段を備える性能情報統計処理部、
    を備えていることを特徴とする性能モデル検査装置。
  2. 前記モデル変換処理部は、
    前記対象モデルの特定処理に前記応答時間計算式を追加する際に、前記処理完了条件式を元に対象モデル内の特定処理を検索して、前記応答時間計算式を追加する手段を備えることを特徴とする請求項1記載の性能モデル検査装置。
  3. 前記性能情報統計処理部は、
    モデル検査実行時に出力される前記応答時間情報の統計処理として、応答時間の最悪値、最良値、平均値、中央値、標準偏差、頻度分布算出する手段を備えることを特徴とする請求項1記載の性能モデル検査装置。
  4. 性能シミュレーションとして応答時間に加えスループットを含む性能に関する値を扱うことを特徴とする請求項1から請求項3のいずれかに記載の性能モデル検査装置。
  5. 前記性能モデル検査装置は、さらに、出力する性能統計情報を用いてモデル検査の継続の可否を判断できる手段を備えたことを特徴とする請求項3記載の性能モデル検査装置。
  6. 情報処理装置が、対象システムのモデル検査に基づく性能シミュレーションを行う性能モデル検査方法において、
    前記情報処理装置が、入力装置およびネットワークおよび記録媒体から対象モデルと応答時間計算式と処理完了条件式を取得し、
    前記対象モデルの特定処理に応答時間計算式を追加したシミュレーション用モデルに変換し、
    前記変換されたシミュレーション用モデルと前記処理完了条件式を用いてモデル検査ツールを実行し、
    前記シミュレーション用モデルのモデル検査実行時に出力される応答時間情報の統計処理を行うことにより得られた性能統計情報を表示装置、ネットワーク及び記録媒体のいずれかに出力する性能情報統計処理を行うことを特徴とする性能モデル検査方法。
  7. 情報処理装置が、性能シミュレーションとして応答時間に加えスループットを含む性能に関する値を扱うことを特徴とする請求項6に記載の性能モデル検査方法。
  8. 情報処理装置が、さらに、出力した前記性能統計情報に含まれる最悪応答時間を過ぎても対象処理が完了していない場合には状態空間の検索を打ち切ることにより、前記モデル検査を効率化することを特徴とする請求項6に記載の性能モデル検査方法。
  9. コンピュータに、請求項6に記載の性能モデル検査方法を実行させるための性能モデル検査プログラム。
  10. 請求項9に記載の性能モデル検査プログラムを格納した、コンピュータで読み取り可能な記憶媒体。
  11. 請求項1から請求項5のいずれかに記載の性能モデル検査装置を組み込んで、実際の処理をシミュレーションすることによって前記処理の応答時間を事前にユーザに提示する機能を備えていることを特徴とする情報処理装置。
  12. 情報処理装置が、請求項9に記載の性能モデル検査プログラムにより性能モデル検査部として機能するCPUを有し、実際の処理をシミュレーションすることによって前記処理の応答時間を事前にユーザに提示する機能を備えていることを特徴とする情報処理装置。
  13. 請求項9に記載の性能モデル検査プログラムにより性能モデル検査部として機能するCPUを有したコンピュータに、実際の処理をシミュレーションすることによって前記処理の応答時間を事前にユーザに提示させることを特徴とする情報処理装置の情報処理プログラム。
JP2013556125A 2012-01-31 2012-01-31 性能モデル検査装置、方法およびプログラム Expired - Fee Related JP5875607B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/052152 WO2013114570A1 (ja) 2012-01-31 2012-01-31 性能モデル検査装置、方法およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2013114570A1 JPWO2013114570A1 (ja) 2015-05-11
JP5875607B2 true JP5875607B2 (ja) 2016-03-02

Family

ID=48904649

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013556125A Expired - Fee Related JP5875607B2 (ja) 2012-01-31 2012-01-31 性能モデル検査装置、方法およびプログラム

Country Status (2)

Country Link
JP (1) JP5875607B2 (ja)
WO (1) WO2013114570A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021038636A1 (ja) * 2019-08-23 2021-03-04 三菱電機株式会社 検証装置、検証方法、及び、検証プログラム

Also Published As

Publication number Publication date
JPWO2013114570A1 (ja) 2015-05-11
WO2013114570A1 (ja) 2013-08-08

Similar Documents

Publication Publication Date Title
US8181131B2 (en) Enhanced analysis of array-based netlists via reparameterization
US20170235661A1 (en) Integration of Software Systems via Incremental Verification
JP2016119075A (ja) セーフティクリティカルソフトウェアのための統合された自動テストケース生成
US9002694B2 (en) Verification of design derived from power intent
US9858371B1 (en) Method and system for generating post-silicon validation tests
JP5450840B2 (ja) プログラムの実行性能評価のためのテストデータ生成方法
KR20080055913A (ko) 집적회로 디자인 시뮬레이션을 위한 어써션의 개발 방법 및시스템과 장치
US9529963B1 (en) Method and system for partitioning a verification testbench
JP5875607B2 (ja) 性能モデル検査装置、方法およびプログラム
US10839132B2 (en) Automatic cover point generation based on register transfer level analysis
US20080005619A1 (en) Validation of software execution paths
US9372772B1 (en) Co-verification—of hardware and software, a unified approach in verification
US20120291019A1 (en) Program verification apparatus based on model verifying and storage medium
CN114721922B (zh) 一种服务器集群的性能评估方法、计算设备及存储介质
US8122403B2 (en) Trace containment detection of combinational designs via constraint-based uncorrelated equivalence checking
US9823305B1 (en) Method and system for generating post-silicon validation tests
US10936776B1 (en) Analyzing waveform data generated for simulated circuit design
US9594860B2 (en) Analog mixed signal model equivalence checking
JP5056493B2 (ja) 仮想ソフトウェア生成装置
US7454680B2 (en) Method, system and computer program product for improving efficiency in generating high-level coverage data for a circuit-testing scheme
JP2006277083A (ja) シミュレーション装置、およびシミュレーション方法、並びにコンピュータ・プログラム
WO2014118979A1 (ja) 性能モデル検査装置、および、性能モデル検査方法
Oddos et al. Mygen: Automata-based on-line test generator for assertion-based verification
US9183331B1 (en) Formalizing IP driver interface
JP2014071775A (ja) システム開発支援装置およびシステム開発支援方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150526

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150715

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160119

R150 Certificate of patent or registration of utility model

Ref document number: 5875607

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees