JP3577480B2 - Reverse engineering equipment - Google Patents

Reverse engineering equipment Download PDF

Info

Publication number
JP3577480B2
JP3577480B2 JP2002030955A JP2002030955A JP3577480B2 JP 3577480 B2 JP3577480 B2 JP 3577480B2 JP 2002030955 A JP2002030955 A JP 2002030955A JP 2002030955 A JP2002030955 A JP 2002030955A JP 3577480 B2 JP3577480 B2 JP 3577480B2
Authority
JP
Japan
Prior art keywords
program
data
name data
name
table storage
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 - Lifetime
Application number
JP2002030955A
Other languages
Japanese (ja)
Other versions
JP2003233500A (en
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.)
Access Co Ltd
Original Assignee
Access Co 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 Access Co Ltd filed Critical Access Co Ltd
Priority to JP2002030955A priority Critical patent/JP3577480B2/en
Publication of JP2003233500A publication Critical patent/JP2003233500A/en
Application granted granted Critical
Publication of JP3577480B2 publication Critical patent/JP3577480B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、コンピュータを利用して稼動する適用業務システムにおけるデータセットの正確なファイルレイアウトを、該適用業務システムを構成するプログラム毎に把握する、リバースエンジニアリングツールに関する。
【0002】
【従来の技術】
私企業のみならず中央や地方の行政機関など、様々な企業体において、業務の効率化及びサービスレベル向上のために、膨大な規模のコンピュータシステム(適用業務システム)が多数構築され、稼動している。
【0003】
それら適用業務システムは、継続して生じる様々なニーズや、企業体を取り巻く状況の変動により、絶えず更新(変更)されることが、求められている。
【0004】
ところが、特に、古くからコンピュータシステムを所有し維持している企業においては、適用業務システムを構成するプログラムそのものを更新することに、非常に多くの、然も大半の労力が割かれている。プログラムが更新される際には、更なる将来の維持管理作業を円滑に進め得ることを見越して、仕様書を始めとするドキュメントも同期を採って更新されることが一般に強く望まれている。しかし、仕様書(等のドキュメント)の更新が、適用業務システムの更新になかなか追いつかない、というのが多くの企業の現状である。
【0005】
適用業務システムを更新する際には、略必ず、ファイル(データセット)のレイアウトの更新を伴う。かようにファイルのレイアウトの更新の頻度が高いにも拘らず、その内容が適時にファイルレイアウト仕様書(設計書)に反映されている、とは多くの企業において言い難い。最新の内容に維持されている企業であっても、相当に膨大な維持工数が費やされている。
【0006】
ファイルレイアウトは、適用業務システムの開発/保守担当者にとっては、作業上不可欠の資料である。しかし、上記のことから、多数の開発/保守担当者の間で、最新のファイルレイアウトを共有することが困難になっている。
【0007】
【発明が解決しようとする課題】
本発明は、適用業務システムの開発及び保守作業において、実際に存在する実ファイルの最新のファイルレイアウトを、正確に且つ容易に把握する、リバースエンジニアリングツールを提供することを目的とする。
【0008】
【課題を解決するための手段】
本発明は、上記の目的を達成するために為されたものである。本発明に係る請求項1に記載のリバースエンジニアリング装置は、
リポジトリデータベースに記憶されるデータを読み取って利用するコンピュータからなるリバースエンジニアリング装置である。そのリバースエンジニアリング装置において、
リポジトリデータベースは、
装置名称データ、ボリューム名称データ、及びデータセット名称データと、ジョブ名データ、ジョブ内のStep番号、及びStep内のDD番号とが関係付けされ記憶されている第1のテーブル記憶手段と、
ジョブ名データ、ジョブ内のStep番号、及びStep内のDD番号と、DD名称データとが関係付けされ記憶されている第2のテーブル記憶手段と、
ジョブ名データ、及びジョブ内のStep番号と、プログラム名データとが関係付けされ記憶されている第3のテーブル記憶手段と、
プログラム名称データと、DD名称データと、プログラム中のDDが関係する項目の出現開始番号及びプログラム中のDDが関係する項目の出現終了番号とが、関係付けされ記憶されている第4のテーブル記憶手段と、
親(呼出側)プログラム名称データと、子(呼出先)プログラム名称データとが関係付けされ記憶されている第5のテーブル記憶手段と、
プログラム名称データと、プログラム中に宣言されている項目の出現順番号と、項目名称データと、レベル番号、属性データ、オフセット値及びバイト数とが関係付けされ記憶されている第6のテーブル記憶手段とを含み、
第1のテーブル記憶手段、第2のテーブル記憶手段、及び第3のテーブル記憶手段は、定義体データの一つであるジョブ制御言語ソースコードの解析処理により生成されており、第4のテーブル記憶手段、第5のテーブル記憶手段、及び第6のテーブル記憶手段は、定義体データの一つであるプログラムソースコードの解析処理により生成されており、
更に、リバースエンジニアリング装置は、
データセットを特定するデータである装置名称データ、ボリューム名称データ、及びデータセット名称データが入力される入力手段と、
第1のテーブル記憶手段を検索して、入力手段から入力された装置名称データ、ボリューム名称データ、及びデータセット名称データから、ジョブ名データ、ジョブ内のStep番号、及びStep内のDD番号を導出する第1の導出手段と、
第2のテーブル記憶手段を検索して、第1の導出手段により導出されたジョブ名データ、ジョブ内のStep番号、及びStep内のDD番号から、DD名称データを導出する第2の導出手段と、
第3のテーブル記憶手段を検索して、第1の導出手段により導出されたジョブ名データ、及びジョブ内のStep番号から、プログラム名データを導出する第3の導出手段と、
第5のテーブル記憶手段を検索して、第3の導出手段により導出されたプログラム名データを親プログラム名称に当て嵌めその配下の子プログラムの子プログラム名称データを抽出する第4の抽出手段と、
第4のテーブル記憶手段を検索して、第3の導出手段により導出されたプログラム名データ若しくは第4の抽出手段により抽出された子プログラム名称データと、第2の導出手段により導出されたDD名称データとから、プログラム中のDDが関係する項目の出現開始番号及びプログラム中のDDが関係する項目の出現終了番号とを導出する第5の導出手段と、
第6のテーブル記憶手段を検索して、第3の導出手段により導出されたプログラム名データ若しくは第4の抽出手段により抽出された子プログラム名称データと、第5の導出手段により導出されたプログラム中のDDが関係する項目の出現開始番号及びプログラム中のDDが関係する項目の出現終了番号とから、プログラム中に宣言されている項目の出現順番号と、項目名称データと、レベル番号、属性データ、オフセット値及びバイト数とを 取得する第6の取得手段と、
第6の取得手段により取得された、プログラム中に宣言されている項目の出現順番号と、項目名称データと、レベル番号、属性データ、オフセット値及びバイト数から、ファイルレイアウトを編集し出力する編集出力手段とを有し、
データセットを特定するデータである装置名称データ、ボリューム名称データ、及びデータセット名称データが入力手段から入力されれば、当該データセットを入力又は出力するプログラムにおける当該データセットのファイルレイアウトを編集出力手段から出力する。
【0010】
本発明に係る請求項2に記載のコンピュータプログラムは
請求項1に記載のリバースエンジニアリング装置において、データセットを特定するデータである装置名称データ、ボリューム名称データ、及びデータセット名称データとを基にして、
当該プログラムにおける当該データセットのファイルレイアウトを出力する編集出力手段が受け取る、プログラム中に宣言されている項目の出現順番号と、項目名称データと、レベル番号、属性データ、オフセット値及びバイト数を、作成するためのコンピュータプログラムである。
【0012】
本発明に係る請求項3に記載の記録媒体は、
請求項2に記載のコンピュータプログラムを記録する、記録媒体である。
【0013】
【発明の実施の形態】
本発明では、適用業務システム開発及び保守における、リバースエンジニアリングにより生成されるリポジトリが利用される。ここで、「リバースエンジニアリング」は、システムの構成要素(component)とそれらの相互関係を判別し、システムを他の形態に表現し直すか又は高水準のシステム表現を生成することである。更にここでの「リポジトリ」は、適用業務システムでの利用又は操作の対象を記述した情報のデータベースであり、適用業務システムにおいての、データ項目、プログラム、システム資源、及び各種定義体などについてのメタ情報のデータベースである。
【0014】
本発明における「リバースエンジニアリングにより生成されるリポジトリ」は、公知の技術である。後でも説明するように、該リポジトリは、リレーショナルデータベースモデルに従って構築されるのが好ましい(図4及び図6参照)。
【0015】
図9は、本発明に係るリポジトリ14の生成を模式的に示すブロック図である。本発明に係るリポジトリ14は、サブシステム(適用業務システム)の構成要素である、プログラム2、JCL(Job Control Language;ジョブ制御言語)4、COPY句6、DB(データベース)定義部8、及び現行管理データ10などの、各種定義体を元データとする。それらの相互関係を整理し写像する解析処理によって、リポジトリ14が形成される。
【0016】
上記の各種定義体は、記録媒体上にてデータセットを構成する。よって、各種定義体のファイル群を入力ファイルとして、上記の解析処理は行なわれる。この解析処理は、パソコン、ワークステーション、メインフレーム等の、コンピュータにおいて実行され得る。解析処理を行なうコンピュータは特に限定されない。
【0017】
最新の定義体のファイル群を入力ファイルとすれば、適用業務システムの構成要素、それらの相互関係においては、当然ながら、最新のものが写像される。従って、リポジトリを基準にして、システム仕様書、設計書、要件書などのドキュメントを人手を介さず自動的に作出する仕組みを構築すれば、それらドキュメントにおいて確実に最新性が担保され得ることになる。
【0018】
上記の各種定義体の種類は、特に限定されない。例えば、ソースプログラムに係るプログラミング言語は、COBOL、FORTRAN、PL/I、C言語などでもよい。以下では、プログラミング言語をCOBOLとして、且つ処理形態をバッチ処理(を中心)として説明を進める。
【0019】
≪好適な実施の形態≫
上記リポジトリを利用して、適用業務システムにて入出力されるデータセット(ファイル)の個々のものの、ファイルレイアウトを把握する、リバースエンジニアリングツールの好適な実施形態について説明する。該リバースエンジニアリングツールは、パソコン、ワークステーション、メインフレーム等の、コンピュータにおいて、稼動される。
【0020】
実際のファイル(以下、実ファイルと言う。)のファイルレイアウトを把握するにおいては、ソースプログラムだけでは不十分であり、JCLが不可欠となる。プログラム中では、通常、実ファイル名を直接記述せず仮想のファイル名(即ち、当該プログラム内でのみ有効なファイル名)を記述し、JCLにて、その仮想ファイル名と実ファイル名とを関連付けているからである。
【0021】
プログラム内の仮想ファイル名が把握できれば、プログラム内の仮想ファイル名の記述部分を介して、入出力レコード定義部分や変数宣言部分におけるファイルレイアウト記述部分を把握することができる。図2は、実ファイルから(ファイルレイアウトに係る)変数宣言を如何に辿るかを簡略に示す模式図である。
【0022】
図2では、左部にジョブ制御言語(JCL)の簡易な構成例が、更に、右部にCOBOLプログラムの簡易な構成例が、示されている。図2左部から、実ファイル「A01」は、「PGM1」プログラム(又は「PGM1」プログラムが呼出す副プログラム)にて、仮想ファイル「*A」として利用(即ち、入力又は出力)されていることがわかる(副プログラムについては、後で詳述する)。
【0023】
「PGM1」プログラムを確認する。「PGM1」プログラムのソースコードにおいて、仮想ファイル「*A」に係る部分が抽出されれば、「PGM1」プログラムから見た実ファイル「A」のファイルレイアウトが確定可能となる。
【0024】
「PGM1」プログラムでは、「*A」に係る入出力(仮想)ファイル名使用宣言から、
・「入出力命令」部分と、
・「変数宣言」部分と
を検索(抽出)できることになる。「変数宣言」部分から、ファイルレイアウトは一義的に確定され、例えば、パソコンの表示画面に表示できることになる(図1参照)。ここで、上記の「変数宣言」部分は、「入出力命令」にて指定されているデータ項目に関連するものである。従って、COBOLプログラムであるならば、
(ア)READ文、WRITE文で直接使用され、WORKING STORAGE SECTIONに宣言されているデータ項目群、
(イ)FILE SECTIONに宣言されているデータ項目群、
の、2通りのレイアウトが出力される。
【0025】
ジョブ制御言語に指定されているプログラム名は、主プログラムである。ところで、ファイルの利用(入出力)が主プログラムで行なわれず、主プログラムが呼出す副プログラムで行なわれることも多い。本発明に係るリバースエンジニアリングツールにおいては、後で説明するように、主プログラムと副プログラムとを関連付ける情報(テーブル)を参照するので、対象プログラムが副プログラムであっても、洩れなく抽出され得る。
【0026】
一つの実ファイルを利用するプログラムが、複数存在することは、容易に想定され得る。一つの実ファイルを利用する複数のプログラムを夫々辿っていくことによって、複数のプログラムから見た一つの実ファイルに対する複数の(異なる)ファイルレイアウトが、導出されることになる。
【0027】
次に、JCL及びプログラムから作成されるリポジトリ(テーブル)を用いて、一つの実ファイルに係るファイルレイアウトを作成しコンピュータ画面に出力する手順を示す。
【0028】
図3は、ジョブ制御言語のソースコードのひな型の例である。図4は、図3のソースコードから作成されるリポジトリ(テーブル)である。(1)は「ジョブとデータセットの関係」(tblDataset_JOB)のテーブルであり、・装置名称、
・ボリューム名称、
・データセット名称、
・ジョブ名、
・ジョブ内のStep番号(何番目のステップか)、
・Step内のDD番号(何番目のDDか)、
に関するデータをその内容として保持する。夫々の項目名は、図4(1)に示すように、「Unit」、「Volume」、「DSName」、「Job」、「StepNum」、及び「DDNum」である。
【0029】
ここで、周知のように、「DD」は「Dataset Definition(データセット定義)」のことであって、JCL中のDD行の「DD」の直前には、プログラムにおける上記の「仮想ファイル」名が記述される。
【0030】
図4(2)は「DD情報」(tblDD)のテーブルであり、
・ジョブ名、
・ジョブ内のStep番号(何番目のステップか)、
・Step内のDD番号(何番目のDDか)、
・データセット名称、
・DD名称、
に関するデータをその内容として保持する。夫々の項目名は、図4(2)に示すように、「Job」、「StepNum」、「DDNum」、「DSName」、及び「DD」である。
【0031】
図4(3)は「ジョブとステップとの関連」(tblSTEP)のテーブルであり、
・ジョブ名、
・ジョブ内のStep番号(何番目のステップか)、
・プログラム名、
に関するデータをその内容として保持する。夫々の項目名は、図4(3)に示すように、「Job」、「StepNum」、及び「PGM」である。(1)、(2)、(3)いずれもリレーショナルデータベースモデルに則り作成されるのが望ましい。
【0032】
更に、図5は、COBOLにより記述されたプログラムコードのひな型の例である。図6は、図5のプログラムコードから作成されるリポジトリ(テーブル)である。(1)は「プログラムとDDの関連」(tblEXTMODDD_LY)のテーブルであり、
・プログラム名称(外部モジュール名称)、
・DD名称(SELECT文のASSIGN句より)、
・プログラム中のDDが関係する項目の出現番号(開始)、
・プログラム中のDDが関係する項目の出現番号(終了)、
に関するデータをその内容として保持する。夫々の項目名は、図6(1)に示すように、「EXTMOD」、「DD」、「FromSeq」、及び「ToSeq」である。
【0033】
図6(2)は「プログラム中に宣言されている項目」(tblLocalItem)のテーブルであり、
・プログラム名称(外部モジュール名称)、
・プログラム中に宣言されている項目の出現順連番、
・レベル番号、
・項目名称(シンボル名称)、
・属性、
・オフセット値、
・バイト数、
に関するデータをその内容として保持する。夫々の項目名は、図6(2)に示すように、「EXTMOD」、「Seq」、「LevelNum」、「Item」、「Attr」、「Offset」及び「Byte」である。
【0034】
図6(3)は「プログラムの親子関連」(tblRELEXTMOD)のテーブルであり、
・親(呼出側)プログラム名称(外部モジュール名称)、
・子(呼出先)プログラム名称(外部モジュール名称)、
に関するデータをその内容として保持する。夫々の項目名は、図6(3)に示すように、「P_EXTMOD」、及び「C_EXTMOD」である。図6の(1)、(2)、(3)においても、いずれもリレーショナルデータベースモデルに則り作成されるのが望ましい。
【0035】
図6(1)の「プログラムとDDの関連」(tblEXTMODDD_LY)テーブルの、「プログラム中のDDが関係する項目の出現番号(開始)(FromSeq)」と、「プログラム中のDDが関係する項目の出現番号(終了)(ToSeq)」とは、次のように決定される。
【0036】
まず、DD名称に係るファイルのREAD命令がプログラムに存在する場合は、入力ファイル名に関連するFD文の項目名称、又は、READ文のINTO句の後に記述されている項目名称について、tblLocalItemテーブルを参照する。その項目名称が格納される該当行での「レベル番号(LevelNum)」及びその前後の行(特に、後の行)に格納される「レベル番号(LevelNum)」の大小関係により、上記の項目名称に係る「FromSeq」(最小値)と「ToSeq」(最大値)とを決定し、「プログラムとDDの関連(tblEXTMODDD_LY)」テーブルの該当行に格納する。
【0037】
DD名称に係るファイルのWRITE命令がプログラムに存在する場合は、出力ファイル名に関連するFD文の項目名称、又は、WRITE文のFROM句の後に記述されている項目名称について、上述と同様に、「FromSeq」(最小値)と「ToSeq」(最大値)とを決定する。
【0038】
図10にて、COBOLプログラム(MACTH−KOUSHIN)のサンプル、及びそのtblLocalItemテーブルの一部を示す。図10における「MACTH−KOUSHIN」(プログラム名称)の「DD名1」(DD名称)に関しては、
(FromSeq,ToSeq)=(1,1),(6,12)
となることがわかる。
【0039】
図8は、本発明の好適な実施の形態に係るリバースエンジニアリングツールが、一つの実ファイルに係るファイルレイアウトを作成する手順を、原理的側面から示している。更に、図7は、図8の手順を上述の(図4、図6の)テーブルを用いて説明するための図である。図8の手順を以下に示す。
【0040】
S02:実ファイルの情報が入力される。該情報とは、「Unit(装置名称)」、「Volume(ボリューム名称)」、「DSName(データセット名称)」である。
【0041】
S04:「ジョブとデータセットの関係(tblDataset_JOB)」テーブルにより、上記S02の実ファイル情報から「Job(ジョブ名)」、「StepNum(ジョブ内のStep番号)」、「DDNum(Step内のDD番号)」が導出される。
【0042】
S06:上記の「Job」、「StepNum」、「DDNum」から、「DD情報(tblDD)」テーブルにおける該当行を導出する(図7の(ア)から(イ))。同様に、上記の「Job」、「StepNum」から、「ジョブとステップとの関連(tblSTEP)」テーブルにおける該当行を導出する(図7の(ア)から(ウ))。
【0043】
S08:上記の「DD情報(tblDD)」テーブルの該当行に含まれるデータから、関連するDD名称(DD)が判明する。同様に、上記の「ジョブとステップとの関連(tblSTEP)」テーブルの該当行に含まれるデータから、関連するプログラム名(PGM)が判明する。それらの「DD名称(DD)」と「プログラム名(PGM)」をキーとして「プログラムとDDの関連(tblEXTMODDD_LY)」テーブルを参照する(図7の(イ)(ウ)から(エ))。
【0044】
S10:上記の「プログラムとDDの関連(tblEXTMODDD_LY)」テーブルを参照する際には、「プログラムの親子関連(tblRELEXTMOD)」テーブルを利用して「プログラム名(PGM)」を「親プログラム名称(P_EXTMOD)」に当て嵌めその配下の子プログラム(副プログラム)も全て抽出する。その上で、「子プログラム名称(C_EXTMOD)」の全てと上記の「DD名称(DD)」とで更にキーを作成して、「プログラムとDDの関連(tblEXTMODDD_LY)」テーブルを参照する(図7の(イ)(オ)から(エ))。
【0045】
S12:上記参照による抽出結果から、(副プログラムを含む)プログラム名と、その中で宣言されている上記DD名称に係るレイアウトの開始項目の番号と終了項目の番号とを、導出する。
【0046】
S14:上記の開始項目の番号から終了項目の番号までに相当するデータ項目を、「プログラム中に宣言されている項目(tblLocalItem)」テーブルより、ファイルレイアウトとして編集して出力する(図7の(ウ)から(エ))。ファイルレイアウト作成においては、レベル番号、データ項目の属性、オフセット値、バイト数の情報が必要になるが、それらは上記tblLocalItemテーブルより取得される。
【0047】
図1は、ファイルレイアウトのコンピュータ表示装置における出力例である。図1に示すように、当該画面においては、
・UNIT、
・VOLUME、
・データセット、
・使用外部モジュール
を条件データとして入力するように設定されている。当該画面では、上述の図8の手順(原理)に従い、ファイルレイアウトが作成、出力される。
【0048】
前に説明したように、プログラミング言語がCOBOLであるならば、
(ア)READ文、WRITE文で直接使用され、WORKING STORAGE SECTIONに宣言されているデータ項目群、
(イ)FILE SECTIONに宣言されているデータ項目群、
の、2通りのレイアウトが出力される。
【0049】
≪その他の実施の形態について≫
以上、本発明に係る好適な実施の形態について説明したが、本発明は上記形態に限定されるものではない。ファイルとプログラムとの関係が明白であれば、COBOL以外の言語のプログラムにおいても、同様の手順にて、実ファイルとプログラムとを指定すれば該プログラムから見たファイルレイアウトを把握する仕組みを構築することが可能である。更に、バッチ処理のみならず、オンライン処理に係るシステムにおいても、同様の仕組みを構築することが可能である。
【0050】
【発明の効果】
本発明を利用することにより、適用業務システムの開発及び保守作業において、実際に存在する実ファイルの最新のファイルレイアウトを、プログラム毎に正確に且つ容易に把握することが可能となる。
【図面の簡単な説明】
【図1】ファイルレイアウトのコンピュータ表示装置における出力例である。
【図2】実ファイル名からファイルレイアウトに係る変数宣言を如何にたどるかを簡略に示す模式図である。
【図3】ジョブ制御言語のソースコードのひな型の例である。
【図4】図3のソースコードから作成されるリポジトリ(テーブル)の一部である。
【図5】COBOLにより記述されたプログラムコードのひな型の例である。
【図6】図5のプログラムコードから作成されるリポジトリ(テーブル)の一部である。
【図7】本発明の好適な実施の形態に係るリバースエンジニアリングツールが、一つの実ファイルに係るファイルレイアウトを作成する手順を、テーブルの例を用いて説明するための図である。
【図8】本発明の好適な実施の形態に係るリバースエンジニアリングツールが、一つの実ファイルに係るファイルレイアウトを作成する手順を原理的側面から示す流れ図である。
【図9】本発明に係るリポジトリの生成を模式的に示すブロック図である。
【図10】COBOLプログラム(MACTH−KOUSHIN)のサンプル、及びそのtblLocalItemテーブルの一部である。
【符号の説明】
2・・・プログラムファイル、4・・・JCLファイル、6・・・COPY句ファイル、8・・・DB定義体ファイル、10・・・その他現行管理データファイル、12・・・各種定義体ファイル、14・・・リポジトリ。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a reverse engineering tool for grasping an accurate file layout of a data set in an application system operated by using a computer for each program configuring the application system.
[0002]
[Prior art]
Many enterprises, not only private enterprises but also central and local governments, have built and operated a large number of computer systems (application business systems) of enormous scale in order to improve business efficiency and service levels. I have.
[0003]
These application systems are required to be constantly updated (changed) due to various needs that occur continuously and changes in circumstances surrounding the business entity.
[0004]
However, especially in a company that has owned and maintained a computer system for a long time, a great deal, and most of the labor, has been devoted to updating the programs that constitute the application system. When a program is updated, it is generally strongly desired that documents, such as specifications, be updated synchronously in anticipation that further maintenance work can be smoothly performed in the future. However, the current situation of many companies is that the update of specifications (such as documents) cannot easily catch up with the update of application systems.
[0005]
Updating the application system almost always involves updating the layout of the file (data set). In spite of the high frequency of updating the file layout, it is hard to say that many companies reflect the content in a timely manner in the file layout specification (design document). Even for companies that are kept up to date, considerable maintenance man-hours are spent.
[0006]
The file layout is an indispensable document for the person in charge of development / maintenance of the application system. However, the above makes it difficult to share the latest file layout among many developers / maintenance personnel.
[0007]
[Problems to be solved by the invention]
SUMMARY OF THE INVENTION An object of the present invention is to provide a reverse engineering tool for accurately and easily grasping the latest file layout of a real file that actually exists in the development and maintenance work of an application business system.
[0008]
[Means for Solving the Problems]
The present invention has been made to achieve the above object. The reverse engineering device according to claim 1 according to the present invention,
This is a reverse engineering device including a computer that reads and uses data stored in a repository database. In the reverse engineering equipment,
The repository database is
First table storage means in which device name data, volume name data, and data set name data are associated with job name data, step numbers in the job, and DD numbers in the step, and
Second table storage means in which the job name data, the step number in the job, the DD number in the step, and the DD name data are stored in association with each other;
Third table storage means in which job name data, Step numbers in the job, and program name data are stored in association with each other;
A fourth table storage in which the program name data, the DD name data, and the appearance start number of the item related to the DD in the program and the appearance end number of the item related to the DD in the program are related and stored. Means,
Fifth table storage means in which parent (calling side) program name data and child (calling destination) program name data are associated and stored;
Sixth table storage means in which the program name data, the appearance order number of the item declared in the program, the item name data, the level number, the attribute data, the offset value, and the number of bytes are associated and stored. And
The first table storage, the second table storage, and the third table storage are generated by analyzing a job control language source code, which is one of definition data, and are stored in a fourth table storage. The means, the fifth table storage means, and the sixth table storage means are generated by analyzing a program source code which is one of definition data,
In addition, the reverse engineering device
Input means for inputting device name data, volume name data, and data set name data that are data specifying a data set;
The first table storage unit is searched to derive the job name data, the step number in the job, and the DD number in the step from the device name data, volume name data, and data set name data input from the input unit. First deriving means for performing
A second deriving unit that retrieves the second table storage unit and derives the DD name data from the job name data, the Step number in the job, and the DD number in the Step derived by the first deriving unit; ,
A third deriving unit that retrieves the third table storage unit and derives program name data from the job name data derived by the first deriving unit and the Step number in the job;
Fourth extraction means for searching the fifth table storage means, applying the program name data derived by the third derivation means to the parent program name, and extracting child program name data of child programs under the parent program name;
Searching the fourth table storage means, the program name data derived by the third derivation means or the child program name data extracted by the fourth extraction means, and the DD name derived by the second derivation means Fifth deriving means for deriving, from the data, an appearance start number of an item related to DD in the program and an appearance end number of an item related to DD in the program;
By searching the sixth table storage means, the program name data derived by the third derivation means or the child program name data extracted by the fourth extraction means and the program derived by the fifth derivation means From the appearance start number of the item related to the DD and the appearance end number of the item related to the DD in the program, the appearance order number of the item declared in the program, the item name data, the level number, and the attribute data , An offset value and the number of bytes, a sixth obtaining unit,
Editing for editing and outputting the file layout from the appearance order number of the item declared in the program, the item name data, the level number, the attribute data, the offset value, and the number of bytes acquired by the sixth acquiring means. Output means,
When the device name data, the volume name data, and the data set name data, which are the data specifying the data set, are input from the input means, the file layout of the data set in the program for inputting or outputting the data set is edited and output. Output from
[0010]
A computer program according to claim 2 according to the present invention ,
In the reverse engineering apparatus according to claim 1, based on the apparatus name data, the volume name data, and the data set name data, which are data for specifying a data set,
The edit output unit that outputs the file layout of the data set in the program receives the appearance order number of the item declared in the program, the item name data, the level number, the attribute data, the offset value, and the number of bytes. It is a computer program to create.
[0012]
The recording medium according to claim 3 according to the present invention,
A recording medium for recording the computer program according to claim 2.
[0013]
BEST MODE FOR CARRYING OUT THE INVENTION
In the present invention, a repository generated by reverse engineering in application system development and maintenance is used. Here, "reverse engineering" is to determine the components of the system and their interrelationships and re-express the system in another form or generate a high-level system representation. Further, the “repository” here is a database of information describing the object of use or operation in the application system, and a meta-data about data items, programs, system resources, and various definition bodies in the application system. It is a database of information.
[0014]
The “repository created by reverse engineering” in the present invention is a known technology. As described below, the repository is preferably constructed according to a relational database model (see FIGS. 4 and 6).
[0015]
FIG. 9 is a block diagram schematically illustrating generation of the repository 14 according to the present invention. The repository 14 according to the present invention includes a program 2, a JCL (Job Control Language; Job Control Language) 4, a COPY clause 6, a DB (database) definition unit 8, and a current component, which are components of a subsystem (application system). Various definition bodies such as the management data 10 are used as original data. The repository 14 is formed by an analysis process for organizing and mapping these interrelationships.
[0016]
The above-mentioned various definition bodies constitute a data set on a recording medium. Therefore, the above analysis processing is performed using the file group of various definition bodies as an input file. This analysis processing can be executed in a computer such as a personal computer, a workstation, a mainframe, or the like. The computer that performs the analysis processing is not particularly limited.
[0017]
Assuming that the latest definition file group is an input file, the latest components are naturally mapped in the application system components and their interrelationships. Therefore, if a system is created that automatically creates documents such as system specifications, design documents, and requirement documents based on the repository without manual intervention, it is ensured that the documents are kept up-to-date. .
[0018]
The types of the various definition bodies are not particularly limited. For example, the programming language for the source program may be COBOL, FORTRAN, PL / I, C language, or the like. In the following, the description will proceed with the programming language being COBOL and the processing mode being batch processing (mainly).
[0019]
<< Preferred embodiment >>
A preferred embodiment of a reverse engineering tool for grasping the file layout of each data set (file) input / output in the application system using the above repository will be described. The reverse engineering tool is operated on a computer such as a personal computer, a workstation, and a mainframe.
[0020]
In grasping the file layout of an actual file (hereinafter, referred to as an actual file), the source program alone is not sufficient, and the JCL is indispensable. In a program, usually, a virtual file name (that is, a file name valid only in the program) is described without directly describing a real file name, and the virtual file name is associated with the real file name in JCL. Because it is.
[0021]
If the virtual file name in the program can be grasped, the file layout description portion in the input / output record definition portion and the variable declaration portion can be grasped via the description portion of the virtual file name in the program. FIG. 2 is a schematic diagram simply showing how variable declarations (related to file layout) are traced from an actual file.
[0022]
In FIG. 2, a simple configuration example of the job control language (JCL) is shown on the left, and a simple configuration example of the COBOL program is shown on the right. From the left part of FIG. 2, the real file “A01” is used (that is, input or output) as the virtual file “* A” in the “PGM1” program (or the subprogram called by the “PGM1” program). (The subprogram will be described later in detail).
[0023]
Check the "PGM1" program. If the portion related to the virtual file “* A” is extracted from the source code of the “PGM1” program, the file layout of the real file “A” viewed from the “PGM1” program can be determined.
[0024]
In the “PGM1” program, from the input / output (virtual) file name use declaration related to “* A”,
・ "Input / output instruction" part,
-It will be possible to search (extract) the "variable declaration" part. From the "variable declaration" part, the file layout is uniquely determined and can be displayed on, for example, a display screen of a personal computer (see FIG. 1). Here, the “variable declaration” portion is related to the data item specified by the “input / output instruction”. Therefore, if it is a COBOL program,
(A) Data items that are directly used in READ and WRITE statements and are declared in WORKING STORAGE SECTION.
(B) data items declared in FILE SECTION
Are output.
[0025]
The program name specified in the job control language is the main program. By the way, in many cases, file use (input / output) is not performed by the main program but by a subprogram called by the main program. In the reverse engineering tool according to the present invention, as will be described later, information (table) for associating the main program with the sub-program is referred to, so that even if the target program is a sub-program, it can be extracted without omission.
[0026]
It can be easily assumed that there are a plurality of programs that use one real file. By tracing a plurality of programs each using one real file, a plurality of (different) file layouts for one real file viewed from the plurality of programs are derived.
[0027]
Next, a procedure for creating a file layout for one actual file using a repository (table) created from the JCL and a program and outputting the created file layout to a computer screen will be described.
[0028]
FIG. 3 is an example of a template of the source code of the job control language. FIG. 4 is a repository (table) created from the source code of FIG. (1) is a table of “Relationship between job and dataset” (tblDataset_JOB).
・ Volume name,
・ Data set name,
・ Job name,
Step number in the job (the step number),
-DD number in Step (the order of DD),
The data about the file is stored as its contents. The respective item names are “Unit”, “Volume”, “DSName”, “Job”, “StepNum”, and “DDNum”, as shown in FIG.
[0029]
Here, as is well known, “DD” is “Dataset Definition (data set definition)”, and immediately before “DD” in the DD line in the JCL, the above “virtual file” name in the program is used. Is described.
[0030]
FIG. 4B is a table of “DD information” (tblDD),
・ Job name,
Step number in the job (the step number),
-DD number in Step (the order of DD),
・ Data set name,
・ DD name,
The data about the file is stored as its contents. The respective item names are “Job”, “StepNum”, “DDNum”, “DSName”, and “DD”, as shown in FIG.
[0031]
FIG. 4C is a table of “Relation between job and step” (tblSTEP).
・ Job name,
Step number in the job (the step number),
·program name,
The data about the file is stored as its contents. The respective item names are “Job”, “StepNum”, and “PGM”, as shown in FIG. (1), (2), and (3) are preferably created in accordance with the relational database model.
[0032]
FIG. 5 is an example of a program code model described in COBOL. FIG. 6 is a repository (table) created from the program code of FIG. (1) is a table of “relation between program and DD” (tblEXTMODDD_LY),
・ Program name (external module name),
・ DD name (from the ASSIGN clause of the SELECT statement),
An appearance number (start) of an item related to the DD in the program,
An appearance number (end) of an item related to the DD in the program;
The data about the file is stored as its contents. The respective item names are “EXTMOD”, “DD”, “FromSeq”, and “ToSeq”, as shown in FIG.
[0033]
FIG. 6B is a table of “items declared in the program” (tblLocalItem),
・ Program name (external module name),
・ Sequential numbers in the order of appearance of items declared in the program,
・ Level number,
・ Item name (symbol name),
·attribute,
・ Offset value,
・ Number of bytes,
The data about the file is stored as its contents. The respective item names are “EXTMOD”, “Seq”, “LevelNum”, “Item”, “Attr”, “Offset”, and “Byte”, as shown in FIG. 6 (2).
[0034]
FIG. 6 (3) is a table of “program parent-child relation” (tblRELEXTMOD),
・ Parent (calling side) program name (external module name),
-Child (callee) program name (external module name),
The data about the file is stored as its contents. The respective item names are “P_EXTMOD” and “C_EXTMOD” as shown in FIG. 6 (3). In (1), (2), and (3) of FIG. 6, it is desirable that all of them be created in accordance with the relational database model.
[0035]
In the “relation between program and DD” (tblEXTMODDD_LY) table in FIG. 6A, “appearance number (start) (FromSeq) of item related to DD in program” and “item number related to DD in program” The “appearance number (end) (ToSeq)” is determined as follows.
[0036]
First, when a READ instruction of a file related to a DD name exists in a program, the tblLocalItem table is used for an item name of an FD statement related to an input file name or an item name described after an INTO clause of a READ statement. refer. The above-mentioned item name is determined based on the magnitude relationship between the “level number (LevelNum)” in the corresponding row in which the item name is stored and the “level number (LevelNum)” stored in the preceding and following rows (particularly, the subsequent row). Is determined, and “ToSeq” (maximum value) is determined and stored in the corresponding row of the “relationship between program and DD (tblEXTMODDD_LY)” table.
[0037]
When the WRITE instruction of the file related to the DD name exists in the program, the item name of the FD statement related to the output file name or the item name described after the FROM clause of the WRITE statement is similar to the above. "FromSeq" (minimum value) and "ToSeq" (maximum value) are determined.
[0038]
FIG. 10 shows a sample COBOL program (MACTH-KOUSHIN) and a part of the tblLocalItem table. Regarding "DD name 1" (DD name) of "MACTH-KOUSHIN" (program name) in FIG.
(FromSeq, ToSeq) = (1, 1), (6, 12)
It turns out that it becomes.
[0039]
FIG. 8 shows, from a principle aspect, a procedure in which the reverse engineering tool according to the preferred embodiment of the present invention creates a file layout for one actual file. FIG. 7 is a diagram for explaining the procedure in FIG. 8 using the above-described tables (FIGS. 4 and 6). The procedure of FIG. 8 is shown below.
[0040]
S02: Information of a real file is input. The information is “Unit (device name)”, “Volume (volume name)”, and “DSName (data set name)”.
[0041]
S04: “Job (job name)”, “StepNum (Step number in job)”, “DDNum (DD number in Step)” from the actual file information in S02 based on “Relationship between job and dataset (tblDataset_JOB)” table ) "Is derived.
[0042]
S06: The corresponding row in the “DD information (tblDD)” table is derived from the above “Job”, “StepNum”, and “DDNum” ((A) to (A) in FIG. 7). Similarly, the corresponding line in the “relation between job and step (tblSTEP)” table is derived from the above “Job” and “StepNum” ((a) to (c) in FIG. 7).
[0043]
S08: The related DD name (DD) is determined from the data included in the corresponding row of the above-mentioned “DD information (tblDD)” table. Similarly, the related program name (PGM) is found from the data included in the relevant row of the above-mentioned "relation between job and step (tblSTEP)" table. With reference to the "DD name (DD)" and "program name (PGM)" as keys, the "reference between program and DD (tblEXTMODDD_LY)" table is referred to ((a) (c) to (d) in FIG. 7).
[0044]
S10: When referring to the above-mentioned "relationship between program and DD (tblEXTMODDD_LY)" table, use the "program parent-child relation (tblRELEXTMOD)" table to change "program name (PGM)" to "parent program name (P_EXTMODOD). )), And all child programs (sub-programs) under the program are also extracted. Then, a key is further created with all of the "child program name (C_EXTMOD)" and the above-mentioned "DD name (DD)", and the "program-DD association (tblEXTMODODD_LY)" table is referenced (FIG. 7). (A) (o) to (d)).
[0045]
S12: The program name (including the sub-program) and the start item number and end item number of the layout associated with the DD name declared in the program name are derived from the extraction result by the reference.
[0046]
S14: The data items corresponding to the above-mentioned start item number to end item number are edited and output as a file layout from the “items declared in the program (tblLocalItem)” table ((FIG. 7: C) to (d)). When creating a file layout, information on a level number, an attribute of a data item, an offset value, and the number of bytes is required, and these are obtained from the tblLocalItem table.
[0047]
FIG. 1 is an output example of a file layout on a computer display device. As shown in FIG. 1, on the screen,
・ UNIT,
・ VOLUME,
·data set,
-It is set so that the used external module is input as condition data. On this screen, a file layout is created and output in accordance with the procedure (principle) of FIG.
[0048]
As explained earlier, if the programming language is COBOL,
(A) Data items that are directly used in READ and WRITE statements and are declared in WORKING STORAGE SECTION.
(B) data items declared in FILE SECTION
Are output.
[0049]
≫Other embodiments≫
The preferred embodiment according to the present invention has been described above, but the present invention is not limited to the above embodiment. If the relationship between the file and the program is clear, a mechanism is established for a program in a language other than COBOL by specifying the actual file and the program in the same procedure and grasping the file layout viewed from the program. It is possible. Further, a similar mechanism can be constructed not only in batch processing but also in a system related to online processing.
[0050]
【The invention's effect】
By using the present invention, the latest file layout of an actual file that actually exists can be accurately and easily grasped for each program in the development and maintenance work of an application business system.
[Brief description of the drawings]
FIG. 1 is an example of output of a file layout on a computer display device.
FIG. 2 is a schematic diagram simply showing how to follow a variable declaration related to a file layout from an actual file name.
FIG. 3 is an example of a template of a source code of a job control language.
FIG. 4 is a part of a repository (table) created from the source code of FIG. 3;
FIG. 5 is an example of a model of a program code described in COBOL.
FIG. 6 is a part of a repository (table) created from the program code of FIG. 5;
FIG. 7 is a diagram for explaining, by using a table example, a procedure in which the reverse engineering tool according to the preferred embodiment of the present invention creates a file layout for one actual file.
FIG. 8 is a flowchart showing a procedure for creating a file layout for one actual file by a reverse engineering tool according to a preferred embodiment of the present invention from a principle aspect.
FIG. 9 is a block diagram schematically illustrating generation of a repository according to the present invention.
FIG. 10 is a sample of a COBOL program (MACTH-KOUSIN) and a part of its tblLocalItem table.
[Explanation of symbols]
2 ... program file, 4 ... JCL file, 6 ... COPY clause file, 8 ... DB definition file, 10 ... other current management data file, 12 ... various definition file, 14 ... Repository.

Claims (3)

リポジトリデータベースに記憶されるデータを読み取って利用するコンピュータからなるリバースエンジニアリング装置において、In a reverse engineering device consisting of a computer that reads and uses data stored in a repository database,
リポジトリデータベースは、  The repository database is
装置名称データ、ボリューム名称データ、及びデータセット名称データと、ジョブ名データ、ジョブ内のStep番号、及びStep内のDD番号とが関係付けされ記憶されている第1のテーブル記憶手段と、First table storage means in which device name data, volume name data, and data set name data are associated with job name data, step numbers in the job, and DD numbers in the step, and
ジョブ名データ、ジョブ内のStep番号、及びStep内のDD番号と、DD名称データとが関係付けされ記憶されている第2のテーブル記憶手段と、  Second table storage means in which the job name data, the step number in the job, the DD number in the step, and the DD name data are stored in association with each other;
ジョブ名データ、及びジョブ内のStep番号と、プログラム名データとが関係付けされ記憶されている第3のテーブル記憶手段と、  A third table storage unit in which job name data, Step numbers in the job, and program name data are stored in association with each other;
プログラム名称データと、DD名称データと、プログラム中のDDが関係する項目の出現開始番号及びプログラム中のDDが関係する項目の出現終了番号とが、関係付けされ記憶されている第4のテーブル記憶手段と、  A fourth table storage in which the program name data, the DD name data, and the appearance start number of the item related to the DD in the program and the appearance end number of the item related to the DD in the program are related and stored. Means,
親(呼出側)プログラム名称データと、子(呼出先)プログラム名称データとが関係付けされ記憶されている第5のテーブル記憶手段と、  Fifth table storage means in which parent (calling side) program name data and child (calling destination) program name data are associated and stored;
プログラム名称データと、プログラム中に宣言されている項目の出現順番号と、項目名称データと、レベル番号、属性データ、オフセット値及びバイト数とが関係付けされ記憶されている第6のテーブル記憶手段とを含み、  Sixth table storage means in which the program name data, the appearance order number of the item declared in the program, the item name data, the level number, the attribute data, the offset value, and the number of bytes are associated and stored. And
第1のテーブル記憶手段、第2のテーブル記憶手段、及び第3のテーブル記憶手段は、定義体データの一つであるジョブ制御言語ソースコードの解析処理により生成されており、第4のテーブル記憶手段、第5のテーブル記憶手段、及び第6のテーブル記憶手段は、定義体データの一つであるプログラムソースコードの解析処理により生成されており、The first table storage, the second table storage, and the third table storage are generated by analyzing a job control language source code, which is one of definition data, and are stored in a fourth table storage. The means, the fifth table storage means, and the sixth table storage means are generated by analyzing a program source code which is one of the definition data,
更に、リバースエンジニアリング装置は、  In addition, the reverse engineering device
データセットを特定するデータである装置名称データ、ボリューム名称データ、及びデータセット名称データが入力される入力手段と、  Input means for inputting device name data, volume name data, and data set name data that are data specifying a data set;
第1のテーブル記憶手段を検索して、入力手段から入力された装置名称データ、ボリューム名称データ、及びデータセット名称データから、ジョブ名データ、ジョブ内のStep番号、及びStep内のDD番号を導出する第1の導出手段と、  The first table storage unit is searched to derive the job name data, the step number in the job, and the DD number in the step from the device name data, volume name data, and data set name data input from the input unit. First deriving means for performing
第2のテーブル記憶手段を検索して、第1の導出手段により導出されたジョブ名データ、ジョブ内のStep番号、及びStep内のDD番号から、DD名称データを導出する第2の導出手段と、  A second deriving unit that retrieves the second table storage unit and derives the DD name data from the job name data, the Step number in the job, and the DD number in the Step derived by the first deriving unit; ,
第3のテーブル記憶手段を検索して、第1の導出手段により導出されたジョブ名データ、及びジョブ内のStep番号から、プログラム名データを導出する第3の導出手段と、  A third deriving unit that retrieves the third table storage unit and derives program name data from the job name data derived by the first deriving unit and the Step number in the job;
第5のテーブル記憶手段を検索して、第3の導出手段により導出されたプログラム名データを親プログラム名称に当て嵌めその配下の子プログラムの子プログラム名称データを抽出する第4の抽出手段と、  Fourth extraction means for searching the fifth table storage means, applying the program name data derived by the third derivation means to the parent program name, and extracting child program name data of child programs under the parent program name;
第4のテーブル記憶手段を検索して、第3の導出手段により導出されたプログラム名データ若しくは第4の抽出手段により抽出された子プログラム名称データと、第2の導出手段により導出されたDD名称データとから、プログラム中のDDが関係する項目の出現開始番号及びプログラム中のDDが関係する項目の出現終了番号とを導出する第5の導出手段と、  Searching the fourth table storage means, the program name data derived by the third derivation means or the child program name data extracted by the fourth extraction means, and the DD name derived by the second derivation means Fifth deriving means for deriving, from the data, an appearance start number of an item related to DD in the program and an appearance end number of an item related to DD in the program;
第6のテーブル記憶手段を検索して、第3の導出手段により導出されたプログラム名データ若しくは第4の抽出手段により抽出された子プログラム名称データと、第5の導出手段により導出されたプログラム中のDDが関係する項目の出現開始番号及びプログラム中のDDが関係する項目の出現終了番号とから、プログラム中に宣言されている項目の出現順番号と、項目名称データと、レベル番号、属性データ、オフセット値及びバイト数とを取得する第6の取得手段と、  By searching the sixth table storage means, the program name data derived by the third derivation means or the child program name data extracted by the fourth extraction means and the program derived by the fifth derivation means From the appearance start number of the item related to the DD and the appearance end number of the item related to the DD in the program, the appearance order number of the item declared in the program, the item name data, the level number, and the attribute data Sixth acquisition means for acquiring the offset value and the number of bytes;
第6の取得手段により取得された、プログラム中に宣言されている項目の出現順番号と、項目名称データと、レベル番号、属性データ、オフセット値及びバイト数から、ファイ  From the appearance order number of the item declared in the program, the item name data, the level number, the attribute data, the offset value, and the number of bytes acquired by the sixth acquiring means, ルレイアウトを編集し出力する編集出力手段とを有し、Editing output means for editing and outputting the layout.
データセットを特定するデータである装置名称データ、ボリューム名称データ、及びデータセット名称データが入力手段から入力されれば、当該データセットを入力又は出力するプログラムにおける当該データセットのファイルレイアウトを編集出力手段から出力する、  When the device name data, the volume name data, and the data set name data, which are the data specifying the data set, are input from the input means, the file layout of the data set in the program for inputting or outputting the data set is edited and output. Output from
リバースエンジニアリング装置。Reverse engineering equipment.
請求項1に記載のリバースエンジニアリング装置において、データセットを特定するデータである装置名称データ、ボリューム名称データ、及びデータセット名称データとを基にして、In the reverse engineering apparatus according to claim 1, based on the apparatus name data, the volume name data, and the data set name data, which are data for specifying a data set,
当該プログラムにおける当該データセットのファイルレイアウトを出力する編集出力手段が受け取る、プログラム中に宣言されている項目の出現順番号と、項目名称データと、レベル番号、属性データ、オフセット値及びバイト数を、作成するためのコンピュータプログラム。The edit output unit that outputs the file layout of the data set in the program receives the appearance order number of the item declared in the program, the item name data, the level number, the attribute data, the offset value, and the number of bytes. Computer program to create.
請求項2に記載のコンピュータプログラムを記録する、記録媒体。A recording medium for recording the computer program according to claim 2.
JP2002030955A 2002-02-07 2002-02-07 Reverse engineering equipment Expired - Lifetime JP3577480B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002030955A JP3577480B2 (en) 2002-02-07 2002-02-07 Reverse engineering equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002030955A JP3577480B2 (en) 2002-02-07 2002-02-07 Reverse engineering equipment

Publications (2)

Publication Number Publication Date
JP2003233500A JP2003233500A (en) 2003-08-22
JP3577480B2 true JP3577480B2 (en) 2004-10-13

Family

ID=27774502

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002030955A Expired - Lifetime JP3577480B2 (en) 2002-02-07 2002-02-07 Reverse engineering equipment

Country Status (1)

Country Link
JP (1) JP3577480B2 (en)

Also Published As

Publication number Publication date
JP2003233500A (en) 2003-08-22

Similar Documents

Publication Publication Date Title
US5930806A (en) Method and system for data migration from network database to relational database
US20060235899A1 (en) Method of migrating legacy database systems
CN110168518A (en) Prepare and arrange the user interface of the data for subsequent analysis
US20120054147A1 (en) System and method for extract, transform, and load workflow generation
JP2000148461A (en) Software model and existing source code synchronizing method and device
CN111462327A (en) Three-dimensional modeling software three-dimensional inspection model unstructured data analysis method
US7792851B2 (en) Mechanism for defining queries in terms of data objects
Sneed Extracting business logic from existing COBOL programs as a basis for redevelopment
US20070083543A1 (en) XML schema template builder
CN112559351B (en) CFD software verification and confirmation database platform
CN107851003A (en) For improving the field specialization system and method for program feature
JP5033322B2 (en) Information management method and apparatus using connection relation information
JP7055064B2 (en) Database migration support system and program
US10901699B2 (en) Data analysis process assistance device and data analysis process assistance method
JPH09212353A (en) Method and device for supporting reused design
US20070282804A1 (en) Apparatus and method for extracting database information from a report
JP6862042B2 (en) Data migration program creation system and data migration program creation program
JP2006277127A (en) Method for comparing correction program
JP3577480B2 (en) Reverse engineering equipment
JP6588988B2 (en) Business program generation support system and business program generation support method
Oliveira et al. On the specification of extract, transform, and load patterns behavior: A domain‐specific language approach
JP7279524B2 (en) Data management program, data management method and data management system
JP5641901B2 (en) SQL verification system, method and program thereof
Poinot et al. Seven keys for practical understanding and use of CGNS
Burd et al. A method for the identification of reusable units through the reengineering of legacy code

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040513

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: 20040615

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040712

R150 Certificate of patent or registration of utility model

Ref document number: 3577480

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080716

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090716

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090716

Year of fee payment: 5

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090716

Year of fee payment: 5

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100716

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110716

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120716

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130716

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term