JP2011044131A - 設計検証プログラム、設計検証方法および設計検証装置 - Google Patents
設計検証プログラム、設計検証方法および設計検証装置 Download PDFInfo
- Publication number
- JP2011044131A JP2011044131A JP2010109257A JP2010109257A JP2011044131A JP 2011044131 A JP2011044131 A JP 2011044131A JP 2010109257 A JP2010109257 A JP 2010109257A JP 2010109257 A JP2010109257 A JP 2010109257A JP 2011044131 A JP2011044131 A JP 2011044131A
- Authority
- JP
- Japan
- Prior art keywords
- verification
- scenario
- sequence chart
- message sequence
- message
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/08—Intellectual property [IP] blocks or IP cores
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
【解決手段】生成部2は、設計対象の設計仕様が備える複数の処理手順(処理のシナリオ)が備える処理単位それぞれに設計仕様の検証対象となる部位(検証対象部位)を識別する識別情報(ラベル)を関連付けた、検証用情報を生成する。処理優先度付与部3は、識別情報7の入力に応じて、検証用情報に処理優先度を付与する。出力部4は、処理優先度が付与された検証用情報6a、6bを識別する情報を、処理優先度を明示して出力する。
【選択図】図1
Description
設計開発時には、開発対象に対する動作検証を行い、開発対象の動作を確認しつつ、設計を進めることが行われている。
一方で、納期短縮等による設計期間の短縮化や、工数が当初の見積もりより大きくなる等の理由により、設計期間が足りなくなることはしばしばある。
生成手順では、設計対象の設計仕様が備える複数の処理手順が備える処理単位それぞれに設計仕様の検証対象部位を識別する識別情報を関連付けた検証用情報を生成する。
出力手順では、処理優先度が付与された検証用情報を識別する情報を、処理優先度を明示して出力する。
まず、第1の実施の形態の設計検証装置について説明し、その後、第2の実施の形態以降、設計検証装置をより具体的に説明する。
図1および図2は、第1の実施の形態の設計検証装置を説明する図である。
実施の形態の設計検証装置1は、生成部2と、処理優先度付与部3と、出力部4とを有している。
この設計対象の設計仕様は、実装が守るべき約束事を記したものであり、少なくとも1つの機能により実現される。
処理手順50aは、機能5aの基本動作についての処理手順であり、処理手順50bは、基本動作に取って替わる代替動作についての処理手順である。
この構造体6を用いることで、設計仕様5をコンパクトに表示することができる。
構造体6は、第1のシーケンス、第2のシーケンス、および、第3のシーケンスと、これら各シーケンス間の関係を示すブランチ(branch)およびマージ(merge)を有している。
処理手順50aは、第1のシーケンス、第2のシーケンスの順番に処理が行われることを示している。
従って、構造体6は、これら2つの処理手順が第1のシーケンスまで同じ動作を有するが、それ以降の動作は異なっていることを示す。
ガード条件は、各シーケンスの終了後、ガード条件が成立すればエッジ先のシーケンスに遷移することを示している。
この結果、第1のシーケンスには、識別情報「機能#1:基本動作」、「機能#1:代替動作」が関連付けられる。第2のシーケンスには、識別情報「機能#1:基本動作」が関連付けられる。第3のシーケンスには、識別情報「機能#1:代替動作」が関連付けられる。
図2では、識別情報「基本動作」を備える第1のシーケンスおよび第2のシーケンスの集合を1つの検証用情報とする。また、識別情報「代替動作」を備える第1のシーケンスおよび第3のシーケンスの集合を1つの検証用情報とする。
処理優先度付与部3は、識別情報7の入力に応じて、検証用情報に処理優先度を付与する。
図1に示すように、基本動作の処理優先度が代替動作の処理優先度より高い場合、検証用情報6aに、検証用情報6bより高い優先度「1」を付与する。また、検証用情報6bに優先度「2」を付与する。
図1では、優先度「1」に検証用情報6aを示す検証用情報#1を関連付けたレコードと、優先度「2」に検証用情報6bを示す検証用情報#2を関連付けたレコードとを備える出力結果8を出力する。
<第2の実施の形態>
図3は、実施の形態のシステムを示す図である。
設計検証装置10は、テスト対象装置300が設計仕様に従って動作するか判断するため、設計仕様が備えるシナリオ毎に、これらシナリオを検証するための検証用シナリオを生成する。
さらに、設計検証装置10は、優先順位が付与された検証用シナリオを利用して、テスト対象装置300がこの検証用シナリオに従って動作するか否かを判断するため、信号インタフェース200を介しテスト対象装置300と通信する。
信号インタフェース200は、設計検証装置10とテスト対象装置300とを接続するための装置を表す。信号インタフェース200は、設計検証装置10により通信される信号を設計検証装置10による利用に適した信号に変換する。
テスト対象装置300は、設計検証装置10によるテストおよび検証対象となるハードウェアコンポーネントまたはシステムやソフトウェアモジュールを表す。
図4は、実施の形態のLSIの設計仕様の構成を示す図である。
前述したように、設計仕様とは、実装が守るべき約束事を記したものであり、複数の機能により実現される。
各機能ブロック21、22、23には、それぞれ1つの機能が対応付けられている。対応付けられた各機能は、例えば、ソフトウェアにより呼び出されるハードウェアで実現する機能であり、または、ハードウェアに依存するソフトウェアで実現する機能である。
メッセージ・シーケンス・チャートは、シナリオが備えるサブ機能群である。具体的には、メッセージ・シーケンス・チャートは、機能の実現に関わっている全てのオブジェクト間のやり取りを明確にしたものである。このオブジェクトは、LSI20が備える機能や、このLSI20を含むシステムに干渉する外部環境を含む。
次に、LSI20の設計仕様のデータ構造を説明する。
図5は、LSIの設計仕様のデータ構造の一例を示す図である。
前述したように、機能ブロック21に対応付けられている機能は、シナリオブロック21aに対応付けられているシナリオA1とシナリオブロック21bに対応付けられているシナリオA2とを有している。
また、各シナリオA1、A2それぞれには、実行条件として、事前条件、事後条件、不変条件(の1つまたは複数)が定義されている場合がある。
事後条件とは、一連の操作の実行後に満たすべき条件である。
図5では、シナリオA1は、基本動作についてのシナリオであり、事前条件と、事後条件と、不変条件とを有している。
MSCブロック211a、212aに対応付けられているメッセージ・シーケンス・チャートは、メッセージ・シーケンス・チャートを識別するための名前(識別名)を有している。MSCブロック211aに対応付けられているメッセージ・シーケンス・チャートの識別名は、「MSC1の動作」であり、MSCブロック212aに対応付けられているメッセージ・シーケンス・チャートの識別名は、「MSC2の動作」である。
メッセージ・シーケンス・チャート「MSC1の動作」は、事前条件と、不変条件と、事後条件とを有している。
なお、シナリオブロック21bも少なくとも1つのMSCブロックを有しているが、図5ではその図示を省略している。
さらに、LSI20の設計仕様は、互いに埋め込まれた複数の有向グラフと複数のメッセージ・シーケンス・チャートによって表されてもよい。
本実施の形態では、LSI20の設計仕様は、有向グラフ30によって、階層的に形成されている。
前述したように、有向グラフ30は、複数のメッセージ・シーケンス・チャートと、これらメッセージ・シーケンス・チャート間の関係を示すブランチおよびマージを有している。この関係は、メッセージ・シーケンス・チャートを1以上のシーケンスに順序付けするものである。
図6に示すように、有向グラフ30は、各自がメッセージ・シーケンス・チャート32、メッセージ・シーケンス・チャート33およびhメッセージ・シーケンス・チャート34によって表される独立したメッセージ・シーケンス・チャートによって規定される3つの機能を有している。
初期状態ブロック31は、仮想的な状態であり、エントリポイントを有向グラフ30に提供する。具体的には、どのメッセージ・シーケンス・チャートが最初に「起動」されるかを指定する。
1つのシナリオは、初期状態ブロック31、メッセージ・シーケンス・チャート32およびメッセージ・シーケンス・チャート33を介し進行するパスに関する。
従って、有向グラフ30は、これら2つのシナリオがメッセージ・シーケンス・チャート32まで同じ動作を有するが、メッセージ・シーケンス・チャート32からの動作は異なっていることを示す。
ガード条件は、メッセージ・シーケンス・チャートに記述されたメッセージのシーケンスの終了後、ガード条件が成立すればエッジ先のメッセージ・シーケンス・チャート、または、その階層内のメッセージ・シーケンス・チャートへ遷移する。
ここで、有向グラフ30が有する各メッセージ・シーケンス・チャートは、同一のオブジェクト群を利用してもよい。さらに、あるメッセージ・シーケンス・チャートによって規定される各メッセージが、次のメッセージ・シーケンス・チャートがパスに沿って実行可能となる前に実行される必要があるということを示すルールが、有向グラフ30に関連して設けられていてもよい。
<メッセージ・シーケンス・チャート>
図7は、メッセージ・シーケンス・チャートの構成を説明する図である。
メッセージ・シーケンス・チャートは、LSIが備えるハードウェアブロック、または、システムと干渉する外部環境であるオブジェクトを有している。
これらのオブジェクトが生成された後、データ・イベント・メッセージはオブジェクト間で通信されるものとして示される。
例えば、ユーザにより、1つのオブジェクトが選択され、その後に図示しないポインティングツールを用いて第2のオブジェクトが選択される。
各データ・イベント・メッセージは、送信オブジェクトと受信オブジェクトを関連付けている。オブジェクトライン44、45、46とデータ・イベント・メッセージm1〜m4とが交差する位置は、イベントと呼ばれる。
さらに、データ・イベント・メッセージm1のオブジェクトライン44との交点は送信イベントを生成し、データ・イベント・メッセージm1とオブジェクトライン45との交点は受信イベントを生成する。
第1のルール:任意のデータ・イベント・メッセージmに対して、送信イベント(s(m))は、対応する受信イベント(r(m))の前に発生する。
第2のルール:オブジェクトライン上のイベントは、上から下に順序付けされる。
これら2つのルールは、メッセージ・シーケンス・チャートがオブジェクト間で送受信されるデータ・イベント・メッセージの順序を記述することを示している。
ハードウェア41の時間軸ではデータ・イベント・メッセージm1とデータ・イベント・メッセージm2とが、この順番に送信される。その後、データ・イベント・メッセージm4が受信される。
ハードウェア43の時間軸ではデータ・イベント・メッセージm2が受信されてから、データ・イベント・メッセージm3とデータ・イベント・メッセージm4とを、この順番に送信する。
例えば、4つのオブジェクトを含むが、2つのデータ・イベント・メッセージしか含まないメッセージ・シーケンス・チャートを考える。
メッセージ・シーケンス・チャート40aには、複数のオブジェクトとして、ハードウェア41、42、43が設けられている。
同時性制約およびタイムアウト制約については、イベントを包囲するボックスが描画されている。
ボックス47は、データ・イベント・メッセージm5とデータ・イベント・メッセージm6に関する送信イベントをグループ化している。
実行がタイムアウト制約に直面すると、示されたタイムアウト期間が経過するまで実行が停止される。時限実行モデルでは、タイムアウト期間が経過して始めて実行が継続する。
同期エッジは、データ・イベント・メッセージの順序を特定するために用いられる。同期エッジの表示は、名前「synch」が同期エッジに利用可能であるという点を除いて、データ・イベント・メッセージと同様に描かれている。
<設計検証装置>
図9は、設計検証装置のハードウェア構成例を示す図である。
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。
設計検証装置10は、検証用シナリオ生成部11と、検証用シナリオ格納部12と、優先順位付与部13と、出力部14とを有している。
検証用シナリオは、LSI20の設計仕様の各シナリオが備えるメッセージ・シーケンス・チャートそれぞれに設計仕様のラベル(検証対象部位を識別する識別情報)を関連付けた情報である。なお、検証対象部位としては、例えば、機能、シナリオ、メッセージ・シーケンス・チャート等が挙げられる。
また、検証用シナリオ生成部11は、検証用シナリオを生成する際に作成するデータを一時記憶する機能も有している。
優先順位付与部13は、ユーザにより入力されるパターンを参照し、検証用シナリオに優先順位(処理優先度)を付与する。
処理優先度情報を有するシナリオの種類のパターンの一例としては、例外動作より基本動作を優先するパターン(基本動作>例外動作)等が挙げられる。また、処理優先度情報を有するメッセージ・シーケンス・チャート名のパターンの一例としては、問い合わせより認証成功を優先するパターン(認証成功>問い合わせ)が挙げられる。さらに、認証成功より認証失敗を優先するパターン(認証失敗>認証成功>問い合わせ)等が挙げられる。
また、出力部14は、優先順位を付与した検証用シナリオのシナリオ名を、予め用意されたフォーマットに従って作成したリスト(優先順位リスト)を出力する。
また、図示していないが、設計検証装置10は、他にもメッセージ・シーケンス・チャートを生成するツールや、設計の実現形態の動作を検証するため、メッセージ・シーケンス・チャートに基づくステートマシン(State Machine)を生成するためのツールを有していてもよい。
図11は、設計検証装置の全体処理を示すフローチャートである。
まず、検証用シナリオ生成部11が、ユーザにより入力されたLSI20の設計仕様に基づいて、検証用シナリオ生成処理を行って検証用シナリオを生成する(ステップS1)。生成した検証用シナリオは、検証用シナリオ格納部12に格納する。
そして、出力部14が、優先順位を付与した検証用シナリオのシナリオ名を、優先順位リストとして出力する(ステップS4)。
なお、検証用シナリオ生成処理を予め行って生成した検証用シナリオを検証用シナリオ格納部12に格納しておいて、ユーザによるパターンの入力を待って優先順位付与処理以降を行うようにしてもよい。また、ユーザによるパターンの入力時に、検証用シナリオ生成処理を開始するようにしてもよい。
図12および図13は、検証用シナリオ生成処理を示すフローチャートである。
まず、LSI20の設計仕様にラベルを付与する(ステップS11)。この処理については、後に詳述する。
次に、選択したメッセージ・シーケンス・チャートを有限ステートマシン(FSM)に変換する(ステップS14)。これにより、一連のメッセージ・シーケンス・チャートを組み合わせたデータ・イベント・メッセージのやり取りを有限ステートマシンで表現する。この処理については、後に詳述する。
ステップS14およびステップS15の処理により、有限ステートマシンの各ステートにラベルが付与される。各ステートにラベルが付与された有限ステートマシンは、検証用シナリオ生成部11が一時記憶する。
未処理のメッセージ・シーケンス・チャートが存在する場合(ステップS16のYes)、ステップS13に移行して未処理のメッセージ・シーケンス・チャートを選択し、選択したメッセージ・シーケンス・チャートについて、ステップS14以降の処理を引き続き行う。
未処理のメッセージ・シーケンス・チャートが存在する場合(ステップS19のYes)、ステップS17に移行し、未処理のメッセージ・シーケンス・チャートを選択する。そして、選択したメッセージ・シーケンス・チャートについてステップS18以降の処理を引き続き行う。
次に、ステップS15にてラベルが付与された有限ステートマシンから、選択したシナリオと同じラベルを有する有限ステートマシンを抽出する(ステップS22)。
未処理のシナリオが存在する場合(ステップS25のYes)、ステップS21に移行し、未処理のシナリオを選択し、選択したシナリオについてステップS22以降の処理を引き続き行う。
以上で、検証用シナリオ生成処理の説明を終了する。
次に、ステップS11のラベルの付与の処理(ラベル付与処理)を詳しく説明する。
まず、LSI20の設計仕様を参照し、機能を1つ選択する(ステップS31)。
次に、選択した機能からシナリオを1つ選択する(ステップS32)。
次に、選択したメッセージ・シーケンス・チャートに、ステップS31にて選択した機能名(現在選択されている機能名)およびステップS32にて選択したシナリオ名(現在選択されているシナリオ名)をラベルとして付与する(ステップS34)。また、既にラベルが付与されている場合は、ラベルを追加する。
次に、当該シナリオ内に未処理のメッセージ・シーケンス・チャートが存在するか否かを判断する(ステップS35)。
未処理の機能が存在する場合(ステップS37のYes)、ステップS31に移行し、未処理の機能を選択し、選択した機能についてステップS32以降の処理を引き続き行う。
以上で、ラベル付与処理の説明を終了する。
次に、図11のステップS2に示す優先順位付与処理を説明する。
まず、パラメータi=1にセットする(ステップS41)。
次に、入力されたパターンの中から、優先順位の最も高い項目を選択する(ステップS42)。例えば、入力されたパターンが、(基本動作>例外動作)である場合は、基本動作を選択する。
次に、取得した全ての検証用シナリオの優先順位をiとする(ステップS44)。
次に、優先順位の項目が残っているか否かを判断する(ステップS46)。
残っている場合(ステップS46のYes)、ステップS42に移行し、未処理の項目のうち最も優先順位の高い項目を選択し、ステップS43以降の処理を引き続き行う。
以上で、優先順位付与処理の説明を終了する。
<具体例>
次に、ラベル付与処理の具体例を説明する。
図16に示すLSI20の設計仕様は、ATM(Automatic Teller Machine)取引に関する機能を表している。
具体的には、機能ブロック51にはATM取引開始機能が設定されている。
第1のシナリオは、機能ブロック51が有する機能、シナリオブロック51aに対応付けられているシナリオ、シナリオブロック51aに対応付けられているシナリオを実現するための検証用シナリオを開始、進行するパスに関する。
この第1のシナリオは、将来的なユーザによって提供されるPINを受け付けるATMと関連付けされている。
この第2のシナリオは、将来的なユーザによって提供されるPINを拒否するATMと関連付けされている。
図17は、メッセージ・シーケンス・チャートの具体例を示す図である。
図17(a)に示すメッセージ・シーケンス・チャート40bは、MSCブロック511aに対応付けられているメッセージ・シーケンス・チャートの識別名「問い合わせ」に関するメッセージ・シーケンス・チャート(以下、単にメッセージ・シーケンス・チャート「問い合わせ」と言う)である。
各オブジェクトはまた、ユーザインタフェースライン44a、ATMライン45aおよびデータベースライン46aを含むオブジェクトラインを含む。
まず、ATM42aはカード挿入依頼メッセージ(Insert_Card)をユーザインタフェース41aに送信する(ステップS51)。
カード挿入メッセージの送信後、ユーザインタフェース41aは、入力されたパスワード(PIN)をATM42aに送信する(ステップS53)。
図17(b)に示すメッセージ・シーケンス・チャート40cは、MSCブロック512aに対応付けられているメッセージ・シーケンス・チャートの識別名「認証成功」に関するメッセージ・シーケンス・チャート(以下、単にメッセージ・シーケンス・チャート「認証成功」と言う)である。
すなわち、データベース43aは、ユーザデータをATM42aに送信する(ステップS55)。ATM42aがユーザデータを受信した後、ATM42aは、メニュー表示をユーザインタフェース41aに送信する(ステップS56)。
データベース43aは、エラーをATM42aに送信する(ステップS57)。ATM42aがエラーを受信した後、ATM42aは、エラーメッセージをユーザインタフェース41aに送信する(ステップS58)。
まず、LSI20の設計仕様を参照し、機能ブロック51に対応付けられている機能「ATM取引開始」を選択する。
次に、選択したシナリオ「成功」に対応付けられているメッセージ・シーケンス・チャート「問い合わせ」を選択する。
前述したように、ラベルとして、現在選択されている機能名および現在選択されているシナリオ名を付与する。またラベルは、機能名・シナリオ名:シナリオの種類の順に付与する。従って、図18に示す例では、「ATM取引開始・成功:基本動作」のラベル511a1を付与する。
次に、当該シナリオブロック51a内に未処理のメッセージ・シーケンス・チャートが存在するか否かを判断すると、未処理のメッセージ・シーケンス・チャート「認証成功」が存在する。従って、このメッセージ・シーケンス・チャート「認証成功」を選択する。
次に、当該シナリオブロック51a内に未処理のメッセージ・シーケンス・チャートが存在するか否かを判断すると、当該シナリオブロック51a内に未処理のメッセージ・シーケンス・チャートは存在しない。
そこで、このシナリオ「失敗」を選択する。
次に、選択したメッセージ・シーケンス・チャート「問い合わせ」に「ATM取引開始・失敗:例外動作」のラベルを付与する。ここでは、既にラベル511a1が付与されているので、「ATM取引開始・失敗:例外動作」のラベルをラベル511a1に追加する。
次に、当該シナリオ内に未処理のメッセージ・シーケンス・チャートが存在するか否かを判断すると、未処理のメッセージ・シーケンス・チャート「認証失敗」が存在する。従って、このメッセージ・シーケンス・チャート「認証失敗」を選択する。
次に、当該シナリオブロック51b内に未処理のメッセージ・シーケンス・チャートが存在するか否かを判断すると、当該シナリオブロック51b内に未選択のメッセージ・シーケンス・チャートは存在しない。
従って、処理を終了する。
図21は、ラベルを付与したLSIの設計仕様のデータ構造例を示す図である。
ラベルを付与したLSI20のデータ60は、XML形式で表現されている。
図22に示すラベル511a1、512a1、512b1には、いずれも機能名・シナリオ名:シナリオの種類に加え、メッセージ・シーケンス・チャート名が付与されている。
図23は、有限ステートマシンに変換する処理を説明するメッセージ・シーケンス・チャートを示す図である。
例えば、メッセージ・シーケンス・チャート70では、有限ステートマシンが、送信オブジェクト71と受信オブジェクト73に対して生成される。図示されるように、送信オブジェクト71は送信イベントt1〜t5を有している。受信オブジェクト73は、受信イベントr1〜r6を有している。
図24は、図23に示すメッセージ・シーケンス・チャートに関連する状態マトリックスを示す図である。
2つのみしかオブジェクトが存在しない場合、メッセージ・シーケンス・チャート70の有限ステートマシンは、2次元の状態マトリックス80として可視化することができる。
このため、状態マトリックス80の各ブロックは、状態(ti,rj)を規定する。
状態マトリックス80の左上隅の状態が初期状態であるため、状態遷移は各状態から右下にトレースすることによって特定される。最終状態は、右下隅に示す状態となる。
同期エッジにより、状態マトリックス80に示される一部の状態は有効とはならず、2次元マトリックスから「クロスアウト(cross out)」させることが可能である。
受信イベントr3は、同一の同期エッジに関連する対応する受信イベントである。受信イベントr2の後に発生する受信オブジェクト73におけるいずれのイベントも、送信イベントt3の後に発生する必要がある。従って、受信イベントr3〜r6は送信イベントt3の前に発生することはできない。
状態図90に示す1つのステート91は、図24に示した状態マトリックス80の1つの領域に対応している。
状態図90の各水平方向への遷移は、メッセージの受信に対応している。このため有限ステートマシンによるメッセージの送信として実現される。
現在、状態図90の水平方向への遷移と垂直方向への遷移の両方が行われうる状態(i,j)であるとき、水平方向への遷移は適切なメッセージを送信することにより行われる。
オブジェクトが永久に待機することがないように、メッセージの受信待機中にタイマが利用される。
遷移方向が生成可能な有限ステートマシンに影響する1つの変数である一方、他の変数はあるステートに関する特定のタイプのイベントである。
シナリオに対する有限ステートマシンを生成するため、有限ステートマシンがパスに沿って各メッセージ・シーケンス・チャートに対して生成され、必要に応じて合成される。例えば、1つのメッセージ・シーケンス・チャートの終わりの次の状態は、パスに沿った次のメッセージ・シーケンス・チャートの開始状態となる。
図26は、有限ステートマシンにラベルを付与する具体例を示す図である。
図26では、メッセージ・シーケンス・チャート「問い合わせ」から有限ステートマシンのステートSt1、St2、St3、St4が生成されている。
図27では、メッセージ・シーケンス・チャート「認証成功」からステートSt5、St6が生成されている。
従って、これらステートSt5、St6それぞれにも、「ATM取引開始・成功:基本動作」のラベルを付与する。
ここで、メッセージ・シーケンス・チャート「認証失敗」には、「ATM取引開始・失敗:例外動作」のラベルが付与されている。
次に、ステップS18のメッセージ・シーケンス・チャートの制約から有限ステートマシンの状態を刈る処理を、具体例を用いて説明する。
同期イベントは、実際の動作イベントの部分的順序付けを外部または他の装置により限定するのに利用されているだけであるため、状態図90から削除してもよい。同期イベントを削除することにより、図28に示される簡単化された状態図92が得られる。
有限ステートマシンのデータ110は、XML形式で表現されている。
記述110aは、有限ステートマシン90aの識別子に関する記述部分を示している。当該記述110aには、有限ステートマシンであることを識別する有限ステートマシンタグ<fsm name>が付されている。また、タグ内の内容は、それぞれ付与されたラベルの内容を示している。
また、記述119は、各ステートSt1〜St8に関する遷移方向を示している。
まず、図16に示す設計仕様から機能ブロック51に対応付けられている機能「ATM取引開始」を選択する。
次に、選択したシナリオ「成功」と同じラベルを備える有限ステートマシンを抽出する。
次に、選択したシナリオと同じラベルを持つ有限ステートマシンの部分を抽出する。
図27に示すように、シナリオ「成功」は、「ATM取引開始・成功:基本動作」のラベルを備えているため、このラベルと同じラベルを備えるステートSt1、St2、St3、St4、St5、St6を抽出する。
次に、選択した機能に未処理のシナリオが残っているか否かを判断すると、シナリオ「失敗」が残っている。
次に、選択したシナリオ「失敗」と同じラベルを備える有限ステートマシンを抽出する。
次に、選択したシナリオと同じラベルを持つ有限ステートマシンの部分を抽出する。
図27に示すように、シナリオ「失敗」は、「ATM取引開始・失敗:例外動作」のラベルを備えているため、このラベルと同じラベルを備えるステートSt1、St2、St3、St4、St7、St8を抽出する。
次に、選択した機能に未処理のシナリオが残っているか否かを判断すると、残っていない。
従って、処理を終了する。
図30は、検証用シナリオ格納部に格納されている検証用シナリオを示す図である。
次に、検証用シナリオ生成処理におけるステップS24の有限ステートマシンの部分から検証用シナリオを生成する方法を詳しく説明する。
前述した具体例では、有限ステートマシンの部分から検証用シナリオを容易に作成することができた。
St2→St4→St6→St7→St2→St3→St6→St7→St2→St3→St5→St7→St2→St3→St5→St2
有限ステートマシンの部分を分割する1つの論理的方法は、再出現するステートを切断することである。
(1)St2→St4→St6→St7
(2)St2→St3→St6→St7
(3)St2→St3→St5→St7
(4)St2→St3→St5→St2
より長い検証用シナリオを生成するため、検証用シナリオ生成部11は、ステートSt2を用いて切断処理を実行すると共に、各検証用シナリオが少なくとも5つのステートを含むことを要求することができる。
(5)St2→St4→St6→St7→St2→St3→St6→St7
(6)St2→St3→St5→St7→St2→St3→St5→St2
次に、優先順位付与処理の具体例を説明する。
次に、パターンの中から、優先順位の最も高い項目を取り出す。
ここでは、パターンに基本動作を例外動作よりも優先するパターン(基本動作>例外動作)が設定されているものとする。従って、優先順位の最も高い基本動作をパターンから取り出す。
図30に示すように、本具体例では、基本動作を含むラベルが全てのステートに付与されている検証用シナリオSc1を取得する。
優先順位項目がパターンに残っているか否かを判断すると、まだ残っているので、次に優先順位の高い例外動作を取り出す。
図30に示すように、本具体例では、例外動作を含むラベルが全てのステートに付与されている検証用シナリオSc2を取得する。
優先順位項目が残っているか否かを判断すると、もう残っていないので、処理を終了する。
図31は、検証用シナリオSc1のデータ構造を示している。
3行目は、<fsm name=“ATM取引開始FSM” type=“scenario” priority=“2”>と記述されている。この「type=“scenario”」が検証用シナリオであることを示している。また、「priority=“2”」が、検証用シナリオの優先順位を示している。
図33は、優先順位リストの具体例を示す図である。
優先順位リスト14aには、優先順位の欄と検証用シナリオの欄が設けられている。
検証用シナリオの欄の1行目には、優先順位の欄の「1」に対応する「priority=“1”」を有する検証用シナリオSc1が設定されている。また、検証用シナリオの欄の2行目には、優先順位の欄の「2」に対応する「priority=“2”」を有する検証用シナリオSc2が設定されている。
以上述べたように、設計検証装置10によれば、検証用シナリオ生成部11が、LSI20の設計仕様が備える複数のシナリオが備えるメッセージ・シーケンス・チャートそれぞれにラベルを関連付けた検証用シナリオを生成するようにした。
メッセージ・シーケンス・チャートそれぞれに、ラベルを関連付けた。これにより、1つのシナリオが備えるメッセージ・シーケンス・チャートを特定することができる。
これにより、入力されるパターンの入力に対応する(設計・検証の段階に応じた)検証用シナリオを生成することができる。
そして、出力部14が、優先順位が付与された検証用シナリオを識別する情報を、処理順位とともに出力するようにした。
また、優先順位付与部13は、パターンの入力に応じて、入力されたパターンにより示される検証対象部位に関連する全ての検証用シナリオに同じ優先順位を付与するようにした。
また、優先順位付与部13は、処理優先度情報を有するパターンの入力に応じて、検証用シナリオに処理優先度情報に応じた優先順位を付与するようにした。
なお、入力されるパターン項目としては特に限定されないが、例えば以下に示す例が挙げられる。
(1)検証を開始して間もない場合は、シナリオの基本パス、代替パス、例外パスの順に検証用シナリオに優先順位を付けるのが好ましい。従って、パターンの項目として「基本動作>代替動作>例外動作」を入力するのが好ましい。
(2)不具合修正後のリグレッションテストの場合は、不具合を発見したシナリオを最優先に検証し、その次に修正した箇所を直接検証するシナリオを検証し、その他のシナリオを検証するのが好ましい。従って、パターン項目として「不具合を発見したシナリオ名>修正した箇所を直接検証するシナリオ名>その他のシナリオ名」を入力するのが好ましい。
(3)設計最終段階では、例外ケースを集中的に確認したいことが多い。この場合には、シナリオの例外パスを優先的に検証し、その次に代替パス、基本パスを検証するのが好ましい。従って、パターン項目として「例外動作>代替動作>基本動作」を入力するのが好ましい。
(4)設計の途中で機能に仕様変更があったとき、その機能が関わる箇所のシナリオを優先的に検証するのが好ましい。従って、パターン項目として「その機能が関わる箇所のシナリオ」を入力するのが好ましい。
カバレッジドリブン検証とは検証対象の設計情報から測定可能なプロパティと検証終了基準を予め決め、検証をその基準を満たすまで行う検証方法である。典型的なプロパティとして、実装の「行数」や「分岐」が用いられる。なお、カバレッジを用いた検証方法をサポートする手法としてOVM(Open Verification Methodology)やVMM(Verification Methodology Manual)等が知られている。
ここで、カバレッジ基準とは、検証の網羅性の尺度(Metricsとも呼ばれる)となるものである。このカバレッジ基準は、LSIの設計または検証の状況に応じて動的に変化する。
<第3の実施の形態>
次に、第3の実施の形態のシステムについて説明する。
図34は、第3の実施の形態のシステムを示すブロック図である。
本実施の形態では、LSI20の仕様から尺度として使える項目(測定可能である)として、機能、シナリオ、シナリオの種類、データ・イベント・メッセージ、メッセージの送り手のオブジェクトと受け手とのオブジェクトのセット、オブジェクト等が挙げられる。
第3の実施の形態の設計検証装置10aは、検証用シナリオ生成部11、優先順位付与部13の代わりに、検証用シナリオ生成部11aとシナリオ抽出部15とを有している。
次に、設計検証装置10aの全体処理を説明する。
まず、検証用シナリオ生成部11aが、ユーザにより入力されたLSI20の設計仕様に基づいて、検証用シナリオ生成処理を行って検証用シナリオを生成する(ステップS1a)。生成した検証用シナリオは、検証用シナリオ格納部12に格納する。
以上で、全体処理の説明を終了する。
図36は、第3の実施の形態の検証用シナリオ生成処理を示すフローチャートである。
ステップS11〜ステップS15:第2の実施の形態の検証用シナリオ生成処理と同様の処理を行う。
メッセージ名と送受信オブジェクト名をラベルに追加する。その後、ステップS16に遷移する。
以上で、第3の実施の形態の検証用シナリオ生成処理の説明を終了する。
次に、検証用シナリオ抽出処理を説明する。
まず、入力されるカバレッジ基準から要素を1つ選択する(ステップS61)。
次に、選択したカバレッジ基準に基づいて、検証用シナリオ格納部12に格納された検証用シナリオから、カバレッジ基準を満たす検証用シナリオを抽出する(ステップS62)。
未選択の要素が存在する場合(ステップS63のYes)、ステップS61に移行し、未選択の要素を1つ選択する。その後、ステップS62以降の処理を引き続き行う。
次に、第3の実施の形態の設計検証装置10aの処理を具体例を用いて説明する。
図38は、第3の実施の形態のLSIの設計仕様のデータ構造の具体例を示す図である。
図38に示すLSI20の設計仕様には、5つのシナリオが用意されている。
この第1のシナリオは、将来的なユーザによって提供されるパスワードの入力(PIN)を受け付けて残高を表示するATMと関連付けされている。
本実施の形態の第3のシナリオは、機能ブロック53に対応付けられている機能、シナリオブロック53aに対応付けられているシナリオ、シナリオブロック53aに対応付けられているシナリオを実現するための検証用シナリオを開始、進行するパスに関する。
本実施の形態の第4のシナリオは、機能ブロック53に対応付けられている機能、シナリオブロック53bに対応付けられているシナリオ、シナリオブロック53bに対応付けられているシナリオを実現するための検証用シナリオを開始、進行するパスに関する。
本実施の形態の第5のシナリオは、機能ブロック53に対応付けられている機能、シナリオブロック53cに対応付けられているシナリオ、シナリオブロック53cに対応付けられているシナリオを実現するための検証用シナリオを開始、進行するパスに関する。
なお、図38では、シナリオブロック52b、53a、53b、53cが有するMSCブロックの図示を省略している。
図39は、第3の実施の形態のメッセージ・シーケンス・チャート間の関係と階層構造を説明する図である。
シナリオ「照会」は、初期状態ブロック31a、メッセージ・シーケンス・チャート32a、33a、34a、35a、36aを介し進行するパスに関する。具体的には、メッセージ・シーケンス・チャート32aの処理後、V==trueのガード条件が成立すれば、メッセージ・シーケンス・チャート33aに移行する。メッセージ・シーケンス・チャート33aの処理後、メッセージ・シーケンス・チャート34aに移行する。メッセージ・シーケンス・チャート34aの処理後、option==Balanceのガード条件が成立すれば、メッセージ・シーケンス・チャート35aに移行する。メッセージ・シーケンス・チャート35aの処理後、メッセージ・シーケンス・チャート36aに移行する。メッセージ・シーケンス・チャート36aの処理が終了すると、シナリオ「照会」の処理が終了する。
図40は、シナリオ「照会」のメッセージ・シーケンス・チャートを示す図である。
図40に示すメッセージ・シーケンス・チャート40eは、シナリオ「照会」に関するメッセージ・シーケンス・チャートである。
図40に示すオブジェクトは、ユーザインタフェース(I/F)41a、ATM42aおよびデータベース43aによって表される。
前述したルールを利用して、メッセージ・シーケンス・チャート40eは、以下の処理を行う。
カード挿入依頼メッセージの受信後、ユーザインタフェース41aは、カード挿入メッセージ(Card_Inserted)をATM42aに送信する(ステップS52a)。
ATM42aが、パスワードを受信した後、ATM42aは認証依頼(V=PIN_Verify)メッセージをデータベース43aに送信する(ステップS54a)。ここまでが、メッセージ・シーケンス・チャート32aの有するシナリオである。
その後、ユーザインタフェース41aがオプション入力メッセージ(Option=Enter_option)を受け付けると、ATM42aに送信する(ステップS57a)。ここまでが、メッセージ・シーケンス・チャート34aの有するシナリオである。
ATM42aは、残高照会情報表示(Show_Balance)をユーザインタフェース41aに送信する(ステップS60a)。ここまでが、メッセージ・シーケンス・チャート35aの有するシナリオである。
ATM42aは、カード返却メッセージ(Return_card)をユーザインタフェース41aに送信する。ここまでが、メッセージ・シーケンス・チャート36aの有するシナリオである。
図41、図42は、第3の実施の形態のLSIの設計仕様にラベルを付与する具体例を示す図である。
次に、選択した機能ブロック52からシナリオブロック52aに対応付けられているシナリオ「照会」を選択する。
次に、選択したメッセージ・シーケンス・チャート32aにラベルを付与する。
以降、第2の実施の形態と同様に、メッセージ・シーケンス・チャートにラベルを付与する。
そして、選択した機能ブロック53からシナリオブロック53aに対応付けられているシナリオ「認証失敗」を選択する。そして、選択したシナリオ「認証失敗」に含まれるメッセージ・シーケンス・チャートを順次、選択する。そして、選択したメッセージ・シーケンス・チャートにラベルを付与する。
図43は、ラベル付与が完了した状態の有向グラフを示す図である。
ラベルを付与したLSI20のデータ160は、XML形式で表現されている。
記述161は、メッセージ・シーケンス・チャート32aに関する記述部分を示している。また、記述162は、メッセージ・シーケンス・チャート33aに関する記述部分を示している。また、記述163は、メッセージ・シーケンス・チャート37aに関する記述部分を示している。
図45は、オブジェクト名をラベルに追加する具体例を示す図である。
まず、第2の実施の形態と同様の方法にて生成した有限ステートマシン90bのステート1つ1つに対し、対応するメッセージ・シーケンス・チャートのデータ・イベント・メッセージをラベルとして付与する。
ここで、メッセージ・シーケンス・チャート32aには、「残高照会・照会:基本動作」、「残高照会・認証失敗・例外動作」、「引き出し・引き出し成功:基本動作」、「引き出し・残高不足:代替動作」、「引き出し・認証失敗:例外動作」のラベルが付与されている。
図45では、ステートSt11のラベルには、メッセージ名「Insert_Card」と、メッセージの送り手であるATM42aと、メッセージの受け手であるユーザI/F41aを追加する。
図46では、メッセージ・シーケンス・チャート33aからステートSt15、・・・が生成されている。
ここで、メッセージ・シーケンス・チャート37aには、「残高照会・認証失敗:例外動作」、「引き出し・認証失敗:例外動作」のラベルが付与されている。
さらに、ステートSt16のラベルには、メッセージ名「PIN」と、メッセージの送り手であるデータベース43aと、メッセージの受け手であるATM42aが追加されている。ステートSt17のラベルには、メッセージ名「Rejected」と、メッセージの送り手であるATM42aと、メッセージの受け手であるユーザI/F41aが追加されている。ステートSt18のラベルには、メッセージ名「Return_Card」と、メッセージの送り手であるATM42aと、メッセージの受け手であるユーザI/F41aが追加されている。
有限ステートマシンのデータ120は、XML形式で表現されている。
最初に、入力されたカバレッジ基準が(message=”PIN_Error”)である場合を例に説明する。
そして、選択した要素(message=”PIN_Error”)を有限ステートマシン90bのステートに付与したラベルに含む検証用シナリオを抽出する。
次に、入力されたカバレッジ基準が、(message=“Menu”)&&(scenariotype=“altscenario”)である場合を例に説明する。なお、「&&」は集合積を示している。また、(scenariotype=“altscenario”)は、代替動作を選択していることを示している。
そして、選択した要素(message=“Menu”)を有限ステートマシン90bのステートに付与したラベルに含む検証用シナリオを検証用シナリオ格納部12から抽出する。
図48は、抽出した検証用シナリオの集合積を行う様子を示す図である。
これら2つに共通する検証用シナリオは、「引き出し・残高不足:代替動作」である。従って、共通する検証用シナリオ「引き出し・残高不足:代替動作」を、カバレッジ基準を満たす検証用シナリオ700として、出力部14に送る。これにより、出力部14が、この検証用シナリオ700のシナリオ名を出力する。
次に、入力されたカバレッジ基準が、(message=“Menu”)&&(object=“ATM”)である場合を例に説明する。
そして、選択した要素(message=“Menu”)を有限ステートマシン90bのステートに付与したラベルに含む検証用シナリオを検証用シナリオ格納部12から抽出する。
図49は、抽出した検証用シナリオの集合積を行う様子を示す図である。
これら2つに共通するシナリオは、「残高照会・照会:基本動作」、「引き出し・引き出し成功:基本動作」、「引き出し・残高不足:代替動作」である。
そして、第3の実施の形態のシステムによれば、さらに、設計・検証フェーズの中でカバレッジ基準を動的に変更することができる。
抽出された検証用シナリオを実行することにより、設計フェーズに応じた検証が可能となる。
(1)オブジェクトの仕様が変更されたときや、あるオブジェクトを集中的に検証したい場合は、変更されたオブジェクトを利用する全ての検証用シナリオを網羅するのが好ましい。従って、カバレッジ基準として「オブジェクト名」を入力するのが好ましい。
(2)データ・イベント・メッセージの実装の不具合を修正した後には、修正したデータ・イベント・メッセージが含まれる全ての検証用シナリオを網羅するのが好ましい。従って、カバレッジ基準として「データ・イベント・メッセージ名」を入力するのが好ましい。
(3)検証作業の初期段階では、基本動作が集中的に検証され、例外動作は集中的に検証されない場合がある。この場合、例外動作を含むシナリオを、設計期間の終盤に集中的に検証したい場合がある。この場合は、特定のオブジェクトを利用する例外動作を含む全ての検証用シナリオを網羅するのが好ましい。従って、カバレッジ基準として、「オブジェクト名」&&「代替動作」を入力するのが好ましい。
例えば、第3の実施の形態にて生成した検証用シナリオを用いて、優先度を付与する処理を行うようにしてもよい。
(付記1) 設計対象の設計仕様が備える複数の処理手順が備える処理単位それぞれに前記設計仕様の検証対象部位を識別する識別情報を関連付けた検証用情報を生成する生成部と、
前記識別情報の入力に応じて、前記検証用情報に処理優先度を付与する処理優先度付与部と、
前記処理優先度が付与された前記検証用情報を識別する情報を、前記処理優先度を明示して出力する出力部と、
を有することを特徴とする設計検証装置。
前記生成部は、同じ前記識別情報を備える前記ステートマシンを抽出し、抽出した前記ステートマシンの部分を前記検証用情報とすることを特徴とする付記4記載の設計検証装置。
(付記7) 前記処理優先度付与部は、前記識別情報の入力に応じて、入力された前記識別情報により示される前記検証対象部位に関連する全ての前記検証用情報に同じ処理優先度を付与することを特徴とする付記1記載の設計検証装置。
設計対象の設計仕様が備える複数の処理手順が備える処理単位それぞれに前記設計仕様の検証対象部位を識別する識別情報を関連付けた検証用情報を生成し、
前記識別情報の入力に応じて、前記検証用情報に処理優先度を付与し、
前記処理優先度が付与された前記検証用情報を識別する情報を、前記処理優先度を明示して出力する、
ことを特徴とする設計検証方法。
設計対象の設計仕様が備える複数の処理手順が備える処理単位それぞれに前記設計仕様の検証対象部位を識別する識別情報を関連付けた検証用情報を生成する生成手段、
前記識別情報の入力に応じて、前記検証用情報に処理優先度を付与する処理優先度付与手段、
前記処理優先度が付与された前記検証用情報を識別する情報を、前記処理優先度を明示して出力する出力手段、
として機能させることを特徴とする設計検証プログラム。
外部からの入力に応じて前記生成部によって生成された前記検証用情報のうち、少なくとも1つの前記検証用情報を選択する選択部と、
前記選択部によって選択された前記検証用情報を識別する情報を出力する出力部と、
を有することを特徴とする設計検証装置。
前記選択部は、オブジェクト名の前記入力に応じて、入力された前記オブジェクト名を含む前記識別情報が関連付けられた前記検証用情報を選択することを特徴とする付記12記載の設計検証装置。
前記生成部は、同じ前記識別情報を備える前記ステートマシンを抽出し、抽出した前記ステートマシンの部分を前記検証用情報とすることを特徴とする付記17記載の設計検証装置。
(付記20) コンピュータが、設計対象の設計仕様が備える複数の処理手順が備える処理単位それぞれに前記設計仕様の検証対象部位をオブジェクト単位で識別する識別情報を関連付けた検証用情報を生成し、
外部からの入力に応じて、生成された前記検証用情報のうち、少なくとも1つの前記検証用情報を選択する選択し、
選択された前記検証用情報を識別する情報を出力する、
ことを特徴とする設計検証方法。
設計対象の設計仕様が備える複数の処理手順が備える処理単位それぞれに前記設計仕様の検証対象部位をオブジェクト単位で識別する識別情報を関連付けた検証用情報を生成する生成手段、
外部からの入力に応じて前記生成手段によって生成された前記検証用情報のうち、少なくとも1つの前記検証用情報を選択する選択手段、
前記選択手段によって選択された前記検証用情報を識別する情報を出力する出力手段、
として機能させることを特徴とする設計検証プログラム。
2 生成部
3 処理優先度付与部
4、14 出力部
5 設計仕様
5a、5b 機能
6 構造体
6a、6b 検証用情報
7 識別情報
8 出力結果
11、11a 検証用シナリオ生成部
12 検証用シナリオ格納部
13 優先順位付与部
14a 優先順位リスト
15 シナリオ抽出部
21、51、52、53 機能ブロック
21a、21b、51a、51b、52a、52b、53a、53b、53c シナリオブロック
30、30a 有向グラフ
31、31a 初期状態ブロック
32、33、32a〜39a、40、40a〜40e、70、130a、131a メッセージ・シーケンス・チャート(MSC)
34 hメッセージ・シーケンス・チャート(hMSC)
41、42、43 ハードウェア(HW)
41a ユーザインタフェース
42a ATM
43a データベース
44、45、46 オブジェクトライン
44a ユーザインタフェースライン
45a ATMライン
46a データベースライン
47、48 ボックス
50a、50b 処理手順
60、110、120、160 データ
61、62、63、61a〜63a、110a、111〜119、120a、121〜124、161〜163、161a〜163a 記述
71 送信オブジェクト
72 長距離送信オブジェクト
73 受信オブジェクト
74 長距離受信オブジェクト
80 状態マトリックス
81、82 領域
91、St1〜St8 ステート
90、92 状態図
90a、90b 有限ステートマシン
100 システム
200 信号インタフェース
211a、212a、321a、322a、511a、512a、511b、512b、521a〜530a MSCブロック
300 テスト対象装置
400 ネットワーク
500、501、600、601 集合
511a1、512a1、512b1、521a1 ラベル
700、701 Sc1、Sc2 検証用シナリオ
e1、e2、e3 イベント
m、m1〜m9 データ・イベント・メッセージ
r1〜r6、rj 受信イベント
t1〜t5、ti 送信イベント
Claims (5)
- コンピュータに、
設計対象の設計仕様が備える複数の処理手順が備える処理単位それぞれに前記設計仕様の検証対象部位を識別する識別情報を関連付けた検証用情報を生成する生成手順、
前記識別情報の入力に応じて、前記検証用情報に処理優先度を付与する処理優先度付与手順、
前記処理優先度が付与された前記検証用情報を識別する情報を、前記処理優先度を明示して出力する出力手順、
を実行させることを特徴とする設計検証プログラム。 - 前記生成手順では、同じ前記識別情報を備える前記処理単位を抽出し、抽出した前記処理単位の集合をそれぞれ前記検証用情報とすることを特徴とする請求項1記載の設計検証プログラム。
- 前記処理単位は、オブジェクト間で送受信される信号の関係を示すシーケンスを備えており、前記生成手順では、前記シーケンスそれぞれに、前記識別情報を関連付けることを特徴とする請求項1記載の設計検証プログラム。
- コンピュータが、
設計対象の設計仕様が備える複数の処理手順が備える処理単位それぞれに前記設計仕様の検証対象部位を識別する識別情報を関連付けた検証用情報を生成し、
前記識別情報の入力に応じて、前記検証用情報に処理優先度を付与し、
前記処理優先度が付与された前記検証用情報を識別する情報を、前記処理優先度を明示して出力する、
ことを特徴とする設計検証方法。 - 設計対象の設計仕様が備える複数の処理手順が備える処理単位それぞれに前記設計仕様の検証対象部位を識別する識別情報を関連付けた検証用情報を生成する生成部と、
前記識別情報の入力に応じて、前記検証用情報に処理優先度を付与する処理優先度付与部と、
前記処理優先度が付与された前記検証用情報を識別する情報を、前記処理優先度を明示して出力する出力部と、
を有することを特徴とする設計検証装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US27213509P | 2009-08-19 | 2009-08-19 | |
US12/654,896 US20110046938A1 (en) | 2009-08-19 | 2010-01-07 | Verification apparatus and design verification program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011044131A true JP2011044131A (ja) | 2011-03-03 |
Family
ID=43606038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010109257A Pending JP2011044131A (ja) | 2009-08-19 | 2010-05-11 | 設計検証プログラム、設計検証方法および設計検証装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20110046938A1 (ja) |
JP (1) | JP2011044131A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015156076A (ja) * | 2014-02-20 | 2015-08-27 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 生成装置、生成方法、及び、プログラム |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5067317B2 (ja) * | 2008-08-27 | 2012-11-07 | 富士通株式会社 | 検証支援プログラム、検証支援装置、および検証支援方法 |
US9721058B2 (en) * | 2015-04-13 | 2017-08-01 | Synopsys, Inc. | System and method for reactive initialization based formal verification of electronic logic design |
US9689467B2 (en) | 2015-04-24 | 2017-06-27 | Allison Transmission, Inc. | Multi-speed transmission |
US11336682B2 (en) * | 2019-07-09 | 2022-05-17 | Nice Ltd. | System and method for generating and implementing a real-time multi-factor authentication policy across multiple channels |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62262144A (ja) * | 1986-05-07 | 1987-11-14 | Hironori Terada | 図的言語処理方式 |
JPH0728862A (ja) * | 1993-07-14 | 1995-01-31 | Toshiba Corp | 階層化状態遷移モデル |
JPH07253905A (ja) * | 1994-01-26 | 1995-10-03 | Toshiba Corp | テストケース作成装置及びテストケース作成方法 |
JPH1040316A (ja) * | 1996-07-18 | 1998-02-13 | Toshiba Corp | 図式のテスト支援装置及びテスト支援方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4355525B2 (ja) * | 2002-10-09 | 2009-11-04 | 富士通マイクロエレクトロニクス株式会社 | 検証支援方法、検証支援プログラムおよび検証支援装置 |
US7275231B2 (en) * | 2004-09-15 | 2007-09-25 | Fujitsu Limited | High level validation of designs and products |
-
2010
- 2010-01-07 US US12/654,896 patent/US20110046938A1/en not_active Abandoned
- 2010-05-11 JP JP2010109257A patent/JP2011044131A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62262144A (ja) * | 1986-05-07 | 1987-11-14 | Hironori Terada | 図的言語処理方式 |
JPH0728862A (ja) * | 1993-07-14 | 1995-01-31 | Toshiba Corp | 階層化状態遷移モデル |
JPH07253905A (ja) * | 1994-01-26 | 1995-10-03 | Toshiba Corp | テストケース作成装置及びテストケース作成方法 |
JPH1040316A (ja) * | 1996-07-18 | 1998-02-13 | Toshiba Corp | 図式のテスト支援装置及びテスト支援方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015156076A (ja) * | 2014-02-20 | 2015-08-27 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 生成装置、生成方法、及び、プログラム |
US10394676B2 (en) | 2014-02-20 | 2019-08-27 | International Business Machines Corporation | Generation device, generation method, and program |
Also Published As
Publication number | Publication date |
---|---|
US20110046938A1 (en) | 2011-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5540887B2 (ja) | 設計検証プログラム、設計検証方法および設計検証装置 | |
JP4619245B2 (ja) | 設計検証方法、装置、論理及びシステム | |
JP3912895B2 (ja) | 構造化データ管理システム、構造化データ管理プログラムを記録したコンピュータ読み取り可能な記録媒体、及び構造化データ管理方法 | |
US7644370B2 (en) | Method of componentisation of a graphically defined formula | |
CN100472434C (zh) | 智能ui记录和重放结构 | |
US9081924B2 (en) | Method and apparatus for transaction recording and visualization | |
US20120266131A1 (en) | Automatic program generation device, method, and computer program | |
JP2011044131A (ja) | 設計検証プログラム、設計検証方法および設計検証装置 | |
JP2011165166A (ja) | 設計検証装置および設計検証プログラム | |
US7519947B2 (en) | Orchestration designer | |
JP5026925B2 (ja) | 制御プログラム作成装置および制御プログラム作成方法 | |
CN1670715B (zh) | 在公共语言运行时语言中的资源地址支持 | |
US7949509B2 (en) | Method and tool for generating simulation case for IC device | |
Bai et al. | An approach to generate the thin-threads from the UML diagrams | |
KR100922526B1 (ko) | 비즈니스 프로세스 수행시 메타데이터 규정을 통한 데이터품질관리 방법 및 시스템 | |
JP6950437B2 (ja) | 情報処理システム、情報処理装置及びプログラム | |
US8458110B2 (en) | Verification support apparatus, verification support method, and computer product | |
JP2009075886A (ja) | 仕様欠陥検証システム、その方法及びプログラム | |
JP2011238151A (ja) | 画面プログラム生成装置 | |
CN103729286A (zh) | 用于嵌入式设备的自动化测试平台 | |
JP5605087B2 (ja) | 設計支援装置、設計支援方法および設計支援プログラム | |
JP2005222371A (ja) | 論理回路の機能検証システムおよび方法 | |
JP5799589B2 (ja) | 検証方法及び検証プログラム | |
JP4988367B2 (ja) | 約款に係る業務システム開発方法 | |
JP5248762B2 (ja) | 設計データ依存関係管理装置、設計データ依存関係管理方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130403 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131018 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131022 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131212 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140114 |