(57)【要約】【課題】記述の自由度が高い言語による記述データから生成されたデータベース間の差分を求めることのできるデータベース比較装置を提供する。【解決手段】データベース比較装置１は、読み込む読み込み部１１が、ディレクトリ構造を有するデータベース１０１、１０２、１０３、・・・のレコードを読み込み、正規化部１２が、その読み込まれたレコードを、そのレコードが属するディレクトリごとに定められた標準形式のデータに変換して、正規化レコードとして正規化データベース２０１、２０２、２０３、・・・へ格納し、ディレクトリ指定部１４により指定されたディレクトリに対して、比較部１３が、正規化データベース２０１、２０２、２０３、・・・に格納された正規化レコードをディレクトリごとに比較し、差分抽出部１５が、比較部１３の比較結果から正規化データベース２０１、２０２、２０３、・・・間の差分を抽出する。【選択図】図１
2008243053.tif 000002
【特許請求の範囲】
【請求項１】
記述の自由度が高い記述言語で記述された記述データから生成されたディレクトリ構造を有するデータベースのレコードを読み込む読み込み手段と、
前記読み込み手段により読み込まれた前記レコードをその属するディレクトリごとに定められた標準形式のデータに変換して正規化レコードを生成する正規化手段と、
複数の前記データベースから生成されたそれぞれの前記正規化レコードをディレクトリごとに比較する比較手段と、
前記比較手段による比較を行うディレクトリを指定するディレクトリ指定手段と、
前記比較手段の比較結果から正規化された前記複数のデータベース間の差分を抽出する差分抽出手段と
を有することを特徴とするデータベース比較装置。
【請求項２】
前記正規化手段が、
前記複数のデータベースの比較を行うときに、１つのデータベースは予め正規化しておき、他のデータベースは、前記比較手段による比較を行うときに前記ディレクトリ指定手段により指定されたディレクトリのみを順次正規化する
ことを特徴とする請求項１に記載のデータベース比較装置。
【請求項３】
前記差分抽出手段が、
１つのデータベースを基準データベースとし、他のデータベースと前記基準データベースとの差分をそれぞれ抽出する
ことを特徴とする請求項１または２に記載のデータベース比較装置。
【請求項４】
前記差分抽出手段が、
前記正規化レコードと前記記述データとの対応関係を示す参照テーブルを備え、
前記参照テーブルにもとづいて、前記差分を対応する記述データに変換して表示する
ことを特徴とする請求項１乃至３のいずれか１項に記載のデータベース比較装置。
【請求項５】
前記記述言語が、
ＩＥＥＥ制定の標準テストインターフェース言語ＳＴＩＬである
ことを特徴とする請求項１乃至４のいずれか１項に記載のデータベース比較装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース比較装置に関し、特に、記述の自由度が高い言語によって記述された記述データから生成されたデータベース間の比較を行うデータベース比較装置に関する。
【背景技術】
【０００２】
ＬＳＩのテストデータを記述する言語として、ＩＥＥＥ標準のテストインターフェース言語ＳＴＩＬ（Standard  Test  Interface  Language）がある。このＳＴＩＬは、記述の自由度が高く、同じテスト内容であっても、様々な表現形式で記述することができる。そのため、作成者の好みの形式で記述することができ、テストデータの作成が容易である。しかし、その反面、それぞれの表現形式に応じた記述書式を守らなければならず、記述ミスを犯す可能性も高くなる。
【０００３】
そこで、従来、ＳＴＩＬのような記述の自由度が高い言語で作成されたデータに対しては、パーサーによる構文解析を行い、記述ミスを検出することが行われている（例えば、特許文献１参照。）。
【０００４】
また、このようなパーサーでは、もとの記述データを、データの構造が共通化されたデータベースに変換することが行われる。
【０００５】
このようなパーサーによる構文解析により、ＳＴＩＬで記述されたテストデータの記述ミスの検出は可能である。しかし、パーサーでは、異なる記述形式で記述された２つの記述データがあったときに、その２つの記述データに同じテスト内容が記述されているかどうかを判定することはできない。
【０００６】
また、例えば、ＬＳＩにＩＰ（Intellectual  Property）が組み込まれていて、そのＬＳＩ用にＩＰのテストデータがカスタマイズされているような場合、そのＩＰの標準のＳＴＩＬ記述データと、カスタマイズされたＳＴＩＬ記述データとの差分を、パーサーでは抽出することできない。このような場合には、２つの記述データの差分は、目視による記述の解読と比較を人手作業で抽出するしかない、という問題があった。
【特許文献１】特開２００５−２７４４５１号公報  （第５−６ページ、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
そこで、本発明の目的は、記述の自由度が高い言語による記述データから生成されたデータベース間の差分を求めることのできるデータベース比較装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一態様によれば、記述の自由度が高い記述言語で記述された記述データから生成されたディレクトリ構造を有するデータベースのレコードを読み込む読み込み手段と、前記読み込み手段により読み込まれた前記レコードをその属するディレクトリごとに定められた標準形式のデータに変換して正規化レコードを生成する正規化手段と、複数の前記データベースから生成されたそれぞれの前記正規化レコードをディレクトリごとに比較する比較手段と、前記比較手段による比較を行うディレクトリを指定するディレクトリ指定手段と、前記比較手段の比較結果から正規化された前記複数のデータベース間の差分を抽出する差分抽出手段とを有することを特徴とするデータベース比較装置が提供される。
【発明の効果】
【０００９】
本発明によれば、記述の自由度が高い言語による記述データから生成されたデータベース間の差分を求めることができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施例を図面を参照して説明する。
【実施例１】
【００１１】
本発明の実施例１に係るデータベース比較装置は、記述の自由度が高い言語により記述された記述データからパーサーなどにより生成された複数のデータベース間の差分を、データの差異が比較しやすいように各データベースを正規化した上で求める装置である。
【００１２】
図１は、本実施例のデータベース比較装置１の構成の例を示すブロック図である。
【００１３】
本実施例のデータベース比較装置１は、後述のディレクトリ構造を有するデータベース１０１、１０２、１０３、・・・のレコードを読み込む読み込み部１１と、読み込み部１１により読み込まれたレコードを、そのレコードが属するディレクトリごとに定められた標準形式のデータに変換して正規化レコードを生成し、正規化データベース２０１、２０２、２０３、・・・へ格納する正規化部１２と、正規化データベース２０１、２０２、２０３、・・・に格納された正規化レコードをディレクトリごとに比較する比較部１３と、比較部１３による比較を行うディレクトリを指定するディレクトリ指定部１４と、比較部１３の比較結果から正規化データベース２０１、２０２、２０３、・・・間の差分を抽出する差分抽出部１５と、を有する。
【００１４】
図２は、データベース１０１、１０２、１０３、・・・の構成の例を示す図である。
【００１５】
データベース１０１、１０２、１０３、・・・は、階層的なディレクトリ構造を有する。データベース１０１、１０２、１０３、・・・に含まれるデータは、ディレクトリに分類されて格納される。それぞれのディレクトリには、ディレクトリ名が付され、そのディレクトリの下にレコードが格納される。
【００１６】
それぞれのレコードには、そのレコードに含まれるデータを識別するための＜識別子＞、レコードのデータ長を表す＜データ長＞、実際のデータである＜実データ＞が記載される。なお、＜実データ＞を別の領域に格納し、その格納位置を示す＜アドレス＞を＜実データ＞の代わりに記載するレコードもある。
【００１７】
次に、本実施例のデータベース比較装置１における差分抽出動作の実行手順について説明する。
【００１８】
図３は、データベース比較装置１が、データベース間の差分を抽出するときの実行手順を示すフロー図である。
【００１９】
データベース比較装置１は、差分抽出動作を開始すると、まず、読み込み部１１が、データベース１０１、１０２、１０３、・・・のレコードの読み込みを行う（ステップＳ０１）。
【００２０】
続いて、正規化部１２が、読み込まれたレコードの正規化処理を行う（ステップＳ０２）。ここで、正規化処理とは、そのレコードが属するディレクトリに対して予め定められた標準形式に合うように、読み込まれたレコードのデータを変換する処理のことを指す。ディレクトリに対して予め定められる標準形式は、ディレクトリによって異なる。
【００２１】
正規化部１２は、正規化処理を行ったレコードを正規化レコードとして、正規化データベース２０１、２０２、２０３、・・・へ格納する（ステップＳ０３）。
【００２２】
正規化データベース２０１、２０２、２０３、・・・への正規化レコードの格納が終了すると、次に、比較部１３が、正規化データベース２０１、２０２、２０３、・・・間で正規化レコードの比較を行う。このとき、比較は、ディレクトリごとに行う。また、比較は、ディレクトリ指定部１４で指定されたディレクトリに対して行う。
【００２３】
そこで、比較部１３は、ディレクトリ指定部１４で指定されたディレクトリの正規化レコードを正規化データベース２０１、２０２、２０３、・・・から読み出す（ステップＳ０４）。
【００２４】
続いて、比較部１３は、読み出したディレクトリの正規化レコードのデータをディレクトリの先頭のレコードから１つずつレコード単位で比較する（ステップＳ０５）。
【００２５】
このとき、例えば、データベース１０１を基準データベースとし、この基準のデータベース１０１を正規化した正規化データベース２０１に対して、他の正規化データベースを１つずつ比較するようにする。
【００２６】
比較部１３による比較により正規化データベース２０１に対する相違が検出されると、差分抽出部１５は、相違が検出された正規化データベースと基準のデータベースである正規化データベース２０１との差分を抽出する（ステップＳ０６）。
【００２７】
ここで、１つのディレクトリの全レコードの比較が終了したかどうかを判定し（ステップＳ０７）、終了していなければ（ＮＯ）、ステップＳ０５へ戻って、次のレコードの比較を行う。
【００２８】
一方、終了していれば（ＹＥＳ）、ディレクトリ指定部１４により指定されたディレクトリの比較が総て終了しているか判定し（ステップＳ０８）、終了していなければ（ＮＯ）、ステップＳ０４へ戻って、次のディレクトリの正規化レコードの読み出しを行う。
【００２９】
一方、終了していれば（ＹＥＳ）、差分抽出部１５は、差分抽出結果を出力し（ステップＳ０９）、本フローの動作を終了する。
【００３０】
次に、図４〜図７に、記述言語としてＳＴＩＬを例にとり、ＳＴＩＬで記述されたデータ（ＳＴＩＬ記述データ）から生成されたデータベースと、そのデータベースに対してデータベース比較装置１が生成する正規化データベースの例を示す。
【００３１】
ＳＴＩＬは、ＬＳＩのテスト装置に与えるテストデータを記述する言語であるので、ＳＴＩＬ記述データには、ＬＳＩのピンに関する記述と、入力するテストパターンに関する記述が含まれる。そこで、ＳＴＩＬ記述データからデータベースを生成する際は、「ピン定義」や「タイミング定義」などをディレクトリとして、データベースを構築する。
【００３２】
図４では、ピン定義のディレクトリを例にとって、正規化処理の例を示す。
【００３３】
図４（ａ）には、ピン定義を記述したＳＴＩＬ記述データの例として、ＳＴＩＬ記述データＡおよびＳＴＩＬ記述データＢ、という２つの記述例を示す。
【００３４】
図４（ｂ）には、上述の２つのＳＴＩＬ記述データから生成されたデータベースの中のディレクトリ「ピン定義」に含まれるレコードの例を示す。ここで、ＳＴＩＬ記述データＡからデータベース１０１が生成され、ＳＴＩＬ記述データＢからデータベース１０２が生成されたものとする。
【００３５】
データベース１０１および１０２では、ＳＴＩＬ記述データＡおよびＢに記述された順番に従って、各ピンに関するレコードが配列される。
【００３６】
図４（Ｃ）には、このデータベース１０１および１０２に対してデータベース比較装置１がそれぞれ正規化処理を行って生成した正規化データベース２０１および２０２の例を示す。
【００３７】
ここでは、ディレクトリ「ピン定義」に対する正規化が、「ピン名称」の「アルファベット降順」配列を「標準形式」とするものと定められているときに、この「標準形式」に合うように、ディレクトリ内のレコードの配列を並べ替えた例を示す。
【００３８】
このように、正規化データベース２０１および２０２のレコードの配列を「標準形式」に揃えることにより、比較部１３の比較処理に要する時間を短縮することができる。
【００３９】
図５および図６では、タイミング定義のディレクトリにおける正規化処理の例を示す。
【００４０】
図５（ａ）には、ＳＴＩＬ記述データＡに記述されたタイミング定義に関する記述の例、図６（ａ）には、ＳＴＩＬ記述データＢに記述されたタイミング定義に関する記述の例を示す。
【００４１】
この２つのＳＴＩＬ記述データの「Pattern」記述を見比べた場合、この２つの記述データからは、異なる波形が生成されるように見える。そこで、この２つのＳＴＩＬ記述データから生成される波形が同一であるか否かの判定に、本実施例のデータベース比較装置１を用いる。
【００４２】
図５（ｂ）には、ＳＴＩＬ記述データＡからデータベース１０１が生成されたとしたとき、その中のディレクトリ「タイミング定義」に含まれるレコードの例、図６（ｂ）にはＳＴＩＬ記述データＢからデータベース１０２生成されたとしたとき、その中のディレクトリ「タイミング定義」に含まれるレコードの例を示す。
【００４３】
このデータベース１０１および１０２では、ＳＴＩＬ記述データＡおよびに記述された波形がＲＺ（Return to Zero）形式であることが記述されているが、このままでは、データベース１０１に記載された波形とデータベース１０２に記載された波形が同一であるかどうかの判定が困難である。そこで、このデータベースに対して、正規化の「標準形式」を「イベント形式」とする正規化処理を行う。
【００４４】
図５（ｃ）には、データベース１０１に対して、上述の正規化処理を行って生成した正規化データベース２０１の例、図６（ｃ）には、データベース１０２に対して、上述の正規化処理を行って生成した正規化データベース２０２の例を示す。
【００４５】
正規化処理の結果、データベース２０１および２０２のディレクトリ「タイミング定義」のレコードの比較が容易になる。
【００４６】
この例では、正規化データベース２０１および２０２のディレクトリ「タイミング定義」のレコードは同一内容となり、データベース比較装置１から差分データは出力されない。
【００４７】
これにより、一見異なる波形を記述しているように見えたＳＴＩＬ記述データＡとＳＴＩＬ記述データＢが、実は、同じ波形を記述していたことがわかる。
【００４８】
図７では、別のＳＴＩＬ記述データのタイミング定義のディレクトリに対する正規化処理の例を示す。
【００４９】
図７（ａ）に、「Pattern」記述が、図５（ａ）に示したＳＴＩＬ記述データＡと同じであるＳＴＩＬ記述データＣを示す。一見すると、このＳＴＩＬ記述データＣは、ＳＴＩＬ記述データＡと同じ波形を記述しているように見える。
【００５０】
そこで、図７（ｂ）に示すデータベース１０３をこのＳＴＩＬ記述データＣから生成し、データベース比較装置１により正規化処理を行う。
【００５１】
図７（ｃ）は、この正規化処理によりデータベース比較装置１で生成された正規化データベース２０３の例である。
【００５２】
この正規化データベース２０３を図５（ｃ）に示す正規化データベース２０１と比較すると、その内容は異なる。そこで、データベース比較装置１から差分データが出力される。
【００５３】
これにより、一見同じ波形を記述しているように見えたＳＴＩＬ記述データＡとＳＴＩＬ記述データＣが、実は、異なる波形を記述していたことがわかる。
【００５４】
図８は、データベース比較装置１から出力される差分抽出結果の表示例を示す。
【００５５】
データベース１０１を基準データベースとして比較を行った場合、比較対象のデータベースごとに、データベース１０１との差分が、正規化表現された形で表示される。
【００５６】
このような本実施例によれば、記述の自由度が高い言語による記述データから生成されたデータベース間の差分を正規化表現された形で得ることができる。これにより、目視チェックでは多大な時間を要する記述データ間の異同の確認を短時間で正確に行うことができる。
【実施例２】
【００５７】
本発明の実施例２に係るデータベース比較装置は、実施例１のデータベース比較装置１が総てのデータベースに対して正規化データベースを作成していたのに対して、基準のデータベースに対してのみ正規化データベースを作成するものである。
【００５８】
図９は、本実施例のデータベース比較装置２の構成の例を示すブロック図である。本実施例のデータベース比較装置２も、基本的には図１に示した実施例１のデータベース比較装置１と同じ構成を有している。そこで、図９において、図１と同一の機能を有するブロックには図１と同一の符号を付し、ここではその詳細な説明を省略する。
【００５９】
本実施例のデータベース比較装置２が、実施例１のデータベース比較装置１と異なる点は次の通りである。
【００６０】
１つは、基準データベースをデータベース１０１としたときに、正規化部１２が、この基準データベースに対する正規化データベース２０１のみしか生成しないことである。
【００６１】
１つは、比較部１３が比較を行うときに、読み込み部１１が、データベース１０２、１０３、・・・から、ディレクトリ１４で指定されたディレクトリのデータのみを読み込み、正規化部１３が、その読み込まれたデータのみを正規化することである。
【００６２】
この比較動作中に正規化されたデータを、比較動作中、一時的に格納するために、本実施例のデータベース比較装置２は、バッファ部２１を備える。
【００６３】
次に、本実施例のデータベース比較装置２における差分抽出動作の実行手順について説明する。
【００６４】
図１０は、データベース比較装置２が、データベース間の差分を抽出するときの実行手順を示すフロー図である。
【００６５】
データベース比較装置２は、差分抽出動作を開始すると、まず、読み込み部１１が、基準データベースであるデータベース１０１のレコードの読み込みを行い（ステップＳ１１）、正規化部１２が、読み込まれたレコードの正規化処理を行って（ステップＳ１２）、その結果を正規化レコードとして、正規化データベース２０１へ格納する（ステップＳ１３）。
【００６６】
続いて、読み込み部１１が、データベース１０２、１０３、・・・から、ディレクトリ１４で指定されたディレクトリのレコードを読み込み（ステップＳ１４）、正規化部１２が、その読み込まれたレコードを正規化し、バッファ部２１へ格納する（ステップＳ１５）。
【００６７】
続いて、比較部１３が、バッファ部２１へ格納された正規化レコードを、正規化データベース２０１に格納された正規化レコードと、ディレクトリの先頭のレコードから１つずつレコード単位で比較する（ステップＳ１６）。
【００６８】
比較部１３による比較により正規化データベース２０１に対する相違が検出されると、差分抽出部１５が、その差分を抽出する（ステップＳ１７）。
【００６９】
ここで、１つのディレクトリの全レコードの比較が終了したかどうかを判定し（ステップＳ１８）、終了していなければ（ＮＯ）、ステップＳ１６へ戻って、次のレコードの比較を行う。
【００７０】
一方、終了していれば（ＹＥＳ）、ディレクトリ指定部１４により指定されたディレクトリの比較が総て終了しているか判定し（ステップＳ１９）、終了していなければ（ＮＯ）、ステップＳ１４へ戻って、次のディレクトリのレコードの読み出しを行う。
【００７１】
一方、終了していれば（ＹＥＳ）、差分抽出部１５は、差分抽出結果を出力し（ステップＳ２０）、本フローの動作を終了する。
【００７２】
このような本実施例によれば、正規化データベースを基準データベースに対してしか生成しないため、正規化データベースを格納する記憶装置の記憶領域を削減することができる。また、基準データベース以外のデータベースに対しては、指定されたディレクトリのみしか正規化しないため、正規化処理に要する時間を短縮することができる。
【実施例３】
【００７３】
上述の各実施例では、差分抽出結果を正規化表現されたデータベースのレコード形式で出力している。しかし、利用者としては、記述言語で記述した、もとの記述データ上での差分として出力された方がわかりやすい。
【００７４】
そこで、本発明の実施例３に係るデータベース比較装置は、データベースの差分を、もとの記述データの記述に変換して表示するようにする。そのために、本実施例のデータベース比較装置は、実施例１または実施例２の差分抽出部１５に、正規化レコードと記述データとの対応関係を示す参照テーブルを付加し、記述データに変換した差分抽出結果を出力できるようにしたものである。
【００７５】
図１１は、本実施例のデータベース比較装置の差分抽出部１５Ａの構成の例を示すブロック図である。
【００７６】
差分抽出部１５Ａは、正規化レコードと記述データとの対応関係を示す参照テーブル３１と、比較部１３の比較結果から正規化されたデータベースでの差分を抽出する抽出部３２と、抽出部３２から出力された差分データ３３に記載された正規化レコードを参照テーブル３１と照合し、もとの記述データの記述へ変換する変換部３４と、を有する。この変換部３４から、記述データに変換した差分抽出結果が出力される。
【００７７】
図１２に、変換部３４から出力される、記述データに変換した差分抽出結果の表示例を示す。
【００７８】
データベース１０１を基準データベースとして比較を行った場合、比較対象のデータベースごとに、データベース１０１との差分が、もとの記述データの記述へ変換された形で表示される。
【００７９】
このような本実施例によれば、データベースの差分が、そのデータベースを生成するもととなった記述データ上の記述で表示されるため、利用者は、記述データ間の差違を容易に知ることができる。
【図面の簡単な説明】
【００８０】
【図１】本発明の実施例１に係るデータベース比較装置の構成の例を示すブロック図。
【図２】データベースの構成の例を示す図。
【図３】実施例１のデータベース比較装置の実行手順の例を示すフロー図。
【図４】実施例１のデータベース比較装置による正規化処理の例を示す図。
【図５】実施例１のデータベース比較装置による正規化処理の例を示す図。
【図６】実施例１のデータベース比較装置による正規化処理の例を示す図。
【図７】実施例１のデータベース比較装置による正規化処理の例を示す図。
【図８】実施例１のデータベース比較装置の出力表示の例を示す図。
【図９】本発明の実施例２に係るデータベース比較装置の構成の例を示すブロック図。
【図１０】実施例２のデータベース比較装置の実行手順の例を示すフロー図。
【図１１】本発明の実施例３に係るデータベース比較装置の要部の構成の例を示すブロック図。
【図１２】実施例３のデータベース比較装置の出力表示の例を示す図。
【符号の説明】
【００８１】
１、２  データベース比較装置
１１  読み込み部
１２  正規化部
１３  比較部
１４  ディレクトリ指定部
１５、１５Ａ  差分抽出部
２１  バッファ部
３１  参照テーブル
３２  抽出部
３３  差分データ
３４  変換部
【図１】
2008243053.tif 000003
【図２】
2008243053.tif 000004
【図３】
2008243053.tif 000005
【図４】
2008243053.tif 000006
【図５】
2008243053.tif 000007
【図６】
2008243053.tif 000008
【図７】
2008243053.tif 000009
【図８】
2008243053.tif 000010
【図９】
2008243053.tif 000011
【図１０】
2008243053.tif 000012
【図１１】
2008243053.tif 000013
【図１２】
2008243053.tif 000014