JPH1021066A - プログラム自動生成方法 - Google Patents

プログラム自動生成方法

Info

Publication number
JPH1021066A
JPH1021066A JP17353796A JP17353796A JPH1021066A JP H1021066 A JPH1021066 A JP H1021066A JP 17353796 A JP17353796 A JP 17353796A JP 17353796 A JP17353796 A JP 17353796A JP H1021066 A JPH1021066 A JP H1021066A
Authority
JP
Japan
Prior art keywords
program
old version
difference information
line
difference
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.)
Pending
Application number
JP17353796A
Other languages
English (en)
Inventor
Masayasu Kawamura
正安 川村
Asami Sakurazawa
麻美 櫻澤
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 JP17353796A priority Critical patent/JPH1021066A/ja
Publication of JPH1021066A publication Critical patent/JPH1021066A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 ソフトウエア生産支援システムのプログラム
作成工程において、自動生成したプログラムに対して削
除・修正・追加など新たに加えたコーディング部分を保
持し、既存の財産をより有効に使用して生成効率を向上
させる。 【解決手段】 仕様変更前の旧バージョン生成プログラ
ムと仕様変更後の新バージョン生成プログラムとを比較
しその差分を抽出するステップと、旧バージョン生成プ
ログラムに対して追加・修正・削除コーディングを行っ
たプログラムと旧バージョン生成プログラムとを比較し
その差分を抽出するステップと、それぞれの抽出した差
分情報から新バージョン仕様情報を用いて生成したプロ
グラムに対し、追加・修正・削除を行うステップとを備
える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ソフトウエア生産
支援システムのプログラム作成工程において、自動生成
したプログラムに対して削除・修正・追加など新たに加
えたコーディング部分を保持することにより、プログラ
ム開発の品質を高め、作業効率を向上するのに最適なプ
ログラム自動生成方法に関するものである。
【0002】
【従来の技術】従来において、例えば特開平4−171
532号の「パターン利用によるプログラム作成装置」
に提案されているように、プログラムパターンをカスタ
マイズして生成したプログラムスケルトンにオウンコー
ディングを追加した後、再度プログラムパターンをカス
タマイズして生成したプログラムスケルトンに対して、
先に追加したオウンコーディングの中で必要なものを反
映することを可能にしたプログラム作成方法がある。
【0003】このプログラム自動生成技術は、利用者固
有の処理(オウンコーディング)をオウンコーディング
管理部といわれるところで管理し、スケルトンに対する
追加コーディングを保持することを特徴とし、スケルト
ンを修正した後でも、オウンコーディングを修正後のス
ケルトンに対し、該当する位置に復元することができ
る。従って、追加コーディング部分のみの保持となり、
スケルトンそのものに対する削除・修正に対する情報は
保持することができない。
【0004】また、特開平5−100832号の「プロ
グラム作成時の追加コーディング流用方式」では、既存
プログラムの中から該当するパターンを利用して作成さ
れたプログラムを探し、そのプログラムの中から追加コ
ーディング部分を抽出し、プログラムを作成する場合、
選択したパターンに対し、抽出した追加コーディング内
容から適当なものを選択して埋め込むようにした技術が
提案されている。
【0005】この技術によれば、パターンが同一なもの
を使用した既存プログラムを全て検索し、その追加コー
ディング部分を抽出することにより、当該プログラム以
外の業務固有処理の情報を取得することができる。
【0006】しかし、パターンに対する追加コーディン
グを抽出対象としており、削除・修正コーディングに対
しては、これを選択したパターンに反映させることはで
きない。
【0007】
【発明が解決しようとする課題】上記の従来のプログラ
ム自動生成方法は、仕様変更や既存財産を流用したシス
テム開発を行う場合において、ユーザ独自の処理を追加
コーディング部分として保持することにより、プログラ
ム再生成時の生成率を向上させ、プログラム作成の効率
を向上させる有効な手段である。
【0008】しかし、基本パターンを使用してプログラ
ムを自動生成する場合には、プログラム独自の処理に対
して追加部分だけでなく、生成情報に対する削除部分や
修正部分が発生する。このため、上記従来技術では、追
加コーディングに対しては反映できるものの、削除・修
正コーディングに対しては再生成の都度、新たにコーデ
ィングしなければならないといった問題がある。
【0009】また、通常業務において、データ項目辞書
や各種仕様情報によるプログラム生成方法を適用しても
100%自動生成することは非常に難しい。辞書情報や
定義情報からは判断できないような、その業務特有の処
理は、部品化するか、または自動生成後の追加コーディ
ングとなる。しかし、出現頻度が低く、部品化しても再
利用性の低い処理は、通常、部品化することなく追加コ
ーディングを行うこととなる。また、生産性を向上する
ために処理方式の類似したプログラムはスケルトンを用
いることが多いが、この場合、プログラムによっては不
要ロジックが発生することがある。
【0010】データ項目辞書を用いたプログラム生成方
法では、データ項目に対する処理は全てデータ項目辞書
によって一元管理される。このため、プログラムによっ
て同一データ項目の処理が異なる場合はデータ項目辞書
に複数の処理を登録することになり、生成時には1つの
データ項目に対して登録した複数の処理が展開され、生
成後に不要な処理を削除することになる。このように、
生成されたプログラムに対し、何等かの追加・削除・修
正作業が発生する。しかし、上記の従来技術ではこの削
除・修正情報を保持することができない。
【0011】従って、プログラムを再生成する都度、コ
ーディングの修正・削除を行わなければならないという
問題がある。
【0012】本発明の目的は、このような問題点を改善
し、追加コーディング箇所の他、削除・修正箇所につい
てもその情報を保持することにより、全ての修正箇所を
反映したプログラム自動生成方法を提供することにあ
る。
【0013】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、仕様変更を行う前の旧バージョン生成プ
ログラムと仕様変更後の新バージョン仕様情報を用いて
生成した新バージョン生成プログラムとを比較し、その
差分を抽出する第1のステップと、旧バージョン生成プ
ログラムに対して追加・修正・削除コーディングを行っ
たプログラムと旧バージョン生成プログラムとを比較
し、その差分を抽出する第2のステップと、これら第1
および第2の手段がそれぞれ抽出した差分情報に基づき
新バージョン仕様情報を用いて生成したプログラムに対
し、追加・修正・削除を行う第3のステップとを備える
ことを主要な特徴とする。
【0014】本発明によれば、旧バージョンの仕様情報
で生成した直後の旧バージョン生成プログラムと仕様変
更後の仕様情報で生成した直後の新バージョン生成プロ
グラムとを比較することにより、仕様変更が旧バージョ
ン生成プログラムに対してどのような影響を及ぼした
か、その差分情報を抽出する。
【0015】また、旧バージョン生成プログラムと生成
後に追加コーディングを行った後の旧バージョンプログ
ラムとを比較することにより、旧バージョン生成プログ
ラムに対してどのロジックを削除・修正・追加したかと
いった差分情報を抽出する。
【0016】この2つの差分情報を旧バージョン生成プ
ログラムに反映させることにより、旧バージョン生成プ
ログラムを、新バージョンの仕様情報でかつ削除・修正
・追加箇所を反映させたプログラムに作り直す。
【0017】これにより、既存プログラムを流用するシ
ステム構築では、既存の財産をより有効に使用すること
ができ、生成率が向上する。このことより、プログラム
作成及びテスト工程における生産性および信頼性の向上
を図ることができる。
【0018】
【発明の実施の形態】以下、図面を参照し、旧バージョ
ン生成プログラム、旧バージョン修正済みプログラム、
新バージョン生成プログラムから新バージョン修正済み
プログラムを自動生成する方法について詳細に説明す
る。
【0019】図1は、本発明の概要を示す図であり、磁
気ディスク等の外部記憶装置に格納してある旧バージョ
ン生成プログラム102、旧バージョン修正済みプログ
ラム103、新バージョン生成プログラム104をプロ
グラム自動生成機能105に入力し、新バージョン修正
済みプログラム109を出力するようになっている。
【0020】プログラム自動生成機能105は、差分抽
出処理(1)106、差分抽出処理(2)107を用い
て各プログラム102,103,104より差分を抽出
する。
【0021】旧バージョン生成プログラム102とは、
仕様変更を行う前の旧バージョン仕様情報を用いて生成
したままのプログラムである。
【0022】旧バージョン修正済みプログラム103と
は、旧バージョン生成プログラム102に対し、追加コ
ーディングを既に行ったプログラムである。
【0023】新バージョン生成プログラム104とは、
仕様変更を行った後の新バージョン仕様情報を用いて生
成したままのプログラムである。
【0024】新バージョン修正済みプログラム109と
は、新バージョン生成プログラムに対し、プログラム自
動生成機能105が変更を行って出力したプログラムで
ある。
【0025】差分抽出処理(1)106は、旧バージョ
ン生成プログラム102と旧バージョン修正済みプログ
ラム103とを入力とし、それらのプログラムの差分を
差分情報(1)110として出力するプログラムであ
る。
【0026】差分情報(1)110は、旧バージョン生
成プログラム102にどのような修正を加えれば、旧バ
ージョン修正済みプログラム103と同一になるかを記
述した差分の情報である。
【0027】差分抽出処理(2)107は、旧バージョ
ン生成プログラム102と新バージョン生成プログラム
104とを比較し、それらのプログラムの差分を差分情
報(2)111として出力するプログラムである。
【0028】差分情報(2)111は、旧バージョン生
成プログラム102にどのような修正を加えれば新バー
ジョン生成プログラム104と同一になるかを記述した
差分情報である。
【0029】プログラム変更処理108は、差分情報
(1)110と差分情報(2)111と旧バージョン生
成プログラム102とを入力とし、差分情報(1)11
0および差分情報(2)111の差分情報に基づき、旧
バージョン生成プログラム102を読み込み、旧バージ
ョン生成プログラム102の変更を行い、新バージョン
修正済みプログラム109として出力するプログラムで
ある。
【0030】なお、これらの全ての機能は、CPUおよ
びメモリ上で実行される。また、磁気ディスク等の外部
記憶装置に格納してある旧バージョン生成プログラム1
02、新バージョン生成プログラム104は、例えば、
特開平5−108319号に開示されているプログラム
自動生成方法、あるいは「日立評論」(1984年3
月、vol.66,No.3、p19〜p24)に記載
された方法を用いて生成することができる。
【0031】次に、各処理の手順についてフローチャー
トを参照して説明する。
【0032】図2は、差分抽出処理(1)106の処理
手順を示すフローチャートである。
【0033】なお、図面においては、旧バージョン生成
プログラムをP1、旧バージョン修正済みプログラムを
P2、差分情報(1)110をR1と略記して説明す
る。
【0034】まず、ステップ201では旧バージョン生
成プログラム102(P1)を1行読み込む。ステップ
202でファイルの終わりかどうかの判断を行う。
【0035】ファイルの終わりであれば、ステップ20
3で旧バージョン修正済みプログラム103の現在の行
以降を全て挿入されたものとして差分情報(1)110
として出力する。
【0036】ファイルの終わりでなければ、ステップ2
04で旧バージョン修正済みプログラム103を1行読
み込む。ステップ205で旧バージョン修正済みプログ
ラム103のファイルの終わりかどうかの判断を行う。
【0037】ファイルの終わりであれば、ステップ20
6で旧バージョン生成プログラム102の現在の行以降
を全て削除されたものとして差分情報(1)110とし
て出力する。
【0038】旧バージョン修正済みプログラム103の
ファイルの終わりでなければ、ステップ207で、旧バ
ージョン生成プログラム102と旧バージョン修正済み
プログラムと103とを比較し、同一であればステップ
201に戻り、同一でなければステップ208に進む。
【0039】ステップ208では、旧バージョン生成プ
ログラム102の現在の行番号を退避領域に退避し、次
のステップ209で旧バージョン生成プログラム102
を1行読み込む。そして、次のステップ210で旧バー
ジョン生成プログラム102のファイルの終わりかどう
かを判断し、ファイルの終わりならば、ステップ213
に進み、ファイルの終わりでなければステップ211に
進む。
【0040】ステップ211では、読み込んだ旧バージ
ョン生成プログラム102と旧バージョン修正済みプロ
グラム103とを比較し、同一であればステップ212
に進み、同一でなければステップ209に戻る。
【0041】ステップ212では、ステップ208にて
退避領域に退避した行番号から旧バージョン生成プログ
ラム102の現在の行番号までを削除されたものとして
差分情報(1)110として出力し、ステップ214に
進む。
【0042】ステップ213では、ステップ204にて
読み込んだ旧バージョン修正済みプログラム103を挿
入されたものとして差分情報(1)110として出力
し、退避した行番号を回復し、ステップ214に進む。
【0043】ステップ214では、旧バージョン修正済
みプログラム103を1行読み込み、ステップ205に
進む。
【0044】差分抽出処理(2)107でも同様にし
て、旧バージョン生成プログラム102と新バージョン
生成プログラム104との差分を抽出する。なお、その
処理の内容は、差分抽出処理(1)と同様の処理である
ためフローチャートによる説明は省略する。
【0045】図3は、プログラム変更処理108の処理
内容を示すフローチャートである。
【0046】以下、図面では差分情報(1)110をR
1、差分情報(2)111をR2と略記して説明する。
【0047】まず、開始処理において差分情報(1)1
10のエンドフラグに「0」をセットし、差分情報
(2)111のエンドフラグに「0」をセットし、退避
領域に「0」をセットする。
【0048】この後、ステップ301で差分情報(1)
110のエンドフラグが「0」かどうかの判断を行い、
「0」であれば、ステップ302で差分情報(1)11
0を1行読み込んでステップ303に進み、「0」でな
ければステップ304に進む。
【0049】ステップ303では、差分情報(1)11
0のファイルが終わりか否かを判断し(EOFかどうか
を判断し)、ファイルの終わりならばステップ305で
差分情報(1)110のエンドフラグに「1」をセット
し、次のステップ306で差分情報(1)110の行番
号に「HIGH-VALUE」をセットした後ステップ304に進
む。ファイルの終わりでなければステップ304に進
む。
【0050】ステップ304では、差分情報(2)11
1のエンドフラグが「0」かどうかの判断を行い、
「0」ならば、ステップ307で差分情報(2)111
を1行読み込んでステップ308に進み、「0」でなけ
ればステップ309に進む。
【0051】ステップ308では、差分情報(2)11
1がファイルの終わりかどうかを判断し、ファイルの終
わりならばステップ310で差分情報(2)111のエ
ンドフラグに「1」をセットし、さらにステップ311
で差分情報(2)111の行番号に「HIGH-VALUE」をセ
ットし、ステップ309に進む。ファイルの終わりでな
ければステップ312に進む。
【0052】ステップ309では、差分情報(2)11
1の行番号が退避領域と同じかどうかを判断し、同じな
らばステップ304に戻り、同じでなければステップ3
12に進む。
【0053】ステップ312では、差分情報(1)11
0のエンドフラグが「1」で、かつ差分情報(2)11
1のエンドフラグが「1」かどうかを判断し、両フラグ
とも「0」ならば、ステップ313で終了処理を行い、
両エンドフラグが「1」でなければ、ステップ314に
進む。
【0054】ステップ314では差分情報(1)110
の行番号と差分情報(2)111の行番号が同じかどう
かを判断し、同じならば、図4のステップ401に進
み、同じでなければステップ315に進む。
【0055】ステップ315では、差分情報(1)11
0の行番号が差分情報(2)111の行番号より小さい
か同かを判断し、小さければ、図5のステップ501へ
進み、小さくなければ図6のステップ601に進む。
【0056】図4のステップ401では、行番号を退避
領域に退避し、次のステップ402で旧バージョン生成
プログラム102を1行読み込み、次のステップ403
で新バージョン修正済みプログラム109(図面では、
R3として略記)に1行出力し、ステップ404に進
む。
【0057】ステップ404では、差分情報(1)11
0の行番号が旧バージョン生成プログラム102の行番
号と同一かどうかを判断し、同一ならばステップ405
に進み、同一でなければステップ402に進む。
【0058】ステップ405では、メモリ1(図9で後
述する)の相違形態が「挿入」ならステップ406に進
み、「挿入」でなければステップ407に進む。
【0059】ステップ406では、メモリ1の「挿入内
容」を新バージョン修正済みプログラム103として出
力し、図3のステップ301に戻る。
【0060】ステップ407では、旧バージョン生成プ
ログラム102を1行読み込み、ステップ301(図
3)に戻る。
【0061】図5のステップ501では、旧バージョン
生成プログラム102を1行読み込み、ステップ502
に進む。
【0062】ステップ502では、差分情報(1)11
0の行番号と旧バージョン生成プログラム102の行番
号とを比較し、同一であればステップ503に進む。同
一でない場合、ステップ507に進み、メモリ1の内容
を新バージョン修正済みプログラム109として出力す
る。
【0063】ステップ503では、差分情報(1)11
0の相違形態の内容により処理を振り分ける。相違形態
が「挿入」である場合、ステップ504に進む。相違形
態が「削除」である場合、ステップ505で旧バージョ
ン生成プログラム102を1行読み込み、ステップ50
6に進む。
【0064】ステップ506では差分情報(1)110
を1行読み込み、次のステップ508で差分情報(1)
110がファイルの終わりかどうかを判定し、ファイル
の終わりであればステップ509に進み、終わりなけれ
ばステップ312に進む。
【0065】ステップ509では、差分情報(1)11
0のエンドフラグに「1」をセットし、ステップ510
に進む。ステップ510では、差分情報(1)110の
行番号に「HIGH-VALUE」をセットし、ステップ312に
進む。
【0066】次に、図6のステップ601では、旧バー
ジョン生成プログラム102を1行読み込み、ステップ
602に進む。
【0067】ステップ602では、差分情報(2)11
1の行番号と旧バージョン生成プログラム102の行番
号とを比較し、同一であればステップ603に進む。同
一でない場合、ステップ607に進み、メモリ1の内容
を新バージョン修正済みプログラム109に出力する。
【0068】ステップ603では、差分情報(2)11
1の相違形態の内容により処理を振り分ける。相違形態
が「挿入」である場合、ステップ604に進む。相違形
態が「削除」である場合、ステップ605で旧バージョ
ン生成プログラム102を1行読み捨て、ステップ60
6に進む。
【0069】ステップ606では、差分情報(2)11
1を1行読み込み、ステップ608で差分情報(2)1
11がファイルの終わりかどうかを判定し、ファイルの
終わりであればステップ609に進み、終わりなければ
ステップ312に戻る。
【0070】ステップ609では、差分情報(2)11
1のエンドフラグに「1」をセットし、ステップ610
に進む。ステップ610では、差分情報(2)111の
行番号に「HIGH-VALUE」をセットし、ステップ312に
戻る。
【0071】図7は、旧バージョン生成プログラム10
2および旧バージョン修正済みプログラム103の具体
例と差分抽出処理(1)106の説明図である。
【0072】この具体例の旧バージョン修正済みプログ
ラム103においては、旧バージョン生成プログラム1
02に対して、第2行目、第6行目、第8行目、第9行
目が挿入され、また、旧バージョン生成プログラム10
2の第2行目が削除されている。
【0073】まず、旧バージョン生成プログラム10
2、旧バージョン修正済みプログラム103のそれぞれ
のファイルについての処理中の行を示す行番号に「1」
をセットする。
【0074】次に、旧バージョン生成プログラム102
の行番号が指す行「701」を読み込む。
【0075】次に、旧バージョン修正済みプログラム1
03の行番号が指す行「708」を読み込む。
【0076】次に、これらの行「701」と「708」
とを比較した結果、同一であるため、旧バージョン生成
プログラム102、旧バージョン修正済みプログラム1
03の両方の行番号を「1」ずつ更新し、すなわち行番
号を「2」とし、それぞれのファイルの行番号が指す行
「702」、「709」を読み込む。
【0077】行「702」と「709」とを比較した結
果、同一でないため、旧バージョン生成プログラム「1
02」の行番号、すなわち「2」を退避領域722に退
避した後、旧バージョン生成プログラム102の行番号
を「1」更新し、すなわち行番号を「3」とし、行番号
の指す行「703」を読み込む。
【0078】行「703」と「709」とを比較した結
果、同一でないため、旧バージョン生成プログラム10
2の行番号を「1」進め、すなわち行番号を「4」と
し、行番号が指す行「704」を読み込む。
【0079】以降同様にして行「705」、「706」
を読み込み、比較を行うが、同一にならず、ファイルの
終わりに達するので、行「709」は挿入されたもの
「719」として差分情報(1)110に出力する。
【0080】次に、退避領域722の行番号、すなわち
「2」を旧バージョン生成プログラム102の行番号に
回復する。
【0081】旧バージョン修正済みプログラム103の
行番号を「1」進め、「3」とする。
【0082】次に、旧バージョン生成プログラム102
の行番号が指す行「702」と旧バージョン修正済みプ
ログラム103の行番号が指す行「710」とを比較す
る。その結果、同一であるので、行「701」と「70
8」とについての処理と同様の処理を行い、旧バージョ
ン生成プログラム102の行番号を「1」進め、「3」
とし、旧バージョン修正済みプログラム103の行番号
を「1」進め、「4」とする。
【0083】それぞれのファイルの行番号が指す行「7
03」、「711」を読み込む。
【0084】行「703」と「711」を比較した結
果、同一でないため、旧バージョン生成プログラム10
2の行番号すなわち「3」を退避領域722に退避した
後、旧バージョン生成プログラム102の行番号を
「1」進めて「4」とし、旧バージョン生成プログラム
102の行番号すなわち「4」が指す行704を読み込
み、「711」と比較する。この結果、同一であるた
め、退避した行番号すなわち「3」が指す行「703」
から、現在の行番号すなわち「4」が指す行の直前の行
まで、すなわち行「703」は削除されたもの「72
0」として差分情報(1)110に出力する。
【0085】次に、旧バージョン生成プログラム102
の行番号を「1」進めて「5」とし、また旧バージョン
修正済みプログラム103の行番号を「1」進めて
「5」とし、次の処理に移る。
【0086】次に、旧バージョン生成プログラム102
の行番号すなわち「5」が指す行「705」と旧バージ
ョン修正済みプログラム103の行番号すなわち「5」
が指す行「712」とを比較する。その結果、同一であ
るので、行「701」と「708」とについての処理と
同様の処理を行い、旧バージョン生成プログラム102
の行番号を「1」進めて「6」とし、また旧バージョン
修正済みプログラム103の行番号を「1」進めて
「6」とする。
【0087】以降同様の処理を繰り返し、行「721」
を差分情報(1)110に出力する。
【0088】続いて行番号を進めたとき、旧バージョン
生成プログラム102の行番号と旧バージョン修正済み
プログラム103の行番号のうち、旧バージョン生成プ
ログラム102の行番号が先にファイルの終わりに達す
るので、旧バージョン修正済みプログラム103の行番
号が指す行以降の行「723」,「724」は、ファイ
ルの終わりに挿入されたもの「725」,「726」と
して差分情報(1)110に出力する。
【0089】このような処理により、差分抽出処理を行
った結果、差分情報(1)110には、2行目「70
2」の直前に「MOVE O TO P」(709)を挿入、3
行目「703」の「MOVE C TO J」を削除、6行目
「706」の直前に「MOVE QTO R」を挿入、ファイル
の終わり(707)の直前に「MOVE G TO N」と「MO
VE H TO O」を挿入といった旧バージョン生成プログ
ラム102と旧バージョン修正済みプログラム103と
の差分情報(1)110が出力される。
【0090】図8は、旧バージョン生成プログラム10
2と新バージョン生成プログラム104から差分抽出処
理(2)107を用いて差分抽出を行う処理の具体例を
示した説明図であり、図7と同様の処理を行い、差分情
報(2)111を出力する。
【0091】このような処理により、旧バージョン生成
プログラム102に対して、2行目(802)の直前に
「MOVE S TO T」(809)を挿入したこと(81
4)、2行目(802)の「MOVE B TO I」を削除し
たこと(815)、5行目(805)の「MOVE E TO
L」を削除したこと(816)といった修正作業が行わ
れたことが、差分情報ファイル(2)111に出力され
る。
【0092】次に、プログラム変更処理108の具体例
を図9を用いて説明する。
【0093】プログラム変更処理108においては、差
分情報(1)110と差分情報(2)111を入力と
し、旧バージョン生成プログラム102を読み込み、変
更を行い、新バージョン修正済みプログラム109とし
て出力する。
【0094】差分情報(1)110は、行番号順に並ん
だ旧バージョン生成プログラムと旧バージョン修正済み
プログラムとの差分である。
【0095】そこで、差分情報(1)110の先頭から
1行目の行「719」を読み込み、メモリ(1)904
に行番号906、相違形態907、内容908としてセ
ットする。
【0096】同様に、差分情報(2)111の1行目の
行「814」を読み込み、メモリ(2)905に行番号
909、相違形態910、内容911としてセットす
る。
【0097】メモリ(1)904の行番号とメモリ
(2)905の行番号とを比較すると、同一であるた
め、旧バージョン生成プログラム102の行「701」
をそのまま新バージョン修正済みプログラム109に書
き出し、行番号を「1」進める。
【0098】旧バージョン生成プログラム102の行番
号を進めると、メモリ(1)904の行番号906、即
ちこの例では2行目に達するため、メモリ(1)904
の相違形態907である「挿入」に従い、メモリ(1)
904の挿入内容908を新バージョン修正済みプログ
ラム109に出力する。
【0099】差分情報(1)110の2行目の行「72
0」読み込み、メモリ(1)904にセットする。
【0100】同様に、差分情報(2)111の2行目の
行「815」を読み込むが、行「815」は2行目につ
いての差分情報であり、旧バージョン生成プログラムの
2行目についての処理は既に終了しているため、再度、
差分情報(2)111を読み込む。差分情報(2)11
1の3行目の行「816」を読み込み、メモリ(2)9
05にセットする。
【0101】メモリ(1)904の行番号、即ち3行目
とメモリ(2)905の行番号即ち5行目とを比較する
と、異なるため、小さい方の行番号即ち3行目について
の処理を行う。小さい方の行番号即ち3行目になるま
で、旧バージョン生成プログラム110の行番号が指す
行「702」をそのまま新バージョン修正済みプログラ
ム109に書き出し、行番号を「1」進める処理を繰り
返す。
【0102】旧バージョン生成プログラム102の行番
号がメモリ(1)904の行番号即ち3行目に達するた
め、メモリ(1)904の相違形態907の「削除」に
従い、旧バージョン生成プログラム102の行番号を
「1」進め、差分情報(1)110から行「721」を
読み込み、メモリ(1)904にセットする。
【0103】以降同様の処理を差分情報(1)110と
差分情報(2)111とが共にファイルの終わりになる
まで続ける。
【0104】このような処理により、差分情報(1)1
10および差分情報(2)111の情報を元に、旧バー
ジョン生成プログラム102に対して修正を行い、新バ
ージョン修正済みプログラム109の行927〜935
として出力する。
【0105】以上のように本実施形態によれば、旧バー
ジョン生成プログラム102と旧バージョン修正済みプ
ログラム103とを比較し、差分情報(1)110を抽
出し、さらに旧バージョン生成プログラム102と新バ
ージョン生成プログラム104とを比較し、差分情報
(2)111を抽出し、これらの差分情報を元に、新た
に出力するプログラムの内容を決定し、旧バージョン生
成プログラム102を修正し、新バージョン生成プログ
ラム109として出力するため、既存プログラムを流用
したシステム構築時に、既存の財産をより有効に使用す
ることができ、生成率が向上する。このことより、プロ
グラム作成及びテスト工程における生産性・信頼性の向
上を図ることができる。
【0106】
【発明の効果】以上のように本発明は、旧バージョンの
仕様情報で生成した直後の旧バージョン生成プログラム
と仕様変更後の仕様情報で生成した直後の新バージョン
生成プログラムとを比較することにより得られる差分情
報を旧バージョン生成プログラムに反映させることによ
り、旧バージョン生成プログラムを、新バージョンの仕
様情報でかつ削除・修正・追加箇所を反映させたプログ
ラムに作り直すことができる。
【0107】これにより、既存プログラムを流用するシ
ステム構築時に、既存の財産をより有効に使用すること
ができ、生成率が向上する。このことより、プログラム
作成及びテスト工程における生産性・信頼性向上を図る
ことができる。
【図面の簡単な説明】
【図1】本発明の処理手順の概要を示す説明図である。
【図2】旧バージョン生成プログラムと旧バージョン修
正済みプログラムとの差分を抽出する処理を示すフロー
チャートである。
【図3】プログラム変更処理を示すフローチャートであ
る。
【図4】図3の続きを示すフローチャートである。
【図5】図4の続きを示すフローチャートである。
【図6】図5の続きを示すフローチャートである。
【図7】旧バージョン生成プログラムと旧バージョン修
正済みプログラムとの差分を抽出する処理の具体例を示
す説明図である。
【図8】旧バージョン生成プログラムと新バージョン生
成プログラムとの差分を抽出する処理の具体例を示す説
明図である。
【図9】プログラム変更処理の具体例を示す説明図であ
る。
【符号の説明】
102…旧バージョン生成プログラム、103…旧バー
ジョン修正済みプログラム、104…新バージョン生成
プログラム、105…プログラム自動生成機能、106
…差分抽出処理(1)、107…差分抽出処理(2)、
108…プログラム変更処理、109…新バージョン修
正済みプログラム。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 データ項目に対する処理を一元管理して
    いるデータ項目辞書と入出力情報などの各種仕様情報よ
    り、プログラムのスケルトンに対して項目単位にコーデ
    ィングを展開するプログラム自動生成方法において、 仕様変更を行う前の旧バージョン生成プログラムと仕様
    変更後の新バージョン仕様情報を用いて生成した新バー
    ジョン生成プログラムとを比較し、その差分を抽出する
    第1のステップと、旧バージョン生成プログラムに対し
    て追加・修正・削除コーディングを行ったプログラムと
    旧バージョン生成プログラムとを比較し、その差分を抽
    出する第2のステップと、これら第1および第2の手段
    がそれぞれ抽出した差分情報に基づき新バージョン仕様
    情報を用いて生成したプログラムに対し、追加・修正・
    削除を行う第3のステップとを備えることを特徴とする
    修正箇所を反映したプログラム自動生成方法。
JP17353796A 1996-07-03 1996-07-03 プログラム自動生成方法 Pending JPH1021066A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17353796A JPH1021066A (ja) 1996-07-03 1996-07-03 プログラム自動生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17353796A JPH1021066A (ja) 1996-07-03 1996-07-03 プログラム自動生成方法

Publications (1)

Publication Number Publication Date
JPH1021066A true JPH1021066A (ja) 1998-01-23

Family

ID=15962378

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17353796A Pending JPH1021066A (ja) 1996-07-03 1996-07-03 プログラム自動生成方法

Country Status (1)

Country Link
JP (1) JPH1021066A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658645B1 (en) 1999-01-28 2003-12-02 Fujitsu Limited Method for automatically generating corrected program inherited program, automatic program generation apparatus, and storage medium storing program for automatically generating corrected program inherited program
JP2010079905A (ja) * 2008-09-25 2010-04-08 Internatl Business Mach Corp <Ibm> ソフトウェア成果物の第2バージョンに移行する際に、当該ソフトウェア成果物の第1バージョンになされたカスタマイズをマージするためのツールを生成する方法、コンピュータ使用可能な媒体及びデータ処理システム
WO2012105502A1 (ja) * 2011-01-31 2012-08-09 株式会社 東芝 記憶媒体及びテンプレート情報生成装置
US9916221B2 (en) 2016-08-08 2018-03-13 International Business Machines Corporation Managing logger source code segments

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658645B1 (en) 1999-01-28 2003-12-02 Fujitsu Limited Method for automatically generating corrected program inherited program, automatic program generation apparatus, and storage medium storing program for automatically generating corrected program inherited program
JP2010079905A (ja) * 2008-09-25 2010-04-08 Internatl Business Mach Corp <Ibm> ソフトウェア成果物の第2バージョンに移行する際に、当該ソフトウェア成果物の第1バージョンになされたカスタマイズをマージするためのツールを生成する方法、コンピュータ使用可能な媒体及びデータ処理システム
WO2012105502A1 (ja) * 2011-01-31 2012-08-09 株式会社 東芝 記憶媒体及びテンプレート情報生成装置
US9916221B2 (en) 2016-08-08 2018-03-13 International Business Machines Corporation Managing logger source code segments
US9946627B2 (en) 2016-08-08 2018-04-17 International Business Machines Corporation Managing logger source code segments
US10162732B2 (en) 2016-08-08 2018-12-25 International Business Machines Corporation Managing logger source code segments

Similar Documents

Publication Publication Date Title
US5623661A (en) System for and method of providing delta-versioning of the contents of PCTE file objects
US5355472A (en) System for substituting tags for non-editable data sets in hypertext documents and updating web files containing links between data sets corresponding to changes made to the tags
CN110597821B (zh) 数据仓库表结构变更方法及装置
CN112860264A (zh) 一种抽象语法树重构方法及装置
JPH1021066A (ja) プログラム自動生成方法
US6915512B1 (en) Software editing with indication of format and processing state of each process of the software
JPH02297284A (ja) 文書処理システム
US6041168A (en) High-speed delay verification apparatus and method therefor
JP2000293519A (ja) 文書処理装置
JPH0512087A (ja) 更新前ジヤーナルの出力方式
JPH1124900A (ja) 状態遷移図作成装置、状態遷移図作成方法、記憶媒体
JP2001060240A (ja) フォーマット修正方法およびデータ変換方法
JP3570808B2 (ja) プログラムロジック自動生成装置
JPH056272A (ja) ソフトウエア設計装置
JP2001282520A (ja) プログラム作成方法、プログラム作成装置およびプログラム作成用記録媒体
JP3346014B2 (ja) 有向グラフ編集処理装置
JP2900873B2 (ja) ファイル管理装置
JP2001202391A (ja) 論理回路のシミュレーション方法
JP2001159971A (ja) 対話式プログラム自動生成における独自コーディング確保方式
CN116185986A (zh) 一种数据迁移方法、装置、设备和计算机可读存储介质
JPH1063675A (ja) データ探索方法及びそれを適用したデータ探索装置
JPH1153411A (ja) 回路図エディタ
JPH0876983A (ja) データ編集装置
JP2002099412A (ja) データベース自動設計方法および装置並びに記録媒体
JPH05210575A (ja) トランザクションファイルのコンペア方法