トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 ソースプログラム比較情報生成システム
【発明者】 【氏名】池端 伸哉
【住所又は居所】神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウエアエンジニアリング株式会社内

【氏名】西口 真人
【住所又は居所】神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウエアエンジニアリング株式会社内

【要約】 【課題】プログラム開発者が変更内容を適切に把握することのできる比較情報を生成するシステムを提供することを目的とする。

【解決手段】基本比較情報解析部102により判定された変更ブロックについて、詳細比較情報解析部103により各行の変更種別(「修正」「追加」「削除」)を判定する。この判定において、行類似度演算部104により、予約語格納テーブル108を参照し、先頭予約語が一致する変更行と比較行との組合せについて、各組合せ毎に単語単位での一致・不一致に基づく行の類似度を演算する。さらに、当該類似度に基づき、変更ブロックにおける組合せパターン毎の類似度を算出し、その結果に応じて各行についての変更種別(「修正」「追加」「削除」)を判定する。
【特許請求の範囲】
【請求項1】 変更前ソースプログラムに変更を加えた変更後ソースプログラムについて、前記変更前ソースプログラムに対する修正、追加又は削除の変更種別を示す比較情報を生成するシステムであって、前記ソースプログラムに用いられる言語仕様で定義された先頭予約語とその他の予約語とを格納する予約語格納手段と、前記変更前ソースプログラムと変更後ソースプログラムとを行単位で比較して、変更後ソースプログラム側の変更行から構成される変更部分と、当該変更部分に対応する変更前ソースプログラム側の比較行とを抽出する基本比較情報解析手段と、抽出した前記変更行及び比較行から先頭予約語が存在する変更行及び比較行を抽出し、抽出された変更行及び比較行を比較判定し、各判定結果を比較情報を生成し、出力する詳細情報解析手段とを備えることを特徴とするソースプログラム比較情報生成システム。
【請求項2】 前記詳細情報解析手段は、抽出した前記変更行及び比較行から先頭予約語が存在する変更行及び比較行を抽出し、抽出された変更行及び比較行の中で同一の先頭予約語を持つ変更行と比較行との組合せについて変更行の変更種別を修正と判定し、同一の先頭予約語を持たない変更行について変更種別を追加と判定し、同一の先頭予約語を持たない比較行について変更後ソースプログラムにおける変更種別を削除と判定し、各判定結果を比較情報として生成し、出力することを特徴とする請求項1記載のソースプログラム比較情報生成システム。
【請求項3】 前記詳細比較情報解析手段は、前記組合せが複数存在する場合に、各組合せについて単語単位で比較し、前記各組合せにおける単語の一致又は不一致に基づき類似度を算出する類似度演算手段と、当該類似度演算手段により算出された前記類似度に基づき、前記変更種別を修正とする変更行を判定する変更種別判定手段とを備えることを特徴とする請求項1記載のソースプログラム比較情報生成システム。
【請求項4】 前記類似度演算手段は、前記組合せについて、前記単語の一致又は不一致に基づき前記組合せにおける行の類似度を算出する行類似度演算手段と、前記行類似度演算手段により算出された各行の類似度に基づき、前記変更部分全体の類似度を算出する変更部分類似度演算手段とから構成され、前記変更種別判定手段は、前記変更部分類似度演算手段により算出された類似度に基づき前記変更部分において変更種別を修正とする変更行を判定することを特徴とする請求項3に記載のソースプログラム比較情報生成システム。
【請求項5】 前記類似度演算手段は、前記組合せについて、前記予約語格納手段に格納された前記その他の予約語が含まれるか否かを判定し、その他の予約語が含まれる場合その他の予約語の一致又は不一致を判定し、その他予約語が一致する場合に、当該一致に対し重み付けを与えて類似度を算出することを特徴とする請求項3又は請求項4記載ソースプログラム比較情報生成システム。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明は業務プログラムの開発において、ソースプログラムとそのソースプログラムに対して追加、削除、修正などの変更を加えた変更後ソースプログラムとの比較情報を生成するシステムに関する。
【0002】
【従来の技術】従来、業務プログラムの開発の際、変更前ソースプログラムに変更を加えて生成した変更後ソースプログラムについて、どの程度の変更が加えられたかを確認するため、両ソースプログラムを比較した情報を解析するシステムが用いられている。例えば、変更前ソースプログラムと変更後ソースプログラムを比較して、変更の加えられた部分を構成する各行について、修正、追加、削除の種別を示す比較情報を生成する技術については特開平6−195247号公報、特開2000−315153号公報に開示されているように変更前ソースプログラムと変更後ソースプログラムとをそれぞれ行単位で比較することによって、変更前ソースプログラムに対し変更後ソースプログラム側で不一致な行について比較情報を表示することが知られている。
【0003】上記従来技術について図11を用いて説明する。図11は、従来のシステムに基づき生成された比較情報の表示の一例である。変更前ソースプログラム1101と変更後ソースプログラム1102とを行単位で比較して、比較の結果に基づき比較情報1103として、未変更(空欄)部分1104、修正部分1105、追加部分1106、削除部分(図示無し)を分けて表示することが可能であった。この場合、変更部分を構成する変更後ソースプログラムの各変更行とそれに対応する変更前ソースプログラム側の各比較行とをそれぞれ上から順に対応させ、対応する行があるものは修正、対応する行がない変更行は追加、対応する行がない比較行は削除と判定しており、追加又は削除の行数を確認することにより、変更後ソースプログラムにおける行の増減を把握が可能だった。
【0004】
【発明が解決しようとする課題】しかし、前記従来技術はあくまで行単位での比較に基づき比較情報を生成するため、前記比較情報に基づき具体的な変更内容を把握することは必ずしも容易ではなかった。例えば、図11の従来のシステムでの処理の例では修正部分1105の変更前ソースプログラム側の変更行「MOVE“003”〜」と、変更後ソースプログラム側の比較行「PERFORM〜」のように、先頭の予約語(「MOVE」「PERFORM」)が不一致の行を対応させて「修正」としている。この「修正」はそれぞれの先頭の予約語である「MOVE」と「PERFORM」の言葉が不一致であるために生じたことになるが、本来の命令の意味合いを踏まえると、「MOVE」=移動と、「PERFORM」=実行という命令が一致するはずがなく、処理内容が全く異なっている。システムは文言が一致していないから「修正」というコメントを出力することになるが明らかに命令内容が違う場合でも、文言が一致していないと判断し、「修正」というコメントを出力してしまう。そのため、後でプログラム開発者がチェックしたときに「修正」と扱われている行の組合せを比較しても具体的な変更内容は把握が難しく、プログラム開発者が具体的な変更内容を把握しようとすると表示された比較情報に関わらず、変更部分を構成する各変更行と比較行とを画面上で比較し、先頭の予約語の共通する行を探し出す必要があるため、変更内容の把握に多大な労力を要するという問題があった。
【0005】本発明はプログラム開発者が具体的な変更内容を容易に把握することができる適切な比較情報を生成するシステムを提供することを目的とする。
【0006】
【課題を解決するための手段】上記目的を達成するため、本発明は、変更前ソースプログラムに変更を加えた変更後ソースプログラムについて、前記変更前ソースプログラムに対する修正、追加又は削除の変更種別を示す比較情報を生成するシステムであって、前記ソースプログラムに用いられる言語仕様で定義された先頭予約語とその他の予約語とを格納する予約語格納手段と、前記変更前ソースプログラムと変更後ソースプログラムとを行単位で比較して、変更後ソースプログラム側の変更行から構成される変更部分と、当該変更部分に対応する変更前ソースプログラム側の比較行とを抽出する基本比較情報解析手段と、抽出した前記変更行及び比較行から先頭予約語が存在する変更行及び比較行を抽出し、抽出された変更行及び比較行を比較判定し、各判定結果を比較情報を生成し、出力する詳細情報解析手段とを備えることを特徴とする。前記詳細情報解析手段は、抽出した前記変更行及び比較行から先頭予約語が存在する変更行及び比較行を抽出し、抽出された変更行及び比較行の中で同一の先頭予約語を持つ変更行と比較行との組合せについて変更行の変更種別を修正と判定し、同一の先頭予約語を持たない変更行について変更種別を追加と判定し、同一の先頭予約語を持たない比較行について変更後ソースプログラムにおける変更種別を削除と判定し、各判定結果を比較情報として生成し、出力することを特徴とする。また、前記詳細比較情報解析手段は、前記組合せが複数存在する場合に、各組合せについて単語単位で比較し、前記各組合せにおける単語の一致又は不一致に基づき類似度を算出する類似度演算手段と、当該類似度演算手段により算出された前記類似度に基づき、前記変更種別を修正とする変更行を判定する変更種別判定手段とを備えることを特徴とする。また、前記類似度演算手段は、前記組合せについて、前記単語の一致又は不一致に基づき前記組合せにおける行の類似度を算出する行類似度演算手段と、前記行類似度演算手段により算出された各行の類似度に基づき、前記変更部分全体の類似度を算出する変更部分類似度演算手段とから構成され、前記変更種別判定手段は、前記変更部分類似度演算手段により算出された類似度に基づき前記変更部分において変更種別を修正とする変更行を判定することを特徴とする。また、前記類似度演算手段は、前記組合せについて、前記予約語格納手段に格納された前記その他の予約語が含まれるか否かを判定し、その他の予約語が含まれる場合その他の予約語の一致又は不一致を判定し、その他予約語が一致する場合に、当該一致に対し重み付けを与えて類似度を算出することを特徴とする。
【0007】
【発明の実施の形態】以下、本発明の実施の一形態を図面を参照して詳細に説明する。図1は、本発明の一実施の形態に係るソースプログラム比較情報生成システムの概略構成を示すブロック図である。図1で示すように本発明の実施の形態に係るソースプログラム比較情報生成システム100は、変更前の情報としての変更前ソースプログラム200と、変更後の情報としての変更後ソースプログラム300とをシステム内に読み込むソースプログラム読み込み部101と、ソースプログラム読込み部101により読み込んだ変更前ソースプログラム200と、変更後ソースプログラム300とを行単位で比較し、変更後ソースプログラム300側の変更行とこれに対応する変更前ソースプログラム200側の比較行を抽出する基本比較情報解析部102と、基本比較情報解析部102の比較結果に基づき各変更行毎の変更種別情報を生成する詳細比較情報解析部103と、この詳細比較情報解析部103を構成する行類似度演算部104、ブロック類似度演算部105及び変更種別判定部106と、比較結果表示部107とを備えている。また、行類似度演算部104の演算処理において用いられる予約語情報を格納した予約語格納格納テーブル108を有している。
【0008】詳細比較情報解析部103は基本比較情報解析部102の行単位での比較により抽出された変更行及び比較行について、さらに各変更行と比較行との組合せ毎に単語単位で比較し、予約語格納テーブル108に格納された先頭予約語及びその他予約語を考慮して、各変更行についての変更種別(「修正」「追加」「削除」)を判定する。予約語格納テーブル108は図2に示すように、予約語1081と、各予約語が先頭予約語かその他の予約語かを識別するための種別ID1082の各情報を有している。予約語格納テーブルには図2に記載されたものだけに限られず、多様な予約語が存在している。なお、**Nには任意の数値がはいることを示す。ここで、予約語とは、プログラム言語の仕様で定義されたものであり、先頭予約語とは、文法上、各行の先頭に位置する一定の命令語等である。本実施の形態では、前記先頭予約語の一致又は不一致により、各変更行を「修正」扱いとするか否かの判定を行っている。すなわち、異なる先頭予約語を持つ行の組合せ(例えば、「IF〜」文と、「PERFORM〜」文)はプログラムの文法上全く異なるため、「修正」ではなく、「追加」又は「削除」として扱うこととする。また、予約語については、行類似度の算出に際し、重みづけを与えることとしている。
【0009】詳細比較情報解析部103を構成する行類似度演算部104は、変更ブロック内の各変更行の組合せについて、単語単位での比較に基づく類似度の算出を行う。ブロック類似度演算部105は行類似度演算部104で算出された各組合せ毎の行の類似度に基づき、各変更ブロックにおける組合せパターンの全てについて、変更ブロック全体としての類似度の算出を行う。変更種別判定部106は変更ブロック全体の類似度の算出結果に基づき、最適な組合せパターンを判定し、当該組合せパターンに従って、各変更行毎の変更種別を比較結果表示部107に表示する。
【0010】以上のように構成されたソースプログラム比較情報生成システム100により、比較情報を生成する方法について、図面を用いて説明する。図1のソースプログラム読込部101により、変更前ソースプログラム200と、変更後ソースプログラム300とを読み込む。次に基本比較情報解析部102により、行単位での一致・不一致を比較して変更行及び比較行を抽出し、前記変更行又は比較行から構成される変更部分を示す変更ブロックとその他の未変更ブロックとに分類する。図3は未変更ブロックと変更ブロックを示す図である。201は変更前ソースプログラム200側の未変更ブロックを示し、202は変更ブロックを示す。同様に301は変更後ソースプログラム300の未変更ブロックを示し、302は変更後ソースプログラムの変更ブロックを示す。
【0011】変更ブロック202を構成する各比較行と変更ブロック302を構成する各変更行とについて詳細比較情報解析部103により詳細比較情報を生成する。詳細比較情報の生成においては行類似度演算部104により、変更ブロック202,302内の比較行と変更行との組合せ毎に各行の類似度の算出を行う。
【0012】図4〜6は各行の類似度の算出方法を示す図であり、図4は行組合せ毎の比較処理を説明する図である。類似度の算出は図4に示すように、変更ブロック202の各比較行と、変更ブロック302の各変更行との組合せの全てについて行うことになるが、その前にまず、図5で示されるように類似度の算出を行う行を対象言語の文法に応じてそれぞれの命令文、処理文を単語単位に分解し、分解した単語が予約語であるか否かを予約語格納テーブル108により判定する。予約語が含まれる場合には、予約語格納テーブル108の種別ID1082により先頭予約語かその他の予約語であるかどうかを判定する。図5は単語単位での比較処理結果の一例を示す図である。図5の比較行501を単語単位に分解する。「MOVE」という単語が先頭予約語になるかどうかを判定する。図2の予約語格納テーブル108内に「MOVE」は先頭予約語 種別ID“1”が付されているため、単語「MOVE」は先頭予約語503であることがわかる。次に“003”は予約語格納テーブル108ではその他の予約語 種別ID“2”が付与されているため、その他の予約語504であることがわかる。同じように他の単語についても図2の予約語格納テーブル108を参照することによって、その単語が予約語であるかどうかの判定ができる。この判定結果に基づき、変更前ソースプログラム側の比較行501と、変更後ソースプログラム側の変更行502とにおける各単語を、先頭予約語503、その他予約語504、その他単語505に区別する。さらに比較行501における各単語と変更行502における各単語との一致・不一致を判定し、その結果に基づき、先頭予約語数,先頭予約語一致数,その他予約語数,その他予約語一致数,その他単語数,その他単語一致数をそれぞれをカウントして単語数情報を求める。例えば、図5の例では単語数情報が、先頭予約語数=2、先頭予約語一致数=1、その他予約語数=2、その他予約語一致数=1、その他単語数=4、その他単語一致数=1となる。各行毎の処理を図4に示すように、変更ブロック202の各比較行と、変更ブロック302の各変更行との組合せの全てについて行う。次にこの単語数情報に基づき、所定の計算式により各組合せ毎の類似度を算出する。
【0013】図6は全ての組合せについて類似度を算出した結果を一覧表とした行類似度対応表600を示す図である。表内の行が変更前ソースプログラム200側の何行目かを示し、列が変更後ソースプログラム300側の何行目かを示し、表内の数値が各組合せ毎の類似度を示す。なお、行類似度対応表600において、「−1.000」は先頭予約語の不一致な行であり、「修正」扱いをしない組合せを示している。
【0014】図7は行類似度の算出処理手順を示すフローチャートである。変更ブロック内の比較する2つの行について予約格納テーブル108に格納された先頭予約語が含まれ、かつ、その先頭予約語が不一致であるか否かを判定する(ステップ701)。先頭予約語が不一致である場合には類似度を「−1.000」として(ステップ702)、他の単語についての類似度の算出を行わずに次のステップ(ステップ711)に進む。
【0015】いずれか一方又は双方に先頭予約語が含まれないか、又は、先頭予約語が一致する場合には、その他予約語及びその他単語の双方があるか否かを判定し(ステップ703)、双方がある場合には、以下の式により類似度を算出する(ステップ704)。
【数1】

この場合、予約語一致数とその他単語一致数が大きいほど類似度が大きくなる。ここで、式中の係数「0.4」「0.6」は、予約語の一致に比べ、その他の単語の一致をより高く評価することを意味している。この係数はプログラム言語の性質等に応じて適宜定めることができる。
【0016】その他予約語又はその他単語のいずれか一方が無い場合には、その他予約語のみか否かを判定し(ステップ705)、その他予約語のみである場合には、以下の式により類似度を算出する(ステップ706)
【数2】

【0017】その他予約語が無い場合にはその他単語のみか否かを判定し(ステップ707)その他単語のみがある場合には、以下の式により類似度を算出する(ステップ706)。
【数3】

【0018】その他単語が無い(ステップ709)場合又は上述のいずれかの式により類似度を算出した(ステップ704,706,708)場合には、先頭予約語の一致に基づく予約語を算出するため、先頭予約語があるか否かを判定し(ステップ709)、先頭予約語がある場合には、さらに以下の式により類似度を算出する(ステップ710)。
【数4】

先頭予約語がある場合としては、一致する先頭予約語のみがある場合、一致する先頭予約語とその他予約語があり、その他単語が無い場合、一致する先頭予約語とその他単語があり、その他予約語が無い場合が該当する。
【0019】以上のように算出された結果、類似度について、0より小さいか否かを判定し、0より大きい場合には次式により類似度を算出し、処理を終了する。
【数5】

このように、類似度を二乗することにより、各行組合せ毎の類似度の差を大きいなものとすることができる。
【0020】一方、0より小さい場合には、次式により類似度をさらに算出し、処理を終了する。
【数6】

【0021】例えば、図5に示す例では、まず、図7のステップ704により次式に示すように類似度が算出される。
【数7】

算出された類似度について、ステップ710により次式に示すように類似度が算出される。
【数8】

さらに、ステップ712により、算出された類似度が二乗され、ソースプログラム側の1行目と、変更後ソースプログラム側の2行目との組合せについての類似度が「0.552」として算出されることとなる。
【0022】以上の類似度算出処理を全ての組合せについて行い、その結果に基づき図6に示す行類似度対応表600を生成する。生成された行類似度対応表600に基づき、変更ブロック内における組合せパターン毎にブロック類似度の算出処理を行い、当該類似度が最大になる組合せパターンを求める。
【0023】ブロック類似度の算出処理では、まず算出処理を行う組合せパターンを決定し、当該組合せパターンについてブロック類似度の算出を行う。図8は、ブロック類似度の算出処理を行う組合せパターンの一例を示す図である。この図に示すように変更前ソースプログラム側の1行目と変更後ソースプログラム側の2行目を対応付け、また、変更前ソースプログラム側の2行目と変更後ソースプログラム側の4行目を対応付けた組合せパターンについて説明する。
【0024】図8に示すようにソースプログラム側の変更ブロック202と変更後ソースプログラム側の変更ブロック302とで対応付けのされた行は「修正」扱いの行801、マスタソース側において対応付けのされていない行は「削除」扱いの行802、変更後ソース側において対応付けのされていない行は「追加」扱いの行803を示している。本実施の形態では、ブロック類似度を、「修正」扱いの行801についての組合せ毎の類似度と、追加行数、削除行数、修正行数とに基づいて算出することとしている。このブロック類似度の算出には次式を用いる。
【数9】

上記式の分母は追加行数、削除行数、修正行数nの和で求められ、これは、変更前ブロック総行数、変更後ブロック総行数の和から修正行数nの差を取ったものと等しいものとなる。すなわち修正行数が多いほど分母は小さくなり、類似度は大きくなる。また、分子は修正行数n個分の行類似度の和である。
【0025】図8の例では削除行数=1、追加行数=3、修正行数=2、分子=1.104となり、これらの値を上記式に代入することによって、以下のようにブロック類似度が求まる。
【数10】

【0026】ブロック類似度の算出を全ての行組合せパターンについて行う。値が最も大きいパターンが、ソースプログラムの変更量を最も少なくできる対応付けとなる。
【0027】図9は図8で示される行組合せパターンの全てについて、ブロック類似度の算出及び比較を行う処理を示すフローチャートである。行組合せパターンにおける先頭予約語判断を行い(ステップ901)、当該パターンにおいて行類似度が「−1.000」となっているもの、すなわち先頭予約語が不一致であるものが含まれている場合には、ブロック類似度の算出を行わずに演算処理を終了する。先頭予約語が不一致な行については対応付けをしないことを示す。
【0028】行組合せパターンについて、前述のブロック類似度演算を行い(ステップ902)、算出されたブロック類似度と、記憶手段に格納された今までのブロック類似度との大小比較を行い(ステップ903)、今までのブロック類似度より大きいと判断された場合はその行組合せパターンを記憶装置に記憶され、ブロック類似度の値が最大となる行組合せパターンが記憶装置に記憶される。(ステップ904)
【0029】以上の処理を全ての行組合せパターンについて再帰的に繰り返して行う。この繰り返し処理では変更前ソースプログラム200側の行番号を制御し、変更前ソースプログラム200側の変更ブロック(以下、「マスタブロック」とする)の現在行(マスタブロック現在行L)の次の行、すなわちL+1行目からマスタブロックの総行数(N行目)までの繰り返しを行うとともに、マスタブロック現在行記憶変数iに現在行を記憶する(ステップ905)。
【0030】また、変更後ソースプログラム300側の行番号を制御し、変更後ソースプログラム300側の変更ブロック(以下、「変更後ブロック」とする)の現在行(変更後ブロック現在行R)の次の行、すなわちR+1行目からマスタブロックの総行数(M行目)までの繰り返しを行うとともに、マスタブロック現在行記憶変数jに現在行を記憶する(ステップ906)。
【0031】さらに、全ての行組合せパターンの再帰呼び出しを行う。この際、ステップS905及びステップ906で記憶したi,jをそれぞれL,Rに代入して再帰呼び出しに渡し、再帰処理を行う。
【0032】全ての組合せパターンについて繰り返し処理を行うこととなる(ステップ905〜ステップ909)。
【0033】以上の処理の結果、ブロック類似度が最大となった組合せパターンに基づき、変更種別判定部106は、変更ブロック202,302の各行について、変更種別の判定を行う。具体的には前記組合せパターンにおいて、比較行と変更行とが対応付けされている場合は「修正」、対応付けのされていない比較行は「削除」、対応付けのされていない変更行は「追加」と判定する。
【0034】図10は本実施の形態に係るソースプログラム変更情報生成システム100の比較結果表示部107に変更情報を表示した一例を示す図である。ソースプログラム1001と、変更後ソースプログラム1002との変更部分の各行について比較情報1003が表示され、基本比較情報解析部101及び詳細比較情報解析部102の判定結果に応じて、未変更部分1004と、修正部分1005と、追加部分1006と、削除部分1007とが表示される。
【0035】なお、本発明は上記実施の形態に限られるものではなく、予約語及び演算処理に用いる数式等は、言語等に応じて適宜設定可能なものである。
【0036】
【発明の効果】本発明によれば、変更前ソースプログラムと、変更後ソースプログラムとの比較情報の生成システムにおいて、単語単位で行組合せを解析し、予め設定された先頭予約語の一致、不一致に基づき、各行について修正として扱うか否かを判定することとしたので、先頭の命令語等に基づいて適切な変更種別情報を提供することができる。そのため、プログラム開発者は、前記変更種別情報に基づき両ソースプログラムを比較することにより、変更内容を容易に把握することができる。また、先頭予約語の一致した行の組合せ毎に類似度を算出し、当該類似度に基づき変更種別を判定することとしたので、先頭予約語の一致する組合せが複数ある場合に、ソースプログラムの変更量が最も少なくなる行を対応付けることができ、より適切な変更種別情報を提供することができる。また、前記組合せ毎の類似度に基づき、組合せパターン毎のブロック類似度を算出し、その算出結果に応じて変更種別の判定を行うこととしたので、変更ブロック全体として最もソースプログラムの変更量の少ない組合せパターンについての比較情報を得ることができる。また、類似度の算出において、一定の予約語について重み付けをすることにより、プログラム言語に応じて、より適切な変更種別の判定を行うことができる。
【出願人】 【識別番号】000233055
【氏名又は名称】日立ソフトウエアエンジニアリング株式会社
【住所又は居所】神奈川県横浜市鶴見区末広町一丁目1番43
【出願日】 平成14年3月26日(2002.3.26)
【代理人】 【識別番号】100088720
【弁理士】
【氏名又は名称】小川 眞一
【公開番号】 特開2003−280903(P2003−280903A)
【公開日】 平成15年10月3日(2003.10.3)
【出願番号】 特願2002−86873(P2002−86873)