JP2702986B2 - プログラム内データ置換方法 - Google Patents

プログラム内データ置換方法

Info

Publication number
JP2702986B2
JP2702986B2 JP63234981A JP23498188A JP2702986B2 JP 2702986 B2 JP2702986 B2 JP 2702986B2 JP 63234981 A JP63234981 A JP 63234981A JP 23498188 A JP23498188 A JP 23498188A JP 2702986 B2 JP2702986 B2 JP 2702986B2
Authority
JP
Japan
Prior art keywords
data
replacement
name
program
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP63234981A
Other languages
English (en)
Other versions
JPH0283731A (ja
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP63234981A priority Critical patent/JP2702986B2/ja
Publication of JPH0283731A publication Critical patent/JPH0283731A/ja
Application granted granted Critical
Publication of JP2702986B2 publication Critical patent/JP2702986B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、複数のプログラム間で共有されるデータ名
称,属性,構造などを統一するのに好適なプログラム内
データ置換方法に関する。
〔従来の技術〕
事務処理用ソフトウエアは、一般にフアイル間やフア
イルとプリンタなどの間でデータの転送を行う多数のプ
ログラムから構成される。このようなソフトウエアでは
各プログラムの処理の多くはフアイル内のデータをその
まま、あるいは加工して、別のフアイルやプリンタなど
に出力することである。
このようなソフトウエアに対し機能変更,機能追加な
どの保守作業を行おうとすれば、プログラムに記述され
たデータの内容を理解する必要がある。また変更に関係
するデータがどのプログラムで参照,更新されているか
を調べて変更関係箇所を追跡する必要も生じる。
もし、フアイル内の同じデータが複数のプログラムに
より、それぞれ別々の名称や、属性、あるいはデータ構
造が与えられているならば、そのソフトウエアの保守作
業を行う人間はデータの内容を理解することが難しい。
また、あるプログラム内のデータが別のプログラム内の
データと同一であることを認識することや、あるデータ
がどのプログラムで使用されているかを見つけだすこと
も困難である。
この問題を解決する1つの方法として、複数プログラ
ムで共通に使用されるフアイル内の各データに対しそれ
ぞれ標準となる名称,属性,データ構造を定め、そのフ
アイルを使用する各プログラム内のデータの定義箇所や
使用箇所をそれぞれその標準形式に合わせて置換するこ
とにより、各プログラムを、データが標準化,統一化さ
れたプログラムに変換する方法がある。
この方法は有効であるが、プログラムの変換を手作業
で行つては相当な工数を要する。
従来この作業を支援する方法には、対象プログラム内
の各置換対象データに対し、それぞれ置換先の標準デー
タを指定し、その指定に従つて、プログラム内の置換対
象データの定義箇所や使用箇所を対応した標準データに
置換する方法が存在した。
この支援方法は、例えば、和田外:名前置換えプログ
ラム、情報処理学会論文誌、Vol.21No.6(1980)に述べ
られている。
〔発明が解決しようとする課題〕
上記従来技術においては置換対象データに対する置換
対象データを一々指定する必要がある。しかし一般に事
務処理用ソフトウエアで使用するフアイルのレコード
(データの集まり)は数十から数百種類のデータを含ん
でいる。従つて、各フアイル内のデータに関し、各プロ
グラムで使用する名称等を標準化,統一化しようとすれ
ば、各プログラムの使用するフアイルごとに数十から数
百の対象データを指定することが必要となる。この操作
には多大の時間を要すると共に、指定誤りが発生する可
能性が高い。このため、この方法ではデータを標準化,
統一化するためのプログラム変換作業の効率が上がらな
いという問題があつた。
本発明の目的は、置換対象データの対応づけの指定を
容易にするプログラム内データ置換方法を提供すること
にある。
〔課題を解決するための手段〕
上記目的を達成するために、本発明は、対象プログラ
ム内の、各フアイルレコード定義の記述にたいし、置換
先のレコード定義情報を指定し、置換対象レコード内の
各データに対し、それぞれ置換先レコード定義情報内
の、レコード先頭からの物理的相対位置,長さ等が一致
するデータを置換先データとして自動検出し、該プログ
ラム内の置換対象レコード内の各データの使用箇所や定
義箇所をそれぞれ前記の検出された置換先データの名
称,属性,データ構造に一括自動置換することを特徴と
する。
〔作用〕
同一フアイルレコード内のデータは実体が同一である
限りどのプログラム内のレコード記述でもレコードの先
頭からの物理的相対位置が一致する箇所に定義されてい
る。従つて対象レコード内の各データに対する置換対象
データは、置換先レコード定義内の該データと物理的位
置が一致するデータを検出することにより見つけること
ができる。
従つて、単に置換対象レコードにたいし、置換先レコ
ードを指定するだけで、該レコード内の全てのデータに
対し、自動的に置換先データを検出でき、この情報を用
いて、該プログラム中の、置換対象レコード中の全ての
データについて、その使用箇所,定義箇所を自動変換す
ることが出来る。
〔実施例〕
以下、本発明の一実施例を図を用いて説明する。
第1図は本発明の1実施例における機能構成の一例を
示す図、第2図は本実施例のハードウエア環境を示す図
で、中央処理装置(CPU)21、主記憶装置22、外部記憶
装置23、入力装置24、表示装置25より構成される。
本実施例のプログラム内データ置換方法は、第1図の
機能図に示すように、機能的には、既存ソースプログラ
ム記憶部1、標準フアイルレコード定義情報記憶部2、
入力装置3、置換対象フアイルレコード定義情報抽出部
4、標準フアイルレコード定義情報入力部5、置換対象
フアイルレコード定義情報記憶部6、置換先フアイルレ
コード定義情報記憶部7、置換データ対応情報作成部
8、置換データ対応情報記憶部9、プログラム内データ
置換部10、新プログラム記憶部11、を備える。
第1図の既存ソースプログラム記憶部1は、その中の
データ使用箇所,定義箇所を置換すべき、既存のソース
プログラムを記憶する。1に記憶されたソースプログラ
ムの例を第3図に示す。
標準フアイルレコード定義情報記憶部2は、各フアイ
ルについてその中のレコードを構成するデータの標準名
称,標準属性,標準データ構造などを定義した情報−標
準フアイルレコード定義情報−を記憶する。
標準フアイルレコード定義情報を表形式で表わした例
を第4図に示す。
第4図の例では、フアイル名は「DENPYO−FILE」であ
り、そのフアイルレコードは「URIAGE−DENPYO」、「DE
NPYO−BANGO」等の名称を持つデータより構成される。
レベル欄の「01」,「02」等は、データ構造を示し、01
レベルのデータ「URIAGE−DENPYO」は02レベルのデータ
「DENPYO−BANGO」、「URIAGE−NAIYO」を含み、02レベ
ルのデータ「URIAGE−NAIYO」は03レベルのデータ「URI
AGE−SUU」を含むことが示されている。相対位置欄は各
データのレコード先頭からの相対位置をバイト数で示し
ている。長さ欄は各データの長さをバイト数で示してい
る。属性欄は各データの型(数値,文字など)や桁数を
示す。例えばデータ「DENPYO−BANGO」の属性「9
(6)」の「9」の数値データで「(6)」は6桁であ
ることを示す。属性欄の記載がないデータは下位データ
を含むデータであることを示す。
第1図の入力装置3は、既存ソースプログラム記憶部
1に記憶されたソースプログラム内の置換対象となるフ
アイルレコード定義部と、その置換先となる標準フアイ
ルレコード定義情報記憶部2内の標準フアイルレコード
定義情報を対応付けて、少なくとも1対指定する。
置換対象フアイルレコード定義情報抽出部4は、既存
ソースプログラム記憶部1に記憶されたソースプログラ
ムを入力し、その中の、入力装置3で指定された少なく
とも1つのフアイルレコード定義情報を抽出し、そのフ
アイルレコード内の各データの位置,桁数等を計算して
置換対象フアイルレコード定義情報を作成し、置換対象
フアイルレコード定義情報記憶部6に出力する。
第3図に例示したソースプログラムの30の部分から抽
出して作成された置換対象フアイルレコード定義情報
を、表形式で第5図に例示する。
第5図のフアイル名欄,レベル欄,相対位置欄,長さ
欄,属性欄の意味は、第4図と同様である。データ名欄
は、既存ソースプログラム内に記述された標準化前のデ
ータ名称を示す。
第1図の標準フアイルレコード定義情報入力部5は標
準フアイルレコード定義情報記憶部2から入力装置3で
指定された標準フアイルレコード定義情報を少なくとも
1つ入力し、置換先フアイルレコード定義情報記憶部7
に出力する。
第1図の置換データ対応情報作成部8は、置換対象フ
アイルレコード定義情報記憶部6に蓄積された各置換対
象フアイルレコード定義情報に対し、それぞれ置換先フ
アイルレコード定義情報記憶部7より置換先フアイルレ
コード定義情報を見つけ、その情報より、置換対象フア
イルレコード定義情報内の全データに対し、それぞれ置
換先となる標準データを置換先フアイルレコード定義情
報から見つけて、その対応関係を示す置換データ対応情
報を作成し、置換データ対応情報記憶部8に出力する。
この置換先となる標準データ名称の決定は、各置換対
象データに対し、フアイルレコードの先頭からの物理的
相対位置が一致するデータを対応付けられた置換先フア
イルレコード定義情報の中から検出することにより行な
う。相対位置が同じデータが複数ある場合には、長さや
属性が一致するデータを置換先データとして選択する。
第6図に第5図に例示した置換対象フアイルレコード
定義情報と第4図に例示した標準フアイルレコード定義
情報を対応付けて作成した置換対象データ情報を票形式
で例示する。
第6図において左側の置換対象フアイルデータ名欄
は、置換対象フアイルデータ定義情報内の全データに対
して作成される。左欄中の第1データ名欄はプログラム
中のフアイルレコードの定義部(例えば第3図の30)に
記載されたデータ名称を含む。例えば第3図の「I−D
−NO」(31)は第6図の61に記載されている。なお該置
換対象フアイルのフアイル名称も第6図60の「I−FIL
E」のような本欄に記載する。第6図の上位データ名欄
は各データに付いて、データ構造的に上位にあるデータ
(及びフアイル)の名称を相対的に下位のデータより記
載する。フアイル名も最上位データとして扱い、この欄
に記載する。
右側の置換先データ名欄は各置換対象フアイルデータ
に対して検出された置換先データ名称を記載する。例え
ば第3図の「I−D−NO」(31)に対して、まず第5図
の51に示される相対位置(1バイト目)と同じ相対位置
を持つデータを第4図に例示された置換先フアイルレコ
ード定義情報内から検出する。第4図では「URIAGE−DE
NPYO」(41)、「URIAGE−BANGO」(42)が相対位置バ
イトを持つ。次にこの2つのデータの中から51に示され
たと同じ長さ(6バイト),同じ属性(9(6))を持
つデータとして「DENPYO−BANGO」(42)が選択され
て、第6図の置換先データ名欄61に記載される。なお、
フアイル名「I−FILE」に対する置換先フアイル名とし
ては、第4図のフアイル名欄の「DENPYO−FILE」が無条
件に選択されて、第6図の置換先データ名欄60に記載さ
れている。
第1図のプログラム内データ置換部10は既存ソースプ
ログラム記憶部1に記憶された既存ソースプログラムに
対し、その中の置換対象のフアイルレコードの定義部
を、置換対象フアイルレコード情報内の対応する置換先
フアイルレコード定義情報の内容に置換し、更に置換デ
ータ対応情報記憶部9内の置換データ対応情報に基づ
き、既存プログラム内で使用しているデータ名称の使用
箇所のうち、置換データ対応情報内に記憶されているデ
ータ名称の使用箇所を該情報に記憶されている置換先デ
ータ名称に置換して、新プログラムを作成し、新プログ
ラム記憶部11に記憶する。
第3図に例示した既存ソースプログラムを第4図に例
示した置換先フアイルレコード定義情報と、第6図に例
示した置換先データ対応情報に基づき、変換して作成し
た新プログラムの例を第7図に示す。第3図の30に示し
た置換対象のフアイルレコードデータの定義部は、第4
図の置換先の標準フアイルレコード定義情報から生成さ
れた定義内容に置換される。第7図に例示した新プログ
ラムの70の部分がこの内容である。又、第6図の置換デ
ータ対応情報の置換対象フアイルデータ欄に記載された
データ名称と一致するデータ名使用箇所35,36は、それ
ぞれ置換先データ対応情報の63,61の置換先データ名欄
の情報に従つて、75,76の内容に置換されている。例え
ば35の「I−U−SUURYO」は、第1名欄に「I−D−SU
URYO」を含む第6図の63の内容に従つて、75の「URIAGE
−SUU」に置換される。また36の「I−D−NO OF I
−URIAGE」は、第1名欄に「I−D−NO」をもち、上位
データ名欄に「I−URIAGE」をもつ61の内容に従つて、
76の「DENPYO−BANGO」に置換される。
以上の実施例で示されるように本方法によりプログラ
ム内の置換対象のレコード定義情報と置換先のレコード
定義情報を指定するだけで、対象プログラム内の該レコ
ード内の全てのデータの使用箇所,定義箇所を置換先の
データの名称,属性,構造に置換することが出来る。
又本実施例の説明では、置換対象のレコードがフアイ
ルレコードの場合を説明したが、ワークデータの場合も
同様にして置換することが出来る。
前記の実施例では置換対象のフアイルレコードに属す
る各データに対し、置換先の標準フアイルレコード定義
情報に属する標準データが検出された後、プログラム中
の該データの使用箇所は標準フアイルレコード定義情報
に指定された標準データの名称に機械的に置換される。
このため、もしこの置換先標準データと同じ名称のデ
ータが、このプログラムに存在する場合、その置換箇所
はいずれのデータを参照しているかを識別することが不
可能になり、誤つたプログラムが作成される。
この問題を解決するには置換に際し、同名となるデー
タが発生する場合、このデータの使用箇所を、そのデー
タのデータ構造上上位にあるデータの名称でデータ名称
を修飾して一意表現になるようにして置換すれば良い。
これは置換対象のフアイルデータの使用箇所だけでな
く、その置換先データ名称と同名となる相手のデータの
使用箇所にも行う必要がある。
さらに言えば、同じ一意表現に置換するにしても、不
必要に多くの上位データ名称で修飾することなく出来る
だけ少ない修飾データ名称による一意表現を見つけてこ
の表現に置換することも考えられる。
この同名異議の解決方法を実施する1実施例の機能構
成図を第8図に示す。
以下、第9図に例示したプログラムの90の部分のフア
イルレコード定義部内のデータに対し、第4図に例示し
た標準フアイルレコード定義情報内のデータで置換する
ことを指定した場合の例で、説明する。
第8図の既存ソースプログラム記憶部1、標準フアイ
ルレコード定義情報記憶2、入力装置3、置換対象フア
イルレコード定義情報抽出部4、標準フアイルレコード
定義情報入力部5、置換対象フアイルレコード定義情報
記憶部6、置換先フアイルレコード定義情報記憶部7、
新プログラム記憶部11は第1図の機能構成図と同じであ
る。置換対象フアイルレコード定義情報記憶部6に記憶
される置換対象フアイルレコード定義情報は第5図と同
じである。置換データ対応情報作成部81は第1図の8と
同じく置換対象フアイルレコード定義情報内の各データ
に対し、置換先フアイルレコード定義情報の中から置換
先のデータを決定して置換データ対応情報を作成し、置
換データ対応情報作成部82に記憶するが、作成する置換
データ対応情報には置換先データのデータ構造上上位に
あるデータをも記載する点が異なる。第10図に第5図に
例示した置換対象フアイルレコード定義情報と第4図に
例示した置換先の標準フアイルレコード定義情報により
作成された置換データ対応情報を例示する。右側の置換
対象フアイルデータ欄は第6図は同じである(フアイル
名称欄が追加されている)。右側の置換先標準データ欄
は各置換対象データに対する置換先のデータの名称を第
1名欄に記憶し、そのデータのデータ構造上上位にある
データ名(フアイル名を含む)を上位データ名欄に記憶
する。また該データが所属するフアイルの名称をフアイ
ル名欄に記憶する。
一般にプログラム中でデータを操作(計算,転記等)
する場合、データの参照は第1名のみを指定して使用す
るが、第1名が同一の同名異義のデータがあれば、一意
になるように少なくとも1つの上位データ名(フアイル
名を含む)で修飾して参照しなければならない。また第
1名に同名のデータがなくても上位データ名で修飾して
参照してよい。例えば第9図95(即ち第10図103)の
「I−D−NO」のデータは同名データがないとすれば
「I−D−NO」のみで使用出来るし、また「I−D−NO
OF I−URIAGE」、「I−D−NO OF I−FILE」、
「I−D−NO OF I−URIAGE OF I−FILE」、のよ
うに上位データ名で修飾して使用することもできる。
置換データ対応情報作成部81における置換先データの
検出は第1の実施例と同じく両レコード内の相対位置,
長さ等が一致するデータを見つける方法で行う。
既存ソース全データ名称情報抽出部83は既存ソースプ
ログラム記憶部1内の変換対象の既存プログラムのデー
タ定義部分に記述された全データ(置換フアイルデータ
に限らない)の名称情報を抽出して、既存ソース全デー
タ名称情報を作成し、既存ソース全データ名称情報記憶
部84に記憶する。第9図に例示した既存ソースプログラ
ムから抽出した既存データ全データ名称情報の例を第11
図に示す。第11図における第1名欄、上位データ名欄、
フアイル名欄の意味は、第10図と同じである。
第9図の「I−FILE」のフアイルに属するデータの定
義情報90からは第10図左側欄と同じ内容のデータ名称情
報が第11図の111の部分に作成される。又、第9図の91
の部分のデータ定義情報からは、第11図の112の部分の
データ名称情報が作成されている。この112の部分のデ
ータはワークデータでフアイルレコードに属するデータ
でないため、フアイル名欄は作成されず、上位データ名
欄にもフアイル名称は登録されていない。
第8図の新ソース全データ名称情報作成部85は既存ソ
ース全データ名称情報記憶部84内のデータ名称情報のう
ち、置換対象フアイルのデータ名称情報を削除し、代わ
りに、置換先の標準フアイルレコード定義情報記憶部7
に記憶された置換先の標準フアイルレコード定義情報よ
り作成された各標準データのデータ名称情報を追加する
ことによりデータ置換後の新ソースプログラムに含むべ
き全てのデータに対するデータ名称情報を作成し、新ソ
ース全データ名称記憶部86に記憶する。
第11図に例示した既存ソース全データ名称情報と、第
4図に例示した置換先の標準フアイルレコード定義情報
より作成された新ソース全データ名称情報を表形式で表
現した例を第12図に示す。第12図の例では第11図の111
の部分−即ち置換対象のフアイルデータのデータ名称情
報−が削除され、代わりに第4図の置換先の標準フアイ
ルレコード定義情報に含まれる各データのデータ名称情
報が第12図の125の部分に追加されている。第12図の第
1名欄、上位データ名欄、フアイル名欄、の各欄の意味
は第11図と同じである。第8図の同名データ一意名称決
定部87は新ソース全データ名称情報記憶部86に記憶され
た新ソース全データ名称情報の中から第1名が一致する
全ての同名データを抽出し、それぞれについて、上位デ
ータ名称の修飾により、一意となるデータ名称の表現を
見つけだして、同名データ一意名称情報を作成し、同名
データ一意名称情報記憶部88に記憶する。
第12図に例示した、新ソース全データ名称情報内の同
名データの情報から作成した、同名データ一意情報の例
を第13図に表形式で示す。
第13図における第1名欄は同名のデータ名称を記憶す
るものであり、新ソース前データ名称情報の第1名欄に
記憶された第1名称の中から同じ名称が複数有るものを
すべて抽出して、記憶する。
たとえば第12図の121と122の欄の第1名は共に「URIA
GE−NAIYO」であるので第13図の131と132の欄にそれぞ
れ記憶する。同様に第12図の123と124の欄の第1名はと
もに「URIAGE−SUU」であるので、第13図の133の欄と、
134の欄に、それぞれ記憶する。
第13図の上位データ名欄は、抽出された各同名データ
のそれぞれについて、データ構造的に上位にあるデータ
名称を下位から順に記載したものであり、第12図の上位
データ名欄の内容を転記したものである。例えば第13図
の131の「URIAGE−NAIYO」の上位データ名は「URIAGE−
DENPYO」と「DENPYO−FILE」であり、132の「URIAGE−N
AIYO」の上位データ名は「W−URIAGE−DATA」であり、
それぞれ第12図の121,122の上位データ名欄の内容と同
じである。
第13図の一意修飾上位データ名欄は各同名データにつ
いて、それぞれ一意にするのに必要な少なくとも1つの
上位データ名称を上位データ名欄から選択して記憶す
る。
この一意修飾データ名称を決定する方法は、各同名デ
ータについて、上位データ名称の1つあるいは複数のデ
ータ名称で修飾した修飾形式のデータ名称のそれぞれに
ついて、この修飾する各データ名称が、他の同名データ
の上位データ名に一致するものがあるかを調べ、もし一
致しないものが有れば、この修飾形式の上位データ名を
一意修飾データ名欄に記憶する。
一意にするのに必要な修飾データ名称の数を最小にす
るにはまず唯一の上位データ名称で修飾した形式をすべ
て調べ、もしこの形式で一意になる形式がなければ、次
に2つの上位データ名称で修飾した形式を全て調べると
いうように順次修飾する上位データ数を増やして調べ、
一意になる修飾形式が見つかれば、この修飾形式を採用
して修飾上位データ名称欄に記憶させればよい。
又本実施例では、唯一の上位データ名称で修飾した形
式が一意になるかを調べるに当たつて、まず最上位のデ
ータ名称(フアイル内データの場合はフアイル名)で修
飾した形式が一意になるかを調べ、もしその形式が一意
にならなければ、次に上位にあるデータの名称で修飾し
た形式で調べるといつたように上位データ名の中でもよ
り上位にあるデータ名より調べるようにしている。
第13図において131の「URIAGE−NAIYO」については、
まず、上位データ名の「DENAYO−FILE」で修飾した形式
が132の上位データ名「W−URIAGE−DATA」と一致する
かを調べる。本例では一致しないのでこれを一意名称と
し、「DENPYO−FILE」を一意修飾データ名称欄に登録す
る(もし一致すれば次に「URIAGE−DENPYO」で修飾した
形式を調べ、最後に「URIAGE−DENPYO」と「DENPYO−FI
LE」の両方で修飾した形式を調べる)。131と同名の132
の「URIAGE−NAIYO」については、上位データ名が、
「W−URIAGE−DATA」しかないので、これで修飾した形
式を調べ、この名称が131の上位データ名欄に含まれて
いないことを確認して一意名称と判断し、「W−URIAGE
−DATA」を一意修飾上位データ名称欄に登録する。133
と134の「URIAGE−SUU」についてもそれぞれ上位データ
名欄から一意になる上位修飾データ名称として、「DENP
YO−FILE」と「W−URIAGE−DATA」を見つけ、一意修飾
上位データ名欄に登録している。
第8図の置換対象データ名称対応情報作成部89は、置
換データ対応情報記憶部82に記憶された置換データ対応
情報と、同名データ一意名称情報記憶部88に記憶された
同名データ一意名称情報に基づき、既存プログラム内の
置換すべきデータ名称と、それに置換すべき一意データ
名称の表現との対応情報−置換データ名称対応情報−を
作成し、置換データ名称対応情報記憶部810に記憶す
る。
これは置換データ対応情報内の各置換対象データにた
いし、一般にはその置換先データの第1データ名のみを
一意データ名称とし、同名データが存在する場合には同
名データ一意名称情報の中の一意修飾上位データ名を修
飾して、一意データ名称を作成する。また上記の同名と
なるデータが置換対象のフアイルデータ以外の場合には
同名データ一意名称情報に基づき、そのデータ名と、一
意に修飾されたデータ名称を置換データ対応情報に追加
する。
第14図は第10図に例示した置換データ対応情報と第13
図に例示した同名データ一意名称情報より作成した、置
換データ名称対応情報を表形式で例示したものである。
置換データ名称対応情報の左側の欄は、既存プログラム
内の置換対象のデータ名を示し、右側の置換先一意デー
タ名欄は、左側の置換対象データを置換する、一意とな
るデータ名称の表現を示す。置換対象データ名欄内の第
1名欄、上位データ名欄、フアイル名欄の各欄の内容は
第10図と同様である。本図において、141,142,143,144,
145の置換対象データは、第10図のそれぞれ101,102,10
3,104,105のデータと同じである。このうち、141の「I
−FILE」、142の「I−URIAGE」、143の「I−D−NO」
に関しては第10図の置換先データ(「DENPYO−FILE」、
「URIAGE−DENPYO」、「DENPYO−BANGO」)が第13図の
同名データ一意名称情報内にないので、同名データがな
いと判断し、第10図の101,102,103の置換先データの第
1名欄の内容−「DENPYO−FILE」、「URIAGE−DENPY
O」、「DENPYO−BANGO」のみが第14図の置換先一意デー
タ名欄に記憶される。一方144の「I−U−NAIYO」と14
5の「I−U−SUURYO」に関しては第10図の置換先デー
タの第1名(「URIAGE−NAIYO」及び「URIAGE−SUU」が
第13図の同名データ一意名称情報に登録されている(13
1と133、第1名欄と上位データ名欄により判断)ので、
第1名だけでは一意名称にはならず、第13図の第1名と
一意修飾上位データ名による置換先一意データ名称「UR
IAGE−NAIYO OF DENPYO−FILE」、「URIAGE−SUU OF
DENPYO−FILE」を置換先データ名称対応表の置換先一
意データ名欄に記録する。また、第14図の146の「URIAG
E−NAIYO」と147の「URIAGE−SUU」は第10図の置換デー
タ対応情報には記録されていない置換対象フアイルレコ
ード外のデータであるが、第13図の同名データ一意名称
情報の132と134の欄に記録されているので、それぞれ13
1と133の置換先データ名と一致する同名データと判断
し、132及び134の欄の第1名と一意修飾データ名から置
換先一意データ名「URIAGE−NAIYO OF W−URIAGE−D
ETA」、「URIAGE−SUU OF W−URIAGE−DATA」を得
て、第1名、上位データ名等と共に、146,147の欄に記
録される。
第8図のプログラム内データ置換部811は第1図のプ
ログラム内データ置換部10と同様に既存ソースプログラ
ム記憶部1に記憶された既存ソースプログラムに対し、
その中の置換対象のフアイルレコードの定義部を、置換
対象フアイルレコード情報内の対応する置換先フアイル
レコード定義情報の内容に置換し、更に置換データ対応
情報記憶部811内の置換データ対応情報に基づき、既存
プログラム内で使用しているデータ名称の使用箇所のう
ち、置換データ対応情報内に記憶されているデータ名称
の使用箇所を該情報に記憶されている置換先データ名称
に置換して、新プログラムを作成し、新プログラム記憶
部11に記憶する。
第9図に例示した既存ソースプログラムを第4図に例
示した置換先の標準フアイルレコード定義情報と、第14
図に例示した置換先データ名称対応情報に基づき、変換
して作成した新プログラムの例を第15図に示す。第9図
の90に示した置換対象のフアイルレコードデータの定義
部は、第4図の置換先フアイルレコード定義情報から生
成された定義内容に置換される。第15図に例示した新プ
ログラムの150の部分がこの内容である。又、第14図の
置換データ名称対応情報の置換対象フアイルデータ欄に
記載されたデータ名称と一致するデータ名使用箇所92,9
3,94は、それぞれ置換先データ名称対応情報の145,147,
143の置換先データ名欄の情報に従つて、151,152,153の
内容に置換されている。例えば92の「I−U−SUURYO」
は、第1名欄に「I−D−SUURYO」を含む第14図の145
の内容に従つて、「URIAGE−SUU OF DENPYO−FILE」
に置換される。「URIAGE−SUU」だけで使用すると154に
定義されたデータを指すのか155に定義されたデータを
指すのか分からなくなるので上位データ名の「DENPYO−
FILE」で修飾して一意にしている。また、93の「URIAGE
−SUU」は155に定義された置換対象フアイルデータ以外
を指しているがこの修飾なしの形式では154のデータを
指すのか分からないため、147の内容にしたがつて、
「W−URIAGE−DATA」の修飾をつけた表現に変換する。
また94の「I−D−NO OF I−URIAGE」は、第14図の
143に指定された「DENPYO−BANGO」に置換される。この
場合、元のデータ名は修飾が着けられているが変換後の
プログラムには付けられていない。
本方法によりデータ置換により同名データが発生する
場合でも正しいプログラムに変換することが出来る。
今までに述べた実施例では、置換対象データに対する
置換先データの検出は、置換対象データとレコード内の
物理的相対位置や長さが一致するデータを置換先レコー
ド内から見つける方法で行つているが、置換対象レコー
ドと置換先レコードのデータ構造や各データの長さが一
致し、データ名称のみが異なる場合などでは、データ構
造上で対応する位置にあるデータを見つける方法も有効
である。この方法では各データの物理的相対位置や長さ
を計算することなく各データの置換先データを見つける
ことが出来る。
第16図に本方法の1実施例の機能構造図を示す。本機
能構成図は第1図とほぼ同様であるがデータの相対位置
や長さを扱つていないことが異なる。本実施例の標準フ
アイルレコード定義情報記憶部161に記憶される標準フ
アイルレコード定義情報の例を第17図に示す。これは第
4図に示したのと同じ内容を示したものであるが相対位
置、長さの内容を含んでいない点が異なる。置換先フア
イルレコード定義情報記憶部165に転送される情報も同
様である。置換先フアイルレコード定義情報抽出部162
は各データの相対位置や長さの情報を作成しない点が第
1図の置換対象フアイルレコード定義情報抽出部4と異
なる。置換データ対応情報作成部166は第1図の置換デ
ータ対応情報作成部8と同様、対象フアイルレコード内
の各データに対する置換先データの情報を作成するが、
これは置換元、置換先の両レコード内でデータ構造上で
対応するデータを見つける方法で行う。プログラム内デ
ータ置換部10の機能は第1図と同じである。第3図のプ
ログラム内の30のフアイルレコード内データを第17図の
標準フアイルレコード定義情報で置換する場合は、第1
図の実施例の場合と同様に第7図の新プログラムが作成
される。
又、第1図に示した実施例の、物理的相対位置や長さ
によつて置換先データを求める方法において、置換先デ
ータの候補が複数検出される場合、データ構造上の位置
が一致する候補を置換先データと定める方法や、あるい
は利用者に指定させる方法も存在する。又データ構造の
情報と利用者の指定の方法を共に用いる方法も存在す
る。この物理的相対位置や長さの情報だけでは置換先デ
ータの候補が複数検出される場合は他の方法で置換先デ
ータを決定する方法は、置換先データが複数の名称を持
つように再定義されている場合に有用である。
この方法の1実施例の機能構成図を第18図に示す。第
18図の1,2,3,4,5,6,7,9,10,11は第1図と同じである。
置換データ対応情報作成部181は第1図8と同様置換対
象フアイルレコード定義情報記憶部6内の置換対象フア
イルレコード定義情報内の各データにたいし、置換先フ
アイルレコード定義情報記憶部7内の置換先フアイルレ
コード定義情報の中から置換先データを検出して置換デ
ータ対応情報を作成し、記憶部9に登録するが、その検
出方法が異なる。
本実施例ではこの置換先データの決定を次の規則に従
つて行う。
(1)対象とする置換先データと位置、長さなどが一致
する置換先データ候補を見つける。もし該当するデータ
が唯一であれば、これを置換先データとして決定する。
(2)対象とする置換先データと位置、長さなどが一致
する置換先データ候補が複数見つかつた場合、次に手順
でこの置換先データ候補の中から置換先データを決定す
る。
(a)置換対象フアイルレコード定義情報のレコードの
データ構造において該置換対象データの1つ上位に位置
するデータを見つける。
(b)(a)で見つかつた、上位データに対する置換先
データを見つける。(この上位データに対する置換先デ
ータは既に決定されている。) (c)置換先フアイルレコード定義情報のレコードのデ
ータ構造において置換先データ候補の中に、(b)で見
つかつた、上位置換先データの下位に位置するものがな
いかを調べる。もし存在し、しかも唯一であれば、これ
を該置換対象データの置換先データとして決定する。
(3)(2)で置換先データが決定出来なかつた場合、
検出されている、複数の置換先データ候補を置換先デー
タ候補表示部182によりデイスプレイなどの表示装置に
表示し、利用者は、この中から置換先データを決定し、
キーボードなどの入力装置から入力する。置換先データ
指定部184は、この置換先データの名称を置換対象デー
タのデータ名などと共に置換データ対応情報記憶部9に
登録する。
次に第3図に例示したプログラムの30の部分のフアイ
ルレコード定義部のデータに対し、第19図に示した標準
フアイルレコード定義情報への置換を指定した場合の例
を示す。
第19図の標準フアイルレコード定義情報の形式は、第
4図とほぼ同様であるが再定義欄が追加されている。再
定義欄の「R」は該データが、それ以前に定義された、
レベルを同じくするデータと同じ物理的位置を持つこと
を示す。本図では、「HENPIN−NAIYO」は同じ02レベル
の「URIAGE−NAIYO」データが再定義されている−即ち
物理的には同じであり、レコード内の同じ位置のある−
ことが示されている。次に置換データ対応情報作成部18
1において第3図の30より抽出した置換対象フアイルレ
コード定義情報(第5図と同じ)に対し、第19図の標準
フアイルレコード定義情報内のデータから置換先データ
を検出する処理を説明する。第5図のフアイル名「I−
FILE」に対しては無条件に「DENPYO−FILE」を置換先と
して決定する。「I−URIAGE」、「I−D−NO」に対し
ては、位置、長さ、属性が等しいデータとしてそれぞれ
「URIAGE−DENPYO」、「DENPYO−BANGO」のみが検出さ
れるので、これらを置換先データとして決定する。次に
「I−U−NAIYO」に対しては、位置,長さ,属性が等
しい、置換データ候補として「URIAGE−NAIYO」、「HEN
PIN−NAIYO」の2つが検出される。「URIAGE−NAIY
O」、「HENPIN−NAIYO」の上位データは、ともに「URIA
GE−DENPYO」であるので前述の規則でもいづれを置換先
とするか、ただちには決定できず、表示装置に2つの置
換先データ候補を表示し、この中から、利用者に選択さ
せる。
第20図にその表示選択画面の例を示す。本図では、置
換対象データ名として、「I−U−NAIYO」が表示され
(201)、置換先データ名候補として、「URIAGE−NAIY
O」と「HENPIN−NAIYO」が候補番号とともに表示されて
いる(202)。本図では利用者は、この表示を見て、置
換先データ名として「URIAGE−NAIYO」を選択し、その
番号1を入力している(203)。これにより、「URIAG
E]−NAIYO」が「I−U−NAIYO」の置換先データとし
て、置換データ対応情報に登録される。
次に、「I−U−SUURYO」に対して位置、長さ、属性
が等しい置換先データ候補として、「URIAGE−SUU」と
「HENPIN−SUU」の2つが検出される。この場合、「URI
IAGE−SUU」の上位データは「URIAGE−NAIYO」、「HENP
IN−SUU」の上位データは「HENPIN−NAIYO」であり異な
る。このうち、「URIAGE−NAIYO」データは、「I−U
−SUURYO」の上位データである「I−U−NAIYO」の置
換先データとして決定されている。従つて、前述の規則
により、「I−U−SUURYO」の置換先標準データは「UR
IAGE−SUU」と決定し、置換データ対応情報に登録す
る。
本例により作成される置換データ対応情報は第6図と
同じである。
本例により作成された新プログラムの例を第21図に示
す。第3図の30の部分は第19図の標準フアイルレコード
情報により210の内容に置換される。又第3図の35,36の
データ参照箇所はそれぞれ2111,212の内容に置換されて
いる。
以上の述べたように本方法により置換先レコード情報
内のデータが再定義されている場合も正しい名称に置換
することが出来る。
置換先データが再定義されている場合の置換先の決定
方法としては、その他に、置換対象のデータ名称と一
致、又は類似した名称を持つデータを優先して選択する
方法を加える方法もある。
たとえば第22図のソースプログラムの220の部分のフ
アイルレコード定義に対し、第19図の標準フアイルレコ
ード定義情報の置換を指定した場合を説明する。
第22図のソースプログラムは、第3図とほぼ同じであ
り、第3の「I−D−NAIYO」(37)、「I−U−SUURY
O」(32)のデータ名称がそれぞれ「I−URIAGE−NAIY
O」(221)、「I−URIAGE−SUURYO」(222)に変更さ
れていることが異なる(上記の変更に伴い、第3図35の
「I−U−SUURYO」も223の「I−URIAGE−SUURYO」に
変更されている)。
220内のデータ「I−FILE」、「I−URIAGE」、「I
−D−NO」は第18図の実施例と全く同様に置換データが
検出される。「I−URIAGE−NAIYO」(221)の置換先デ
ータ候補として、「URIAGE−NAIYO」と「HENPIN−NAIY
O」が検出されるが、「URIAGE−NAIYO」の方がデータ名
称が類似しているので、選択される。同様に、「I−UR
IAGE−SUURYO」(222)の置換先候補として検出される
「URIAGE−SUU」と「HENNPIN−SUU」のうち、「URIAGE
−SUU」の方が名称が類似しているため選択される。作
成されるプログラムは第21図と同じである。
今まで説明した実施例では、各置換対象データに対し
置換先データが必ず見つかるとして説明したが、実際に
は、置換先データが見つからない場合や、あるいは属性
や長さが異なるデータのみが置換先データとして検出さ
れる場合がある。この場合は、作成された新プログラム
は正しく実行されない可能性が大きいため、利用者に該
データの使用箇所や定義箇所を知らせ修正を促す必要が
ある。
この方法としては、作成された新プログラム内の該デ
ータの使用箇所、定義箇所にコメントなどにより警告メ
ツセージを出力する方法や、別の出力リストに警告メツ
セージを出力する方法などがある。
作成された新プログラム内の該データの使用箇所にコ
メントで警告メツセージを出力する方法の実施例を以下
に示す。
本実施例は、第1図の実施例とほぼ同様であるが、置
換先データ対応情報作成部8において、対象データに置
換先が見つからない場合や検出された置換先データに問
題がある場合には、該データの置換に問題の有ることを
示す警告メツセージを置換データ対応情報記憶部9に登
録し、プログラム内データ置換部10ではそのデータの使
用箇所を置換する際にコメント内に警告メツセージを出
力するようにして新プログラムを作成する。第23に示し
たプログラムの230の部分を第4図に示した標準フアイ
ルレコード定義情報で置換することを指定した場合の例
を示す。第23図のプログラムの230は第3図の30とほぼ
同様であるが231の「I−D−NO」が232の「I−D−NO
−U」と233の「I−D−NO−D」の2つのデータで構
成されている点が異なる。本例において置換データ対応
情報記憶部9に登録される置換データ対応情報を第24図
に示す。第24の警告メツセージ欄は置換に問題があるデ
ータに対して付けるべきメツセージを登録するものであ
り、241の「I−D−NO」に対しては置換先データとし
て検出した「DENPYO−BANGO」とデータ属性が異なるこ
とを示すメツセージが登録され、242の「I−D−N
O」、243の「I−D−NO−D」に対しては置換先データ
が見つからなかつたことを示すメツセージが登録される
(置換先データ名欄には元のデータが登録されてい
る)。この置換データ対応情報を用いて作成した新プロ
グラムを第25図に示す。第23図の230の部分は第4図の
標準フアイルレコード定義情報の内容により251のよう
に置換される。第23図の234の「I−D−NO OF I−U
RIAGE」は第24図の241に従い、「DENPYO−BANGO」に置
換され、(252)その箇所にデータ属性が異なることを
示すコメントが付けられる(253)。235の「I−D−NO
−U」は第24図の242にデータが置換できないことが示
されているので元のデータ名称のままにされ(254)そ
の箇所にデータが置換できないことを示すコメントが付
けられている(255)。
これまでの実施例では、新ソースプログラムの作成に
おいて、ソースプログラム内の置換対象フアイルレコー
ド定義情報の定義箇所を置換先の標準フアイルレコード
定義情報に置換して展開する方法を説明したが、この定
義箇所を置換先フアイルレコード定義の取り込み命令に
置換する方法もある。この場合、置換先フアイルレコー
ド定義の取り込みはコンパイル時に行われる。
この方法では、置換されたフアイルレコード定義は、
新ソースプログラム内の直接記述されていないため、そ
の内容を個々のプログラムで個別に変更される恐れがな
く、その内容が再びプログラム間で一致しなくなる恐れ
が無くなる。又この内容の変更が必要なときには、標準
フアイルレコード定義情報のみを変更すれば良く、個々
のプログラムを再び変更する必要が無くなる。
この方法を実施するには、例えば第1図の実施例のプ
ログラム内データ置換部10において該プログラムの置換
対象フアイルレコード定義箇所を置換先の標準フアイル
レコード定義情報に置換せず、該標準フアイルレコード
定義情報のコンパイル時に展開することを指令する命令
に置換するように変更すれば良い。第3図のソースプロ
グラム内の30のフアイルレコード定義を「URIAGE」とい
う名称を持つ標準フアイルレコード定義情報に置換する
ことを指定した場合に作成されるプログラムの例を第26
図に示す。第26図は第7図とほぼ同様であるが第7図で
は70の部分に標準フアイルレコード定義情報が展開され
ているのと異なり、260のように「URIAGE」という名称
を持つ標準フアイルレコード定義情報をコンパイル時に
展開することを指定する命令に置換されている。
今までに述べた実施例では、置換先の標準フアイルレ
コード定義情報がソースプログラム内のフアイルレコー
ド定義部とは異なる形式−例えば第4図のような表形式
−を持つ例で説明したが、同じ形式でもよい。例えば第
1図の実施例において、標準フアイルレコード定義情報
記憶部2に記憶される標準フアイルレコード定義情報は
第4図の形式ではなく第27図のようなソースプログラム
形式でもよい。この場合、標準フアイルレコード定義情
報入力部5は、標準フアイルレコード定義情報を2より
入力すると共に、各データの相対位置や長さを計算し
て、第4図の形式のフアイルレコード定義情報を作成す
る。他は第1図の実施例と同じである。
また標準フアイルレコード定義情報の代わりに標準フ
アイル定義情報と標準レコード定義情報を分離して、別
々に記憶し、各プログラムのフアイル定義部とレコード
定義部に対し、別々に置換を指定することを可能にする
方法も存在する。この方法は同じレコード内容を持つフ
アイルが複数存在する場合、同じ標準レコード定義情報
を重複して作成する必要がない利点がある。本方法も今
までに述べたと同様な方法で実施することが出来る。
又、既存プログラム内のデータ名称を置換する前に既
存プログラム内のフアイルレコード定義部と標準フアイ
ルレコード定義情報の内容を比較し、その中の各データ
について、レコード内の相対位置や長さが一致するデー
タを検出して利用者に提示することにより、置換による
問題を予め抽出する方法も有用である。この場合、置換
先が見つからないデータ、或いは置換先データに問題が
あるデータに対して、警告メツセージを出力することが
望ましい。
本方法の1実施例の機能構成図を第28図に示す。第8
図において、1から7は第1図の実施例と同様である。
置換データ対応情報作成部281は置換データ対応情報を
作成するが、第23図,第24図を使用して説明した実施例
と同様に、対象データの置換先が見つからない場合や、
見つかつた、置換先データに問題が存在する場合には、
そのデータに対し、警告メツセージを付けて登録する。
第23図の既存ソースプログラムの230のフアイルレコー
ド定義部を第4図に例示した標準フアイルレコード定義
情報に置換する場合、第24図の、問題のある箇所に警告
メツセージを付加した置換データ対応情報を作成し、28
2に登録する。283はこの情報を第24図に示したような表
形式で表示装置234に出力する。表示装置はプリンタで
もよい。又置換先の標準フアイルレコード定義情報は第
4図のような表形式ではなく第27図のようなソースプロ
グラム形式でも良い。又、既存ソースプログラム記憶部
1に記憶されるソースプログラムはプログラム全体では
なくフアイルレコード定義部のみでも良い。
このフアイルレコード定義部同士を比較する機能は、
標準とするフアイルレコード定義情報を作成する際に、
その内容を決定することを支援するためにも使用するこ
とが出来る。
今までの説明では変換先の標準フアイルレコード定義
情報は利用者が作成することを前提に説明したが、特定
の既存ソースプログラム内のフアイルレコード定義部を
抽出,変換するか、あるいは独立したフアイルレコード
定義部のソースを変換することにより、標準となるフア
イルレコード定義情報を作成する方法もある。この場
合、1本のプログラム内に定義されたフアイルレコード
定義部内のデータのデータ名称,属性,構造を標準と
し、同じフアイルレコードを使用する他のプログラム内
のデータをこの内容に合せることになる。またプログラ
ムより抽出,変換して作成した標準フアイルレコード定
義情報を必要により利用者が部分的に修正することも可
能にした方が良い。
本方法の1実施例の機能構成図を第29図に示す。第29
図の機能構成図は、第1図に標準フアイルレコード定義
情報作成部291と標準フアイルレコード定義情報修正部2
92を追加したものである。標準フアイルレコード定義情
報作成部291は既存ソースプログラム記憶部1内に記憶
された既存ソースプログラムの内、3で指定されたプロ
グラム内の指定されたフアイルレコード定義部を抽出し
て第4図の形式のフアイルレコード定義情報に変換し、
標準フアイルレコード定義情報記憶部2に登録する。こ
の変換処理においては、各データの相対位置や長さの計
算を行う。標準フアイルレコード定義情報修正部292は
2に登録されたフアイルレコード定義情報を、利用者の
指定により、必要箇所を修正して、置換先となる標準フ
アイルレコード定義情報を作成する。4から11では、先
に説明した方法で該フアイルレコードを使用する記憶部
1内の各既存プログラム内のデータを置換して、各新プ
ログラムを作成する。
作成される標準フアイルレコード定義情報は第27図の
ようなソースプログラム形式でも良い。この場合は、標
準フアイルレコード定義情報作成部291の処理の中の各
データの相対位置や長さを計算する処理は必要ない。
また標準フアイルレコード定義情報で定義できるデー
タ属性などに制限を設け、抽出対象のプログラム内のフ
アイルレコード定義情報にこの制限から外れている部分
が有ればその箇所に警告メツセージを出す方法も存在す
る。この部分に関しては強制的に制限内の内容に変換し
ても良い。これは各プログラムのフアイルレコード定義
を単に統一するだけで無く、内容を標準することもでき
るので更に保守を容易化することができる。
以上述べた方法に加えて、置換された該ソフトウエア
システム内の各プログラムを解析し、標準フアイルレコ
ード定義情報内の各データに対し、そのデータを使用す
るプログラムの名称やあるいはそのプログラムにおける
該データの参照,更新などの使用種別を検出して利用者
に提示する手段を加える方法もある。これにより各デー
タの使用箇所を容易に検出することが出来るので該ソフ
トウエア保守作業におけるデータの流れの理解や、該デ
ータの変更時における変更波及箇所の検出を効率的に行
うことが出来る。
なお、第1図,第8図,第16図,第18図,第28図,第
29図の機能図における各部4,5,8,10,81,83,85,87,89,16
2,166,181,182,184,281,283,291,292などの機能は第2
図のCPUのプログラムによつて実行される機能に相当
し、その他の記憶部は第2図の主記憶装置22、外部記憶
装置23の一部に対応している。
〔発明の効果〕
以上詳述したように、本発明のプログラム内データ置
換方法によれば、既存プログラム内のフアイルレコード
に対し標準フアイルレコード定義を置換先として指定す
るだけで、既存プログラム内の該フアイルレコード内の
全てのデータの使用箇所を標準データの名称などに一括
自動変換することが出来るので、既存プログラム内のデ
ータを標準データを置換する作業を効率良く行うことが
出来る。これによつて、プログラムの理解の効率化や、
データとプログラムの使用関係の情報出力による変更箇
所の検索の効率化が達成され、ひいては既存ソフトウエ
アの保守作業が効率化されるなど、優れた効果を奏する
ものである。
【図面の簡単な説明】
第1図は本発明の一実施例の構成を示す機能構成図、第
2図は本発明の適用されるハードウエア環境を示す図、
第3図は既存プログラムの一例を示す図、第4図は標準
フアイルレコード定義情報の一例を示す図、第5図は置
換対象フアイルレコード定義情報の一例を示す図、第6
図は置換データ対応情報の一例を示す図、第7図はデー
タを置換された新プログラムの一例を示す図、第8図は
本発明の別の一実施例の構成を示す図、第9図は既存プ
ログラムの別の一例を示す図、第10図は置換データ対応
情報の別の一例を示す図、第11図は既存ソース全データ
対応情報の一例を示す図、第12図は新ソース全データ対
応情報の一例を示す図、第13図は同名データ一意名称情
報の一例を示す図、第14図は置換データ対応情報の別の
一例を示す図、第15図は、データを置換された新プログ
ラムの別の一例を示す図、第16図は本発明の別の一実施
例の構成を示す図、第17図は標準フアイルレコード定義
情報の別の一例を示す図、第18図は本発明の別の一実施
例の構成を示す図、第19図は標準フアイルレコード定義
情報の別の一例を示す図、第20図は本発明の一実施例に
おける置換先データ表示選択画面の一例を示す図、第21
図はデータを置換された新プログラムの別の一例を示す
図、第22図は既存プログラムの別の一例を示す図、第23
図は既存プログラムの別の一例を示す図、第24図は置換
データ対応情報の別の一例を示す図、第25図はデータを
置換された新プログラムの別の一例を示す図、第26図は
データを置換された新プログラムの別の一例を示す図、
第27図は標準フアイルレコード定義情報の別の一例を示
す図、第28図は置換データ対応情報を作成するための本
発明の別の一実施例の構成を示す図、第29図は標準フア
イルレコード定義情報の作成機能を加えた本発明の別の
一実施例の構成を示す図である。 1……既存ソースプログラム記憶部、2……標準フアイ
ルレコード定義情報記憶部、3……入力装置、4……置
換対象フアイルレコード定義情報抽出部、5……標準フ
アイルレコード定義情報入力部、6……置換対象フアイ
ルレコード定義情報記憶部、7……置換先フアイルレコ
ード定義情報記憶部、8……置換データ対応情報作成
部、9……置換データ対応情報記憶部、10……プログラ
ム内データ置換部、11……新プログラム記憶部。
フロントページの続き (72)発明者 前澤 裕行 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所システム開発研究所 内 (56)参考文献 特開 平1−134624(JP,A) 情報処理学会第36回(昭和63年前期) 全国大会 講演論文集 P.967−968

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】プログラム内の置換対象レコードに対し、
    置換先のレコード定義を指定し、前記置換先のレコード
    内の各データに対し、それぞれ少なくとも置換先レコー
    ド内の物理的相対位置が一致する置換先データを、前記
    置換対象データのレコード内の物理的相対位置を前記レ
    コード内の各データの桁数、属性、および構造から計算
    することにより、検出し、前記プログラム内の置換対象
    レコードの各データの定義箇所、使用箇所を置換先デー
    タの名称、属性、および構造に置換することを特徴とす
    るプログラム内データ置換方法。
  2. 【請求項2】請求項1記載のプログラム内データ置換方
    法において、置換対象データと、物理的相対位置、長
    さ、および属性が一致する置換先レコード内のデータが
    複数検出された場合、両レコード内のデータ構造上の位
    置が一致するデータを、置換先データと決定することを
    特徴とするプログラム内データ置換方法。
  3. 【請求項3】請求項1、または2記載のプログラム内デ
    ータ置換方法において、置換先データの候補が複数検出
    された場合、名称が一致するデータを置換先データとし
    て決定することを特徴とするプログラム内データ置換方
    法。
  4. 【請求項4】請求項1、2、または3記載のプログラム
    内データ置換方法において、置換先レコード内のデータ
    および非置換データの中に同名のデータがないかを判定
    し、同名のデータがあれば、前記データについて、上位
    データにより修飾したデータ名称表現のうち、一意にな
    る表現を見つけ、前記データの使用箇所をその表現に置
    換することを特徴とするプログラム内データ置換方法。
  5. 【請求項5】請求項1、2、3、または4記載のプログ
    ラム内データ置換方法において、前記プログラム内の置
    換対象レコードのデータ定義部は、置換先レコードのデ
    ータ定義の取り込み命令に置換し、置換先レコードのデ
    ータ定義部は、直接置換プログラムソースに記述されな
    いように置換することを特徴とするプログラム内データ
    置換方法。
JP63234981A 1988-09-21 1988-09-21 プログラム内データ置換方法 Expired - Lifetime JP2702986B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63234981A JP2702986B2 (ja) 1988-09-21 1988-09-21 プログラム内データ置換方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63234981A JP2702986B2 (ja) 1988-09-21 1988-09-21 プログラム内データ置換方法

Publications (2)

Publication Number Publication Date
JPH0283731A JPH0283731A (ja) 1990-03-23
JP2702986B2 true JP2702986B2 (ja) 1998-01-26

Family

ID=16979275

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63234981A Expired - Lifetime JP2702986B2 (ja) 1988-09-21 1988-09-21 プログラム内データ置換方法

Country Status (1)

Country Link
JP (1) JP2702986B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2830354B2 (ja) * 1990-04-12 1998-12-02 株式会社日立製作所 同値データ項目検出方法
JP3305782B2 (ja) * 1992-12-17 2002-07-24 株式会社日立製作所 ソフトウェア標準化方法およびソフトウェア生産物の解析方法
JPH096606A (ja) * 1995-06-19 1997-01-10 Nec Corp リエンジニアリング検証方式
KR100606946B1 (ko) 2001-11-30 2006-08-01 후지쓰 텐 가부시키가이샤 마이크로 컴퓨터의 로직 개발 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
情報処理学会第36回(昭和63年前期)全国大会 講演論文集 P.967−968

Also Published As

Publication number Publication date
JPH0283731A (ja) 1990-03-23

Similar Documents

Publication Publication Date Title
AU4098700A (en) Circuit arrangement for measuring the resistances of a pressure-sensitive resistance mat
JP2557239B2 (ja) プログラム内データ名称標準化方法
US6915313B2 (en) Deploying predefined data warehouse process models
US20180341467A1 (en) Source code analysis and adjustment system
JP2008186356A (ja) ドキュメントの整合性検査支援システムおよび方法、ならびにそのプログラム
JP2830354B2 (ja) 同値データ項目検出方法
JP2702986B2 (ja) プログラム内データ置換方法
JP2785317B2 (ja) ソフトウェア標準化方法
AU760395B2 (en) Program reproducing method and device, and medium on which program for program reproduction recording
JP2000003403A (ja) 帳票入力支援方法
JP2002007177A (ja) マルチデータベース定義方法
JP5704028B2 (ja) 辞書作成プログラム,辞書作成装置および辞書作成方法
JPH1153391A (ja) データベースアクセス方法
JPS6284337A (ja) 仕様書情報解析方式
JP3307476B2 (ja) データ項目定義標準化装置
US20230251857A1 (en) Development support device, non-transitory computer-readable medium, and development support method
JP3311962B2 (ja) プログラム修正箇所検出装置
KR100656559B1 (ko) Bibd 방법론을 이용하는 프로그램 자동 개발 장치
JPH01280831A (ja) プログラム内データ名称標準化支援方法
JPH06131232A (ja) データ辞書の多重定義修正支援装置
JP2629604B2 (ja) 管理簿作成装置
JP2000181691A (ja) プログラム構造解析方式
JP5190241B2 (ja) 情報処理装置、情報処理方法及びプログラム
JPH05324283A (ja) ソフトウエアの解析方法
JPH03248228A (ja) ソフトウェア設計情報の誤り検出方式