JP2003233500A - Reverse engineering system - Google Patents

Reverse engineering system

Info

Publication number
JP2003233500A
JP2003233500A JP2002030955A JP2002030955A JP2003233500A JP 2003233500 A JP2003233500 A JP 2003233500A JP 2002030955 A JP2002030955 A JP 2002030955A JP 2002030955 A JP2002030955 A JP 2002030955A JP 2003233500 A JP2003233500 A JP 2003233500A
Authority
JP
Japan
Prior art keywords
file
name
program
external module
relationship
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.)
Granted
Application number
JP2002030955A
Other languages
Japanese (ja)
Other versions
JP3577480B2 (en
Inventor
Kingo Yamada
欣吾 山田
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.)
ACCES KK
Original Assignee
ACCES KK
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 ACCES KK filed Critical ACCES KK
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

Abstract

<P>PROBLEM TO BE SOLVED: To provide a reverse engineering system in which a most recent layout of an existing file can be easily obtained. <P>SOLUTION: A reverse engineering system has a repository that includes; a table to show a relation between a real file and a virtual file; a table to show the relationship between the real file and a program name; a table to show a relationship between, the number of the starting of the item relating the virtual file, an external module and a virtual life in a program, and the number of the termination of the item relating the virtual file in the programs; a table to show the relationship between main external modules and sub external modules; and a table to show the relationship among the external module name, the number of the starting of the items stated in the program, a name for the item, the number of the levels, an attribute, an off set value, and the number of the bytes. The reverse engineering system outputs a layout of the file in the external module of the real file by obtaining a data to specify the real file and the external module name through the repository. <P>COPYRIGHT: (C)2003,JPO

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、コンピュータを利
用して稼動する適用業務システムにおけるデータセット
の正確なファイルレイアウトを、該適用業務システムを
構成するプログラム毎に把握する、リバースエンジニア
リングツールに関する。
BACKGROUND OF THE INVENTION 1. 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 operating using a computer for each program constituting the application system.

【0002】[0002]

【従来の技術】私企業のみならず中央や地方の行政機関
など、様々な企業体において、業務の効率化及びサービ
スレベル向上のために、膨大な規模のコンピュータシス
テム(適用業務システム)が多数構築され、稼動してい
る。
2. Description of the Related Art A large number of computer systems (applied business systems) of enormous scale are constructed not only for private companies but also for various corporate bodies such as central and local administrative bodies in order to improve work efficiency and improve service levels. Has been up and running.

【0003】それら適用業務システムは、継続して生じ
る様々なニーズや、企業体を取り巻く状況の変動によ
り、絶えず更新(変更)されることが、求められてい
る。
[0003] Those application systems are required to be constantly updated (changed) due to various needs that occur continuously and changes in the circumstances surrounding the enterprise.

【0004】ところが、特に、古くからコンピュータシ
ステムを所有し維持している企業においては、適用業務
システムを構成するプログラムそのものを更新すること
に、非常に多くの、然も大半の労力が割かれている。プ
ログラムが更新される際には、更なる将来の維持管理作
業を円滑に進め得ることを見越して、仕様書を始めとす
るドキュメントも同期を採って更新されることが一般に
強く望まれている。しかし、仕様書(等のドキュメン
ト)の更新が、適用業務システムの更新になかなか追い
つかない、というのが多くの企業の現状である。
However, particularly in a company that has owned and maintained a computer system for a long time, a great deal of work, but most of the work, has been devoted to updating the program itself that constitutes the application system. There is. When the program is updated, it is generally strongly desired that the documents including the specifications are updated in synchronization in anticipation that further future maintenance work can be smoothly carried out. However, it is the current situation of many companies that the update of specifications (documents etc.) is difficult to catch up with the update of the application system.

【0005】適用業務システムを更新する際には、略必
ず、ファイル(データセット)のレイアウトの更新を伴
う。かようにファイルのレイアウトの更新の頻度が高い
にも拘らず、その内容が適時にファイルレイアウト仕様
書(設計書)に反映されている、とは多くの企業におい
て言い難い。最新の内容に維持されている企業であって
も、相当に膨大な維持工数が費やされている。
When updating the application system, the layout of the file (data set) is almost always updated. It is hard for many companies to say that the content is reflected in the file layout specification (design document) in a timely manner despite the high frequency of updating the file layout. Even a company that is kept up to date will spend a considerable amount of maintenance manpower.

【0006】ファイルレイアウトは、適用業務システム
の開発/保守担当者にとっては、作業上不可欠の資料で
ある。しかし、上記のことから、多数の開発/保守担当
者の間で、最新のファイルレイアウトを共有することが
困難になっている。
The file layout is an indispensable material for the work of the person in charge of developing / maintaining the application system. However, from the above, it is difficult to share the latest file layout among many development / maintenance personnel.

【0007】[0007]

【発明が解決しようとする課題】本発明は、適用業務シ
ステムの開発及び保守作業において、実際に存在する実
ファイルの最新のファイルレイアウトを、正確に且つ容
易に把握する、リバースエンジニアリングツールを提供
することを目的とする。
SUMMARY OF THE INVENTION The present invention provides a reverse engineering tool for accurately and easily grasping the latest file layout of an actual file that actually exists in the development and maintenance work of an application system. The purpose is to

【0008】[0008]

【課題を解決するための手段】本発明は、上記の目的を
達成するために為されたものである。本発明に係る請求
項1に記載のリバースエンジニアリング装置は、実ファ
イルと、仮想ファイルとの関係を示す第1のテーブル
と、実ファイルと、プログラム名との関連を示す第2の
テーブルと、外部モジュール名称と、仮想ファイルと、
プログラム中の仮想ファイルが関係する項目の出現開始
番号及びプログラム中の仮想ファイルが関係する項目の
出現終了番号との、関係を示す第3のテーブルと、主外
部モジュールと、副外部モジュールとの関係を示す第4
のテーブルと、外部モジュール名称と、プログラム中に
宣言されている項目の出現順番号と、項目名称と、レベ
ル番号、属性、オフセット値及びバイト数との関係を示
す第5のテーブルとを含む、リポジトリを利用して、実
ファイルに係るデータと、外部モジュール名称に係るデ
ータとの、指定データを取得して、上記実ファイルの上
記外部モジュールにおけるファイルレイアウトを出力す
る、リバースエンジニアリング装置である。
The present invention has been made to achieve the above object. The reverse engineering device according to claim 1 according to the present invention includes: a first table showing a relationship between a real file and a virtual file; a second table showing a relationship between a real file and a program name; Module name, virtual file,
Third table showing the relationship between the appearance start number of the item related to the virtual file in the program and the appearance end number of the item related to the virtual file in the program, and the relationship between the main external module and the sub external module Showing the 4th
Table, an external module name, an appearance order number of items declared in the program, an item name, and a fifth table showing a relationship between a level number, an attribute, an offset value, and the number of bytes. It is a reverse engineering device that uses a repository to acquire designated data of data related to an actual file and data related to an external module name and output a file layout of the actual file in the external module.

【0009】本発明に係る請求項2に記載のリバースエ
ンジニアリング装置は、実ファイルと、ジョブ、ステッ
プ番号、及びDD番号との関係を示す第6のテーブル
と、ジョブ、ステップ番号、及びDD番号と、DD名と
の関係を示す第7のテーブルと、ジョブ及びステップ番
号と、プログラム名との関連を示す第8のテーブルと、
外部モジュール名称と、DD名と、プログラム中のDD
が関係する項目の出現開始番号及びプログラム中のDD
が関係する項目の出現終了番号との、関係を示す第9の
テーブルと、主外部モジュールと、副外部モジュールと
の関係を示す第4のテーブルと、外部モジュール名称
と、プログラム中に宣言されている項目の出現順番号
と、項目名称と、レベル番号、属性、オフセット値及び
バイト数との関係を示す第5のテーブルとを含む、リポ
ジトリを利用して、実ファイルに係るデータと、外部モ
ジュール名称に係るデータとの、指定データを取得し
て、上記実ファイルの上記外部モジュールにおけるファ
イルレイアウトを出力する、リバースエンジニアリング
装置である。
A reverse engineering device according to a second aspect of the present invention provides a sixth table showing a relationship between a real file, a job, a step number and a DD number, a job, a step number and a DD number. , A seventh table showing a relationship with a DD name, an eighth table showing a relationship between a job and a step number, and a program name,
External module name, DD name, DD in the program
Appearance start number of items related to and DD in the program
, The fourth table showing the relationship between the appearance end number of the related item, the main external module, and the sub external module, the external module name, and the declaration in the program. Data related to the actual file by using the repository, including an appearance order number of the item, the item name, a fifth table showing the relationship between the level number, the attribute, the offset value, and the number of bytes, and the external module It is a reverse engineering device that acquires designated data together with data related to a name and outputs a file layout of the actual file in the external module.

【0010】本発明に係る請求項3に記載のプログラム
は、実ファイルに係るデータと、外部モジュール名称に
係るデータとの、指定データを受け取り、上記実ファイ
ルの上記外部モジュールにおけるファイルレイアウトを
作成する、請求項1のリバースエンジニアリング装置に
おいて稼動する、プログラムである。
A program according to a third aspect of the present invention receives designated data of data related to a real file and data related to an external module name, and creates a file layout of the real file in the external module. A program that operates in the reverse engineering device according to claim 1.

【0011】本発明に係る請求項4に記載のプログラム
は、実ファイルに係るデータと、外部モジュール名称に
係るデータとの、指定データを受け取り、上記実ファイ
ルの上記外部モジュールにおけるファイルレイアウトを
作成する、請求項2のリバースエンジニアリング装置に
おいて稼動する、プログラムである。
A program according to a fourth aspect of the present invention receives designated data of data related to a real file and data related to an external module name, and creates a file layout of the real file in the external module. A program that operates in the reverse engineering device according to claim 2.

【0012】本発明に係る請求項5に記載の記録媒体
は、請求項3又は請求項4に記載のプログラムを記録す
る、記録媒体である。
A recording medium according to a fifth aspect of the present invention is a recording medium for recording the program according to the third or fourth aspect.

【0013】[0013]

【発明の実施の形態】本発明では、適用業務システム開
発及び保守における、リバースエンジニアリングにより
生成されるリポジトリが利用される。ここで、「リバー
スエンジニアリング」は、システムの構成要素(com
ponent)とそれらの相互関係を判別し、システム
を他の形態に表現し直すか又は高水準のシステム表現を
生成することである。更にここでの「リポジトリ」は、
適用業務システムでの利用又は操作の対象を記述した情
報のデータベースであり、適用業務システムにおいて
の、データ項目、プログラム、システム資源、及び各種
定義体などについてのメタ情報のデータベースである。
BEST MODE FOR CARRYING OUT THE INVENTION In the present invention, a repository generated by reverse engineering is used in application system development and maintenance. Here, "reverse engineering" means a system component (com
components) and their interrelationships and re-express the system in another form or generate a high level system representation. Furthermore, the "repository" here is
It is a database of information that describes the target of use or operation in the application system, and is a database of meta information about data items, programs, system resources, and various definitions in the application system.

【0014】本発明における「リバースエンジニアリン
グにより生成されるリポジトリ」は、公知の技術であ
る。後でも説明するように、該リポジトリは、リレーシ
ョナルデータベースモデルに従って構築されるのが好ま
しい(図4及び図6参照)。
The "repository created by reverse engineering" in the present invention is a known technique. As will be explained later, the repository is preferably constructed according to the relational database model (see FIGS. 4 and 6).

【0015】図9は、本発明に係るリポジトリ14の生
成を模式的に示すブロック図である。本発明に係るリポ
ジトリ14は、サブシステム(適用業務システム)の構
成要素である、プログラム2、JCL(Job Con
trol Language;ジョブ制御言語)4、C
OPY句6、DB(データベース)定義部8、及び現行
管理データ10などの、各種定義体を元データとする。
それらの相互関係を整理し写像する解析処理によって、
リポジトリ14が形成される。
FIG. 9 is a block diagram schematically showing generation of the repository 14 according to the present invention. The repository 14 according to the present invention is a component of a subsystem (application system), that is, a program 2 and a JCL (Job Con).
control language; job control language) 4, C
Various definition bodies such as the OPY clause 6, the DB (database) definition unit 8, and the current management data 10 are used as the original data.
By the analysis processing that arranges and maps these mutual relationships,
The repository 14 is formed.

【0016】上記の各種定義体は、記録媒体上にてデー
タセットを構成する。よって、各種定義体のファイル群
を入力ファイルとして、上記の解析処理は行なわれる。
この解析処理は、パソコン、ワークステーション、メイ
ンフレーム等の、コンピュータにおいて実行され得る。
解析処理を行なうコンピュータは特に限定されない。
The above various definition bodies constitute a data set on a recording medium. Therefore, the above-mentioned analysis processing is performed using the file group of various definition bodies as an input file.
This analysis process can be executed in a computer such as a personal computer, workstation, mainframe, or the like.
The computer that performs the analysis process is not particularly limited.

【0017】最新の定義体のファイル群を入力ファイル
とすれば、適用業務システムの構成要素、それらの相互
関係においては、当然ながら、最新のものが写像され
る。従って、リポジトリを基準にして、システム仕様
書、設計書、要件書などのドキュメントを人手を介さず
自動的に作出する仕組みを構築すれば、それらドキュメ
ントにおいて確実に最新性が担保され得ることになる。
If the latest definition file group is used as an input file, the latest components are naturally mapped in the constituent elements of the application system and their mutual relationships. Therefore, if you build a mechanism that automatically creates documents such as system specifications, design documents, and requirements documents based on the repository without human intervention, the up-to-date information in those documents can be reliably ensured. .

【0018】上記の各種定義体の種類は、特に限定され
ない。例えば、ソースプログラムに係るプログラミング
言語は、COBOL、FORTRAN、PL/I、C言
語などでもよい。以下では、プログラミング言語をCO
BOLとして、且つ処理形態をバッチ処理(を中心)と
して説明を進める。
The types of the various definition bodies described above are not particularly limited. For example, the programming language related to the source program may be COBOL, FORTRAN, PL / I, C language, or the like. In the following, the programming language CO
The description will proceed with the BOL and the processing mode being (mainly) the batch processing.

【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 in a computer such as a personal computer, workstation, mainframe or the like.

【0020】実際のファイル(以下、実ファイルと言
う。)のファイルレイアウトを把握するにおいては、ソ
ースプログラムだけでは不十分であり、JCLが不可欠
となる。プログラム中では、通常、実ファイル名を直接
記述せず仮想のファイル名(即ち、当該プログラム内で
のみ有効なファイル名)を記述し、JCLにて、その仮
想ファイル名と実ファイル名とを関連付けているからで
ある。
To grasp the file layout of an actual file (hereinafter referred to as an actual file), the source program alone is not sufficient, and JCL is indispensable. Usually, in a program, a virtual file name (that is, a file name that is valid only in the program) is described without directly describing the actual file name, and the JCL associates the virtual file name with the actual file name. Because it is.

【0021】プログラム内の仮想ファイル名が把握でき
れば、プログラム内の仮想ファイル名の記述部分を介し
て、入出力レコード定義部分や変数宣言部分におけるフ
ァイルレイアウト記述部分を把握することができる。図
2は、実ファイルから(ファイルレイアウトに係る)変
数宣言を如何に辿るかを簡略に示す模式図である。
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 through the description portion of the virtual file name in the program. FIG. 2 is a schematic diagram schematically showing how variable declarations (related to file layout) are traced from an actual file.

【0022】図2では、左部にジョブ制御言語(JC
L)の簡易な構成例が、更に、右部にCOBOLプログ
ラムの簡易な構成例が、示されている。図2左部から、
実ファイル「A01」は、「PGM1」プログラム(又
は「PGM1」プログラムが呼出す副プログラム)に
て、仮想ファイル「*A」として利用(即ち、入力又は
出力)されていることがわかる(副プログラムについて
は、後で詳述する)。
In FIG. 2, the job control language (JC
A simple configuration example of L) and a simple configuration example of the COBOL program are shown in the right part. From the left part of FIG.
It can be seen that 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) (for the subprogram) Will be described in detail later).

【0023】「PGM1」プログラムを確認する。「P
GM1」プログラムのソースコードにおいて、仮想ファ
イル「*A」に係る部分が抽出されれば、「PGM1」
プログラムから見た実ファイル「A」のファイルレイア
ウトが確定可能となる。
Check the "PGM1" program. "P
In the source code of the "GM1" program, if the portion related to the virtual file "* A" is extracted, "PGM1"
The file layout of the actual file “A” viewed from the program can be determined.

【0024】「PGM1」プログラムでは、「*A」に
係る入出力(仮想)ファイル名使用宣言から、 ・「入出力命令」部分と、 ・「変数宣言」部分と を検索(抽出)できることになる。「変数宣言」部分か
ら、ファイルレイアウトは一義的に確定され、例えば、
パソコンの表示画面に表示できることになる(図1参
照)。ここで、上記の「変数宣言」部分は、「入出力命
令」にて指定されているデータ項目に関連するものであ
る。従って、COBOLプログラムであるならば、
(ア)READ文、WRITE文で直接使用され、WO
RKING STORAGE SECTIONに宣言さ
れているデータ項目群、(イ)FILE SECTIO
Nに宣言されているデータ項目群、の、2通りのレイア
ウトが出力される。
In the "PGM1" program, the "input / output instruction" portion and the "variable declaration" portion can be searched (extracted) from the input / output (virtual) file name use declaration related to "* A". . From the "variable declaration" part, the file layout is uniquely determined.
It can be displayed on the display screen of a personal computer (see Fig. 1). Here, the above-mentioned "variable declaration" portion is related to the data item designated by the "input / output instruction". Therefore, if it is a COBOL program,
(A) Directly used in READ and WRITE sentences, WO
Data items declared in RKING STORAGE SECTION, (a) FILE SECTIO
Two layouts of the data item group declared in N are output.

【0025】ジョブ制御言語に指定されているプログラ
ム名は、主プログラムである。ところで、ファイルの利
用(入出力)が主プログラムで行なわれず、主プログラ
ムが呼出す副プログラムで行なわれることも多い。本発
明に係るリバースエンジニアリングツールにおいては、
後で説明するように、主プログラムと副プログラムとを
関連付ける情報(テーブル)を参照するので、対象プロ
グラムが副プログラムであっても、洩れなく抽出され得
る。
The program name specified in the job control language is the main program. By the way, in many cases, use (input / output) of a file is not performed by a main program, but is performed by a subprogram called by the main program. In the reverse engineering tool according to the present invention,
As will be described later, since information (table) that associates the main program with the sub-program is referred to, even if the target program is the 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 each of a plurality of programs using one real file, a plurality of (different) file layouts for one real file viewed from the plurality of programs are derived.

【0027】次に、JCL及びプログラムから作成され
るリポジトリ(テーブル)を用いて、一つの実ファイル
に係るファイルレイアウトを作成しコンピュータ画面に
出力する手順を示す。
Next, a procedure for creating a file layout for one real file using the repository (table) created from the JCL and the program and outputting it to the computer screen will be described.

【0028】図3は、ジョブ制御言語のソースコードの
ひな型の例である。図4は、図3のソースコードから作
成されるリポジトリ(テーブル)である。(1)は「ジ
ョブとデータセットの関係」(tblDataset_
JOB)のテーブルであり、 ・装置名称、 ・ボリューム名称、 ・データセット名称、 ・ジョブ名、 ・ジョブ内のStep番号(何番目のステップか)、 ・Step内のDD番号(何番目のDDか)、 に関するデータをその内容として保持する。夫々の項目
名は、図4(1)に示すように、「Unit」、「Vo
lume」、「DSName」、「Job」、「Ste
pNum」、及び「DDNum」である。
FIG. 3 shows 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 the “relationship between job and data set” (tblDataset_
JOB) table, ・ Device name, ・ Volume name, ・ Dataset name, ・ Job name, ・ Step number in job (how many steps) ・ DD number in Step (what number DD) ), And retains the data related to The respective item names are “Unit” and “Vo”, as shown in FIG.
lume ”,“ DSName ”,“ Job ”,“ Ste ”
pNum ”and“ DDNum ”.

【0029】ここで、周知のように、「DD」は「Da
taset Definition(データセット定
義)」のことであって、JCL中のDD行の「DD」の
直前には、プログラムにおける上記の「仮想ファイル」
名が記述される。
Here, as is well known, "DD" means "Da".
"data definition (dataset definition)", and immediately before "DD" in the DD line in JCL, the above "virtual file" in the program
The name is described.

【0030】図4(2)は「DD情報」(tblDD)
のテーブルであり、 ・ジョブ名、 ・ジョブ内のStep番号(何番目のステップか)、 ・Step内のDD番号(何番目のDDか)、 ・データセット名称、 ・DD名称、 に関するデータをその内容として保持する。夫々の項目
名は、図4(2)に示すように、「Job」、「Ste
pNum」、「DDNum」、「DSName」、及び
「DD」である。
FIG. 4B shows "DD information" (tblDD).
A job name, a Step number in the job (what number step), a DD number in the Step (what number DD), a data set name, a DD name Keep as content. The respective item names are “Job” and “Ste” as shown in FIG.
pNum ”,“ DDNum ”,“ DSName ”, and“ DD ”.

【0031】図4(3)は「ジョブとステップとの関
連」(tblSTEP)のテーブルであり、 ・ジョブ名、 ・ジョブ内のStep番号(何番目のステップか)、 ・プログラム名、 ・データセット名称、 ・DD名称、 に関するデータをその内容として保持する。夫々の項目
名は、図4(3)に示すように、「Job」、「Ste
pNum」、及び「PGM」である。(1)、(2)、
(3)いずれもリレーショナルデータベースモデルに則
り作成されるのが望ましい。
FIG. 4 (3) is a table of "relationship between job and step" (tblSTEP):-Job name-Step number in job (how many steps) -Program name-Data set The data about the name, DD name, is retained as its contents. The item names are “Job” and “Ste”, as shown in FIG.
pNum ”and“ PGM ”. (1), (2),
(3) It is desirable that all are created according to the relational database model.

【0032】更に、図5は、COBOLにより記述され
たプログラムコードのひな型の例である。図6は、図5
のプログラムコードから作成されるリポジトリ(テーブ
ル)である。(1)は「プログラムとDDの関連」(t
blEXTMODDD_LY)のテーブルであり、 ・プログラム名称(外部モジュール名称)、 ・DD名称(SELECT文のASSIGN句より)、 ・プログラム中のDDが関係する項目の出現番号(開
始)、 ・プログラム中のDDが関係する項目の出現番号(終
了)、 に関するデータをその内容として保持する。夫々の項目
名は、図6(1)に示すように、「EXTMOD」、
「DD」、「FromSeq」、及び「ToSeq」で
ある。
Further, FIG. 5 shows an example of a model of program code described in COBOL. 6 is shown in FIG.
It is a repository (table) created from the program code of. (1) is the "relationship between program and DD" (t
blEXTMODDD_LY) table, program name (external module name), DD name (from ASSIGN clause of SELECT statement), appearance number (start) of the item related to DD in the program, DD in the program The data related to the appearance number (end) of the related item is retained as its content. The respective item names are, as shown in FIG. 6A, "EXTMOD",
"DD", "FromSeq", and "ToSeq".

【0033】図6(2)は「プログラム中に宣言されて
いる項目」(tblLocalItem)のテーブルで
あり、 ・プログラム名称(外部モジュール名称)、 ・プログラム中に宣言されている項目の出現順連番、 ・レベル番号、 ・項目名称(シンボル名称)、 ・属性、 ・オフセット値、 ・バイト数、 に関するデータをその内容として保持する。夫々の項目
名は、図6(2)に示すように、「EXTMOD」、
「Seq」、「LevelNum」、「Item」、
「Attr」、「Offset」及び「Byte」であ
る。
FIG. 6 (2) is a table of "items declared in program" (tblLocalItem):-Program name (external module name) -Sequence number of items declared in program in order of appearance , ・ Level number, ・ Item name (symbol name), ・ Attribute, ・ Offset value, ・ Number of bytes are retained as its contents. The respective item names are, as shown in FIG. 6B, “EXTMOD”,
"Seq", "LevelNum", "Item",
“Attr”, “Offset” and “Byte”.

【0034】図6(3)は「プログラムの親子関連」
(tblRELEXTMOD)のテーブルであり、 ・親(呼出側)プログラム名称(外部モジュール名
称)、 ・子(呼出先)プログラム名称(外部モジュール名
称)、 に関するデータをその内容として保持する。夫々の項目
名は、図6(3)に示すように、「P_EXTMO
D」、及び「C_EXTMOD」である。図6の
(1)、(2)、(3)においても、いずれもリレーシ
ョナルデータベースモデルに則り作成されるのが望まし
い。
FIG. 6 (3) shows "program parent-child relationship".
It is a table of (tblRELEXTMOD), and holds data regarding the parent (caller) program name (external module name), the child (callee) program name (external module name) as its contents. Each item name is “P_EXTMO,” as shown in FIG. 6 (3).
D ”and“ C_EXTMOD ”. It is desirable that all of (1), (2), and (3) in FIG. 6 are created according to the relational database model.

【0035】図6(1)の「プログラムとDDの関連」
(tblEXTMODDD_LY)テーブルの、「プロ
グラム中のDDが関係する項目の出現番号(開始)(F
romSeq)」と、「プログラム中のDDが関係する
項目の出現番号(終了)(ToSeq)」とは、次のよ
うに決定される。
"Relationship between program and DD" in FIG. 6 (1)
In the (tblEXTMODDD_LY) table, “appearance number (start) (F) of item related to DD in program (F
romSeq) "and" the appearance number (end) of the item related to DD in the program (ToSeq) "is determined as follows.

【0036】まず、DD名称に係るファイルのREAD
命令がプログラムに存在する場合は、入力ファイル名に
関連するFD文の項目名称、又は、READ文のINT
O句の後に記述されている項目名称について、tblL
ocalItemテーブルを参照する。その項目名称が
格納される該当行での「レベル番号(LevelNu
m)」及びその前後の行(特に、後の行)に格納される
「レベル番号(LevelNum)」の大小関係によ
り、上記の項目名称に係る「FromSeq」(最小
値)と「ToSeq」(最大値)とを決定し、「プログ
ラムとDDの関連(tblEXTMODDD_LY)」
テーブルの該当行に格納する。
First, READ of the file related to the DD name
If the command exists in the program, the item name of the FD statement associated with the input file name or INT of the READ statement
About the item name described after the O clause, tblL
Refer to the ocalItem table. In the corresponding row where the item name is stored, "Level Number (LevelNu
m) ”and the lines before and after it (in particular, the subsequent lines), the“ FromSeq ”(minimum value) and the“ ToSeq ”(maximum value) related to the above item names are stored. Value) and determine "relationship between program and DD (tblEXTMODDD_LY)"
Store in the corresponding row of the table.

【0037】DD名称に係るファイルのWRITE命令
がプログラムに存在する場合は、出力ファイル名に関連
するFD文の項目名称、又は、WRITE文のFROM
句の後に記述されている項目名称について、上述と同様
に、「FromSeq」(最小値)と「ToSeq」
(最大値)とを決定する。
When the WRITE command for 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 FROM statement for the WRITE statement
For the item names described after the phrase, as in the above, "FromSeq" (minimum value) and "ToSeq"
(Maximum value) and

【0038】図10にて、COBOLプログラム(MA
CTH−KOUSHIN)のサンプル、及びそのtbl
LocalItemテーブルの一部を示す。図10にお
ける「MACTH−KOUSHIN」(プログラム名
称)の「DD名1」(DD名称)に関しては、 (FromSeq,ToSeq)=(1,1),(6,
12) となることがわかる。
In FIG. 10, the COBOL program (MA
CTH-KOUSHIN) sample and its tbl
A part of LocalItem table is shown. As for “DD name 1” (DD name) of “MACTH-KOUSHIN” (program name) in FIG. 10, (FromSeq, ToSeq) = (1, 1), (6
It turns out that it becomes 12).

【0039】図8は、本発明の好適な実施の形態に係る
リバースエンジニアリングツールが、一つの実ファイル
に係るファイルレイアウトを作成する手順を、原理的側
面から示している。更に、図7は、図8の手順を上述の
(図4、図6の)テーブルを用いて説明するための図で
ある。図8の手順を以下に示す。
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 real file. Further, FIG. 7 is a diagram for explaining the procedure of FIG. 8 using the above-mentioned tables (of FIGS. 4 and 6). The procedure of FIG. 8 is shown below.

【0040】S02:実ファイルの情報が入力される。
該情報とは、「Unit(装置名称)」、「Volum
e(ボリューム名称)」、「DSName(データセッ
ト名称)」である。
S02: The information of the actual file is input.
The information includes "Unit (device name)" and "Volum".
e (volume name) "and" DSName (data set name) ".

【0041】S04:「ジョブとデータセットの関係
(tblDataset_JOB)」テーブルにより、
上記S02の実ファイル情報から「Job(ジョブ
名)」、「StepNum(ジョブ内のStep番
号)」、「DDNum(Step内のDD番号)」が導
出される。
S04: From the "Relationship between job and data set (tblDataset_JOB)" table,
"Job (job name)", "StepNum (Step number in job)", and "DDNum (DD number in Step)" are derived from the actual file information in S02.

【0042】S06:上記の「Job」、「StepN
um」、「DDNum」から、「DD情報(tblD
D)」テーブルにおける該当行を導出する(図7の
(ア)から(イ))。同様に、上記の「Job」、「S
tepNum」から、「ジョブとステップとの関連(t
blSTEP)」テーブルにおける該当行を導出する
(図7の(ア)から(ウ))。
S06: "Job" and "StepN" described above
um ”,“ DDNum ”,“ DD information (tblD
D) ”, the corresponding row in the table is derived ((A) to (A) in FIG. 7). Similarly, the above "Job", "S"
From “TepNum”, “Relationship between job and step (t
blSTEP) ”table, the corresponding row is derived ((a) to (c) in FIG. 7).

【0043】S08:上記の「DD情報(tblD
D)」テーブルの該当行に含まれるデータから、関連す
るDD名称(DD)が判明する。同様に、上記の「ジョ
ブとステップとの関連(tblSTEP)」テーブルの
該当行に含まれるデータから、関連するプログラム名
(PGM)が判明する。それらの「DD名称(DD)」
と「プログラム名(PGM)」をキーとして「プログラ
ムとDDの関連(tblEXTMODDD_LY)」テ
ーブルを参照する(図7の(イ)(ウ)から(エ))。
S08: Above "DD information (tblD
D) ”table, the associated DD name (DD) is found from the data contained in that row. Similarly, the related program name (PGM) is found from the data included in the corresponding row of the above-mentioned "relationship between job and step (tblSTEP)" table. Those "DD name (DD)"
And "program name (PGM)" as a key to refer to the "relationship between program and DD (tblEXTMODDD_LY)" table ((a) (c) to (d) of FIG. 7).

【0044】S10:上記の「プログラムとDDの関連
(tblEXTMODDD_LY)」テーブルを参照す
る際には、「プログラムの親子関連(tblRELEX
TMOD)」テーブルを利用して「プログラム名(PG
M)」を「親プログラム名称(P_EXTMOD)」に
当て嵌めその配下の子プログラム(副プログラム)も全
て抽出する。その上で、「子プログラム名称(C_EX
TMOD)」の全てと上記の「DD名称(DD)」とで
更にキーを作成して、「プログラムとDDの関連(tb
lEXTMODDD_LY)」テーブルを参照する(図
7の(イ)(オ)から(エ))。
S10: When referring to the above "Relationship between program and DD (tblEXTMODDD_LY)" table, "Relationship between program parent and child (tblRELEX)
"Program Name (PG
M) ”is applied to the“ parent program name (P_EXTMOD) ”and all child programs (sub-programs) under it are also extracted. Then, "Child program name (C_EX
TMOD) ”and the above-mentioned“ DD name (DD) ”to create a key, and then“ relationship between program and DD (tb
lEXTMODDD_LY) "table ((a) (e) to (d) in FIG. 7).

【0045】S12:上記参照による抽出結果から、
(副プログラムを含む)プログラム名と、その中で宣言
されている上記DD名称に係るレイアウトの開始項目の
番号と終了項目の番号とを、導出する。
S12: From the extraction result by the above reference,
The program name (including the subprogram) and the number of the start item and the end item of the layout related to the DD name declared in the program name are derived.

【0046】S14:上記の開始項目の番号から終了項
目の番号までに相当するデータ項目を、「プログラム中
に宣言されている項目(tblLocalItem)」
テーブルより、ファイルレイアウトとして編集して出力
する(図7の(ウ)から(エ))。ファイルレイアウト
作成においては、レベル番号、データ項目の属性、オフ
セット値、バイト数の情報が必要になるが、それらは上
記tblLocalItemテーブルより取得される。
S14: The data items corresponding to the above start item number to end item number are "items declared in the program (tblLocalItem)".
The file layout is edited and output from the table ((c) to (d) in FIG. 7). In creating the file layout, information on the level number, the attribute of the data item, the offset value, and the number of bytes is required, but they are acquired from the tblLocalItem table.

【0047】図1は、ファイルレイアウトのコンピュー
タ表示装置における出力例である。図1に示すように、
当該画面においては、 ・UNIT、 ・VOLUME、 ・データセット、 ・使用外部モジュール を条件データとして入力するように設定されている。当
該画面では、上述の図8の手順(原理)に従い、ファイ
ルレイアウトが作成、出力される。
FIG. 1 shows an example of output of a file layout on a computer display device. As shown in Figure 1,
On the screen, it is set to: ・ UNIT, ・ VOLUME, ・ Data set, ・ Used external module as condition data. On the screen, a file layout is created and output according to the procedure (principle) of FIG. 8 described above.

【0048】前に説明したように、プログラミング言語
がCOBOLであるならば、(ア)READ文、WRI
TE文で直接使用され、WORKING STORAG
E SECTIONに宣言されているデータ項目群、
(イ)FILE SECTIONに宣言されているデー
タ項目群、の、2通りのレイアウトが出力される。
As described above, if the programming language is COBOL, (a) READ statement, WRI
Used directly in TE statements, WORKING STORAG
Data items declared in E SECTION,
(B) Two layouts of the data item group declared in FILE SECTION are output.

【0049】≪その他の実施の形態について≫以上、本
発明に係る好適な実施の形態について説明したが、本発
明は上記形態に限定されるものではない。ファイルとプ
ログラムとの関係が明白であれば、COBOL以外の言
語のプログラムにおいても、同様の手順にて、実ファイ
ルとプログラムとを指定すれば該プログラムから見たフ
ァイルレイアウトを把握する仕組みを構築することが可
能である。更に、バッチ処理のみならず、オンライン処
理に係るシステムにおいても、同様の仕組みを構築する
ことが可能である。
<< Other Embodiments >> The preferred embodiments of the present invention have been described above, but the present invention is not limited to the above embodiments. If the relationship between a file and a program is clear, even in a program in a language other than COBOL, if a real file and a program are specified by the same procedure, a mechanism for grasping the file layout viewed from the program is constructed. It is possible. Furthermore, it is possible to construct the same mechanism not only in batch processing but also in a system related to online processing.

【0050】[0050]

【発明の効果】本発明を利用することにより、適用業務
システムの開発及び保守作業において、実際に存在する
実ファイルの最新のファイルレイアウトを、プログラム
毎に正確に且つ容易に把握することが可能となる。
By utilizing the present invention, in the development and maintenance work of the application system, it is possible to accurately and easily grasp the latest file layout of the actual file that actually exists for each program. Become.

【図面の簡単な説明】[Brief description of drawings]

【図1】 ファイルレイアウトのコンピュータ表示装置
における出力例である。
FIG. 1 is an example of output of a file layout on a computer display device.

【図2】 実ファイル名からファイルレイアウトに係る
変数宣言を如何にたどるかを簡略に示す模式図である。
FIG. 2 is a schematic diagram schematically showing how to trace a variable declaration relating to a file layout from a real file name.

【図3】 ジョブ制御言語のソースコードのひな型の例
である。
FIG. 3 is an example of a template of a job control language source code.

【図4】 図3のソースコードから作成されるリポジト
リ(テーブル)の一部である。
FIG. 4 is a part of a repository (table) created from the source code of FIG.

【図5】 COBOLにより記述されたプログラムコー
ドのひな型の例である。
FIG. 5 is an example of a model of a program code written in COBOL.

【図6】 図5のプログラムコードから作成されるリポ
ジトリ(テーブル)の一部である。
6 is a part of a repository (table) created from the program code of FIG.

【図7】 本発明の好適な実施の形態に係るリバースエ
ンジニアリングツールが、一つの実ファイルに係るファ
イルレイアウトを作成する手順を、テーブルの例を用い
て説明するための図である。
FIG. 7 is a diagram for explaining a procedure in which the reverse engineering tool according to the preferred embodiment of the present invention creates a file layout for one real file by using an example of a table.

【図8】 本発明の好適な実施の形態に係るリバースエ
ンジニアリングツールが、一つの実ファイルに係るファ
イルレイアウトを作成する手順を原理的側面から示す流
れ図である。
FIG. 8 is a flowchart showing, 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 relating to one real file.

【図9】 本発明に係るリポジトリの生成を模式的に示
すブロック図である。
FIG. 9 is a block diagram schematically showing generation of a repository according to the present invention.

【図10】 COBOLプログラム(MACTH−KO
USHIN)のサンプル、及びそのtblLocalI
temテーブルの一部である。
FIG. 10: COBOL program (MACTH-KO
USHIN) sample and its tblLocalI
It is part of the tem table.

【符号の説明】[Explanation of symbols]

2・・・プログラムファイル、4・・・JCLファイ
ル、6・・・COPY句ファイル、8・・・DB定義体
ファイル、10・・・その他現行管理データファイル、
12・・・各種定義体ファイル、14・・・リポジト
リ。
2 ... Program file, 4 ... JCL file, 6 ... COPY phrase file, 8 ... DB definition file, 10 ... Other current management data file,
12 ... Various definition files, 14 ... Repository.

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 実ファイルと、仮想ファイルとの関係を
示す第1のテーブルと、 実ファイルと、プログラム名との関連を示す第2のテー
ブルと、 外部モジュール名称と、仮想ファイルと、プログラム中
の仮想ファイルが関係する項目の出現開始番号及びプロ
グラム中の仮想ファイルが関係する項目の出現終了番号
との、関係を示す第3のテーブルと、 主外部モジュールと、副外部モジュールとの関係を示す
第4のテーブルと、 外部モジュール名称と、プログラム中に宣言されている
項目の出現順番号と、項目名称と、レベル番号、属性、
オフセット値及びバイト数との関係を示す第5のテーブ
ルとを含む、リポジトリを利用して、 実ファイルに係るデータと、外部モジュール名称に係る
データとの、指定データを取得して、 上記実ファイルの上記外部モジュールにおけるファイル
レイアウトを出力する、リバースエンジニアリング装
置。
1. A first table showing a relationship between a real file and a virtual file, a second table showing a relationship between a real file and a program name, an external module name, a virtual file, and a program Shows the relationship between the appearance start number of the item related to the virtual file and the appearance end number of the item related to the virtual file in the program, and the relationship between the main external module and the sub external module. Fourth table, external module name, appearance number of items declared in the program, item name, level number, attribute,
Using the repository including the fifth table showing the relationship between the offset value and the number of bytes, the specified data of the data related to the actual file and the data related to the external module name is acquired using the repository, and the actual file A reverse engineering device that outputs the file layout in the above external module.
【請求項2】 実ファイルと、ジョブ、ステップ番号、
及びDD番号との関係を示す第6のテーブルと、 ジョブ、ステップ番号、及びDD番号と、DD名との関
係を示す第7のテーブルと、 ジョブ及びステップ番号と、プログラム名との関連を示
す第8のテーブルと、 外部モジュール名称と、DD名と、プログラム中のDD
が関係する項目の出現開始番号及びプログラム中のDD
が関係する項目の出現終了番号との、関係を示す第9の
テーブルと、 主外部モジュールと、副外部モジュールとの関係を示す
第4のテーブルと、 外部モジュール名称と、プログラム中に宣言されている
項目の出現順番号と、項目名称と、レベル番号、属性、
オフセット値及びバイト数との関係を示す第5のテーブ
ルとを含む、リポジトリを利用して、 実ファイルに係るデータと、外部モジュール名称に係る
データとの、指定データを取得して、 上記実ファイルの上記外部モジュールにおけるファイル
レイアウトを出力する、リバースエンジニアリング装
置。
2. A real file, a job, a step number,
And a sixth table showing the relationship with the DD number, a seventh table showing the relationship between the job, the step number, the DD number and the DD name, and the relationship between the job, the step number and the program name. Eighth table, external module name, DD name, DD in the program
Appearance start number of items related to and DD in the program
Is the declaration of the 9th table showing the relationship with the appearance end number of the related item, the 4th table showing the relationship between the main external module and the sub external module, and the external module name. The appearance order number of the item, item name, level number, attribute,
Using the repository including the fifth table showing the relationship between the offset value and the number of bytes, the specified data of the data related to the actual file and the data related to the external module name is acquired using the repository, and the actual file A reverse engineering device that outputs the file layout in the above external module.
【請求項3】 実ファイルに係るデータと、外部モジュ
ール名称に係るデータとの、指定データを受け取り、 上記実ファイルの上記外部モジュールにおけるファイル
レイアウトを作成する、請求項1のリバースエンジニア
リング装置において稼動する、プログラム。
3. The reverse engineering apparatus according to claim 1, which receives designated data of data related to a real file and data related to an external module name and creates a file layout of the real file in the external module. ,program.
【請求項4】 実ファイルに係るデータと、外部モジュ
ール名称に係るデータとの、指定データを受け取り、 上記実ファイルの上記外部モジュールにおけるファイル
レイアウトを作成する、請求項2のリバースエンジニア
リング装置において稼動する、プログラム。
4. The reverse engineering apparatus according to claim 2, which receives designated data of data related to a real file and data related to an external module name, and creates a file layout of the real file in the external module. ,program.
【請求項5】 請求項3又は請求項4に記載のプログラ
ムを記録する、記録媒体。
5. A recording medium for recording the program according to claim 3 or 4.
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 true JP2003233500A (en) 2003-08-22
JP3577480B2 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
JP3577480B2 (en) 2004-10-13

Similar Documents

Publication Publication Date Title
Estublier et al. Impact of software engineering research on the practice of software configuration management
AU2005225130B2 (en) Management and use of data in a computer-generated document
US6857000B2 (en) Object-oriented data storage and retrieval system using index table
US6466240B1 (en) Method for visually writing programs or scripts that transform structured text presented as a tree
JP3027009B2 (en) Design capture system
Helfman Dotplot patterns: a literal look at pattern languages
KR102021915B1 (en) Graphically representing programming attributes
US20050251738A1 (en) Document revision support program and computer readable medium on which the support program is recorded and document revision support device
JP2000148461A (en) Software model and existing source code synchronizing method and device
KR20040004619A (en) Method and system for transforming legacy software applications into modern object-oriented systems
US8234570B2 (en) Harvesting assets for packaged software application configuration
JP2008097215A (en) Data processor
Halpin et al. Database modeling with Microsoft® Visio for enterprise architects
JPWO2006095434A1 (en) Software construction program, recording medium recording the program, software construction method, and software construction system
JP4724387B2 (en) Program conversion program, program conversion apparatus, and program conversion method
JP2008225898A (en) Conversion device, conversion program, and conversion method
Yoder et al. Adaptive object models for implementing business rules
KR100337373B1 (en) A method for Managing Design Information in CAD system
US20050097450A1 (en) System and method for composition and decomposition of information objects
US20210110103A1 (en) Document retrieval and processing from online databases using thumbnail image indexing
JP2003233500A (en) Reverse engineering system
WO2001008007A1 (en) Method and system of automated generation of program code from an object oriented model
Poinot et al. Seven keys for practical understanding and use of CGNS
Cyre et al. Generating validation feedback for automatic interpretation of informal requirements
Chen et al. Visualizing business rules in corporate databases

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