JP3377836B2 - Business specification analyzer for source programs - Google Patents

Business specification analyzer for source programs

Info

Publication number
JP3377836B2
JP3377836B2 JP24571493A JP24571493A JP3377836B2 JP 3377836 B2 JP3377836 B2 JP 3377836B2 JP 24571493 A JP24571493 A JP 24571493A JP 24571493 A JP24571493 A JP 24571493A JP 3377836 B2 JP3377836 B2 JP 3377836B2
Authority
JP
Japan
Prior art keywords
business
data item
statement
extracted
source program
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 - Fee Related
Application number
JP24571493A
Other languages
Japanese (ja)
Other versions
JPH07104994A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP24571493A priority Critical patent/JP3377836B2/en
Publication of JPH07104994A publication Critical patent/JPH07104994A/en
Priority to US09/018,298 priority patent/US6009267A/en
Application granted granted Critical
Publication of JP3377836B2 publication Critical patent/JP3377836B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、既存のソースプログラ
ムの処理内容を解析し、その解析結果を出力するソース
プログラムの業務仕様解析装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a business specification analyzing apparatus for a source program which analyzes the processing contents of an existing source program and outputs the analysis result.

【0002】[0002]

【従来の技術】計算機システムにおいては、システムの
仕様変更や計算機本体のリプレースなどに伴って、ソフ
トウェアを再構築する必要が生じる。この再構築のため
には、既存のソフトウェアすなわち既存のプログラムの
処理内容を把握しなければならない。そして、この把握
のためには、上記既存のプログラム全体の処理内容を整
理・解析する作業が必須となる。一般に、プログラム処
理は、該プログラム外部とのインタフェースを持つデー
タ項目に係わる処理(該データ項目に対する入・出力処
理またはチェック処理等)を行う“業務仕様部分”と、
ファイルアクセス関連命令やその他のOS(オペレーテ
ィング・システム)に依存する命令から成る“コンピュ
ータ制御部分”とに大別される。また、最近では、ソー
スプログラムの再構築の際に、その効率化のためにCA
SE(Computer aided Software Engineering)ツールが
用いられることが多くなっている。
2. Description of the Related Art In a computer system, it is necessary to reconstruct the software in accordance with the specification change of the system and the replacement of the computer main body. For this reconstruction, it is necessary to grasp the processing contents of the existing software, that is, the existing program. In order to grasp this, it is necessary to organize and analyze the processing contents of the existing program as a whole. Generally, the program processing includes a "business specification part" for performing processing (input / output processing or check processing for the data item) related to the data item having an interface with the outside of the program.
It is roughly classified into a "computer control part" including file access related commands and other OS (operating system) dependent commands. Also, recently, when reconstructing a source program, CA
SE (Computer aided Software Engineering) tools are increasingly used.

【0003】[0003]

【発明が解決しようとする課題】従来、上記ソースプロ
グラムの再構築作業における“業務仕様部分”と“コン
ピュータ制御部分”の抽出は、人間により行われてい
た。すなわち、人間が、各プログラム単位でソースプロ
グラム・リストを見ながら、その処理内容を分析・判断
して、該再構築の際に必要となる情報を整理・抽出して
いた。このため、ソースプログラムの再構築は人間にと
って作業負荷が高く、その作業に要する時間も多大なも
のになっていた。
Conventionally, the extraction of the "business specification part" and the "computer control part" in the rebuilding work of the above source program has been performed by a human. That is, a person analyzes and judges the contents of processing while looking at the source program list for each program unit, and sorts and extracts information necessary for the reconstruction. For this reason, the reconstruction of the source program has a heavy work load on human beings, and the time required for the work has been great.

【0004】本発明は、このようなソースプログラムの
再構築作業における負荷を軽減し、該再構築作業を効率
良く行えるようにすることを目的とする。
It is an object of the present invention to reduce the load in the rebuilding work of such a source program and to efficiently carry out the rebuilding work.

【0005】[0005]

【課題を解決するための手段】図1は本発明の原理ブロ
ック図である。本発明は計算機システムのソースプログ
ラム1の再構築作業に係わるものである。
FIG. 1 is a block diagram showing the principle of the present invention. The present invention relates to the rebuilding work of the source program 1 of the computer system.

【0006】データ項目情報抽出手段2は、計算機シス
テムで実行するプログラムのソースプログラム1から、
該ソースプログラム1内で定義されているデータ項目情
報を抽出する。
The data item information extraction means 2 extracts from the source program 1 of the program executed by the computer system,
The data item information defined in the source program 1 is extracted.

【0007】条件抽出手段4は、前記ソースプログラム
1内のステートメントから条件式を抽出して、同一の条
件式については集約する。単純条件は、例えば、比較演
算子で記述された1個の条件式であり、複合条件は複数
の単純条件が結合されたものである。
The condition extracting means 4 extracts conditional expressions from the statements in the source program 1 and collects the same conditional expressions. The simple condition is, for example, one conditional expression described by a comparison operator, and the compound condition is a combination of a plurality of simple conditions.

【0008】業務用語入力手段5は、該条件抽出手段4
によって抽出された条件に対して、その業務に対応する
業務用語を付ける。この業務用語は、例えばオペレータ
によって入力される。
The business term input means 5 is the condition extraction means 4
The business terms corresponding to the business are attached to the conditions extracted by. This business term is input by an operator, for example.

【0009】レコード名ファイル6は、業務仕様として
抽出すべきデータ項目が属するレコードの名称を記憶す
る。このレコードの名称も、例えばオペレータによって
入力される。
The record name file 6 stores the name of the record to which the data item to be extracted as the business specification belongs. The name of this record is also input by the operator, for example.

【0010】制御/業務仕様情報抽出手段3は、前記デ
ータ項目情報抽出手段2で抽出されたデータ項目情報を
基に、上記ソースプログラム1から制御に係わるステー
トメントの情報と業務仕様に係わるステートメントの情
報を抽出・出力する。
The control / business specification information extraction means 3 is based on the data item information extracted by the data item information extraction means 2 and is based on the source program 1 statement information relating to control and statement information relating to business specifications. Is extracted and output.

【0011】また、例えば請求項2記載のように、前記
データ項目情報抽出手段2によって抽出したデータ項目
情報と前記レコード名ファイル6に格納されているレコ
ード名を基に、前記ソースプログラム1から制御に係わ
るステートメントの情報と業務仕様に係わるステートメ
ントの情報を抽出・出力する。
Also, for example, as described in claim 2, the source program 1 controls based on the data item information extracted by the data item information extracting means 2 and the record name stored in the record name file 6. The information of the statement related to and the information of the statement related to the business specification are extracted and output.

【0012】また、さらには例えば請求項4記載のよう
に、前記データ項目情報抽出手段2によって抽出したデ
ータ項目情報と前記レコード名ファイル6に格納されて
いるレコード名を基に、前記ソースプログラム1から制
御に係わるステートメントと業務仕様に係わるステート
メントを抽出して、該業務仕様に係わるステートメント
の内、前記条件式抽出手段4によって抽出された条件式
を使用しているステートメントに対しては、上記業務用
語入力手段5によって付された業務用語と関係付けて出
力する。
Further, as described in claim 4, the source program 1 is based on the data item information extracted by the data item information extracting means 2 and the record name stored in the record name file 6. A statement relating to control and a statement relating to business specifications are extracted from the statement, and for the statement using the conditional expression extracted by the conditional expression extracting means 4 among the statements relating to the business specification, the above-mentioned business It outputs in association with the business term given by the term input means 5.

【0013】[0013]

【作用】ソースプログラム1を再構築する際に、データ
項目情報抽出手段2で例えばソースプログラム1中で定
義されているデータ項目名、その所属節の名前、その所
属しているレコードの名称、使用用途等を抽出する。そ
して、制御/業務仕様情報抽出手段3は、前記ソースプ
ログラム1中において他プログラムや外部周辺装置など
と外部インタフェースを有するデータ項目群に着目し、
それらのデータ項目群に対する入力チェック処理または
出力時の設定処理を行っているステートメントを業務仕
様に係わるステートメントとして抽出する。また、ファ
イルアクセス関連処理を行っているステートメントをコ
ンピュータ制御に係わるステートメントとして抽出す
る。そして、これらの抽出したステートメントを、“業
務仕様”と“制御”とに区分けして、例えばその行番号
とその構文内で使用されているデータ項目が属するレコ
ードと共にファイル出力する。また、上記抽出したステ
ートメントに、上記レコード名と前記業務用語入力手段
5によって付された業務用語とを関係付けてリスト出力
する。
When reconstructing the source program 1, for example, the data item name defined in the source program 1 by the data item information extraction means 2, the name of the section to which it belongs, the name of the record to which it belongs, and its use Extract the usage, etc. Then, the control / business specification information extraction means 3 pays attention to a data item group having an external interface with another program or an external peripheral device in the source program 1,
The statement that is performing the input check processing or the setting processing at the time of output for these data item groups is extracted as the statement related to the business specification. Also, the statement that is performing the file access-related processing is extracted as a statement related to computer control. Then, these extracted statements are divided into “business specifications” and “control”, and are output to a file together with, for example, the line number and the record to which the data item used in the syntax belongs. Also, the extracted statement is output in a list in association with the record name and the business term given by the business term input means 5.

【0014】したがって、制御/業務仕様情報抽出手段
3より出力される上記ファイルまたは上記リストなどの
抽出情報を参照することによって、CASEツールへの
入力作業等が容易になりソースプログラム1を再構築す
る際のシステムエンジニアの作業負担を軽減することが
できる。
Therefore, by referring to the extracted information such as the file or the list output from the control / business specification information extracting means 3, the input work to the CASE tool is facilitated and the source program 1 is reconstructed. It is possible to reduce the work load on the system engineer.

【0015】[0015]

【実施例】以下、図面を参照しながら本発明の実施例を
説明する。図1は、本発明の一実施例の全体構成を示す
ブロック図である。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing the overall configuration of an embodiment of the present invention.

【0016】同図において、ソースプログラム100
は、業務仕様の解析対象のソースプログラムである。本
実施例では、このプログラム100は、コボル(COB
OL:Common Business Oriented Language)で記述され
ている。
In the figure, the source program 100
Is a source program for analysis of business specifications. In this embodiment, this program 100 is
OL: Common Business Oriented Language).

【0017】データ項目情報抽出部112は、ソースプ
ログラム100を解析し、該ソースプログラム100の
データ部(DATA DIVISION)で定義されて
いるデータ項目を抽出する。このデータ項目抽出情報1
14は、以下のようなものである。 (a) データ項目名 (b) 各データ項目の定義がなされている所属節の名称
(SECTION名) (c) 各データ項目が所属しているレコードの名称(所属
レコード名) (d) 各データ項目の使用用途。これは、各データ項目が
属する領域の種類を、データベース領域、ファイル入出
力領域、通信機能メッセージ領域、通信機能関連領域、
及びそれ以外の領域に区分するものである。 (e) ファイル節(FILE SECTION)のFD
(File Description)句で定義されているファイル名
と、そのファイル名のファイルに属するレコードの名称 (f) 上記各ファイルのオープンモード。これには、入力
ファイルを指定するINPUT、出力ファイルを指定す
るOUTPUT等がある。
The data item information extraction section 112 analyzes the source program 100 and extracts the data items defined in the data section (DATA DIVISION) of the source program 100. This data item extraction information 1
14 is as follows. (a) Data item name (b) Name of section to which each data item is defined (SECTION name) (c) Name of record to which each data item belongs (Record record name) (d) Each data Use of the item. This is the type of area to which each data item belongs, database area, file input / output area, communication function message area, communication function related area,
And other areas. (e) FD of file section (FILE SECTION)
The file name defined in the (File Description) clause and the name of the record that belongs to the file with that file name (f) The open mode of each of the above files. This includes INPUT for specifying an input file, OUTPUT for specifying an output file, and the like.

【0018】単純条件抽出部115は、ソースプログラ
ム100中に記述されている単純条件(単純条件式)1
27を抽出する。このとき、複合条件内で記述されてい
る個々の単純条件127についても抽出する。この抽出
する単純条件127は、以下の通りである。 (a) IF,SEARCH,EVALUATE,PERF
ORMの各文中の比較条件。 (b) 条件名条件 後の集約処理のために比較条件と同じ形にして抽出す
る。
The simple condition extraction unit 115 is a simple condition (simple condition expression) 1 described in the source program 100.
27 is extracted. At this time, each simple condition 127 described in the compound condition is also extracted. The simple condition 127 to be extracted is as follows. (a) IF, SEARCH, EVALUATE, PERF
Comparison conditions in each sentence of the ORM. (b) Condition name Extracted in the same form as the comparison condition for aggregation processing after the condition.

【0019】条件名条件とは、COBOLに特有な記述
であり、条件名によって記述された条件のことである。
このような記述の一例を図3に示す。条件名は、データ
部(DATA DIVISION)においてレベル番号
「88」を使って定義する。同図においては、BBB及
びCCCが該当する。また、レベル番号「88」の直前
のレベル番号「01」で定義されているデータ項目(A
AAが該当)を条件変数という。
Condition Name Condition is a description unique to COBOL and is a condition described by a condition name.
An example of such a description is shown in FIG. The condition name is defined using the level number "88" in the data division (DATA DIVISION). In this figure, BBB and CCC correspond. In addition, the data item (A that is defined by the level number “01” immediately before the level number “88” (A
AA is applicable) is called a condition variable.

【0020】そして、処理部(PROCEDURE D
IVISION)において、IF文やPERFORM文
の中の条件に条件名を指定したものが条件名条件であ
る。同図に示す例では、 IF BBB の文中のBBBが条件名条件であり、これはAAA=0
01と等価である。
Then, the processing unit (PROCEDURE D
In IVISION), a condition name condition is a condition name specified as a condition in an IF statement or a PERFORM statement. In the example shown in the figure, BBB in the sentence of IF BBB is the condition name condition, which is AAA = 0.
Is equivalent to 01.

【0021】このように、条件名条件を用いると条件式
を簡潔に記述できると共に、プログラムの修正も容易と
なる。また、条件名として条件に相応しい名前を設定す
ることにより、条件式の意味を瞬時に判断できるという
利点もある。
As described above, when the condition name condition is used, the conditional expression can be simply described and the program can be easily modified. Further, by setting a name suitable for the condition as the condition name, it is possible to instantaneously determine the meaning of the conditional expression.

【0022】複合条件抽出部116は、ソースプログラ
ム100中で記述されている複合条件128を、複数の
単純条件を結合している論理演算子も含めて抽出する。
抽出する複合条件128は以下の通りである。 (a) IF,SEARCH,EVALUATE.PERF
ORMの各文中の比較条件。 (b) 条件名条件 後の集約処理のために比較条件と同じ形にして抽出す
る。
The compound condition extracting unit 116 extracts the compound condition 128 described in the source program 100, including the logical operator connecting a plurality of simple conditions.
The compound condition 128 to be extracted is as follows. (a) IF, SEARCH, EVALUATE. PERF
Comparison conditions in each sentence of the ORM. (b) Condition name Extracted in the same form as the comparison condition for aggregation processing after the condition.

【0023】単純条件集約部117は、上記単純条件抽
出部115によって抽出された単純条件127につい
て、比較演算子とそれの左辺および右辺をキーにして同
一条件を1情報に集約する。また、この集約の際、各条
件の出現回数を計数する。そして、該各集約情報に、そ
の集約前の情報数すなわち上記出現回数を付加したもの
を、集約後単純条件129として作成する。
The simple condition aggregating unit 117 aggregates the same conditions of the simple condition 127 extracted by the simple condition extracting unit 115 into one piece of information by using the comparison operator and its left and right sides as keys. Further, at the time of this aggregation, the number of appearances of each condition is counted. Then, the aggregated information is added with the number of pieces of information before aggregation, that is, the number of appearances, as a post-aggregation simple condition 129.

【0024】複合条件集約部118は、上記複合条件抽
出部116によって抽出された複合条件128につい
て、比較演算子とそれの左辺及び右辺と論理演算子をキ
ーにして同一条件を1情報に集約する。また、この集約
の際、各条件の出現回数を計数する。そして、該各集約
情報に、その集約前の情報数すなわち上記出現回数を付
加したものを、集約後複合条件130として作成する。
With respect to the composite condition 128 extracted by the composite condition extracting unit 116, the composite condition aggregating unit 118 aggregates the same condition into one information by using the comparison operator, the left side and the right side thereof and the logical operator as keys. . Further, at the time of this aggregation, the number of appearances of each condition is counted. Then, the aggregated information is added with the number of pieces of information before aggregation, that is, the number of appearances, to create a post-aggregation compound condition 130.

【0025】業務用語入力部119は、上記単純条件集
約部117及び上記複合条件集約部118によって集約
された各単純条件127と各複合条件128に対し、対
応する業務用語を手入力して、それらの各条件と該各条
件の具体的な意味を示す業務用語とが対応付けられた業
務用語辞書129を作成するものである。
The business term inputting section 119 manually inputs the corresponding business terms for the simple conditions 127 and the complex conditions 128 collected by the simple condition collecting section 117 and the complex condition collecting section 118, and outputs them. The business term dictionary 129 is created in which each of the conditions is associated with the business term indicating a specific meaning of each condition.

【0026】レコード名ファイル123は、“業務仕
様”として抽出したい外部とのインタフェースを持たな
いデータ項目が属するレコードの名称(レコード名)を
格納する。このレコード名は、ユーザ等により外部入力
される。
The record name file 123 stores the name (record name) of a record to which a data item which does not have an interface with the outside to be extracted as a "business specification" belongs. This record name is externally input by the user or the like.

【0027】制御/業務仕様情報抽出部121は、上記
データ項目情報抽出部112によって抽出されたデータ
項目情報114と上記レコード名ファイル123に格納
されているレコード名を基に、ソースプログラム100
を解析し、該ソースプログラム100から“コンピュー
タ制御”(以下、単に“制御”と記述する)に該当する
処理を行っている文と“業務仕様”に該当する処理を行
っている文の行番号を抽出する。この抽出は、以下のよ
うにして行う。 (a) 連絡領域節(LINKAGE SECTION)で
定義されている項目に対するチェック処理及び更新処理
は、“業務仕様”として抽出する。 (b) データベース入出力領域に対するチェック処理及び
更新処理は、“業務仕様”として抽出する。 (c) 入力モード及び更新モードでオープンしているファ
イルの入出力領域に対するチェック処理は“業務仕様”
として抽出する。 (d) 出力モード及び更新モードでオープンしているファ
イルの入出力領域に対する更新処理は、“業務仕様”と
して抽出する。 (e) 通信機能メッセージ領域に対するチェック処理及び
更新処理は“制御”として抽出する。「通信機能メッセ
ージ領域」はディスプレイ端末画面からの入力内容(デ
ータ)が格納されたり、ディスプレイ端末画面への出力
内容(データ)やプリンタ端末に出力する内容(デー
タ)が設定される領域である。
The control / business specification information extraction unit 121, based on the data item information 114 extracted by the data item information extraction unit 112 and the record name stored in the record name file 123, the source program 100.
From the source program 100, and the line numbers of the statement performing the processing corresponding to “computer control” (hereinafter simply referred to as “control”) and the statement performing the processing corresponding to “business specification” To extract. This extraction is performed as follows. (a) The check process and update process for the items defined in the LINKAGE SECTION are extracted as "business specifications". (b) The check processing and update processing for the database input / output area are extracted as “business specifications”. (c) Check processing for the input / output area of files opened in input mode and update mode is "business specification"
To extract. (d) The update processing for the input / output area of the file opened in the output mode and update mode is extracted as "business specifications". (e) The check processing and update processing for the communication function message area are extracted as “control”. The “communication function message area” is an area in which input contents (data) from the display terminal screen are stored, and output contents (data) to the display terminal screen and contents (data) to be output to the printer terminal are set.

【0028】この領域は、このように端末からの入力デ
ータや端末への出力データが格納されるため、この領域
に対するチェック/更新処理は“業務仕様”として取り
扱うのが妥当である。 (f) 通信機能関連領域に対するチェック処理及び更新処
理は“制御”として抽出する。「通信機能関連領域」
は、通信機能を制御するための情報がオンラインモニタ
や、プログラムにより設定される領域である。上記情報
としては、例えば、あて先種別(ディスプレイ、プリン
タなど)やあて先名(ワークステーション名、論理あて
先名など)等がある。
Since the input data from the terminal and the output data to the terminal are stored in this area in this way, it is appropriate to handle the check / update processing for this area as "business specifications". (f) The check processing and update processing for the communication function related area are extracted as “control”. "Communication function-related area"
Is an area where information for controlling communication functions is set by an online monitor or program. The information includes, for example, destination type (display, printer, etc.) and destination name (workstation name, logical destination name, etc.).

【0029】このように、この領域には、端末とのデー
タのやり取りを制御するための情報が格納されるので、
“制御”として取り扱う。 (g) OPEN,READ,WRITE,CLOSE等の
ファイルアクセス関連命令、通信機能関連命令、及びデ
ータベースアクセス関連命令は“制御”として抽出す
る。上記通信機能関連命令は、端末からのメッセージを
入力したり、端末へメッセージを出力する命令である。 (h) 前記レコード名ファイル123に格納されているレ
コード名のレコード及びそのレコードに属するデータ項
目に対するチェック処理及び更新処理は“業務仕様”と
して抽出する。
As described above, since the information for controlling the exchange of data with the terminal is stored in this area,
Treat as “control”. (g) File access related commands such as OPEN, READ, WRITE, and CLOSE, communication function related commands, and database access related commands are extracted as “control”. The communication function related command is a command for inputting a message from the terminal or outputting a message to the terminal. (h) The check process and the update process for the record having the record name stored in the record name file 123 and the data items belonging to the record are extracted as “business specifications”.

【0030】尚、上記(a) 〜(h) におけるチェック処理
及び更新処理は、それぞれ以下のような処理を表わして
いる。 チェック処理:IF,EVALUATE,PERFOR
M,SEARCH等の各命令等を使用して当該データ項
目の値を比較している処理 更新処理:MOVE,COMPUTE命令等を使用して
当該データ項目に値を設定している処理 そして、以上のようにして抽出した制御/業務仕様情報
を所定の形式にまとめた情報ファイル125を作成・出
力する。また、さらに、ソースプログラム100のリス
ト上に“制御”及び“業務仕様”の注釈情報と、対応す
るステートメントと同一行に業務用語とが表示された情
報リスト126も作成・出力する。
The check process and the update process in the above (a) to (h) represent the following processes, respectively. Check processing: IF, EVALUATE, PERFOR
Update process that compares the value of the data item using each command of M, SEARCH, etc. Update process: Process that sets the value of the data item using MOVE, COMPUTE command, etc. An information file 125 in which the control / business specification information extracted in this way is put together in a predetermined format is created and output. Further, the information list 126 in which the annotation information of "control" and "business specification" and the business term are displayed in the same line as the corresponding statement is also created and output on the list of the source program 100.

【0031】次に、上記構成の実施例の動作を、図4に
示すCOBOLで記述されたソースプログラム100を
取り上げて説明する。まず、データ項目情報抽出部11
2が該ソースプログラム100全体を入力し、図5(a),
(b) に示すようなデータ項目情報114を抽出する。
Next, the operation of the embodiment having the above configuration will be described with reference to the source program 100 described in COBOL shown in FIG. First, the data item information extraction unit 11
2 inputs the entire source program 100, and FIG.
The data item information 114 as shown in (b) is extracted.

【0032】すなわち、データ(DATA DIVIS
ION)内のファイル節(FILESECTION)と
作業節(WORKING−STORAGE SECTI
ON)の各節を調べる。そして、「FILE SECT
ION」において、ファイル「INFILE」に属する
レコード「INREC」を抽出し、次にこのレコード
「INREC」に属するデータ項目「INREC−
A」、該データ項目「INREC−A」を構成する2つ
のデータ項目「IN−ENTYEAR」並びに「IN−
SERNO」,同じくレコード「INREC」に属する
データ項目「IN−NAME」と「IN−SEC−CO
DE」を抽出する。また、これらの抽出データ項目につ
いて、所属節名として「FILE」,使用用途として
「ファイル」の各情報を設定する。さらに、レコード
「INREC」以外のデータ項目について所属レコード
名として「INREC」を抽出する。
That is, the data (DATA DIVIS
ION) file section (FILESECTION) and working section (WORKING-STORAGE SECTI)
Check each section of (ON). And, "FILE SECT
In the “ION”, the record “INREC” belonging to the file “INFILE” is extracted, and then the data item “INREC− belonging to this record“ INREC ”is extracted.
“A”, two data items “IN-ENTYEAR” and “IN-” that compose the data item “INREC-A”.
SERNO ”, data items“ IN-NAME ”and“ IN-SEC-CO ”that also belong to the record“ INREC ”
"DE" is extracted. Further, for these extracted data items, each information of “FILE” as the belonging section name and “File” as the usage purpose is set. Further, "INREC" is extracted as the belonging record name for the data items other than the record "INREC".

【0033】同様の処理を、ファイル「OUTFIL
E」に属するレコード「OUTREC」についても行
い、データ項目として「OUTREC」,「OUTRE
C−A」,「OT−SERNO」,「OT−NAM
E」、及び「OT−SEC−CODE」を抽出する。そ
して、これらのデータ項目に対応する所属節名として
「FILE」を、使用用途として「ファイル」を設定す
る。また、「OUTREC」以外のデータ項目について
それらが所属するレコード名として「OUTREC」を
設定する。
The same processing is performed for the file "OUTFIL
The record “OUTREC” belonging to “E” is also performed, and the data items “OUTREC” and “OUTRE” are set.
"CA", "OT-SERNO", "OT-NAM"
"E" and "OT-SEC-CODE" are extracted. Then, "FILE" is set as the belonging section name corresponding to these data items, and "file" is set as the usage purpose. Further, for data items other than "OUTREC", "OUTREC" is set as the record name to which they belong.

【0034】データ項目情報抽出部112は、さらに
「WORKING−STORAGESECTION」に
ついても解析し、レコード「WK−XXX」,該レコー
ド「WK−XXX」に属する項目「WKREC−A」,
「WK−ENTYEAR」,「WK−SERNO」,
「WK−NAME」,「WK−SEC−CODE」、及
び「WK−ERRCODE」を抽出する。尚、「WK−
ENTYEAR」と「WK−SERNO」は「WKRE
C−A」を構成している。
The data item information extraction unit 112 further analyzes "WORKING-STORAGE SECTION", and records "WK-XXX", the item "WKREC-A" belonging to the record "WK-XXX",
"WK-ENTYEAR", "WK-SERNO",
"WK-NAME", "WK-SEC-CODE", and "WK-ERRCODE" are extracted. In addition, "WK-
"ENTYEAR" and "WK-SERNO" are "WKRE"
C-A ".

【0035】また更に、上記抽出したデータ項目につい
て、対応する所属節名として「WORK」を設定する。
ところで、この「WORKING−STORAGE S
ECTION」は、主記憶内に設けられた作業領域であ
り、データベース入出力領域、ファイル入出力領域、通
信機能メッセージ領域、及び通信機能関連領域のいずれ
の領域にも該当しないので、上記抽出したデータ項目に
対応する使用用途欄には「以外」を設定する。そして、
最後に、「WK−XXX」以外の上記データ項目につい
て、それらが所属するレコード名として「WK−XX
X」を抽出・設定する。
Furthermore, "WORK" is set as the corresponding belonging section name for the extracted data item.
By the way, this "WORKING-STORAGE S
The "ECTION" is a work area provided in the main memory and does not correspond to any of the database input / output area, the file input / output area, the communication function message area, and the communication function related area. Set "other" in the intended use column corresponding to the item. And
Finally, for the above data items other than "WK-XXX", the record name to which they belong is "WK-XX".
X "is extracted and set.

【0036】以上の処理により、図5(a) に示すような
データ項目情報114が作成される。さらに、データ項
目情報抽出部112は、ファイル節(FILE SEC
TION)で定義されているファイル名「INFIL
E」と「OUTFILE」を抽出し、これらのファイル
に属するレコード(レコード名)として、それぞれ「I
NREC」と「OUTREC」を抽出する。また、更
に、これらのファイルのオープンモードを調べるために
処理部(PROCEDURE DIVISIONUSI
NG LK−A)を検索し、行番号「000500」の
記述文「OPENINPUT INFILE.」からフ
ァイル「INFILE」のオープンモードとして「IN
PUT」(入力モード)を抽出する。一方、ファイル
「OUTFILE」については、行番号「00051
0」の記述文「OPEN OUTPUT OUTFIL
E.」からオープンモードとして「OUTPUT」(出
力モード)を抽出する。そして、これらの抽出情報を基
に、図5(b) に示すようなデータ項目情報114を作成
する。
By the above processing, the data item information 114 as shown in FIG. 5A is created. Furthermore, the data item information extraction unit 112 uses the file section (FILE SEC
File name “INFIL” defined in (TION)
“E” and “OUTFILE” are extracted, and as records (record names) belonging to these files, “I” and “OUTFILE” are extracted.
"NREC" and "OUTREC" are extracted. In addition, in order to check the open mode of these files, a processing unit (PROCEDURE DIVISION USI
NG LK-A), and from the description sentence “OPENINPUT FILE.” At line number “000500” to “IN” as the open mode of the file “INFILE”.
PUT "(input mode) is extracted. On the other hand, for the file “OUTFILE”, the line number “00051
0 "description" OPEN OUTPUT OUTPUT "
E. , "OUTPUT" (output mode) is extracted as an open mode. Then, based on these extracted information, the data item information 114 as shown in FIG. 5B is created.

【0037】次に、単純条件抽出部115の動作を、図
6のフローチャートを参照しながら、より詳細に説明す
る。まず、ソースプログラム100の処理部(PROC
EDURE DIVISION)の先頭行(先頭レコー
ド)を読み出し(S11)、このレコードがソースプロ
グラム100の終了を示すレコードであるか否か判別す
る(S12)。
Next, the operation of the simple condition extracting section 115 will be described in more detail with reference to the flowchart of FIG. First, the processing unit of the source program 100 (PROC
The top line (top record) of EDURE DIVISION) is read (S11), and it is determined whether this record is a record indicating the end of the source program 100 (S12).

【0038】そして終了レコードでなければ(S12,
No)、次にIF文が記述されているか否か判別する
(S13)。そして、IF文が記述されていれば、この
構文を参照して条件式の部分を不図示の記憶領域に退避
し(S14)、この退避した条件式を解析して単純条件
式を抽出する条件式分割出力処理を行う(S15)。
If it is not the end record (S12,
No), and then it is determined whether or not an IF statement is described (S13). Then, if the IF statement is described, the conditional expression part is saved in a storage area (not shown) by referring to this syntax (S14), and the saved conditional expression is analyzed to extract a simple conditional expression. Formula division output processing is performed (S15).

【0039】この条件式分割出力処理S15について
は、後述、詳しく説明する。一方、上記ステップS13
で、IF文が記述されていなければ次にEVALUAT
E文が記述されているか調べる(S16)。そして、E
VALUATE文が記述されていれば(S16,Ye
s)、この構文から「選択主体」と「選択対象」を取り
出して、これらを不図示の記憶領域に一時的に退避し
(S17)、次に、該「選択主体」と該「選択対象」を
結合して、これを不図示の単純条件式出力ファイルに出
力する(S18)。
The conditional expression division output processing S15 will be described later in detail. On the other hand, the above step S13
Then, if the IF statement is not described, next EVALUAT
It is checked whether the E sentence is described (S16). And E
If the VALUE statement is described (S16, Ye
s), "selection subject" and "selection subject" are taken out from this syntax, these are temporarily saved in a storage area (not shown) (S17), and then the "selection subject" and the "selection subject" Are combined and output to a simple conditional expression output file (not shown) (S18).

【0040】また、上記ステップS16で読み込んだレ
コードがEVALUATE文でなければ(S16,N
o)、次にPERFORM文であるか否か判別する(S
19)。そして、PERFORM文であれば(S19,
Yes)、該PERFORM文の構文を参照してUNT
IL条件を不図示の記憶領域に退避する(S20)。そ
して、次にこの退避したUNTIL条件を基に前記条件
式分割出力処理S15を行う。
If the record read in step S16 is not an EVALUATE statement (S16, N
o) Then, it is determined whether or not it is a PERFORM statement (S
19). If it is a PERFORM statement (S19,
Yes), referring to the syntax of the PERFORM statement, UNT
The IL condition is saved in a storage area (not shown) (S20). Then, based on the saved UNTIL condition, the conditional expression division output process S15 is performed.

【0041】また、更に上記ステップS19でPERF
ORM文でなければ(S19,No)、次に読み込んだ
レコードがSEARCH文であるか否か判別する(S2
1)。そして、SEARCH文であれば(S22,Ye
s)、この構文を参照して対応するWHEN条件を不図
示の記憶領域に退避する(S22)。そして、次に、こ
の退避したWHEN条件を基に前記条件式分割出力処理
S15を行う。
Further, in step S19, the PERF
If it is not an ORM sentence (S19, No), it is determined whether or not the record read next is a SEARCH sentence (S2).
1). If it is a SEARCH sentence (S22, Ye
s), referring to this syntax, the corresponding WHEN condition is saved in a storage area (not shown) (S22). Then, based on the saved WHEN condition, the conditional expression division output processing S15 is performed.

【0042】以上のような処理を、上記ステップS12
でソースプログラム100の処理部(PROCEDUR
E DIVISION)から全レコードを読み出したと
判別するまで(S12,Yes)、行番号順に全レコー
ドに対して行う。
The above-mentioned processing is performed in the above step S12.
Then, the processing unit of the source program 100 (PROCEDUR
Until it is determined that all the records have been read from (E DIVISION) (S12, Yes), the process is performed on all the records in the order of line numbers.

【0043】これにより、図4に示すソースプログラム
100の場合、図8に示すような単純条件式が抽出され
る。ところで、EVALUATE文における上記「選択
主体」にはデータ名が該当し、上記「選択対象」には条
件値が該当する。したがって、 EVALUATE WK−A WHEN ‘1’ という構文の場合、 選択主体=WK−A,選択対象=‘1’となる。
As a result, in the case of the source program 100 shown in FIG. 4, simple conditional expressions as shown in FIG. 8 are extracted. By the way, a data name corresponds to the above-mentioned “selection subject” in the EVALUATE statement, and a condition value corresponds to the above-mentioned “selection target”. Therefore, in the case of the syntax EVALUATE WK-A WHEN '1', the selection subject = WK-A and the selection target = '1'.

【0044】次に、上記条件式分割出力処理S15の詳
細を図8のフローチャートを参照しながら説明する。こ
の処理においては、まず、上記退避用記憶領域から退避
されていた条件式(IF文の条件式、PERFORM文
のUNTIL条件式、SEARCH文のWHEN条件
式)を読み出し、該条件式中に論理演算子が含まれてい
るか、すなわち該条件式が複合条件式となっているか否
か調べる(S151)。そして、論理演算子が含まれて
いれば(S151,YES)、該論理演算子を区切り文
字として上記複合条件式を複数の単純条件式に分割する
(S152)。
Next, the details of the conditional expression division output processing S15 will be described with reference to the flowchart of FIG. In this process, first, the conditional expression (conditional expression of IF statement, UNTIL conditional expression of PERFORM statement, WHEN conditional expression of SEARCH statement) saved from the save storage area is read out, and logical operation is performed in the conditional expression. It is checked whether a child is included, that is, whether the conditional expression is a compound conditional expression (S151). If the logical operator is included (S151, YES), the compound conditional expression is divided into a plurality of simple conditional expressions using the logical operator as a delimiter (S152).

【0045】次に、該ステップS152の処理によって
得られた単純条件式を、1つづつ単純条件式抽出ファイ
ルに出力する(S153)。このステップS153の処
理を、上記ステップS152で得られた条件式の数だけ
繰り返すことにより、単純条件式抽出ファイルには、単
純条件の場合には1個の単純条件式が、複合条件の場合
には対応する数の単純条件式が格納される。
Next, the simple conditional expressions obtained by the processing of step S152 are output one by one to the simple conditional expression extraction file (S153). By repeating the process of step S153 by the number of conditional expressions obtained in step S152, the simple conditional expression extraction file stores one simple conditional expression in the case of a simple condition and a simple conditional expression in the case of a complex condition. Stores a corresponding number of simple conditional expressions.

【0046】この条件式分割出力処理S15を、図4に
示すソースプログラム100の行番号(000690)
に記述されたIF文〔IF WK−SEC−CODE
=‘1’ AND IN−NAME=SPACE〕を例
に上げて説明する。
This conditional expression division output processing S15 is executed by the line number (000690) of the source program 100 shown in FIG.
IF statement [IF WK-SEC-CODE
= '1' AND IN-NAME = SPACE] will be described as an example.

【0047】このIF文の場合、条件式〔WK−SEC
−CODE = ‘1’ ANDIN−NAME=SP
ACE〕が退避される。そして、上記ステップS151
で該条件式中に論理演算子〔AND〕が含まれていると
判別され(S151,Yes)、次のステップS152
でこの論理演算子〔AND〕を区切り文字として、上記
退避された条件式は〔WK−SEC CODE=
‘1’〕と〔IN−NAME=SPACE〕の2つの条
件式に分割される。
In the case of this IF statement, the conditional expression [WK-SEC
-CODE = '1' ANDIN-NAME = SP
ACE] is saved. Then, the above step S151
Then, it is determined that the conditional expression includes the logical operator [AND] (S151, Yes), and the next step S152.
With this logical operator [AND] as a delimiter, the saved conditional expression is [WK-SEC CODE =
It is divided into two conditional expressions, “1”] and [IN-NAME = SPACE].

【0048】そして、上記ステップS153が2回繰り
返され、上記2つの条件式〔WK−SEC−CODE=
‘1’〕と〔IN−NAME=SPACE〕が上記単純
条件式抽出ファイルに出力される。
Then, step S153 is repeated twice, and the two conditional expressions [WK-SEC-CODE =
'1'] and [IN-NAME = SPACE] are output to the simple conditional expression extraction file.

【0049】一方、行番号(000530)の構文のよ
うに条件式が単純条件となっているIF文の場合には、
上記ステップS151でNoと判別され、上記ステップ
S153が1回のみ行われて、単純条件式が上記単純条
件式抽出ファイルに出力される。
On the other hand, in the case of an IF statement in which the conditional expression is a simple condition like the syntax of line number (000530),
When it is determined No in step S151, step S153 is performed only once, and the simple conditional expression is output to the simple conditional expression extraction file.

【0050】図4に示すソースプログラム100の場
合、上記の処理が行番号(000550),(0005
70),(000590)、及び(000690)のI
F文に対しても行われ、上記単純条件式抽出ファイルに
は図8に示すような内容が書き込まれる。また、特に図
示しないが、EVALUATE文、PERFORM文、
及びSEARCH文についても、上記条件式分割出力処
理S15により、上記単純条件式抽出処理ファイルに各
対応する条件文が図8に示すような形式で書き込まれ
る。
In the case of the source program 100 shown in FIG. 4, the above-mentioned processing is performed by line numbers (000550) and (0005).
70), (000590), and (000690) I
This is also performed for the F statement, and the contents shown in FIG. 8 are written in the simple conditional expression extraction file. Also, although not particularly shown, an EVALUATE statement, a PERFORM statement,
Also for the SEARCH statement, the conditional expression divided output processing S15 writes the corresponding conditional statements in the simple conditional expression extraction processing file in the format shown in FIG.

【0051】尚、COBOLにおいては、条件式が階層
化されている場合もある。このような場合の条件式の抽
出方法を図9を参照しながら説明する。同図に示す例で
は、EVALUATE文の中にSEARCH文とEVA
LUATE文が入れ子(nest)として入っている。
このような記述に対処するために、図10に示すように
第1階層、第2階層、第3階層、・・・と階層化された
テーブル(階層別格納テーブル)200を不図示の記憶
領域に用意する。
In COBOL, conditional expressions may be hierarchized. A method of extracting a conditional expression in such a case will be described with reference to FIG. In the example shown in the figure, the SEARCH statement and EVA are included in the EVALUATE statement.
A LUATE statement is included as a nest.
In order to deal with such a description, a table (hierarchical storage table) 200 hierarchized as a first hierarchy, a second hierarchy, a third hierarchy, ... As shown in FIG. To prepare.

【0052】図9に示すソースプログラムの場合には、
END−SEARCHまで解析した時点で、第2階層
に位置するSEARCH文の終了を検出する。この間、
,,,、及びのWHEN条件を見つけ図10
(a) に示すように第1階層のEVALUATE文のWH
EN条件の条件式〔WK−A=‘1’〕を上記階層別
格納テーブル200の第1階層格納域201に格納す
る。さらに、同図(a) に示すように上記第1階層のEV
ALUATE文の入れ子となっている第2階層のSEA
RCH文の3つのWHEN条件の条件式〔KEY−A
=‘1’〕,〔KEY−A=‘2’〕、及び〔KE
Y−A=‘3’〕を上記階層別格納テーブル200の第
2階層格納域202に格納する。そして、上記のように
で第2階層のSEARCH文の終了を検出すると、該
第2階層格納域202に格納していた該SEARCH文
の3つの条件式KEY−A‘1’,KEY−A
‘2’,KEY−A‘3’を上記単純条件式抽出ファ
イルに出力する。
In the case of the source program shown in FIG. 9,
At the time of analysis up to END-SEARCH, the end of the SEARCH statement located in the second layer is detected. During this time,
Find the WHEN conditions of ,,,, and, and FIG.
As shown in (a), WH of the EVALUATE statement in the first layer
The conditional expression [WK-A = '1'] of the EN condition is stored in the first tier storage area 201 of the tier-specific storage table 200. Furthermore, as shown in FIG. 3A, the EV of the first layer is
SEA of the second layer that is a nest of ALUATE statement
Conditional expression of three WHEN conditions of RCH sentence [KEY-A
= '1'], [KEY-A = '2'], and [KE
YA = '3'] is stored in the second tier storage area 202 of the tier-specific storage table 200. When the end of the SEARCH statement of the second layer is detected as described above, the three conditional expressions KEY-A′1 ′ and KEY-A of the SEARCH statement stored in the second layer storage area 202 are detected.
"2", KEY-A "3" are output to the simple conditional expression extraction file.

【0053】続いて、WHEN‘2’の読み出しによ
り、これが第1階層のEVALUATE文の条件である
と判断し、図10(b) に示すように条件式WK−A=
‘2’を上記WK−A‘1’に続けて、階層別格納テ
ーブル200の第1階層格納域201に格納する。さら
に、第2階層のEVALUATE文のWHEN条件式
(WHEN‘1’,WHEN‘2’)を順次検出し
て、条件式WK−B‘1’,WK−B=‘2’を順
次作成し、これらを階層別格納テーブル200の第2階
層格納域202の先頭からスタック(stack)して
いく。そして、END−EVALUATEの読み出し
により、上記第2階層のEVALUATE文の終了を検
出し、該第2階層格納域202にスタックしていた該第
2階層のEVALUATE文の2つの条件式WK−B
=‘1’、WK−B‘2’を上記単純条件式抽出ファ
イルに出力する。
Subsequently, by reading out WHEN '2', it is judged that this is the condition of the EVALUATE statement of the first layer, and the conditional expression WK-A =, as shown in FIG. 10 (b).
"2" is stored following the WK-A "1" in the first tier storage area 201 of the tiered storage table 200. Further, the WHEN conditional expressions (WHEN'1 ', WHEN'2') of the EVALUATE statement of the second layer are sequentially detected, and the conditional expressions WW-B'1 'and WW-B =' 2 'are sequentially created, These are stacked from the top of the second tier storage area 202 of the tiered storage table 200. Then, the end of the second-level EVALUATE statement is detected by reading END-EVALUATE, and two conditional expressions WK-B of the second-level EVALUATE statement that are stacked in the second-tier storage area 202 are detected.
= '1', WK-B'2 'are output to the simple conditional expression extraction file.

【0054】次に、 外1 END−EVALUAT
E.の読み出しにより、第1階層のE
Next, the outer 1 END-EVALUAT
E. By reading, E of the first layer

【0055】[0055]

【外1】 [Outer 1]

【0056】VALUATE文の終了を検出し、これに
より階層別格納テーブル200の第1階層格納域201
に蓄積しておいた、該第1階層のEVALUATE文の
条件式WK−A=‘1’、WK−A=‘2’を上記
単純条件式抽出ファイルに出力する。
The end of the VALUATE statement is detected, whereby the first tier storage area 201 of the tiered storage table 200 is detected.
The conditional expressions WK-A = '1' and WK-A = '2' of the EVALUATE statement of the first layer, which have been stored in the above, are output to the simple conditional expression extraction file.

【0057】以上のようにして、入れ子構造となってい
るEVALUATE文の単純条件式の抽出が終了する。
尚、この抽出方法は、次に述べる複合条件抽出部116
の処理にも適用される。
Thus, the extraction of the simple conditional expression of the EVALUATE statement having the nested structure is completed.
Note that this extraction method is performed by the compound condition extraction unit 116 described below.
It also applies to the processing of.

【0058】次に、複合条件抽出部116の動作の詳細
を、図11のフローチャートに示す。このフローチャー
トにおいて、前述した図6に示す単純条件抽出部115
の動作フローチャートの中のステップと同一のステップ
には同一の符号を付けている。
Next, details of the operation of the composite condition extracting section 116 are shown in the flowchart of FIG. In this flowchart, the simple condition extracting unit 115 shown in FIG. 6 described above.
The same steps as those in the operation flowchart of FIG.

【0059】この図11のフローチャートに示す複合条
件抽出部116の動作が、前記図6のフローチャートに
示す単純条件抽出部115の動作と異なるところは、I
F文、EVALUATE文、PERFORM文、及びS
EARCH文中に現れる条件式が複合条件となっている
か否かを判別するステップS31がある点と、該複合条
件の場合、これを複数の単純条件に分割する必要がない
という点である。
The operation of the composite condition extracting unit 116 shown in the flowchart of FIG. 11 is different from the operation of the simple condition extracting unit 115 shown in the flowchart of FIG.
F statement, EVALUATE statement, PERFORM statement, and S statement
There is a step S31 for judging whether or not the conditional expression appearing in the EARCH statement is a compound condition, and in the case of the compound condition, it is not necessary to divide this into a plurality of simple conditions.

【0060】したがって、ここでは説明の重複を避ける
ために、異なるステップのみを主に説明する。まず、E
VALUATE文のレコードの場合には(S16,Ye
s)、その構文を参照して、「選択主体」と「選択対
象」を抽出する(S17)。そして、これら2つを結合
して条件式を作成し、この条件式を不図示の記憶領域に
退避する(S19)。また、IF文,PERFORM
文、及びSEARCH文の場合には、上記単純条件抽出
部115と同様にして、それぞれ、条件式、UNTIL
条件式、及びWHEN条件式を上記記憶領域に退避する
(S14,S21,A23)。
Therefore, only different steps will be mainly described here to avoid duplication of description. First, E
In the case of a VALUE statement record (S16, Ye
s) With reference to the syntax, "selection subject" and "selection target" are extracted (S17). Then, these two are combined to create a conditional expression, and this conditional expression is saved in a storage area (not shown) (S19). Also, IF sentence, PERFORM
In the case of a statement and a SEARCH statement, the conditional expression and UNTIL are respectively set in the same manner as the simple condition extraction unit 115.
The conditional expression and the WHEN conditional expression are saved in the storage area (S14, S21, A23).

【0061】続いて、上記退避した条件式が複合条件と
なっているか否か判別し(S31)、複合条件であれば
(S31,YES)、上記退避しておいた複合条件の条
件式を不図示の複合条件式抽出ファイルに出力する(S
33)。
Subsequently, it is judged whether or not the saved conditional expression is a compound condition (S31), and if it is a compound condition (S31, YES), the saved conditional expression of the compound condition is invalidated. Output to the composite conditional expression extraction file shown (S
33).

【0062】以上の処理により、図4に示すソースプロ
グラム100から行番号(000690)に記述されて
いるIF文〔IF WK−SEC=‘1’ AND I
N−NAME=SPACE〕内の複合条件〔WK−SE
C=‘1’ AND IN−NAME=SPACE〕が
抽出され、図12に示す形式で上記複合条件式抽出ファ
イルに書き込まれる。
Through the above processing, the IF statement [IF WK-SEC = '1' AND I described in the line number (000690) from the source program 100 shown in FIG.
N-NAME = SPACE] combined condition [WK-SE
C = '1' AND IN-NAME = SPACE] is extracted and written in the composite conditional expression extraction file in the format shown in FIG.

【0063】次に、図13のフローチャートを参照し
て、単純条件集約部117の動作を説明する。単純条件
集約部117は、まず、前記単純条件式抽出ファイルに
格納されている条件式(図8参照)を、一意名、比較演
算子、及び定数をキーにしてソートする(S41)。
Next, the operation of the simple condition aggregating unit 117 will be described with reference to the flowchart of FIG. The simple condition aggregating unit 117 first sorts the conditional expressions (see FIG. 8) stored in the simple conditional expression extraction file using the unique name, the comparison operator, and the constant as keys (S41).

【0064】このソートにより、同一の単純条件式は一
塊となって連続して格納される。次に、ソート後の単純
条件式抽出ファイルの先頭から一条件式分のデータを読
み込む(S42)。該単純条件式抽出ファイルにはレコ
ードすなわち単純条件式のデータが1個も格納されてい
ない場合がありうる。このために、上記ステップS42
において、読み出したデータがEOF(End Of File)で
あるか、すなわち上記単純条件式抽出ファイルの終了で
あるか判別し(S43)、該ファイルの終了であれば
(S43,Yes)、直ちに処理を終了する。
By this sorting, the same simple conditional expressions are continuously stored as one lump. Next, the data for one conditional expression is read from the beginning of the simple conditional expression extraction file after sorting (S42). There may be a case where no record, that is, simple conditional expression data is stored in the simple conditional expression extraction file. For this purpose, the above step S42
In step S43, it is determined whether the read data is EOF (End Of File), that is, the end of the simple conditional expression extraction file (S43). If the file is the end (S43, Yes), the process is immediately performed. finish.

【0065】一方、上記ステップS42で読み出したデ
ータが単純条件式のデータであれば(S43,No)、
該条件式中の一意名、比較演算子、定数を不図示の記憶
領域に退避する(S44)。そして、集約数カウンタに
「1」を初期設定する。この集約数カウンタは、各単純
条件式の出現回数を集計するために用いられるカウンタ
である。
On the other hand, if the data read in step S42 is the data of the simple conditional expression (S43, No),
The unique name, comparison operator, and constant in the conditional expression are saved in a storage area (not shown) (S44). Then, the aggregation number counter is initialized to "1". This aggregate number counter is a counter used to aggregate the number of appearances of each simple conditional expression.

【0066】次に、上記ソート後の単純条件式抽出ファ
イルから上記ステップS42で読み出した単純条件式の
直後に格納されている1条件式分のデータを読み出す
(S46)。このとき、ファイルの終わりを示すEOF
(End Of File)を読み出す場合もありうるので、先ず、
上記データがEOFであるか即ち上記ソート後の単純条
件式抽出ファイルの終了であるか否か判別する(S4
7)。そして、読み出したデータがEOFではなく新た
な単純条件式のデータであれば(S47,No)、上記
退避した一意名、比較演算子、定数と、上記ステップS
46において読み込んだ単純条件式の一意名、比較演算
子、定数とが全て同一であるか判別する(S48)。
Next, the data for one conditional expression stored immediately after the simple conditional expression read in step S42 is read from the sorted simple conditional expression extraction file (S46). At this time, EOF indicating the end of the file
Since (End Of File) may be read out, first,
It is determined whether the data is EOF, that is, the end of the simple conditional expression extraction file after sorting (S4).
7). If the read data is not EOF but data of a new simple conditional expression (S47, No), the saved unique name, comparison operator, constant, and the above step S
It is determined whether the unique name, the comparison operator, and the constant of the simple conditional expression read in 46 are all the same (S48).

【0067】そして、それらの要素が全て同一ならば、
前記集約数カウンタを「1」インクリメントし(S4
9)、再び上記ステップS46に戻る。これにより、ソ
ート後の単純条件式抽出ファイルの先頭から同一の単純
条件式が連続して格納されていれば、その連続個数から
1減じた数だけ上記ステップS46〜S49が繰り返さ
れる。そして、上記ステップS48において、上記ステ
ップS46で読み出した単純条件式が上記ステップS4
4において退避した上記先頭の単純条件式と異なると判
別すると(S48,No)、該退避しておいた単純条件
式を上記集約数カウンタの値を基に集約した後、単純条
件出力ファイルに出力する(S50)。
If all of these elements are the same,
The aggregate number counter is incremented by "1" (S4
9) and returns to step S46 again. As a result, if the same simple conditional expression is continuously stored from the beginning of the sorted simple conditional expression extraction file, the above steps S46 to S49 are repeated by the number obtained by subtracting 1 from the continuous number. Then, in step S48, the simple conditional expression read in step S46 is the same as in step S4.
If it is determined that it is different from the first simple conditional expression saved in step 4 (S48, No), the saved simple conditional expressions are aggregated based on the value of the aggregation number counter, and then output to the simple condition output file. Yes (S50).

【0068】これにより、ソート後の単純条件式抽出フ
ァイルの先頭から連続して格納されている単純条件式が
その出現回数と共に単純条件式集約ファイルに格納され
る。一方、最初の上記ステップS48で、両単純条件式
の各要素が全て一致しない、すなわちその2つの単純条
件式が異なると判別すると(S48,No)、上記退避
しておいたソート後の単純条件式抽出ファイルの先頭に
格納されている単純条件式を、出現回数を「1」として
単純条件式集約ファイルに格納する(S50)。
As a result, the simple conditional expressions continuously stored from the beginning of the sorted simple conditional expression extraction file are stored in the simple conditional expression aggregation file together with the number of appearances thereof. On the other hand, in the first step S48, if it is determined that all the elements of both simple conditional expressions do not match, that is, the two simple conditional expressions are different (S48, No), the saved simple condition after sorting is stored. The simple conditional expression stored at the head of the expression extraction file is stored in the simple conditional expression aggregation file with the number of appearances set to "1" (S50).

【0069】該ステップS50に続いて、今度は上記ス
テップS46で読み込んだ単純条件式の一意名、比較演
算子、定数を前記記憶領域に退避する(S51)。続い
て、上記集約数カウンタを「1」に初期設定し(S5
2)、再び前記ステップS46に戻る。
Following step S50, the unique name, comparison operator, and constant of the simple conditional expression read in step S46 are saved in the storage area (S51). Subsequently, the aggregation number counter is initialized to "1" (S5
2) Then, the process returns to step S46 again.

【0070】これにより、ソート後の単純条件式抽出フ
ァイルに格納されている残りの単純条件式についても上
記と同様な集約処理が行われる。そして、前記ステップ
S47でEOFを読み出すと(S47,Yes)、前回
のステップS51で退避しておいた単純条件式を現在の
集約数カウンタの値を基に集約して単純条件式集約ファ
イルに出力する(S53)。
As a result, the same consolidation processing as above is performed for the remaining simple conditional expressions stored in the sorted simple conditional expression extraction file. When the EOF is read in step S47 (S47, Yes), the simple conditional expressions saved in the previous step S51 are aggregated based on the current value of the aggregation counter and output to the simple conditional expression aggregation file. Yes (S53).

【0071】以上の処理により、図8に示す内容の単純
条件式抽出ファイルから図14に示す内容の単純条件式
集約ファイルが作成される。ところで、条件式の右辺ま
たは左辺に添字付のデータ項目が用いられる場合もあ
る。このような場合、上記単純条件集約時において、図
15に示すような方法により集約を行う。すなわち、 添字が定数のみで構成されていれば、添字まで含め
てキーとみなし集約する。AAA(1),AAA
(2),BBB(1 1)が該当。 添字が一意名の場合あるいは一部のみ定数の場合、
該添字を一旦「*」に置き換えた後に、この(*)をキ
ーに含め集約する。AAA(IX−Y),BBB(1
IX−2), BBB(IX−1,IX−2)が該当。
Through the above processing, a simple conditional expression aggregate file having the contents shown in FIG. 14 is created from the simple conditional expression extraction file having the contents shown in FIG. By the way, a data item with a subscript may be used on the right side or the left side of the conditional expression. In such a case, at the time of the above simple condition integration, the integration is performed by the method shown in FIG. In other words, if the subscript consists of only constants, the subscript will be considered as the key and aggregated. AAA (1), AAA
(2) and BBB (11) are applicable. If the subscript is a unique name or only a partial constant,
After replacing the subscript with “*” once, this (*) is included in the key and aggregated. AAA (IX-Y), BBB (1
IX-2) and BBB (IX-1, IX-2) are applicable.

【0072】この集約方法は、後述する複合条件の集約
時においても適用する。次に、図16は複合条件集約部
118の動作を説明するフローチャートである。この図
に示すように、複合条件集約部118の動作は、前述し
た単純条件集約部117の動作とほぼ同様である。すな
わち、集約対象を単純条件式から複合条件式に置き換え
たものであり、同一の複合条件式の判別は、複合条件式
の全ての要素が全て一致するか否かを判別することによ
り行う(S66)。そして、各種の複合条件式の出現回
数を集約数カウンタにより集計し、異なる複合条件式を
その出現回数と共に複合条件式集約ファイルに出力する
(S70)。
This aggregation method is also applied when aggregating complex conditions, which will be described later. Next, FIG. 16 is a flowchart for explaining the operation of the compound condition aggregation unit 118. As shown in this figure, the operation of the composite condition aggregation unit 118 is almost the same as the operation of the simple condition aggregation unit 117 described above. That is, the aggregation target is replaced with a simple conditional expression, and the same composite conditional expression is determined by determining whether all the elements of the composite conditional expression match (S66). ). Then, the number of appearances of various complex conditional expressions is aggregated by the aggregate number counter, and different complex conditional expressions are output together with the number of appearances to the complex conditional expression aggregation file (S70).

【0073】これにより、図12に示す内容の複合条件
式抽出ファイルから図17に示す内容の複合条件式集約
ファイルが作成される。この例の場合には、複合条件式
が1つしかないので集約は行われていないが、ソースプ
ログラムに同一の複合条件式が複数あった場合には、そ
の条件式が集約されることになる。
As a result, a composite conditional expression aggregate file having the contents shown in FIG. 17 is created from the composite conditional expression extraction file having the contents shown in FIG. In the case of this example, since there is only one compound conditional expression, aggregation is not performed. However, when the source program has a plurality of identical compound conditional expressions, the conditional expressions are aggregated. .

【0074】次に、前記業務用語入力部119を介し
て、上述のようにして単純条件集約部117及び複合条
件集約部118によって作成された単純条件式集約ファ
イル及び複合条件式集約ファイルの内容を参照しながら
各条件式に対応する業務用語を入力して、業務用語書1
29を作成する。
Next, the contents of the simple conditional expression aggregating file and the complex conditional expression aggregating file created by the simple condition aggregating section 117 and the complex condition aggregating section 118 as described above are input via the business term inputting section 119. Enter the business term corresponding to each conditional expression while referring to the business term book 1
Create 29.

【0075】この業務用語とは、IF,SEARCH,
EVALUATE,PERFORM文等におけるあるデ
ータ項目に対するチェック処理(条件式)を、実際の業
務内容が明確となるように具体的に表現した用語であ
る。この業務用語は、ディスプレイ画面等を見ながら人
手により入力する。同図(a) に示す単純条件式の例で
は、 IN−ENTYEAR IS NOT NUMERIC という、年度が入力されるデータ項目「IN−ENTY
EAR」に数値データが正しく入力されているか否かを
チェックする条件式に対し、「年度入力誤り」という業
務用語を入力している。
The business terms are IF, SEARCH,
It is a term that specifically expresses the check processing (conditional expression) for a certain data item in the EVALUATE, PERFORM statement, etc. so that the actual work content becomes clear. This business term is manually input while looking at the display screen or the like. In the example of the simple conditional expression shown in FIG. 7A, IN-ENTYEAR IS NOT NUMERIC is a data item "IN-ENTY" in which the year is input.
The business term "year input error" is entered in the conditional expression for checking whether or not the numerical data is correctly entered in "EAR".

【0076】以下、同様にして、その他の4個の単純条
件式に対し、それぞれの業務に対応する「氏名入力誤
り」、「部コード入力誤り」、「従業員番号入力誤
り」、及び「東京地区」という業務用語を入力してい
る。
Similarly, with respect to the other four simple conditional expressions, "name input error", "department code input error", "employee number input error", and "Tokyo" corresponding to the respective jobs are similarly performed. The business term “district” is entered.

【0077】すなわち、例えば、 WK−SEC−CODE=‘1’ という条件式において、‘1’というコードが「東京地
区」に対応しているため、この条件式にして「東京地
区」という業務用語を入力している。
That is, for example, in the conditional expression WK-SEC-CODE = "1", the code "1" corresponds to "Tokyo area". Therefore, the conditional expression "Tokyo area" is used as the conditional expression. You are typing.

【0078】また、同図(b) に示す WK−SEC−CODE=‘1’ AND IN−NA
ME=SPACE という複合条件式に対しては、「東京営業所」という業
務用語を入力している。
Further, WK-SEC-CODE = '1' AND IN-NA shown in FIG.
For the compound conditional expression ME = SPACE, the business term "Tokyo office" is entered.

【0079】また、上記レコード名ファイル123に、
不図示の情報処理装置を介し、外部とのインタフェース
を有しないが、“業務仕様”として抽出したいレコード
の名前を書き込む処理を行い、例えば、図19に示すよ
うに図4に示すソースプログラム100の作業部(WO
RKING STORAGE SECTION)におい
て定義したレコード「WK−XXX」(行番号0003
20)をレコード名ファイル123に書き込む。
In the record name file 123,
Although it does not have an interface with the outside through an information processing device (not shown), a process of writing the name of the record to be extracted as the "business specification" is performed. For example, as shown in FIG. 19, the source program 100 shown in FIG. Working department (WO
Record "WK-XXX" (line number 0003) defined in RKING STORAGE SECTION
20) is written in the record name file 123.

【0080】続いて、前記制御/業務仕様情報抽出部1
21の動作を、図20及び図21のフローチャートを参
照しながら説明する。まず、ソースプログラム100の
処理部(PROCEDURE DIVISION)に記
述されているステートメントを1ステートメント単位に
分解し(S101)、まず先頭のステートメントについ
てファイルアクセス関連命令(OPEN,READ,W
RITE,CLOSE等)であるか(S102)、通信
機能関連命令であるか(S104)、またはデータベー
スアクセス関連命令であるか(S106)を判別する。
そして、上記のいずれかの命令文に該当していれば該ス
テートメントを“制御”として抽出する(S103,S
105,S107)。
Subsequently, the control / business specification information extraction unit 1
The operation of 21 will be described with reference to the flowcharts of FIGS. First, the statement described in the processing unit (PROCEDURE DIVISION) of the source program 100 is decomposed into one statement unit (S101), and the file access related command (OPEN, READ, W) is first executed for the first statement.
RITE, CLOSE, etc.) (S102), a communication function related command (S104), or a database access related command (S106).
If any of the above statement statements is applicable, the statement is extracted as "control" (S103, S
105, S107).

【0081】次に、上記いずれの命令文にも該しない場
合には、今度は、チェック処理を行っているステートメ
ントであるか判別する(S108)。そして、該ステー
トメントであった場合(S108,YES)、チェック
対象が以下に示す、、またはのデータ項目に該
当するか判別する(S109,S111,S113,S
115)。 レコード名ファイル123で指定されたレコード
(WK−XXX)内のデータ項目(S109)。すなわ
ち図4のソースプログラム100では、WKREC−
A,WK−ENTYEAR,WK、SERNO,WK−
NAME,WK−SEC−CODE、またはWK−ER
RCODEが該当。 連絡領域(LINKAGE SECTION)のレ
コード内のデータ項目(S111)。図25のソースプ
ログラム100ではLK−01,LK−01−01,L
K−01−02,・・・が該当。 データベース入出力領域内のデータ項目(S11
3)。図25のソースプログラム100ではRDBRE
Cが該当。 入力モードあるいは更新モードでオープンしている
ファイルの入出力領域内のデータ項目(S115)。図
4及び図25のソースプログラム100では、INRE
C,INREC−A,IN−ENTYEAR,IN−S
ERNO,IN−NAME,IN−SEC−CODEが
該当。 通信機能メッセージ領域内のデータ項目(S11
7)。図25のソースプログラム100ではMENUR
EC,MENUREC−01,・・・が該当。
If none of the above statement statements is true, then it is determined whether or not the statement is a check processing (S108). Then, if the statement is (S108, YES), it is determined whether the check target corresponds to the data item of or shown below (S109, S111, S113, S).
115). A data item (S109) in the record (WK-XXX) designated by the record name file 123. That is, in the source program 100 of FIG. 4, WKREC-
A, WK-ENTYEAR, WK, SERNO, WK-
NAME, WK-SEC-CODE, or WK-ER
RCODE is applicable. Data item (S111) in the record of the contact area (LINKAGE SECTION). In the source program 100 of FIG. 25, LK-01, LK-01-01, L
K-01-02, ... Applies. Data items in the database input / output area (S11
3). In the source program 100 of FIG. 25, RDBRE
C is applicable. Data item in the input / output area of the file opened in the input mode or the update mode (S115). In the source program 100 of FIG. 4 and FIG.
C, INREC-A, IN-ENTYEAR, IN-S
ERNO, IN-NAME, IN-SEC-CODE are applicable. Data items in the communication function message area (S11
7). In the source program 100 of FIG. 25, MENU
Corresponding to EC, MENUREC-01, ....

【0082】以上のようなステップS109,S11
1,S113,S115、及びS117の判別は、ソー
スプログラム100、データ項目情報114、及びレコ
ード名ファイル123を参照して行う。そして、上記
〜のいずれかのデータ項目に対するチェック処理を行
っているステートメントについては“業務仕様”(チェ
ック処理)として抽出する(S110,S112,S1
14,S116,S118)。
Steps S109 and S11 as described above
The determination of 1, S113, S115, and S117 is performed by referring to the source program 100, the data item information 114, and the record name file 123. Then, the statement for which the check processing is performed on any of the above-mentioned data items is extracted as a "business specification" (check processing) (S110, S112, S1).
14, S116, S118).

【0083】一方、チェック対象のデータ項目が上記の
いずれの項目にも該当しなかった場合には(S117,
NO)、次にチェック対象が通信機能関連領域内のデー
タ項目であるか否か判別する(S119)。そして、該
データ項目(図25のソースプログラム100の場合、
DSP−DEST−1,・・・が該当)であれば、この
データ項目をチェックしているステートメントを“制
御”として抽出する(S120)。
On the other hand, if the data item to be checked does not correspond to any of the above items (S117,
No), and then it is determined whether or not the check target is a data item in the communication function related area (S119). Then, the data item (in the case of the source program 100 of FIG. 25,
If DSP-DEST-1, ... Applies), the statement checking this data item is extracted as "control" (S120).

【0084】また、上記ステップS108で、入力ステ
ートメントがチェック処理を行っていなければ(S10
8,No)、次に更新処理(MOVE命令やCOMPU
TE命令等)を行っているか否か判別する(S12
1)。そして、更新処理を行っている場合(S121,
YES)、その更新対象となっているデータ項目が下記
の,,,またはに該当するか否か判別する
(S122,S124,S126,S128,S13
0)。 レコード名ファイル123で指定されたレコード
(WK−XXX)内のデータ項目。すなわち、図4のソ
ースプログラム100ではWKREC−A,WK−EN
TYEAR,WK−SERNO,WK−NAME,WK
−SEC−CODE、またはWK−ERRCODEが該
当。 連絡領域(LINKAGE SECTION)のレ
コード内のデータ項目。図26に示すソースプログラム
100の場合、LK−01,LK−01−01,LK−
01−02が該当。 データベース入出力領域内のデータ項目。図26に示
すソースプログラム100の場合、RDBRECが該
当。 出力モードあるいは更新モードでオープンしている
ファイルの入出力領域内のデータ項目。図26に示すソ
ースプログラム100の場合、OUTREC,OUTR
EC−A,OT−ENTYEAR,OT−SERNO,
OT−NAME,OT−SEC−CODEが該当。 通信機能メッセージ領域内のデータ項目。図26に
示すソースプログラム100の場合、MENUREC,
MENUREC−01,・・・。
If the input statement is not checked in step S108 (S10).
8, No), then update processing (MOVE command or COMPU
It is determined whether or not a TE command or the like is performed (S12).
1). Then, when the update process is being performed (S121,
YES), it is determined whether or not the data item to be updated corresponds to the following, or, (S122, S124, S126, S128, S13).
0). A data item in the record (WK-XXX) specified in the record name file 123. That is, in the source program 100 of FIG. 4, WKREC-A, WK-EN
TYEAR, WK-SERNO, WK-NAME, WK
-Corresponds to SEC-CODE or WK-ERRCODE. A data item in a record in the LINKAGE SECTION. In the case of the source program 100 shown in FIG. 26, LK-01, LK-01-01, LK-
01-02 is applicable. A data item in the database I / O area. In the case of the source program 100 shown in FIG. 26, RDBREC is applicable. A data item in the I / O area of a file that is open in output or update mode. In the case of the source program 100 shown in FIG. 26, OUTREC, OUTR
EC-A, OT-ENTYEAR, OT-SERNO,
Applicable to OT-NAME and OT-SEC-CODE. A data item in the communication function message area. In the case of the source program 100 shown in FIG. 26, MENU,
MENUREC-01, ...

【0085】以上のデータ項目の判別も、ソースプログ
ラム100、データ項目情報114、及びレコード名フ
ァイル123を参照して行う。、そして、上記該当デー
タ項目については“業務仕様”(更新処理)として抽出
する(S123,S125,S127,S129,S1
31)。
The above data item discrimination is also performed by referring to the source program 100, the data item information 114, and the record name file 123. Then, the relevant data items are extracted as "business specifications" (update processing) (S123, S125, S127, S129, S1).
31).

【0086】一方、更新処理を行っているステートメン
トであっても、その更新対象が上記,,,また
はのいずれのデータ項目にも該当していない場合には
(S130,NO)、次に該更新対象が通信機能関連領
域内のデータ項目であるか判別する(S132)。そし
て、該データ項目であった場合(S132,YES)、
この項目に対する更新処理を行っているステートメント
を“制御”として抽出する(S133)。
On the other hand, even in the case of a statement that is being updated, if the object to be updated does not correspond to any of the above ,, or data items (S130, NO), then the update is performed. It is determined whether the target is a data item in the communication function related area (S132). If the data item is (S132, YES),
The statement that is performing the update process for this item is extracted as "control" (S133).

【0087】上記いずれにも該当しなかったステートメ
ントに対しては、抽出は行わない。そして、上記のよう
にして“業務仕様”または“制御”に該当するステート
メントの抽出を行った後(S103,S105,S10
7,S110,S112,S114,S116,S11
8,S120,S123,S125,S127,S12
9,S131,S133)、業務用語辞書129(図1
8参照)を参照して、該辞書129内で自己の構文内の
条件式に対して業務用語が設定されているステートメン
トに対してはその対応する業務用語も併せて出力する
(S134)。
No extraction is performed for statements that do not correspond to any of the above. Then, after the statements corresponding to the “business specification” or the “control” are extracted as described above (S103, S105, S10).
7, S110, S112, S114, S116, S11
8, S120, S123, S125, S127, S12
9, S131, S133), business term dictionary 129 (FIG. 1)
8), the corresponding business term is also output for the statement in the dictionary 129 in which the business term is set for the conditional expression in its own syntax (S134).

【0088】制御/業務仕様情報抽出部121は、上述
のステップS101〜S134の処理を、ソースプログ
ラム100内の処理部(PROCEDURE DIVI
SION)の全ステートメントに対して行う。
The control / business specification information extraction unit 121 performs the above-described processing of steps S101 to S134 by the processing unit (PROCEDURE DIVI) in the source program 100.
SION) for all statements.

【0089】これにより、図4に示すソースプログラム
100の場合、下記の〜に示すステートメントが抽
出される。 行番号(000500)と(000510)のステ
ートメントは、OPEN命令(ファイルアクセス関連命
令)なので“制御”として抽出される。 行番号(000520)のステートメントは、RE
AD命令(ファイルアクセス関連命令)なので“制御”
として抽出される。 行番号(000530),(000550),(0
00570),(000590)、及び(00069
0)のステートメントは、入力ファイル(INFIL
E)のレコードに属するデータ項目(IN−ENTYE
AR,IN−SERNO,IN−NAME,IN−SE
C−CODE)に対するチェック処理(IF文)なので
“業務仕様”として抽出する。(000690)のステ
ートメントの場合は、レコード名ファイル123で指定
されるレコード(WK−XXX)に属するデータ項目
(WK−SEC−CODE)に対するチェック処理にも
なっている。 行番号(000700),(000710)、及び
(000720)のステートメントは、出力ファイル
(OUTFILE)のレコードに属するデータ項目(O
T−ENTYEAR,OT−SERNO,OT−NAM
E)に対する更新処理(MOVE命令)なので、“業務
仕様”(更新処理)として抽出する。 行番号(000800),(000810)、及び
(000820)のステートメントは、レコード名ファ
イル123により指定されたレコード(WK−XXX)
に属するデータ項目(WK−ENTYEAR,WK−S
ERNO,WK−NAME)に対する更新処理(MOV
E命令)なので“業務仕様”(更新処理)として抽出す
る。 行番号(000900)のステートメントは、WR
ITE命令なので“制御”として抽出する。
As a result, in the case of the source program 100 shown in FIG. 4, the following statements (1) to (4) are extracted. The statements with line numbers (000500) and (000510) are extracted as "control" because they are OPEN instructions (file access related instructions). The statement at line number (000520) is RE
"Control" because it is an AD command (file access related command)
Is extracted as. Line numbers (000530), (000550), (0
00570), (000590), and (00069)
0) statements are input files (INFIL
E) data item (IN-ENTYE) belonging to the record
AR, IN-SERNO, IN-NAME, IN-SE
Since it is a check process (IF statement) for C-CODE), it is extracted as a "business specification". The statement (000690) is also a check process for the data item (WK-SEC-CODE) belonging to the record (WK-XXX) specified in the record name file 123. The statements of line numbers (000700), (000710), and (000720) are data items (O) belonging to the record of the output file (OUTFILE).
T-ENTYEAR, OT-SERNO, OT-NAM
Since it is an update process (MOVE command) for E), it is extracted as a "business specification" (update process). The statements with line numbers (000800), (000810), and (000820) are records (WK-XXX) specified by the record name file 123.
Data items belonging to (WK-ENTYEAR, WK-S
Update processing (MOV for ERNO, WK-NAME)
Since it is an E command), it is extracted as a "business specification" (update process). The statement at line number (000900) is WR
Since it is an ITE command, it is extracted as "control".

【0090】制御/業務仕様情報抽出部121は、ソー
スプログラム100から上述のような抽出処理を行っ
て、図22に示すような形式の情報ファイル125を作
成する。
The control / business specification information extraction section 121 performs the above-described extraction processing from the source program 100 to create an information file 125 in the format shown in FIG.

【0091】この情報ファイル125においては、“制
御”部分のステートメントと“業務仕様”のステートメ
ントをソースプログラム100内の対応する行番号と共
に行番号順に一覧表示する。また、“業務仕様”につい
ては、「チェック処理」か「更新処理」のいずれかであ
るかを明示するために、それぞれ(チェック)または
(更新)を“業務仕様”の記述の後に付加する。さら
に、“業務仕様”のステートメントについては、該ステ
ートメント内の条件式で使われているデータ項目名が属
するレコード名も出力する。このレコード名の抽出は、
データ項目情報114を参照して行う。
In this information file 125, the statements of the "control" portion and the statements of the "business specification" are listed together with the corresponding line numbers in the source program 100 in the order of the line numbers. Further, in order to clearly indicate whether the "business specification" is the "check processing" or the "update processing", (check) or (update) is added after the description of the "business specification". Further, for the statement of "business specification", the record name to which the data item name used in the conditional expression in the statement belongs is also output. Extracting this record name
This is performed by referring to the data item information 114.

【0092】また、制御/業務仕様情報抽出部121
は、図23に示すような情報リスト126の作成・出力
も行う。この情報リスト126においては、ソースプロ
グラム100をリスト出力すると共に、“制御”部分お
よび“業務仕様”部分に対応するステートメントに対
し、注釈情報1001も出力する。すなわち、“制御”
部分のステートメント(行番号000500〜0005
10、及び000900)に対しては、記号「*」を出
力する。
Further, the control / business specification information extraction unit 121
Also creates and outputs the information list 126 as shown in FIG. In the information list 126, the source program 100 is output as a list, and the annotation information 1001 is also output for the statements corresponding to the “control” portion and the “business specification” portion. Ie "control"
Partial statement (line number 000500-0005
10 and 000900), the symbol "*" is output.

【0093】一方、“業務仕様”部分のステートメント
(行番号000530,000550,000570,
000590,000600,000690〜0007
20、及び000800〜000820)に対しては、
チェック処理または更新処理のいずれの処理を行ってい
るかを、それぞれ記号「C」(チェック書り)、「U」
(更新処理)で明示する。このとき、該ステートメント
内での条件式で使用されているデータ項目が所属するレ
コードの名前も明示する。すなわち、図5に示すデータ
項目情報114を参照して、図25に示すソースプログ
ラム100で使用されているデータ項目が所属するレコ
ードの名前として「INREC」,「OUTREC」、
及び「WK−XXX」を得る。そして、これらのレコー
ド名称を、情報リスト126の左方の上記注釈情報10
01の欄の最上部に出力する。そして、これらのレコー
ド名の縦欄と“業務仕様”のステートメントが記述され
ている行との交差位置に、上記「C」または「U」のい
ずれか該当する記号を出力する。
On the other hand, the statement of the "business specification" part (line number 000530,000550,570,
000590600,690-0007
20, and 000800-000820),
Whether the check process or the update process is being performed is indicated by the symbols "C" (check mark) and "U", respectively.
(Update process) At this time, the name of the record to which the data item used in the conditional expression in the statement belongs is also specified. That is, referring to the data item information 114 shown in FIG. 5, “INREC” and “OUTREC” are assigned as the names of the records to which the data items used in the source program 100 shown in FIG. 25 belong.
And "WK-XXX". Then, these record names are assigned to the annotation information 10 on the left side of the information list 126.
Output at the top of column 01. Then, at the intersection of the vertical column of these record names and the line in which the statement of "business specification" is described, the corresponding symbol of "C" or "U" is output.

【0094】例えば、行番号000530の「IF I
N−ENTYEAR IS NOTNUMERIC」の
ステートメントは、データ項目「IN−ENTYEA
R」に対するチェック処理で、該データ項目「IN−E
NTYEAR」は、レコード「INREC」に属する。
したがって、この行番号「000530」のステートメ
ントについては、注釈情報1001のレコード「INR
EC」の欄に記号「C」が出力される。その他の“業務
仕様”部分のステートメントについても、同様にして、
該ステートメント内のデータ項目が所属するレコードの
欄に当該処理を示す記号が出力される。
For example, in line number 000530, "IF I
The statement "N-ENTYEAR IS NOT NUMERIC" indicates that the data item "IN-ENTYEA
In the check process for “R”, the data item “IN-E
"NTYEAR" belongs to the record "INREC".
Therefore, for the statement with the line number “000530”, the record “INR” of the annotation information 1001 is displayed.
The symbol "C" is output in the field "EC". Do the same for the other "business specification" statements.
A symbol indicating the processing is output to the record column to which the data item in the statement belongs.

【0095】また、さらにこの情報リスト126には、
チェック処理(記号「C」)を行っている部分のステー
トメントと同一の出力行に前記業務用語入力部119を
介して人手により入力された業務用語が出力される。こ
の業務用語の出力は、前記図20のフローチャートステ
ップS134において、前記業務用語辞書129を参照
して行われる。
Further, in this information list 126,
The business term manually input via the business term input unit 119 is output to the same output line as the statement of the portion performing the check process (symbol “C”). The output of the business term is performed by referring to the business term dictionary 129 in step S134 of the flowchart of FIG.

【0096】以上のようにして、制御/業務仕様情報抽
出部121から出力される情報ファイル125と情報リ
スト126は、日常の保守作業(メンテナンス作業)等
において、既存のソースプログラム100を再構築する
際に有効に利用される。
As described above, the information file 125 and the information list 126 output from the control / business specification information extraction unit 121 rebuild the existing source program 100 in daily maintenance work (maintenance work). It is effectively used when

【0097】すなわち、COBOLなどの従来言語ある
いはCASEツールを用いてソースプログラム100の
処理を再構築する際、該ソースプログラム100を
“制御”部分と“業務仕様”部分に分けて整理するこ
とが処理内容を理解する上で有効である。このために、
情報リスト126が有効な手段となる。また、情報ファ
イル125は、CASEツールへの入力データを作成す
る上での中間情報を提供する。
That is, when reconstructing the processing of the source program 100 by using a conventional language such as COBOL or a CASE tool, it is necessary to divide the source program 100 into a "control" portion and a "business specification" portion. It is effective in understanding the contents. For this,
The information list 126 is an effective means. The information file 125 also provides intermediate information for creating input data to the CASE tool.

【0098】また、ファイルや受け渡しパラメータをイ
ンタフェースとする複数のソースプログラム100につ
いて、各々の情報リスト126から関連するレコードに
対する“業務仕様”部分のみを参照することにより、複
数のソースプログラム100によて記述されているある
業務仕様の全体を把握することが容易になる。
With respect to a plurality of source programs 100 having a file or a transfer parameter as an interface, the plurality of source programs 100 can be referred to by referring to only the “business specification” part for the related record from each information list 126. It becomes easy to understand the entire business specification described.

【0099】次に、図24は、上記情報ファイル125
と上記情報リスト126を、日常の保守作業(メンテナ
ンス作業)等の際のソースプログラム100の再構築に
利用する方法を説明する模式図である。
Next, FIG. 24 shows the above information file 125.
3 is a schematic diagram illustrating a method of using the information list 126 for reconstructing the source program 100 in a daily maintenance work (maintenance work).

【0100】まず、上記情報ファイル125と上記情報
リスト126とに、同図左方に示すように、既存のソー
スプログラム100の“業務仕様”部分1101と“コ
ンピュータ制御”部分1102に関する情報が抽出され
る。
First, as shown on the left side of the figure, information regarding the "business specification" portion 1101 and the "computer control" portion 1102 of the existing source program 100 is extracted from the information file 125 and the information list 126. It

【0101】これらの抽出情報の内、“コンピュータ制
御”部分1102の情報は、下流工程用のCASEツー
ル1300へ入力に用いられる。一方、“業務仕様”部
分1101の情報は、中流工程用のCASEツール13
00への入力に用いられる。これにより、CASEツー
ル1300を介してソースプログラム1400が作成さ
れる。
Of these extracted information, the information of the "computer control" portion 1102 is used as an input to the CASE tool 1300 for the downstream process. On the other hand, the information of the “business specification” part 1101 is the CASE tool 13
Used for input to 00. As a result, the source program 1400 is created via the CASE tool 1300.

【0102】すなわち、一般にプログラムは、レコード
に対するチェック・更新処理(業務仕様)とコンピュー
タ制御(前記“制御”に該当)に係わる部分とが複雑に
入り組んでいる。本実施例では、外部とのインタフェー
スを持つレコード(データ項目群)に着目して解析する
ことにより、上記“業務仕様”部分1101と、“コン
ピュータ制御”部分1102とを明確に分離・抽出す
る。
That is, in general, a program is intricately intricately involved with a check / update process (business specification) for a record and a part related to computer control (corresponding to the above "control"). In this embodiment, by focusing on a record (data item group) having an interface with the outside and analyzing it, the above-mentioned “business specification” portion 1101 and “computer control” portion 1102 are clearly separated and extracted.

【0103】ソースプログラム100の日常の保守作業
(メンテナンス作業)は、大部分は“業務仕様”部分に
対するもので、“コンピュータ制御”に対する保守要件
は少ないので、このような抽出は、人間による判断作業
を軽減し、システムの保守作業を効率化するために極め
て有効である。
Most of the daily maintenance work (maintenance work) of the source program 100 is for the "business specification" part, and there are few maintenance requirements for "computer control". It is extremely effective for reducing the power consumption and improving the efficiency of system maintenance work.

【0104】また、情報リスト126においては、“業
務仕様”のステートメント内の条件式が、該条件式の具
体的な処理内容を示す“業務用語”と対応付けて出力さ
れるので、ソースプログラム100の処理内容の理解が
非常に容易になる。さらに、情報リスト126において
は、ソースプログラム100の解析結果と共に、該ソー
スプログラム100のリストそのものが出力されるの
で、人間によるソースプログラムの整理・再構築作業の
負荷が軽減される。
Further, in the information list 126, the conditional expression in the statement of “business specification” is output in association with the “business term” indicating the specific processing content of the conditional expression, so the source program 100 It becomes very easy to understand the processing contents of. Further, in the information list 126, the analysis result of the source program 100 and the list of the source program 100 itself are output, so that the load of human organization and reconstruction work of the source program is reduced.

【0105】ここで、データ部(DATA DIVIS
ION)において、通信機能メッセージ領域、通信機能
関連領域、データベース入出力領域、及び連絡領域(L
INKAGE SECTION)が定義されているソー
スプログラム100の例を図25及び図26に示す。
Here, the data section (DATA DIVIS
ION), communication function message area, communication function related area, database input / output area, and contact area (L
25 and 26 show an example of a source program 100 in which INKAGE SECTION) is defined.

【0106】このソースプログラム100においては、
処理部(PROCEDURE DIVISION)にお
いて上記各領域に対し下記のようなステートメントが使
用されている。 データベースアクセス関連命令 (READY等) “制御”として抽出 通信機能関連命令 (OPEN I−O DSP−FILE等) “制御”として抽出 連絡領域に対しチェック処理を行っている構文 (IF LK−01−01= ・・・) “業務仕様”(チェック)として抽出 通信機能メッセージ領域に対しチェック処理を行っ
ている構文 (IF MENUREC−01= ・・・) “業務仕様”(チェック)として抽出 通信機能関連領域に対しチェック処理を行っている
構文 (IF DSP−DEST 1= ・・・) “制御”として抽出 連絡領域に対し更新処理を行っている構文 (MOVE ZERO TO LK−01−01) “業務仕様”(更新)として抽出 データベース入出力領域に対し更新処理を行ってい
る構文 (MOVE ZERO TO DBREC01) “業務仕様”(更新)として抽出 通信機能メッセージ領域に対し更新処理を行ってい
る構文 (MOVE ZERO TO MENUREC−01) “業務仕様”(更新)として抽出 通信機能関連領域に対し更新処理を行っている構文 (MOVE ZERO TO DSP−DEST 1) “業務仕様”(更新)として抽出 このように、ファイルアクセス関連命令(OPEN,R
EAD,WRITE等)や、入・出力ファイルあるいは
レコード名ファイル123で指定されたレコード内のデ
ータ項目に対するチェック処理や更新処理以外の命令や
構文についても、図4に示すソースプログラム100の
ときと同様にして、情報ファイル125や情報リスト1
26を作成することが可能である。
In this source program 100,
The following statement is used for each of the above areas in the processing section (PROCEDURE DIVISION). Database access related commands (READY, etc.) Extracted as “control” Communication function related commands (OPEN I-O DSP-FILE, etc.) Extracted as “control” Syntax for checking the communication area (IF LK-01-01 =…) Extracted as “business specification” (check) Syntax that performs check processing for communication function message area (IF MENU-01 =…) Extracted as “business specification” (check) Communication function related area Check syntax for (IF DSP-DEST 1 = ...) Extracted as "control" Syntax for updating contact area (MOVE ZERO TO LK-01-01) "Business specification" Extract as (update) Syntax for updating the database input / output area (MOVE ZERO T DBREC01) Extracted as "business specification" (update) Syntax for updating communication function message area (MOVE ZERO TO MENU-REC-01) Extracted as "business specification" (update) Update processing for communication function related area Extracted as syntax (MOVE ZERO TO DSP-DEST 1) “business specifications” (update) As described above, file access related commands (OPEN, R)
(EAD, WRITE, etc.) and instructions and syntax other than the check processing and update processing for the data items in the record specified in the input / output file or the record name file 123 are the same as in the source program 100 shown in FIG. Then, the information file 125 and the information list 1
It is possible to create 26.

【0107】尚、上記実施例では、COBOLで記述さ
れたソースプログラムに対して情報ファイル125及び
情報リスト126の作成・出力を行っているが、本発明
は、これに限定されることなく、FORTRANやPL
/I等の他のプログラミング言語で記述されたソースプ
ログラム100に対しても適用可能なものである。ま
た、情報ファイル125および情報リスト126の形式
も図22及び図23に示すようなものに限定されるもの
ではなく、CASEツールの入力仕様等に合わせて他の
形式にしてもよい。
In the above embodiment, the information file 125 and the information list 126 are created and output with respect to the source program described in COBOL, but the present invention is not limited to this, and FORTRAN is not limited thereto. And PL
It is also applicable to the source program 100 written in another programming language such as / I. Also, the formats of the information file 125 and the information list 126 are not limited to those shown in FIGS. 22 and 23, and other formats may be used according to the input specifications of the CASE tool.

【0108】[0108]

【発明の効果】以上、説明したように本発明によれば、
ソースプログラムから日常の保守作業において修正対象
となり易い部分と、システム更新時に主な修正対象とな
るOS(オペレーティング・システム)に依存する部分
とを自動的に分離・抽出するので、システム再構築作業
の負荷が軽減される。
As described above, according to the present invention,
A part that is likely to be modified in daily maintenance work and a part that is dependent on the OS (operating system) that is the main modification target when the system is updated are automatically separated and extracted from the source program. The load is reduced.

【0109】また、チェック処理を行っている条件式に
ついては、併せてそのチェック処理の具体的内容を示す
業務用語を出力するので、チェック処理の内容を容易に
判断できる。
Further, for the conditional expression for which the check processing is being performed, the business term indicating the specific content of the check processing is also output, so that the content of the check processing can be easily determined.

【0110】さらに、ソースプログラムのリスト上に解
析結果を自動的に出力するので、人手によるソースプロ
グラムの整理・再構築作業の負荷が軽減される。さら
に、ソースプログラムを再構築する際のCASEツール
への入力作業の手助けとなる情報が出力されるので、C
ASEツールへの入力を効率よく行える。
Further, since the analysis result is automatically output on the list of source programs, the load of manual organization / reconstruction work of the source programs is reduced. In addition, information that helps input work to the CASE tool when rebuilding the source program is output.
Input to the ASE tool can be performed efficiently.

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

【図1】本発明の原理ブロック図である。FIG. 1 is a principle block diagram of the present invention.

【図2】本発明の一実施例のシステム構成を示すブロッ
ク図である。
FIG. 2 is a block diagram showing a system configuration of an embodiment of the present invention.

【図3】条件名条件を説明する図である。FIG. 3 is a diagram illustrating a condition name condition.

【図4】本実施例により解析するソースプログラムの一
例を示す図である。
FIG. 4 is a diagram showing an example of a source program analyzed according to the present embodiment.

【図5】データ項目情報抽出部によって抽出されるデー
タ項目情報の形式を示す図である。
FIG. 5 is a diagram showing a format of data item information extracted by a data item information extraction unit.

【図6】単純条件式抽出部の動作を説明するフローチャ
ートである。
FIG. 6 is a flowchart illustrating an operation of a simple conditional expression extracting unit.

【図7】条件式分割出力処理S15の詳細を説明するフ
ローチャートである。
FIG. 7 is a flowchart illustrating details of conditional expression division output processing S15.

【図8】単純条件抽出部によって抽出される単純条件式
の抽出形式を示す図である。
FIG. 8 is a diagram showing an extraction format of a simple conditional expression extracted by a simple condition extracting unit.

【図9】階層化された条件式の抽出方法を説明する図
(その1)である。
FIG. 9 is a diagram (part 1) explaining a method of extracting a hierarchical conditional expression.

【図10】階層化された条件式の抽出方法を説明する図
(その2)である。
FIG. 10 is a diagram (part 2) explaining a method of extracting a hierarchical conditional expression.

【図11】複合条件抽出部の動作を説明するフローチャ
ートである。
FIG. 11 is a flowchart illustrating an operation of a composite condition extraction unit.

【図12】複合条件抽出部によって抽出された複合条件
式の抽出形式を示す図である。
FIG. 12 is a diagram showing an extraction format of a composite conditional expression extracted by a composite condition extracting unit.

【図13】単純条件式集約部の動作を説明するフローチ
ャートである。
FIG. 13 is a flowchart illustrating an operation of a simple conditional expression aggregating unit.

【図14】単純条件式集約部により集約された単純条件
式の集約情報の形式を示す図である。
FIG. 14 is a diagram showing a format of aggregated information of simple conditional expressions aggregated by a simple conditional expression aggregating unit.

【図15】添字付きデータ項目の集約方法を説明する図
である。
FIG. 15 is a diagram illustrating a method of collecting data items with subscripts.

【図16】複合条件式集約部の動作を説明するフローチ
ャートである。
FIG. 16 is a flowchart illustrating an operation of a complex conditional expression aggregating unit.

【図17】複合条件式集約部により集約された複合条件
式の集約情報の形式を示す図である。
FIG. 17 is a diagram showing a format of aggregated information of complex conditional expressions aggregated by a complex conditional expression aggregating unit.

【図18】業務用語入力部を介して作成される業務用語
辞書の内容を示す図である。
FIG. 18 is a diagram showing the contents of a business term dictionary created via a business term input unit.

【図19】レコード名ファイルの一例を示す図である。FIG. 19 is a diagram showing an example of a record name file.

【図20】制御/業務仕様情報抽出部の動作を説明する
フローチャート(その1)である。
FIG. 20 is a flowchart (part 1) explaining the operation of the control / business specification information extraction unit.

【図21】制御/業務仕様情報抽出部の動作を説明する
フローチャート(その2)である。
FIG. 21 is a flowchart (part 2) explaining the operation of the control / business specification information extraction unit.

【図22】情報ファイルの内容を示す図である。FIG. 22 is a diagram showing the contents of an information file.

【図23】情報リストの内容を示す図である。FIG. 23 is a diagram showing the contents of an information list.

【図24】情報ファイルと情報リストのCASEツール
への利用方法を説明する図である。
FIG. 24 is a diagram illustrating a method of using an information file and an information list for a CASE tool.

【図25】本実施例の解析対象ソースプログラムの他の
例を示す図(その1)である。
FIG. 25 is a diagram (No. 1) showing another example of the analysis-target source program of the present embodiment.

【図26】本実施例の解析対象ソースプログラムの他の
例を示す図(その2)である。
FIG. 26 is a diagram (No. 2) showing another example of the analysis-target source program of the present embodiment.

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

1 ソースプログラム 2 データ項目情報抽出手段 3 制御/業務仕様抽出手段 4 条件抽出手段 5 業務用語入力手段 6 レコード名ファイル 1 source program 2 Data item information extraction means 3 Control / business specification extraction means 4 Condition extraction means 5 Business term input means 6 record name file

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平5−40616(JP,A) 中村正弘,保守地獄脱出へ挑戦始まる 第3部:保守ツール動向,日経コンピ ュータ,日経BP,1990年7月30日,p 82−89 (58)調査した分野(Int.Cl.7,DB名) G06F 9/06 ─────────────────────────────────────────────────── ─── Continuation of the front page (56) References JP-A 5-40616 (JP, A) Masahiro Nakamura, Challenge to escape from maintenance hell Part 3: Maintenance tool trends, Nikkei Computer, Nikkei BP, 1990 1990 30th, p 82-89 (58) Fields investigated (Int.Cl. 7 , DB name) G06F 9/06

Claims (7)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 計算機システムで実行するプログラムの
ソースプログラムから、該ソースプログラム内で定義さ
れているデータ項目情報を抽出するデータ項目情報抽出
手段と、 該データ項目情報抽出手段で抽出されたデータ項目情報
を基に、上記ソースプログラムから制御に係わるステー
トメントの情報と業務仕様に係わるステートメントの情
報を抽出・出力する制御/業務仕様抽出手段とを有し、 前記制御/業務仕様抽出手段は、前記データ項目情報抽
出手段により抽出されたデータ項目の内、少なくとも他
プログラムや外部周辺装置とのインタフェースを有する
データ項目に対して入力チェック処理または出力時の設
定処理を行っているステートメントを前記業務仕様に係
わるステートメントとして抽出し、少なくともファイル
アクセス関連処理を行っているステートメントを前記制
御に係わるステートメントとして抽出することを特徴と
するソースプログラムの業務仕様解析装置。
1. A data item information extracting means for extracting data item information defined in the source program of a program executed by a computer system, and a data item extracted by the data item information extracting means. Based on the information, there is a control / business specification extraction means for extracting / outputting information on control statements and statement information on business specifications from the source program, wherein the control / business specification extraction means is the data Among the data items extracted by the item information extraction means, the statement that performs the input check process or the setting process at the time of output for at least the data item having the interface with other programs and external peripheral devices is related to the business specification. Extract as statement and at least file access The apparatus for analyzing task specifications source program and extracting a statement that performs communication processing as a statement relating to the control.
【請求項2】 計算機システムで実行するプログラムの
ソースプログラムから、該ソースプログラム内で定義さ
れているデータ項目情報を抽出するデータ項目情報抽出
手段と、外部とのインタフェースを有しないが 業務仕様として抽
出すべきデータ項目が属するレコードの名称を記憶する
レコード名ファイルと、 前記データ項目情報抽出手段によって抽出したデータ項
目情報と前記レコード名ファイルに格納されているレコ
ード名を基に、前記ソースプログラムから制御に係わる
ステートメントの情報と業務仕様に係わるステートメン
トの情報を抽出・出力する制御/業務仕様抽出手段とを
有し、 前記制御/業務仕様抽出手段は、前記データ項目情報抽
出手段により抽出されたデータ項目の内、少なくともフ
ァイルアクセス関連処理を行っているステートメントを
前記制御に係わるステートメントとして抽出し、少なく
とも前記レコード名ファイルに記憶されているレコード
名のレコードに属するデータ項目に対するチェック処理
または更新処理を行っているステートメントを前記業務
仕様に係わるステートメントとして抽出する ことを特徴
とするソースプログラムの業務仕様解析装置。
2. A data item information extracting means for extracting data item information defined in the source program of a program executed by a computer system, and an external interface, but extracted as a business specification. A record name file that stores the name of the record to which the data item to be stored is stored, and control is performed from the source program based on the data item information extracted by the data item information extraction means and the record name stored in the record name file. and a control / business specifications extracting means for extracting and outputting the information of the statement relating to the statement of information and operational specifications related to the
The control / business specification extraction means has the data item information extraction means.
At least one of the data items extracted by the output means
Statements that are performing file access-related processing
Extract as a statement related to the control,
Records stored in the record name file
Process for the data item belonging to the record of the first name
Or the statement that is performing the update processing
A business specification analysis device for source programs, which is characterized by being extracted as statements related to specifications.
【請求項3】 計算機システムで実行するプログラムの
ソースプログラムから、該ソースプログラム内で定義さ
れているデータ項目情報を抽出するデータ項目情報抽出
手段と、 前記ソースプログラム内のステートメントから条件式を
抽出して、同一の条件式については集約する条件抽出手
段と、 該条件抽出手段によって抽出された条件に対して、その
業務に対応する業務用語を付ける業務用語入力手段と、 前記データ項目情報抽出手段によって抽出したデータ項
目情報を基に、前記ソースプログラムから制御に係わる
ステートメントと業務仕様に係わるステートメントを抽
出して、該業務仕様に係わるステートメントの内、条件
式を使用しているステートメントに対しては、上記業務
用語入力手段によって対応付けられた業務用語と関係付
けて出力する制御/業務仕様抽出手段とを有し、 前記制御/業務仕様抽出手段は、前記データ項目情報抽
出手段により抽出されたデータ項目の内、少なくとも他
プログラムや外部周辺装置とのインタフェースを有する
データ項目に対して入力チェック処理または出力時の設
定処理を行っているステートメントを前記業務仕様に係
わるステートメントとして抽出し、少なくともファイル
アクセス関連処理を行っているステートメントを前記制
御に係わるステートメントとして抽出する ことを特徴と
するソースプログラムの業務仕様解析装置。
3. A data item information extracting means for extracting data item information defined in the source program of a program executed by a computer system, and a conditional expression from a statement in the source program. Then, the same conditional expression is aggregated by a condition extracting means, a business term inputting means for attaching a business term corresponding to the business to the condition extracted by the condition extracting means, and the data item information extracting means. Based on the extracted data item information, a statement related to control and a statement related to business specifications are extracted from the source program, and among the statements related to the business specifications, for statements using conditional expressions, Correlation with business terms associated by the business term input means And a control / business specifications extracting means for outputting Te, the control / operational specification extracting means, said data item information extraction
At least other of the data items extracted by the output means
Has an interface with programs and external peripheral devices
Input check processing or output setting for data items
The statement that is performing regular processing is related to the business specification
At least the file extracted as
The statement that performs access related processing is
A business specification analysis device for a source program, which is characterized by extracting as a statement related to control.
【請求項4】 計算機システムで実行するプログラムの
ソースプログラムから、該ソースプログラム内で定義さ
れているデータ項目情報を抽出するデータ項目情報抽出
手段と、 前記ソースプログラム内のステートメントから条件式を
抽出して同一の条件式については集約する条件抽出手段
と、 該条件抽出手段によって抽出された条件式に対して対応
する業務用語を付ける業務用語入力手段と、外部とのインタフェースを有しないが 業務仕様として抽
出すべきデータ項目が属するレコードの名称を記憶する
レコード名ファイルと、 前記データ項目情報抽出手段によって抽出したデータ項
目情報と前記レコード名ファイルに格納されているレコ
ード名を基に前記ソースプログラムから制御に係わるス
テートメントと業務仕様に係わるステートメントを抽出
して、該業務仕様に係わるステートメントの内、前記条
件式抽出手段によって抽出された条件式を使用している
ステートメントに対しては、上記業務用語入力手段によ
って付された業務用語と関係付けて出力する制御/業務
仕様抽出手段とを有し、 前記制御/業務仕様抽出手段は、前記データ項目情報抽
出手段により抽出されたデータ項目の内、少なくともフ
ァイルアクセス関連処理を行っているステートメントを
前記制御に係わるステートメントとして抽出し、少なく
とも前記レコード名ファイルに記憶されているレコード
名のレコードに属するデータ項目に対するチェック処理
または更新処理を行っているステートメントを前記業務
仕様に係わるステートメントとして抽出する ことを特徴
とするソースプログラムの業務仕様解析装置。
4. A data item information extracting means for extracting data item information defined in the source program of a program executed by a computer system, and a conditional expression from a statement in the source program. For the same conditional expression, the condition extracting means for aggregating, the business term inputting means for attaching the corresponding business term to the conditional expression extracted by the condition extracting means, and the interface having no external interface are provided as the business specification. A record name file that stores the name of the record to which the data item to be extracted belongs, and control from the source program based on the data item information extracted by the data item information extracting means and the record name stored in the record name file Statements related to business and state statements related to business specifications Among the statements relating to the business specification, the statement using the conditional expression extracted by the conditional expression extracting means is related to the business term attached by the business term inputting means. And a control / business specification extraction means for outputting the data item information.
At least one of the data items extracted by the output means
Statements that are performing file access-related processing
Extract as a statement related to the control,
Records stored in the record name file
Process for the data item belonging to the record of the first name
Or the statement that is performing the update processing
A business specification analysis device for source programs, which is characterized by being extracted as statements related to specifications.
【請求項5】 前記データ項目情報抽出手段は、前記ソ
ースプログラム内で定義されている各データ項目につい
て、その名称と所属レコード名及びその使用用途を抽出
することを特徴とする請求項1,2,3,または4記載
のソースプログラムの業務仕様解析装置。
5. The data item information extracting means extracts, for each data item defined in the source program, the name, the affiliation record name, and the intended use thereof. , 3, or 4, the business specification analysis device for the source program.
【請求項6】 前記制御/業務仕様抽出手段は、前記抽
出したステートメント情報に併記して、該ステートメン
ト内で使用されているデータ項目の前記所属レコード名
を出力することを特徴とする請求項5記載のソースプロ
グラムの業務仕様解析装置。
6. The control / business specification extraction means outputs the affiliation record name of a data item used in the statement in addition to the extracted statement information. Business specification analysis device for the listed source program.
【請求項7】 前記制御/業務仕様抽出手段は、前記抽
出したステートメントを、該ステートメント内で使用さ
れているデータ項目の所属レコード名を明記しながらリ
スト出力することを特徴とする請求項5記載のソースプ
ログラムの業務仕様解析装置。
7. The control / business specification extraction means outputs a list of the extracted statements while clearly specifying a record name of a data item used in the statement. Business specification analysis device for source programs.
JP24571493A 1993-09-30 1993-09-30 Business specification analyzer for source programs Expired - Fee Related JP3377836B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP24571493A JP3377836B2 (en) 1993-09-30 1993-09-30 Business specification analyzer for source programs
US09/018,298 US6009267A (en) 1993-09-30 1998-02-04 Apparatus for analyzing the task specification (business rule specification) of a source program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24571493A JP3377836B2 (en) 1993-09-30 1993-09-30 Business specification analyzer for source programs

Publications (2)

Publication Number Publication Date
JPH07104994A JPH07104994A (en) 1995-04-21
JP3377836B2 true JP3377836B2 (en) 2003-02-17

Family

ID=17137715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24571493A Expired - Fee Related JP3377836B2 (en) 1993-09-30 1993-09-30 Business specification analyzer for source programs

Country Status (1)

Country Link
JP (1) JP3377836B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3970373B2 (en) * 1997-04-01 2007-09-05 富士通株式会社 Program analysis apparatus, program analysis method, and computer-readable recording medium recording source program analysis program
JP6993573B2 (en) * 2018-02-06 2022-01-13 富士通株式会社 Program analysis method, program analysis device and program analysis program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
中村正弘,保守地獄脱出へ挑戦始まる 第3部:保守ツール動向,日経コンピュータ,日経BP,1990年7月30日,p82−89

Also Published As

Publication number Publication date
JPH07104994A (en) 1995-04-21

Similar Documents

Publication Publication Date Title
Eick et al. Does code decay? assessing the evidence from change management data
JP2768433B2 (en) Physical database design system
US5233513A (en) Business modeling, software engineering and prototyping method and apparatus
US7945537B2 (en) Methods, systems, and computer program products for disaster recovery planning
Sapia On Modeling and Predicting Query Behavior in OLAP Systems.
Tavakkoli-Moghaddam et al. A computer simulation model for job shop scheduling problems minimizing makespan
Lum et al. 1978 New Orleans data base design workshop report
JPH11191115A (en) Data base system and effective information utilization supporting device therefor
Sturges Jr et al. A systematic approach to conceptual design
JP7339628B2 (en) Online report creation system using Excel tools
JPH09212353A (en) Method and device for supporting reused design
KR100869886B1 (en) Rehosting method which convert mainframe system into open system
JP3377836B2 (en) Business specification analyzer for source programs
JPH0540616A (en) Method for generating program specifications
JPH11265368A (en) Working procedure management system
Monk et al. Supporting design rationale for system evolution
JPH11327884A (en) System for re-constituting and using existing system processing information
JP2002109448A (en) Business form processing device, business form processing method and storage medium
JPH01147621A (en) Automatic program producing method
JP3345522B2 (en) Program development support device using data item parts
JP2785317B2 (en) Software standardization method
US20040172392A1 (en) Data conversion method and computer system therefor
JP3245635B2 (en) Standardization and analysis of software products
JP3434641B2 (en) Database processing method
JP4663526B2 (en) Form creation support device, form creation support method, and form creation support program

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20011016

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

Free format text: PAYMENT UNTIL: 20071206

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20081206

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees