JP3577480B2 - リバースエンジニアリング装置 - Google Patents
リバースエンジニアリング装置 Download PDFInfo
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は、コンピュータを利用して稼動する適用業務システムにおけるデータセットの正確なファイルレイアウトを、該適用業務システムを構成するプログラム毎に把握する、リバースエンジニアリングツールに関する。
【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・・・リポジトリ。
Claims (3)
- リポジトリデータベースに記憶されるデータを読み取って利用するコンピュータからなるリバースエンジニアリング装置において、
リポジトリデータベースは、
装置名称データ、ボリューム名称データ、及びデータセット名称データと、ジョブ名データ、ジョブ内の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の取得手段により取得された、プログラム中に宣言されている項目の出現順番号と、項目名称データと、レベル番号、属性データ、オフセット値及びバイト数から、ファイ ルレイアウトを編集し出力する編集出力手段とを有し、
データセットを特定するデータである装置名称データ、ボリューム名称データ、及びデータセット名称データが入力手段から入力されれば、当該データセットを入力又は出力するプログラムにおける当該データセットのファイルレイアウトを編集出力手段から出力する、
リバースエンジニアリング装置。 - 請求項1に記載のリバースエンジニアリング装置において、データセットを特定するデータである装置名称データ、ボリューム名称データ、及びデータセット名称データとを基にして、
当該プログラムにおける当該データセットのファイルレイアウトを出力する編集出力手段が受け取る、プログラム中に宣言されている項目の出現順番号と、項目名称データと、レベル番号、属性データ、オフセット値及びバイト数を、作成するためのコンピュータプログラム。 - 請求項2に記載のコンピュータプログラムを記録する、記録媒体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002030955A JP3577480B2 (ja) | 2002-02-07 | 2002-02-07 | リバースエンジニアリング装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002030955A JP3577480B2 (ja) | 2002-02-07 | 2002-02-07 | リバースエンジニアリング装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2003233500A JP2003233500A (ja) | 2003-08-22 |
| JP3577480B2 true JP3577480B2 (ja) | 2004-10-13 |
Family
ID=27774502
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002030955A Expired - Lifetime JP3577480B2 (ja) | 2002-02-07 | 2002-02-07 | リバースエンジニアリング装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3577480B2 (ja) |
-
2002
- 2002-02-07 JP JP2002030955A patent/JP3577480B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JP2003233500A (ja) | 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 | |
| US20120054147A1 (en) | System and method for extract, transform, and load workflow generation | |
| CN111462327A (zh) | 三维造型软件三维检验模型非结构化数据解析方法 | |
| JP2000148461A (ja) | ソフトウェアモデル及び既存のソ―スコ―ドを同期化させる方法及びその装置 | |
| Sneed | Extracting business logic from existing COBOL programs as a basis for redevelopment | |
| CN112559351B (zh) | 一种cfd软件验证与确认数据库平台 | |
| US10901699B2 (en) | Data analysis process assistance device and data analysis process assistance method | |
| CN116258131A (zh) | 基于模板引擎的方案编制方法及系统 | |
| JP7055064B2 (ja) | データベースマイグレーション支援システム及びプログラム | |
| JPH09212353A (ja) | 再利用設計支援方法および設計支援装置 | |
| CN116975116A (zh) | 一种大数据分析系统的数据条件筛选方法 | |
| US20070083543A1 (en) | XML schema template builder | |
| JP6588988B2 (ja) | 業務プログラム生成支援システムおよび業務プログラム生成支援方法 | |
| JP5033322B2 (ja) | 連結関係情報を用いた情報管理方法及び装置 | |
| CN110633084B (zh) | 基于单个样例的代码转换推导方法和装置 | |
| JP7279524B2 (ja) | データ管理プログラム、データ管理方法およびデータ管理システム | |
| JP3577480B2 (ja) | リバースエンジニアリング装置 | |
| JP6862042B2 (ja) | データ移行プログラム作成システム及びデータ移行プログラム作成用プログラム | |
| Poinot et al. | Seven keys for practical understanding and use of CGNS | |
| Oliveira et al. | On the specification of extract, transform, and load patterns behavior: A domain‐specific language approach | |
| Burd et al. | A method for the identification of reusable units through the reengineering of legacy code | |
| US20070282804A1 (en) | Apparatus and method for extracting database information from a report | |
| JP5641901B2 (ja) | Sql検証システムとその方法およびプログラム | |
| JP2005202612A (ja) | データベース生成プログラム作成装置 |
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 |