JP3222481B2 - プログラム更新システム - Google Patents
プログラム更新システムInfo
- Publication number
- JP3222481B2 JP3222481B2 JP00045791A JP45791A JP3222481B2 JP 3222481 B2 JP3222481 B2 JP 3222481B2 JP 00045791 A JP00045791 A JP 00045791A JP 45791 A JP45791 A JP 45791A JP 3222481 B2 JP3222481 B2 JP 3222481B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- update
- old
- statement
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Landscapes
- Stored Programmes (AREA)
Description
ムについて異なる2種の修正が行われた場合に、更新状
況を把握し、一方の更新内容を他方の更新されたプログ
ラムに反映する処理を行うための、プログラム更新処理
装置に関する。
ージプログラムについて、原始プログラムのレベルのい
わゆるカスタマイズによって、利用者システムごとの修
正を行って使用している場合がある。
で改版されたような場合には、カスタマイズしたプログ
ラムについても機能アップを反映することが要求され
る。この例のように、ある原始プログラムに対して独立
に異なる修正が行われた場合に、両修正を共に矛盾無く
適用した新プログラムを生成する必要がある場合があ
り、そのために一方の修正を他方にも反映するように、
他方の新プログラムを更に修正する方法がとられる。
ムとの対応を維持して、修正結果をチェックし易くする
ために、元のプログラムの命令文に付けられたシーケン
ス番号を保存して、そのプログラムに必要な命令文の削
除及び挿入を行う形で行われる。
場合には、両原始プログラムに付けられているシーケン
ス番号に基づいて、対応する命令文を比較することによ
り、挿入、削除、更新等を判別して処理する。
プログラムは元のプログラムに対してシーケンス番号を
保存するようにして更新しなければならないので、実際
に可能な修正が制約される場合が生じる。
動を判別できないので、チェックのための資料として十
分でなく、人手によるチェックの工数を増大するという
問題がある。
2プログラムの相違を移動を含めて認識でき、それに基
づいて2つの独立した更新の一方の更新を他方に反映す
ることができるプログラム更新処理装置を目的とする。
示すブロック図である。図はプログラム更新処理装置の
構成であって、1以上の命令文の並びによって構成され
た所与の原始プログラムである旧プログラム1と、旧プ
ログラム1に第1の更新を行った第1プログラム2aと、
第2の更新を行った第2プログラム2bとがある場合に、
第1の更新を第2プログラム2bに反映させる処理におい
て、更新情報生成部3と、更新反映処理部5とを設け
る。
1プログラム2a、及び第2プログラム2bを入力して、旧
プログラム1と第1プログラム2aとについて、第1プロ
グラム2aを新プログラムとする更新情報生成処理によっ
て第1更新情報テーブル4aを生成し、該旧プログラムと
第2プログラム2bとについて、第2プログラム2bを該新
プログラムとする該更新情報生成処理によって第2更新
情報テーブル4bを生成する。
と該新プログラムとについて、各該命令文の文字列の所
定の大小関係に従って該命令文を順序付けた旧順位テー
ブルと、新順位テーブルとを生成する処理と、該旧順位
テーブルと、該新順位テーブルとに示す順位に従って該
旧プログラムの該命令文と、該新プログラムの該命令文
とを比較し、両該命令文の該大小関係の所定条件に従っ
て、各該命令文について所定の削除、挿入及び無変更を
判別する処理と、該判別結果を参照して、該旧プログラ
ムと該新プログラムとの該命令文をプログラム上の配列
順に比較することにより、該旧プログラムと該新プログ
ラムの各該命令文の挿入、削除、移動及び無変更を決定
して、該決定した状態を表す所定の更新情報テーブルを
生成する処理からなる。
ル4aの削除、挿入及び移動項目と、第2更新情報テーブ
ル4bとを照合して、第2プログラム2bに第1の更新を反
映する所定の制御情報を生成し、所要の第1及び第2更
新情報テーブル2a、2bの情報と共に出力する。
プログラムへの修正状況を検出する場合に、両プログラ
ムを命令文の文字列でソートした結果について、ソート
順に比較することによって削除、挿入を検出する。
は、完全に無変更で残っているか、単に平行移動したの
みの無変更か、他との相対位置の変わる移動かの何れか
であるので、前の処理で無変更となった命令文につい
て、プログラム配列の順にそれらを比較することによ
り、移動を摘出することができる。
について作成する更新情報テーブルに基づいて、第1プ
ログラムに行った更新を第2プログラムにも反映するた
めの制御情報を自動生成する。
等を参照してチェックすることにより、必要な補正等を
行った上で、この制御情報によって第2プログラムを再
更新して必要なプログラムの更新を完了することができ
る。
3及び更新反映処理部5の処理の内容を、生成する各種
テーブルの関係によって示すものである。
1、第1プログラム2a、第2プログラム2bから、それぞ
れ旧ソーステーブル11、第1ソーステーブル12a 、第2
ソーステーブル12b を作成する。各ソーステーブルは、
各原始プログラムの命令文を、プログラム上の配列順に
並べて、配列順番号を付けたテーブルであって、例えば
図6(a) のような構成とする。
文字列によってソートし、例えば小さい順に順序付ける
ものとして、そのソート順にソーステーブルの配列順番
号を並べた図6(b) のような順位テーブルを、旧順位テ
ーブル13、第1順位テーブル14a 、第2順位テーブル14
b のように作成する。
ル14a を参照して、2プログラムの該当する命令文を比
較する。この最初のマッチング処理によって、両プログ
ラムの同一命令文の対応を示す第1対応テーブル15a を
作成すると共に、第1プログラム2aへの修正で、旧プロ
グラム1から削除された命令文等を、旧ソーステーブル
11上でマークし、又第1プログラム2aへ挿入された命令
文等を第1ソーステーブル12a 上でマークする。
14b とを参照する、前記と同様の最初のマッチング処理
によって、第2対応テーブル15b を作成しながら、第2
プログラム2bへの修正による削除及び挿入命令文を旧ソ
ーステーブル11と、第2ソーステーブル12b 上でマーク
する。
じ文字列の命令文の1対1の対応関係を、配列順番号で
表すようにしたテーブルであって、例えば図6(c)のよ
うに構成する。
により、各対応テーブル作成等を行う処理の流れの一例
を示す図であり、i、jを項番号として、旧順位テーブ
ル13の第i項の配列順番号で指示する旧ソーステーブル
11の命令文の文字列と、新順位テーブル (第1順位テー
ブル14a 又は第2順位テーブル14b)の第j項の配列順番
号で指示する新ソーステーブル (第1ソーステーブル12
a 又は第2ソーステーブル12b)の命令文の文字列とを比
較して処理するものとする。
初期設定した後、処理ステップ21でi、jで定まる新旧
プログラムの命令文 (以下において新命令文及び旧命令
文という)の文字列を比較し、等しければ処理ステップ
22で対応テーブル (第1対応テーブル15a 又は第2対応
テーブル15b)に新旧命令文の配列順番号の対応を記録
し、処理ステップ23でiとjを共に+1して進める。
が削除されたと判定し、処理ステップ24で旧ソーステー
ブル11の該当命令文に、削除を示すDフラグを記録し、
処理ステップ25で対応テーブルの当該旧側の配列順番号
に対応する番号を0とし、処理ステップ26でiのみを+
1する。
が挿入されたと判定し、処理ステップ27で新ソーステー
ブルの該当命令文に、挿入を示すIフラグを記録し、処
理ステップ28で対応テーブルの当該新命令文側の配列順
番号に対応する番号に0を記録し、処理ステップ29でj
のみを+1する。
順位テーブルが終了したか識別し、終了していなければ
処理ステップ21に戻って以上の処理を繰り返す。終了の
場合には処理ステップ31で、旧順位テーブル13に項が余
っていれば、それらの各項の指示する旧命令にDフラグ
を記録し、新順位テーブルが余っていれば、該当する新
命令にIフラグを記録する。
て、tを順位テーブルの項番号とし、図4に示すよう
に、処理ステップ32でtを当該順位テーブルの最終項の
値に初期設定して、処理ステップ33で順位テーブルの第
t項の配列順番号で指示される命令文と、第t−1項の
配列順番号で指示される命令文とを比較する。
第t項の配列順番号で指示される命令文にEフラグを記
録し、等しくなければ何もせず、処理ステップ36でtを
−1して処理ステップ33に戻り、処理ステップ35で識別
してtが1になるまで以上を繰り返す。
ーステーブル12a 、第2ソーステーブル12b の所要の命
令文にD、I、Eフラグが記録される。D又はIフラグ
の付いていない命令文は、新旧プログラムで対応のある
命令文である。
ステーブルの各命令文を比較し、必要に応じて対応テー
ブルを参照する2回目のマッチング処理によって、更新
情報テーブル (第1更新情報テーブル4a及び第2更新情
報テーブル4b) を作成する。更新情報テーブルは、例え
ば図6(d)に示すように項 (処理順に対応) の欄と、フ
ラグ欄と、番号X欄と、プログラム区分欄と、番号Y欄
とからなる。
号X欄の配列順番号が新ソーステーブル(N)上の番号
か旧ソーステーブル(O)上の番号かを示し、番号Yの
値は後述する。
例を示す図であり、mを新ソーステーブルの配列順番
号、nを旧ソーステーブルの配列順番号として、配列順
番号nで指示する旧ソーステーブル11の命令文の文字列
と、配列順番号mで指示する新ソーステーブルの命令文
の文字列とを配列順番号の順に比較して処理する流れを
示す。
初期設定した後、処理ステップ41で処理対象の新旧ソー
ステーブルの配列順番号mか配列順番号nに、前記の処
理で設定したフラグがあるか識別し、フラグがある場合
には、処理ステップ42でフラグの種類を識別する。
ば、処理ステップ43でテーブルの次の1項のフラグにこ
のフラグを設定し、処理ステップ44でプログラム区分
を、フラグがDならO、フラグがI及びTならNにし、
処理ステップ45で、プログラム区分に対応する配列順番
号(即ちそのときのm又はn)を番号Xに設定し、処理
ステップ46で番号Yを設定する。
応する番号(例えば番号Xに新プログラムの配列順番号
を設定したときは、番号Yは対応テーブルで対応してい
る旧プログラムの配列順番号)を設定する。
新情報テーブルの前項の番号Yと同じ値にする。又、フ
ラグがDの場合には、第1プログラムの処理のとき、即
ち第1更新情報テーブルの作成時は、そのテーブルの前
項の番号Yと同じ値にし、第2プログラムの処理のとき
は、その項の番号Xと同じ値にする、以上は後述の反映
テーブル作成時の処理の便のためである。
53でソーステーブルの末尾まで処理したか識別し、未処
理があれば処理ステップ54で更新情報テーブルに登録す
る対象となった方の配列順番号(m又はn又は両方)を
+1し、処理ステップ41に戻る。
は、処理ステップ47で新プログラムの配列順番号mの命
令文と、旧プログラムの配列順番号nの命令文とを各ソ
ーステーブルから取り出して文字列を比較する。
ラムの当該命令文は移動されたものとみなし、処理ステ
ップ48でフラグにFを設定して移動元を示し、処理ステ
ップ49で対応テーブルによりその旧プログラム命令文に
対応する新プログラムの命令文を決定して、新ソーステ
ーブルの当該命令文のフラグをTに設定して移動先を示
す。
記と同様に更新情報テーブルの1項を完成する。但し、
フラグFはフラグDと同様に処理するものとする。処理
ステップ47で新旧命令文を比較して文字列が等しい場合
には、処理ステップ50で更新情報テーブルの次の項で、
プログラム区分をNに設定した後、処理ステップ45に進
み、以下前記と同様に1項を完成する。従ってこの場合
にはフラグ欄は空白となり、無変更の命令文であること
を示す。
た場合には、処理ステップ51で新旧命令文を比較し、文
字列が等しければ処理ステップ50に進んで前記と同様に
処理し、等しくない場合は処理ステップ52で、旧プログ
ラムならフラグをDに変え、新プログラムならIに変え
て処理ステップ43に進み、以後前記のように処理を進め
る。
ムと新プログラムの各ソーステーブルについて、(c)の
対応テーブルが作成され、それらから(d)の更新情報テ
ーブルを得る。
ーステーブル12a と旧ソーステーブル11について実行し
て第1更新情報テーブル4aを生成する。又第2ソーステ
ーブル12b と旧ソーステーブル11について実行して第2
更新情報テーブル4bを生成する。
報テーブル4aからフラグの付いた項を抽出し、フラグの
FはD、TはIに変更して差分情報テーブル16を作成
し、差分情報テーブル16と第2更新情報テーブル4bとか
ら、第1プログラムの更新内容を第2プログラムに反映
するためのデータとなる反映テーブル17を作成する。反
映テーブルは例えば図8(d)の構成とする。
れの一例を示す図であり、i、jを項番号として、第2
更新情報テーブルの第i項と、差分情報テーブルの第j
項との番号Yの比較によって処理を進めることにより、
第2更新情報テーブル又は差分情報テーブルの該当項の
内容により反映テーブル17を作成していく処理の流れを
示す。
に初期設定し、処理ステップ61で第2更新情報テーブル
4bの第i項の番号Yと、差分情報テーブルの第j項の番
号Yとを比較する。
項の番号Yの方が大きくない(小さいか、等しい)場合
には、処理ステップ62で第2更新情報テーブル4bの第i
項の内容を反映テーブルの1項に設定する。次いで、処
理ステップ63でiを+1し、テーブルが終わっていなけ
れば処理ステップ64から処理ステップ61に戻り、新しい
iと元のjによって比較をする。
ブル4bの第i項の番号Yの方が大きければ、処理ステッ
プ65で差分情報テーブルの第j項を、フラグDをC、I
をRに変更して反映テーブルの次の項に設定する。
ラム区分欄をHにして処置を要するデータの項であるこ
とを示し、処理ステップ67で1つ前の項のプログラム区
分をXにしてH項の前であることを示す。
の項の値を引き継いでその項を完成した後、処理ステッ
プ69でjを+1して処理ステップ64を経て処理ステップ
61に戻り、以上の処理を繰り返す。
8(a) に例示するソーステーブルに基づいて、(b) に示
す各更新情報テーブルが作成され、その第1更新情報テ
ーブルから(c)に示す差分情報テーブルが抽出される。
(b)の第2更新情報テーブルと(c)の差分情報テーブルか
ら、前記の処理により(d)に示す反映テーブルを得る。
この反映テーブルを参照することにより、更新反映出力
6の1つとして、例えば図8(e)に示すアップデートカ
ードを作成して出力することができる。
ログラム区分がHの項に対応して作成し、その項の番号
X欄の値が第2プログラム上アップデート対象を第2ソ
ーステーブルの配列順番号で示し、フラグがCであれば
第2プログラムの該当命令文をコメント文のみの行に変
更する (REPLACE指令文)ことによって削除す
る。
の後に番号Y欄の値を配列順番号とする第1ソーステー
ブル上の命令文を挿入する(INSERT指令文)よう
にアップデートカードを生成する。
8(e)の第1の指令文が、フラグCに対処するように作
成される。この指令文「−REPLACE 1 *
A」は、配列順番号「1」の命令文を「* A」という
コメント行に置き換える指令文で、コメントの中に元の
命令文(A)を残して変更履歴を明らかにする。
あるので、第2の指令文に示すように「−INSERT
3 A」が作成され、配列順番号「3」の命令文の後
に、命令文「A」(第1プログラムの配列順番号「2」
の命令文)を挿入する指令文を設ける。同様に、反映テ
ーブルの第8項、第11項に対応して、(e) の第3及び第
4の指令文が得られる。
(a)のソーステーブルに示す第2プログラムに適用す
ると、同じソーステーブルの「更新後」の欄に示すよう
に更新されて、第1プログラムの更新内容を第2プログ
ラムに反映することができる。なお、各プログラム内に
同一の文字列があった場合でも、更新処理は、上述の処
理と同様である。なぜなら、本発明においては、第一プ
ログラムおよび第二プログラム内の命令文の出現順に関
する情報を、各ソーステーブルに格納しており、この出
現順に基づき、同一文字列であっても識別可能であり、
更新位置も特定できるからである。また、同様の理由か
ら、第一の更新と第二の更新の内容が互いに矛盾する場
合であっても、同一の命令か異なる命令かとは無関係
に、上述の更新処理と同様の更新処理を行うことはいう
までもない。
よれば、計算機の原始プログラムの更新処理において、
シーケンス番号に依存しないで2プログラムの相違を移
動を含めて自動認識でき、それに基づいて2つの独立し
た更新の一方の更新を他方に反映する制御情報を自動的
に生成するので、プログラムの更新を効率よく処理する
ことができるという著しい工業的効果がある。
Claims (1)
- 【請求項1】 旧プログラムから第一プログラムへの第
一の更新内容を、旧プログラムから第二の更新を行った
第二プログラムに更新反映させるプログラム更新システ
ムにおいて、 旧プログラムならびに第一および第二の更新されたプロ
グラムの命令文の出現順番号を記憶する記憶手段と、 上記各プログラムの文字列の値順にソートされた命令文
の比較に基づき、旧プログラムから第一および第二のプ
ログラムへの更新内容を、旧プログラムと更新されたプ
ログラムの命令文の対応関係および更新された命令文毎
の更新の種類を上記記憶された各プログラム上の出現順
番号とともに更新情報として抽出して記憶する更新情報
抽出手段と、 上記抽出された第一のプログラムの更新情報の各命令文
毎の更新内容を旧プログラム上の出現順番号と上記命令
文の対応関係に基づいて第二のプログラムに更新反映す
る更新反映情報を生成する更新反映情報生成手段と、 を有することを特徴とするプログラム更新システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00045791A JP3222481B2 (ja) | 1991-01-08 | 1991-01-08 | プログラム更新システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00045791A JP3222481B2 (ja) | 1991-01-08 | 1991-01-08 | プログラム更新システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04242829A JPH04242829A (ja) | 1992-08-31 |
JP3222481B2 true JP3222481B2 (ja) | 2001-10-29 |
Family
ID=11474329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP00045791A Expired - Lifetime JP3222481B2 (ja) | 1991-01-08 | 1991-01-08 | プログラム更新システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3222481B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6604236B1 (en) * | 1998-06-30 | 2003-08-05 | Iora, Ltd. | System and method for generating file updates for files stored on read-only media |
IL125846A0 (en) * | 1998-08-19 | 1999-04-11 | Emony | Incremental program update |
US7028251B2 (en) | 2000-03-02 | 2006-04-11 | Iora, Ltd. | System and method for reducing the size of data difference representations |
US7472254B2 (en) | 2003-10-10 | 2008-12-30 | Iora, Ltd. | Systems and methods for modifying a set of data objects |
US8438558B1 (en) | 2009-03-27 | 2013-05-07 | Google Inc. | System and method of updating programs and data |
-
1991
- 1991-01-08 JP JP00045791A patent/JP3222481B2/ja not_active Expired - Lifetime
Non-Patent Citations (1)
Title |
---|
ACM SIGPLAN Notice Vol.19,No.5 May 1984 p104−112 |
Also Published As
Publication number | Publication date |
---|---|
JPH04242829A (ja) | 1992-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5379373A (en) | Document layout processing method and device for carrying out the same | |
JP2726568B2 (ja) | 文字認識方法及び装置 | |
US20050005239A1 (en) | System and method for automatic insertion of cross references in a document | |
US6951010B2 (en) | Program specification generating system | |
US20090235164A1 (en) | Text file interface support in an object oriented application | |
US5101375A (en) | Method and apparatus for providing binding and capitalization in structured report generation | |
CN111158663B (zh) | 用于处理程序代码中的变量的引用的方法和系统 | |
JP3222481B2 (ja) | プログラム更新システム | |
US5212634A (en) | Method of and apparatus for automatically generating application program | |
US5765177A (en) | Document processing method and apparatus for searching documents having a graph based document logic structure | |
US6233352B1 (en) | Information processing method and apparatus | |
JPH05258099A (ja) | 文字認識処理装置 | |
JPH08221417A (ja) | 構造化文書の新旧対照編集装置 | |
JP3933892B2 (ja) | 仕様書作成プログラム及び仕様書作成プログラムを格納したコンピュータ可読媒体 | |
EP0410062B1 (en) | Dynamic selection of logical element data format | |
US5241623A (en) | Method and system for delineation of structure and linkages between knowledge base modules | |
JP2518157B2 (ja) | プログラムの改定履歴の生成方法とその装置 | |
KR102632771B1 (ko) | 카탈로그 이미지의 데이터 추출 시스템 및 카탈로그 이미지의 데이터 추출 방법 | |
JPH09204449A (ja) | 部品表作成処理装置 | |
JPH08263490A (ja) | 法規文書更新システム | |
JP6318327B1 (ja) | コード自動記述ソフトウェアを記録した記録媒体 | |
JP2757769B2 (ja) | 自動索引作成装置 | |
JP2942375B2 (ja) | 文字読取装置 | |
JPH0267684A (ja) | 校正支援方法 | |
JPH0675958A (ja) | 文書処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19990817 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080817 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090817 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090817 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100817 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110817 Year of fee payment: 10 |