JP5540887B2 - 設計検証プログラム、設計検証方法および設計検証装置 - Google Patents
設計検証プログラム、設計検証方法および設計検証装置 Download PDFInfo
- Publication number
- JP5540887B2 JP5540887B2 JP2010119167A JP2010119167A JP5540887B2 JP 5540887 B2 JP5540887 B2 JP 5540887B2 JP 2010119167 A JP2010119167 A JP 2010119167A JP 2010119167 A JP2010119167 A JP 2010119167A JP 5540887 B2 JP5540887 B2 JP 5540887B2
- Authority
- JP
- Japan
- Prior art keywords
- verification
- priority
- scenario
- information
- design
- 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
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
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)
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
Description
設計開発時には、開発対象に対する動作検証を行い、開発対象の動作を確認しつつ、設計を進めることが行われている。
一方で、納期短縮等による設計期間の短縮化や、工数が当初の見積もりより大きくなる等の理由により、設計期間が足りなくなることはしばしばある。
まず、第1の実施の形態の設計検証装置について説明し、その後、第2の実施の形態以降、設計検証装置をより具体的に説明する。
図1および図2は、第1の実施の形態の設計検証装置を説明する図である。
実施の形態の設計検証装置1は、生成部1aと、優先度付与部1bと、パラメータ条件格納部1dと、優先度決定部1eと、検証順位決定部1fと、出力部1gとを有している。
この設計対象の設計仕様は、実装が守るべき約束事を記したものであり、少なくとも1つの機能により実現される。
処理手順20aは、機能2aの基本動作についての処理手順であり、処理手順20bは、基本動作に取って替わる代替動作についての処理手順である。
事後条件とは、一連の操作の実行後に満たすべき条件である。
図1では、一例として、基本動作、代替動作ともに事前条件が定義されている。
この構造体3を用いることで、設計仕様2をコンパクトに表示することができる。
構造体3は、第1のシーケンス、第2のシーケンス、および、第3のシーケンスと、これら各シーケンス間の関係を示すブランチ(branch)およびマージ(merge)を有している。
処理手順20aは、第1のシーケンス、第2のシーケンスの順番に処理が行われることを示している。
従って、構造体3は、これら2つの処理手順が第1のシーケンスまで同じ動作を有するが、それ以降の動作は異なっていることを示す。
ガード条件は、各シーケンスの終了後、ガード条件が成立すればエッジ先のシーケンスに遷移することを示している。
この結果、第1のシーケンスには、識別情報「機能#1:基本動作」、「機能#1:代替動作」が関連付けられる。第2のシーケンスには、識別情報「機能#1:基本動作」が関連付けられる。第3のシーケンスには、識別情報「機能#1:代替動作」が関連付けられる。
図2では、識別情報「基本動作」を備える第1のシーケンスおよび第2のシーケンスの集合を1つの検証用情報3aとする。換言すれば、検証用情報3aは、機能2aの基本動作を検証するための情報となる。
優先度付与部1bは、情報4aに応じて、検証用情報3a、3bに処理優先度を付与する。
なお、本実施の形態では、優先度が付与された検証用情報は、検証用情報格納部1cに格納される。図1では、優先度「2」に検証用情報3aを示す検証用情報#1を関連付けたレコードと、優先度「1」に検証用情報3bを示す検証用情報#2を関連付けたレコードとが検証用情報格納部1cに格納されている。
優先度決定部1eは、基本動作の事前条件としての「P=10」に応じて、基本動作を検証する検証用情報3aを選択する。
また、優先度決定部1eは、代替動作の事前条件としての「P=0」に応じて、代替動作を検証する検証用情報3bを選択する。
従って、優先度決定部1eは、検証用情報3bの事前条件に対する優先度が「2」であることを決定する。
検証順位の決定方法は特に限定されないが、例えば、検証用情報3a、3bそれぞれの優先度付与部1bによって付与された優先度と、優先度決定部1eによって決定された優先度とを加算する。そして、その加算結果を比較して優先度の合計値が大きい順番(優先度の高い順番)に検証用情報の検証順位とする。
図1では、優先順位「1」に検証用情報3aを示す検証用情報#1を関連付けたレコードと、優先順位「2」に検証用情報3bを示す検証用情報#2を関連付けたレコードとを備える出力結果5を出力する。
また、優先度決定部1eが、処理手順の制約条件毎に与えられたパラメータを示す情報4bに応じて、優先度を決定し、検証順位決定部1fが、優先度付与部1bによって付与された優先度と優先度決定部1eによって決定された優先度とに基づいて、検証用情報3a、3bそれぞれの検証順位を決定するようにした。
なお、本実施の形態では、設計検証装置1が、生成部1aおよび優先度付与部1bを備え、優先度が付与された検証用情報を生成した。しかし、これに限らず、設計検証装置1が、他の装置によって生成された、優先度が付与された検証用情報を読み込み、優先度決定部1eが、この検証用情報およびパラメータ条件格納部1dに格納されたパラメータ条件に基づいて優先度を決定するようにしてもよい。この場合、設計検証装置1は、生成部1aおよび優先度付与部1bの機能を省略することができる。
<第2の実施の形態>
図3は、第2の実施の形態のシステムを示す図である。
設計検証装置10は、テスト対象装置300が設計仕様に従って動作するか判断するため、設計仕様が備えるシナリオ毎に、これらシナリオを検証するための検証用シナリオを生成する。
さらに、設計検証装置10は、優先順位が付与された検証用シナリオを利用して、テスト対象装置300がこの検証用シナリオに従って動作するか否かを判断するため、信号インタフェース200を介しテスト対象装置300と通信する。
信号インタフェース200は、設計検証装置10とテスト対象装置300とを接続するための装置を表す。信号インタフェース200は、設計検証装置10により通信される信号を設計検証装置10による利用に適した信号に変換する。
テスト対象装置300は、設計検証装置10によるテストおよび検証対象となるハードウェアコンポーネントまたはシステムやソフトウェアモジュールを表す。
図4は、第2の実施の形態のLSIの設計仕様の構成を示す図である。
前述したように、設計仕様とは、実装が守るべき約束事を記したものであり、複数の機能により実現される。
各機能ブロック21、22、23には、それぞれ1つの機能が対応付けられている。対応付けられた各機能は、例えば、ソフトウェアにより呼び出されるハードウェアで実現する機能であり、または、ハードウェアに依存するソフトウェアで実現する機能である。
メッセージ・シーケンス・チャートは、シナリオが備えるサブ機能群である。具体的には、メッセージ・シーケンス・チャートは、機能の実現に関わっている全てのオブジェクト間のやり取りを明確にしたものである。このオブジェクトは、LSI20が備える機能や、このLSI20を含むシステムに干渉する外部環境を含む。
次に、LSI20の設計仕様のデータ構造を説明する。
図5は、LSIの設計仕様のデータ構造の一例を示す図である。
各機能それぞれには、制約条件として、事前条件、事後条件、不変条件(の1つまたは複数)が定義されている場合がある。
また、各シナリオA1、A2それぞれには、制約条件として、事前条件、事後条件、不変条件(の1つまたは複数)が定義されている場合がある。これら各条件が存在する場合には、その条件が設定される。また、条件が存在しない条件には、「条件なし」が設定される。
シナリオA2は、シナリオA1に対する代替動作についてのシナリオであり、基本動作と同様に、事前条件と、事後条件と、不変条件とを有している。
メッセージ・シーケンス・チャート「MSC2の動作」は、事前条件と、不変条件と、事後条件とを有している。
ところで、LSI20の設計仕様は、複数のメッセージ・シーケンス・チャートを含む単一の有向グラフによって表されてもよいし、単一の平坦化されたメッセージ図によって表されてもよい。
さらに、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と、パラメータ優先度付与部15と、優先度ルール格納部16と、パラメータ格納部17と、検証順位決定部18と、出力部19とを有している。
ここで、検証用シナリオは、LSI20の設計仕様の各シナリオが備えるメッセージ・シーケンス・チャートそれぞれに設計仕様のラベル(検証対象部位を識別する識別情報)を関連付けた情報である。なお、検証対象部位としては、例えば、機能、シナリオ、メッセージ・シーケンス・チャート等が挙げられる。
また、検証用シナリオ生成部11は、検証用シナリオを生成する際に作成するデータを一時記憶する機能も有している。
シナリオ優先度付与部13は、ユーザにより入力されるパターンを参照し、検証用シナリオに優先度(処理優先度)を付与する。
処理優先度情報を有するシナリオの種類のパターンの一例としては、例外動作より基本動作を優先するパターン(基本動作>例外動作)等が挙げられる。また、処理優先度情報を有するメッセージ・シーケンス・チャート名のパターンの一例としては、問い合わせより認証成功を優先するパターン(認証成功>問い合わせ)が挙げられる。さらに、認証成功より認証失敗を優先するパターン(認証失敗>認証成功>問い合わせ)等が挙げられる。
また、パラメータ優先度付与部15は、入力されるシナリオに基づいて、当該シナリオを検証する検証用シナリオを特定する。そして、特定した検証用シナリオと、パラメータ値の組み合わせを求める。
<パラメータ情報>
図11は、入力されるパラメータ情報を示す図である。
LSI20は、変数を割り当てるレジスタとポートを有している。図11では、1つのレジスタおよび1つのポートが有する情報を1つのブロックに示している。
レジスタ情報は、属性として、パラメータ名、型、最大値、最小値、典型値を有している。
最小値、最大値、典型値は、それぞれ、パラメータを抽出するための条件を示している。
例えば、レジスタブロック25aのレジスタ情報の最小値は「0」、最大値は「137」である。
ポート情報は、属性として、ポート名、型、最大値、最小値、典型値を有している。
最小値、最大値、典型値は、それぞれ、パラメータを抽出するための条件を示している。
例えば、ポートブロック26aのポート情報の最小値は「0」、最大値は「3」である。
パラメータ情報は、例えば、図12に示すデータ構造で与えられる。このパラメータ情報を示すデータ27は、XML形式で表現されている。
優先度ルール格納部16は、パラメータ優先度付与部15が優先度を付与するために用いる優先度ルールを格納している。
典型値は優先度を「1」とする。
最大値と最小値は、優先度を「10」とする。
過去の設計事例でバグが出た値は優先度を「7」とする。
さらに、制御に関わるパラメータ(例えば、割り込み信号等)は、上記優先度の値を「+1」する。また、制御に関わらないパラメータ(例えば、画像のサイズ等)は、上記優先度の値を「−1」する。
例えば、図11に示すパラメータ情報と、事前条件(制約条件)としてパラメータ値「V=14」とが入力された場合を説明する。
なお、入力されたパラメータ値が、例えばユーザによって優先度ルール格納部16に設定されていないパラメータ値である場合は、例えば、優先度が設定されないパラメータ値の優先度は全て「0」とする、のようなルールを予め決定しておくこともできる。これにより、優先度を定めることができる。例えば、典型値に対して優先度が設定されなかった場合、典型値の優先度を「0」とする。
前述したように、パターンは、項目として制約条件(事前条件、事後条件、不変条件)の1つまたは複数を有している。
検証順位決定部18は、優先度付与済みシナリオの優先度と入力されたパラメータ値の優先度とから評価関数を用いて入力されたシナリオおよびパラメータ値の組み合わせの優先順位(検証順位)を決定する。
例えば、全ての優先度を加算する関数を用いた場合、入力されたシナリオを検証する検証用シナリオに付与された優先度と、入力された制約条件としてのパラメータ値の優先度とを加算して加算結果を取得する。入力されたシナリオが複数存在するときは、シナリオ毎に加算結果を取得する。
そして、得られた加算結果を比較して優先度の合計値が大きい順番に入力されたシナリオおよびパラメータ値の組み合わせの優先順位(入力されたパラメータ値でのシナリオの優先順位)を決定する。
そして、出力部19は、優先順位を付与した入力されたシナリオおよびパラメータ値の組み合わせを予め用意されたフォーマットに従って作成したリスト(優先順位リスト)を出力する。
次に、設計検証装置10の全体処理を説明する。
まず、検証用シナリオ生成部11が、ユーザにより入力されたLSI20の設計仕様に基づいて、検証用シナリオ生成処理を行って検証用シナリオを生成する(ステップS1)。生成した検証用シナリオは、検証用シナリオ格納部12に格納する。
そして、出力部19が、優先順位を付与した入力されたシナリオおよびパラメータ値の組み合わせを、優先順位リストとして出力する(ステップS6)。
なお、検証用シナリオ生成処理を予め行って生成した検証用シナリオを検証用シナリオ格納部12に格納しておいて、ユーザによるパターンの入力を待ってシナリオ優先度付与処理以降を行うようにしてもよい。また、ユーザによるパターンの入力時に、検証用シナリオ生成処理を開始するようにしてもよい。
図14および図15は、検証用シナリオ生成処理を示すフローチャートである。
まず、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以降の処理を引き続き行う。
以上で、ラベル付与処理の説明を終了する。
次に、図13のステップS2に示すシナリオ優先度付与処理を説明する。
まず、パラメータi=1にセットする(ステップS41)。
次に、入力されたパターンの中から、優先順位の最も低い項目を選択する(ステップS42)。例えば、入力されたパターンが、(基本動作>例外動作)である場合は、例外動作を選択する。
次に、取得した全ての検証用シナリオの優先度をiとする(ステップS44)。
次に、優先順位の項目が残っているか否かを判断する(ステップS46)。
残っている場合(ステップS46のYes)、ステップS42に移行し、未処理の項目のうち最も優先順位の低い項目を選択し、ステップS43以降の処理を引き続き行う。
以上で、シナリオ優先度付与処理の説明を終了する。
次に、図13のステップS3に示すパラメータ優先度付与処理を説明する。
まず、ユーザにより入力されたパターンに含まれる制約条件として与えられているパラメータ値のパラメータ名を全て抽出する(ステップS51)。
例えば、最大値が「63」である場合、この値は境界値にも該当する。この場合、最大値の優先度ルールを適用した場合、優先度は「10」であり、境界値の優先度ルールを適用した場合、優先度は「4」である。このため、優先度を「10」とする。その後、処理を終了する。
なお、本実施の形態では、制約条件に違反する検証用シナリオを削除する処理(ステップS52)を、パラメータ名を抽出する処理(ステップS51)とパラメータ値と優先度の組み合わせを求める処理(ステップS53)の間に行うようにした。しかし、これに限らず、当該処理をステップS53の後に行うようにしてもよい。
<具体例>
次に、ラベル付与処理の具体例を説明する。
図19に示すLSI20の設計仕様は、ATM(Automatic Teller Machine)取引に関する機能を表している。
具体的には、機能ブロック51にはATM取引開始機能が設定されている。
第1のシナリオは、機能ブロック51に対応付けられている機能、シナリオブロック51aに対応付けられているシナリオ、シナリオブロック51aに対応付けられているシナリオを実現するための検証用シナリオを開始、進行するパスに関する。
ここで、MSCブロック512aに対応付けられているメッセージ・シーケンス・チャートには、事前条件として「0<V<15」が設定されており、事後条件として「INT1=0」が設定されている。
第2のシナリオは、機能ブロック51に対応付けられている機能、シナリオブロック51bに対応付けられているシナリオ、シナリオブロック51bに対応付けられているシナリオを実現するための検証用シナリオを開始、進行するパスに関する。
ここで、MSCブロック512bに対応付けられているメッセージ・シーケンス・チャートには、事前条件として「V=0、V≧15」が設定されており、事後条件として「INT1=1or2」が設定されている。
以下、第1のシナリオをシナリオ「成功」と言い、第2のシナリオをシナリオ「失敗」という。
図20(a)〜図20(c)は、それぞれ、検証用シナリオに関するメッセージ・シーケンス・チャートを示す図である。
各オブジェクトはまた、ユーザインタフェースライン44a、ATMライン45aおよびデータベースライン46aを含むオブジェクトラインを含む。
まず、ATM42aはカード挿入依頼メッセージ(Insert_Card)をユーザインタフェース41aに送信する(ステップS61)。
カード挿入メッセージの送信後、ユーザインタフェース41aは、入力されたパスワード(PIN)をATM42aに送信する(ステップS63)。
図20(b)に示すメッセージ・シーケンス・チャート40cは、MSCブロック512aに対応付けられているメッセージ・シーケンス・チャートの識別名「認証成功」に関するメッセージ・シーケンス・チャート(以下、単にメッセージ・シーケンス・チャート「認証成功」という)である。
すなわち、データベース43aは、「0<V<15」をATM42aに送信する(ステップS65)。ATM42aがユーザデータを受信した後、ATM42aは、メニュー表示をユーザインタフェース41aに送信する(ステップS66)。また、「INT1=0」をユーザインタフェース41aに送信する(ステップS67)。
データベース43aは、「V=0、V≧15」をATM42aに送信する(ステップS68)。ATM42aがエラーを受信した後、ATM42aは、エラーメッセージをユーザインタフェース41aに送信する(ステップS69)。また、「INT1=1or2」をユーザインタフェース41aに送信する(ステップS70)。
まず、LSI20の設計仕様を参照し、機能ブロック51に対応付けられている機能「ATM取引開始」を選択する。
次に、選択したシナリオ「成功」に対応付けられているメッセージ・シーケンス・チャート「問い合わせ」を選択する。
前述したように、ラベルとして、現在選択されている機能名および現在選択されているシナリオ名を付与する。またラベルは、機能名・シナリオ名:シナリオの種類の順に付与する。従って、図21に示す例では、「ATM取引開始・成功:基本動作」のラベル511a1を付与する。
次に、当該シナリオブロック51a内に未処理のメッセージ・シーケンス・チャートが存在するか否かを判断すると、未処理のメッセージ・シーケンス・チャート「認証成功」が存在する。従って、このメッセージ・シーケンス・チャート「認証成功」を選択する。
次に、当該シナリオブロック51a内に未処理のメッセージ・シーケンス・チャートが存在するか否かを判断すると、当該シナリオブロック51a内に未処理のメッセージ・シーケンス・チャートは存在しない。
そこで、このシナリオ「失敗」を選択する。
次に、選択したメッセージ・シーケンス・チャート「問い合わせ」に「ATM取引開始・失敗:例外動作」のラベルを付与する。ここでは、既にラベル511a1が付与されているので、「ATM取引開始・失敗:例外動作」のラベルをラベル511a1に追加する。
次に、当該シナリオ内に未処理のメッセージ・シーケンス・チャートが存在するか否かを判断すると、未処理のメッセージ・シーケンス・チャート「認証失敗」が存在する。従って、このメッセージ・シーケンス・チャート「認証失敗」を選択する。
次に、当該シナリオブロック51b内に未処理のメッセージ・シーケンス・チャートが存在するか否かを判断すると、当該シナリオブロック51b内に未選択のメッセージ・シーケンス・チャートは存在しない。
従って、処理を終了する。
図24は、ラベルを付与したLSIの設計仕様のデータ構造例を示す図である。
ラベルを付与したLSI20のデータ60は、XML形式で表現されている。
図25に示すラベル511a1、512a1、512b1には、いずれも機能名・シナリオ名:シナリオの種類に加え、メッセージ・シーケンス・チャート名が付与されている。
図26は、有限ステートマシンに変換する処理を説明するメッセージ・シーケンス・チャートを示す図である。
例えば、メッセージ・シーケンス・チャート70では、有限ステートマシンが、送信オブジェクト71と受信オブジェクト73に対して生成される。図示されるように、送信オブジェクト71は送信イベントt1〜t5を有している。受信オブジェクト73は、受信イベントr1〜r6を有している。
図27は、図26に示すメッセージ・シーケンス・チャートに関連する状態マトリックスを示す図である。
2つのみしかオブジェクトが存在しない場合、メッセージ・シーケンス・チャート70の有限ステートマシンは、2次元の状態マトリックス80として可視化することができる。
このため、状態マトリックス80の各ブロックは、状態(ti,rj)を規定する。
状態マトリックス80の左上隅の状態が初期状態であるため、状態遷移は各状態から右下にトレースすることによって特定される。最終状態は、右下隅に示す状態となる。
同期エッジにより、状態マトリックス80に示される一部の状態は有効とはならず、2次元マトリックスから「クロスアウト(cross out)」させることが可能である。
受信イベントr3は、同一の同期エッジに関連する対応する受信イベントである。受信イベントr2の後に発生する受信オブジェクト73におけるいずれのイベントも、送信イベントt3の後に発生する必要がある。従って、受信イベントr3〜r6は送信イベントt3の前に発生することはできない。
状態図90に示す1つのステート91は、図27に示した状態マトリックス80の1つの領域に対応している。
状態図90の各水平方向への遷移は、メッセージの受信に対応している。このため有限ステートマシンによるメッセージの送信として実現される。
現在、状態図90の水平方向への遷移と垂直方向への遷移の両方が行われうる状態(i,j)であるとき、水平方向への遷移は適切なメッセージを送信することにより行われる。
オブジェクトが永久に待機することがないように、メッセージの受信待機中にタイマが利用される。
遷移方向が生成可能な有限ステートマシンに影響する1つの変数である一方、他の変数はあるステートに関する特定のタイプのイベントである。
シナリオに対する有限ステートマシンを生成するため、有限ステートマシンがパスに沿って各メッセージ・シーケンス・チャートに対して生成され、必要に応じて合成される。例えば、1つのメッセージ・シーケンス・チャートの終わりの次の状態は、パスに沿った次のメッセージ・シーケンス・チャートの開始状態となる。
図29は、有限ステートマシンにラベルを付与する具体例を示す図である。
ここで、メッセージ・シーケンス・チャート「問い合わせ」には、「・ATM取引開始・成功:基本動作」のラベルと「・ATM取引開始・失敗:例外動作」のラベルが付与されている。
図30では、メッセージ・シーケンス・チャート「認証成功」からステートSt5、St6が生成されている。
従って、これらステートSt5、St6それぞれにも、「・ATM取引開始・成功:基本動作」のラベルを付与する。
ここで、メッセージ・シーケンス・チャート「認証失敗」には、「・ATM取引開始・失敗:例外動作」のラベルが付与されている。
次に、ステップS18のメッセージ・シーケンス・チャートの制約から有限ステートマシンの状態を刈る処理を、具体例を用いて説明する。
同期イベントは、実際の動作イベントの部分的順序付けを外部または他の装置により限定するのに利用されているだけであるため、状態図90から削除してもよい。同期イベントを削除することにより、図31に示される簡単化された状態図92が得られる。
有限ステートマシンのデータ110は、XML形式で表現されている。
記述110aは、有限ステートマシン90aの識別子に関する記述部分を示している。当該記述110aには、有限ステートマシンであることを識別する有限ステートマシンタグ<fsn name>が付されている。また、タグ内の内容は、それぞれ付与されたラベルの内容を示している。
また、記述119は、各ステートSt1〜St8に関する遷移方向を示している。
まず、図19に示す設計仕様から機能ブロック51に対応付けられている機能「ATM取引開始」を選択する。
次に、選択したシナリオ「成功」と同じラベルを備える有限ステートマシンを抽出する。
次に、選択したシナリオと同じラベルを持つ有限ステートマシンの部分を抽出する。
図30に示すように、シナリオ「成功」は、「ATM取引開始・成功:基本動作」のラベルを備えているため、このラベルと同じラベルを備えるステートSt1、St2、St3、St4、St5、St6を抽出する。
次に、選択した機能に未処理のシナリオが残っているか否かを判断すると、シナリオ「失敗」が残っている。
次に、選択したシナリオ「失敗」と同じラベルを備える有限ステートマシンを抽出する。
次に、選択したシナリオと同じラベルを持つ有限ステートマシンの部分を抽出する。
図30に示すように、シナリオ「失敗」は、「ATM取引開始・失敗:例外動作」のラベルを備えているため、このラベルと同じラベルを備えるステートSt1、St2、St3、St4、St7、St8を抽出する。
次に、選択した機能に未処理のシナリオが残っているか否かを判断すると、残っていない。
従って、処理を終了する。
図33は、検証用シナリオ格納部に格納されている検証用シナリオを示す図である。
次に、検証用シナリオ生成処理におけるステップ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
次に、シナリオ優先度付与処理の具体例を説明する。
次に、パターンの中から、優先順位の最も低い項目を選択する。
ここでは、パターンに機能「ATM取引開始」の有するシナリオの基本動作を例外動作よりも優先するパターン(基本動作>例外動作)が設定されているものとする。従って、優先順位の最も低い例外動作をパターンから選択する。
図33に示すように、本具体例では、例外動作を含むラベルが全てのステートに付与されている検証用シナリオSc2を取得する。
優先順位項目がパターンに残っているか否かを判断すると、まだ残っているので、次に優先順位の低い基本動作を選択する。
図33に示すように、本具体例では、基本動作を含むラベルが全てのステートに付与されている検証用シナリオSc1を取得する。
優先順位項目が残っているか否かを判断すると、もう残っていないので、処理を終了する。
図34は、検証用シナリオSc1のデータ構造を示している。
3行目は、<fsm name=“ATM取引開始有限FSM” type=“scenario” priority=“1”>と記述されている。この「type=“scenario”」が検証用シナリオであることを示している。また、「priority=“1”」が、検証用シナリオSc2の優先度を示している。
図36および図37は、パラメータ優先度付与処理の具体例を示す図である。
また、具体例では、シナリオブロック51a1に対応付けられているシナリオ「成功」の事前条件としてパラメータ値「V=14」が入力されており、事後条件としてパラメータ値「INT1=0」が入力されている。
また、検証用シナリオ生成処理によって、シナリオ「失敗」を検証する検証用シナリオSc2が生成されている。従って、図36では、シナリオブロック51b2が有するMSCブロックとして、検証用シナリオSc2を示す検証用シナリオ:「問い合わせ」「認証失敗」に対応するMSCブロック513bを図示している。
次に、レジスタ「V」およびポート「INT1」に対応するパラメータ値と優先度の組み合わせを生成する。
ここで、前述したように、シナリオ「成功」には、事前条件として「0<V<15」、事後条件として「INT1=0」が設定されている。「V=14」と「0<V<15」の論理積を取ると、「V=14」となる。また、「INT1=0」と「INT1=0」の論理積を取ると、「INT1=0」となる。従って、制約条件に違反していないため、当該パラメータと検証用シナリオSc1の組み合わせは除外しない。
パラメータ値の右側に求められた優先度を図示している。また、図37では、検証用シナリオの右側に、検証用シナリオの優先度も図示している。
まず、事前条件としてパラメータ値「V=14」が入力されており、事後条件としてパラメータ値「INT1=0」が入力されているシナリオ「成功」について説明する。
ユーザの入力により与えられた検証用シナリオSc2の優先度は「1」である。また、ユーザの入力により与えられた事前条件のパラメータ値「V=137」の優先度は「10」である。事後条件のパラメータ値「INT1=2」の優先度は「7」である。従って、これらを全て加算すると、優先度「18」が得られる。
ユーザの入力により与えられた検証用シナリオSc2の優先度は「1」である。また、ユーザの入力により与えられた事前条件のパラメータ値「V=0」の優先度は「10」である。事後条件のパラメータ値「INT1=2」の優先度は「7」である。従って、これらを全て加算すると、優先度「18」が得られる。
図38は、優先順位リストの具体例を示す図である。
優先順位リスト19aには、優先順位、シナリオ、検証用シナリオ、パラメータ名、パラメータ値、優先度の欄が設けられている。横方向に並べられた情報同士が互いに関連付けられている。
シナリオの欄には、パターンの項目としてユーザによって入力されたシナリオ名が設定されている。
パラメータ名の欄には、パターンの項目としてユーザによって入力された制約条件としてのパラメータ値に対応するパラメータ名が設定されている。
優先度の欄には、検証順位決定部18により決定された優先度が記載されている。
以上述べたように、設計検証装置10によれば、LSI20の設計または検証状況に応じたシナリオおよびパラメータ値を入力することで、当該シナリオおよびパラメータ値を効率的に検証できる優先順位リスト19aを提供することができる。
(1)検証を開始して間もない場合は、シナリオの基本パス、代替パス、例外パスの順に検証用シナリオに優先順位を付けるのが好ましい。従って、パターンの項目として「基本動作>代替動作>例外動作」を入力するのが好ましい。
(2)不具合修正後のリグレッションテストの場合は、不具合を発見したシナリオを最優先に検証し、その次に修正した箇所を直接検証するシナリオを検証し、その他のシナリオを検証するのが好ましい。従って、パターンの項目として「不具合を発見したシナリオ名>修正した箇所を直接検証するシナリオ名>その他のシナリオ名」を入力するのが好ましい。
(3)設計最終段階では、例外ケースを集中的に確認したいことが多い。この場合には、シナリオの例外パスを優先的に検証し、その次に代替パス、基本パスを検証するのが好ましい。従って、パターンの項目として「例外動作>代替動作>基本動作」を入力するのが好ましい。
(4)設計の途中で機能に仕様変更があったとき、その機能が関わる箇所のシナリオを優先的に検証するのが好ましい。従って、パターンの項目として「その機能が関わる箇所のシナリオ」を入力するのが好ましい。
検証用シナリオ生成部11が、LSI20の設計仕様が備える複数のシナリオが備えるメッセージ・シーケンス・チャートそれぞれにラベルを関連付けた検証用シナリオを生成するようにした。これにより、1つのシナリオが備えるメッセージ・シーケンス・チャートを特定することができる。
これにより、入力されるパターンの入力に対応する(設計・検証の段階に応じた)検証用シナリオを生成することができる。
また、シナリオ優先度付与部13は、パターンに応じて、パターンにより示される検証対象部位に関連する全ての検証用シナリオに同じ優先度を付与するようにした。
また、シナリオ優先度付与部13は、処理優先度情報を有するパターンに応じて、検証用シナリオに処理優先度情報に応じた優先度を付与するようにした。これにより、より細かい優先度を付与する処理を実行できる。
例えば、1つの装置が、検証用シナリオ生成処理を行って検証用シナリオを生成しておき、他の装置が、その検証用シナリオを用いてシナリオ優先度付与処理以降の処理を行うようにしてもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、設計検証装置10が有する機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記録装置としては、例えば、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ等が挙げられる。光ディスクとしては、例えば、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等が挙げられる。光磁気記録媒体としては、例えば、MO(Magneto-Optical disk)等が挙げられる。
(付記1) 設計対象の設計仕様が備える処理手順の検証要求に応じて、前記処理手順を検証する検証用情報の少なくとも1つを選択し、選択した前記検証用情報が有する前記処理手順の実行を制約する条件を示すパラメータに応じて前記パラメータの優先度を決定する優先度決定部と、
前記優先度決定部により決定された優先度に基づいて選択された前記検証用情報の検証順位を決定する検証順位決定部と、
前記優先度決定部により選択された前記検証用情報を識別する情報を、前記検証順位を明示して出力する出力部と、
を有することを特徴とする設計検証装置。
前記検証順位決定部は、前記優先度付与部によって付与された前記優先度と、前記優先度決定部により決定された前記優先度とに応じて前記検証順位を決定することを特徴とする付記1記載の設計検証装置。
前記優先度付与部は、前記識別情報に応じて、前記識別情報により示される前記検証対象部位に関連する全ての前記検証用情報に同じ優先度を付与することを特徴とする付記4記載の設計検証装置。
(付記8) 前記検証用情報を生成する生成部をさらに有することを特徴とする付記5記載の設計検証装置。
前記生成部は、同じ前記識別情報を備える前記ステートマシンを抽出し、抽出した前記ステートマシンの部分を前記検証用情報とすることを特徴とする付記10記載の設計検証装置。
(付記13) 設計対象の設計仕様が備える処理手順の検証要求に応じて、前記処理手順を検証する検証用情報の少なくとも1つを選択し、選択した前記検証用情報が有する前記処理手順の実行を制約する条件を示すパラメータに応じて前記パラメータの優先度を決定し、
決定された前記優先度に基づいて選択された前記検証用情報の検証順位を決定し、
選択された前記検証用情報を識別する情報を、前記検証順位を明示して出力する、
処理をプロセッサを用いて行うことを特徴とする設計検証方法。
設計対象の設計仕様が備える処理手順の検証要求に応じて、前記処理手順を検証する検証用情報の少なくとも1つを選択し、選択した前記検証用情報が有する前記処理手順の実行を制約する条件を示すパラメータに応じて前記パラメータの第1の優先度を決定し、
決定した前記第1の優先度に基づいて、選択した前記検証用情報の検証順位を決定し、
選択した前記検証用情報を識別する情報を、前記検証順位を明示して出力する、
処理を該コンピュータが備えるプロセッサを用いて実行させることを特徴とする設計検証プログラム。
1a 生成部
1b 優先度付与部
1c 検証用情報格納部
1d パラメータ条件格納部
1e 優先度決定部
1f 検証順位決定部
1g、19a 出力部
2 設計仕様
2a、2b 機能
3 構造体
3a、3b 検証用情報
4a、4b 情報
5 出力結果
11 検証用シナリオ生成部
12 検証用シナリオ格納部
13 シナリオ優先度付与部
14 優先度付与済みシナリオ格納部
15 パラメータ優先度付与部
16 優先度ルール格納部
17 パラメータ格納部
18 検証順位決定部
19a 優先順位リスト
20 LSI
20a、20b 処理手順
21、51 機能ブロック
21a、21b、51a、51b、51a1、51b1、51b2 シナリオブロック
27、60、110 データ
27a〜27d、61〜63、61a〜63a、110a、111〜119 記述
30 有向グラフ
31 初期状態ブロック
32〜34、40、40a〜40e、70 メッセージ・シーケンス・チャート(MSC)
34 hメッセージ・シーケンス・チャート(hMSC)
41、42、43 ハードウェア(HW)
41a ユーザインタフェース
42a ATM
43a データベース
44、45、46 オブジェクトライン
44a ユーザインタフェースライン
45a ATMライン
46a データベースライン
47、48 ボックス
71 送信オブジェクト
72 長距離送信オブジェクト
73 受信オブジェクト
74 長距離受信オブジェクト
80 状態マトリックス
81、82 領域
90、92 状態図
90a 有限ステートマシン
91、St1〜St8 ステート
100 システム
200 信号インタフェース
211a、212a、511a、511b、512a、512b、513a、513b MSCブロック
300 テスト対象装置
400 ネットワーク
511a1、512a1、512b1 ラベル
Sc1、Sc2 検証用シナリオ
e1、e2、e3 イベント
m、m1〜m9 データ・イベント・メッセージ
r1〜r6、rj 受信イベント
t1〜t5、ti 送信イベント
Claims (4)
- コンピュータに、
設計対象の設計仕様が備える処理手順を有し、かつ、前記処理手順を検証する検証用情報に、前記処理手順の優先度に応じて第1の優先度を付与し、
前記検証用情報の少なくとも1つを選択し、選択した前記検証用情報が有する前記処理手順に含まれており、かつ、前記処理手順の実行を制約する条件を示すパラメータに応じて前記パラメータの第2の優先度を決定し、
前記第1の優先度と前記第2の優先度とに基づいて、選択した前記検証用情報の検証順位を決定し、
選択した前記検証用情報を識別する情報を、前記検証順位を明示して出力する、
処理を実行させる設計検証プログラム。 - 前記第2の優先度を決定する処理では、前記パラメータと、前記処理手順が備える処理単位の実行を制約する条件との論理式を求め、その結果に応じて前記パラメータの前記第2の優先度を決定する請求項1記載の設計検証プログラム。
- コンピュータが、
設計対象の設計仕様が備える処理手順を有し、かつ、前記処理手順を検証する検証用情報に、前記処理手順の優先度に応じて第1の優先度を付与し、
前記検証用情報の少なくとも1つを選択し、選択した前記検証用情報が有する前記処理手順に含まれており、かつ、前記処理手順の実行を制約する条件を示すパラメータに応じて前記パラメータの第2の優先度を決定し、
前記第1の優先度と前記第2の優先度とに基づいて、選択した前記検証用情報の検証順位を決定し、
選択した前記検証用情報を識別する情報を、前記検証順位を明示して出力する、
設計検証方法。 - 設計対象の設計仕様が備える処理手順を有し、かつ、前記処理手順を検証する検証用情報に、前記処理手順の優先度に応じて第1の優先度を付与する優先度付与部と、
前記検証用情報の少なくとも1つを選択し、選択した前記検証用情報が有する前記処理手順に含まれており、かつ、前記処理手順の実行を制約する条件を示すパラメータに応じて前記パラメータの第2の優先度を決定する優先度決定部と、
前記第1の優先度と前記第2の優先度とに基づいて、選択した前記検証用情報の検証順位を決定する検証順位決定部と、
前記優先度決定部により選択された前記検証用情報を識別する情報を、前記検証順位を明示して出力する出力部と、
を有する設計検証装置。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US27227509P | 2009-09-04 | 2009-09-04 | |
US61/272,275 | 2009-09-04 | ||
US12/702,576 | 2010-02-09 | ||
US12/702,576 US8365112B2 (en) | 2009-09-04 | 2010-02-09 | Verification apparatus and design verification program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011060267A JP2011060267A (ja) | 2011-03-24 |
JP5540887B2 true JP5540887B2 (ja) | 2014-07-02 |
Family
ID=43648638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010119167A Expired - Fee Related JP5540887B2 (ja) | 2009-09-04 | 2010-05-25 | 設計検証プログラム、設計検証方法および設計検証装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8365112B2 (ja) |
JP (1) | JP5540887B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI20096394A0 (fi) * | 2009-12-23 | 2009-12-23 | Valtion Teknillinen | Tunkeutumisen havaitseminen viestintäverkoissa |
US8543983B2 (en) * | 2010-06-15 | 2013-09-24 | Fujitsu Limited | Creating hierarchical message sequence charts for visualizing user-interactive applications |
US8943451B2 (en) * | 2010-06-23 | 2015-01-27 | Mentor Graphics Corporation | Hierarchical finite state machine generation for power state behavior in an electronic design |
TW201211808A (en) * | 2010-09-10 | 2012-03-16 | Hon Hai Prec Ind Co Ltd | System and method for checking electrical rules |
US8972785B2 (en) * | 2012-07-13 | 2015-03-03 | Freescale Semiconductor, Inc. | Classifying processor testcases |
WO2014073553A1 (ja) * | 2012-11-07 | 2014-05-15 | Necフィールディング株式会社 | スケジューリング装置、スケジューリングシステム、スケジューリング方法、及びプログラム |
JP6201382B2 (ja) * | 2013-04-05 | 2017-09-27 | 株式会社ソシオネクスト | 論理検証装置及び論理検証方法 |
US9721058B2 (en) * | 2015-04-13 | 2017-08-01 | Synopsys, Inc. | System and method for reactive initialization based formal verification of electronic logic design |
US10592212B2 (en) | 2016-10-21 | 2020-03-17 | Samsung Electronics Co., Ltd. | System and method for software development based on procedures |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1040316A (ja) * | 1996-07-18 | 1998-02-13 | Toshiba Corp | 図式のテスト支援装置及びテスト支援方法 |
JP2001113993A (ja) | 1999-10-18 | 2001-04-24 | Tachi S Co Ltd | シート・トラック |
JP2001222429A (ja) | 2000-02-09 | 2001-08-17 | Fujitsu Ltd | テスト項目生成支援装置 |
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 |
JP4445480B2 (ja) | 2006-03-23 | 2010-04-07 | 富士通株式会社 | シナリオ生成方法、シナリオ生成プログラム、シナリオ生成装置 |
US7735051B2 (en) * | 2006-08-29 | 2010-06-08 | International Business Machines Corporation | Method for replicating and synchronizing a plurality of physical instances with a logical master |
-
2010
- 2010-02-09 US US12/702,576 patent/US8365112B2/en active Active
- 2010-05-25 JP JP2010119167A patent/JP5540887B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US8365112B2 (en) | 2013-01-29 |
JP2011060267A (ja) | 2011-03-24 |
US20110061035A1 (en) | 2011-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5540887B2 (ja) | 設計検証プログラム、設計検証方法および設計検証装置 | |
JP4464665B2 (ja) | 高速チップ管理システム | |
JP4619245B2 (ja) | 設計検証方法、装置、論理及びシステム | |
US6637013B1 (en) | Method and system for automating design rule check error correction in a CAD environment | |
US7454399B2 (en) | Application integration system and method using intelligent agents for integrating information access over extended networks | |
US20030023413A1 (en) | Generalized software modeling tool | |
US7644370B2 (en) | Method of componentisation of a graphically defined formula | |
JP5350428B2 (ja) | 自動プログラム生成装置、方法及びコンピュータプログラム | |
KR100672894B1 (ko) | 제품 계열 아키텍처의 표현 및 검증 장치와 그 방법 | |
JP2011165166A (ja) | 設計検証装置および設計検証プログラム | |
US7793271B2 (en) | Bi-directional product development process simulation | |
US8527254B2 (en) | Simulator engine development system and simulator engine development method | |
JP3888621B2 (ja) | 文書処理システム、文書処理方法及びプログラム | |
US6999910B2 (en) | Method and apparatus for implementing a metamethodology | |
US20040167650A1 (en) | Partial reprojection method and device in three-dimensional CAD system and computer program | |
JP2011044131A (ja) | 設計検証プログラム、設計検証方法および設計検証装置 | |
JP4140917B2 (ja) | 検証作業支援システム及びその方法 | |
US7949509B2 (en) | Method and tool for generating simulation case for IC device | |
US6516306B1 (en) | Model checking of message flow diagrams | |
JP5229223B2 (ja) | ワークフロー定義変更プログラムおよびワークフロー定義変更方法 | |
JP2002203086A (ja) | ワークフロー管理装置、ワークフロー管理方法およびワークフロー管理プログラムを記録した記録媒体 | |
JP2005222371A (ja) | 論理回路の機能検証システムおよび方法 | |
JP5248762B2 (ja) | 設計データ依存関係管理装置、設計データ依存関係管理方法及びプログラム | |
CN103176776A (zh) | 创建元模型的系统和/或方法 | |
KR101205377B1 (ko) | 일시 접근 권한 부여 시스템 및 이를 이용한 일시 접근 권한 부여 방법 |
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 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131220 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140121 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140313 |
|
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: 20140408 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140421 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5540887 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |