JPS6356728A - プログラム修正実行方式 - Google Patents
プログラム修正実行方式Info
- Publication number
- JPS6356728A JPS6356728A JP61200103A JP20010386A JPS6356728A JP S6356728 A JPS6356728 A JP S6356728A JP 61200103 A JP61200103 A JP 61200103A JP 20010386 A JP20010386 A JP 20010386A JP S6356728 A JPS6356728 A JP S6356728A
- Authority
- JP
- Japan
- Prior art keywords
- program
- module
- job
- error
- management table
- 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
Links
- 238000000034 method Methods 0.000 claims description 12
- 230000004048 modification Effects 0.000 claims description 6
- 238000012937 correction Methods 0.000 abstract description 4
- 230000004075 alteration Effects 0.000 abstract 1
- 230000005764 inhibitory process Effects 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概 要〕
プログラム修正実行方式であって、プログラム実行中に
誤りが発見された場合に該プログラムを含むジョブを動
かしたままで修正したプログラムをある時点以降動作可
能にするものである。
誤りが発見された場合に該プログラムを含むジョブを動
かしたままで修正したプログラムをある時点以降動作可
能にするものである。
本発明は、例えば銀行におけるキャッシュサービスを実
行中にプログラムの誤りが検出された場合等に適用され
るプログラム修正実行方式に関する。
行中にプログラムの誤りが検出された場合等に適用され
るプログラム修正実行方式に関する。
従来、プログラムの修正実行方式としては、システムの
動作状態との関連から、2つあった。
動作状態との関連から、2つあった。
第1は記憶装置に記憶された実行形式モジュールを、番
地と修正すべき命令又はデータを指定することにより書
き替える方式で、パッチ(PATCH)と称する。
地と修正すべき命令又はデータを指定することにより書
き替える方式で、パッチ(PATCH)と称する。
ここに、実行形式モジュールとは、コンピュータが実行
できる形式のプログラム単位をいう。
できる形式のプログラム単位をいう。
この方式によれば、例えば、該記憶装置の1234番地
のデータrloooOJがr20000 Jの誤りであ
る場合に、その都度、衣服をつぎあて(FATCH)す
る如く上記1234番地のデータを正しいデータr20
000 Jに書き替える。
のデータrloooOJがr20000 Jの誤りであ
る場合に、その都度、衣服をつぎあて(FATCH)す
る如く上記1234番地のデータを正しいデータr20
000 Jに書き替える。
第2は実行すべきプログラムが属するタスクやジョブを
一旦停止し、完全に作り直した実行形式モジュールでも
う一度上記のタスクやジョブを起動させる方式である。
一旦停止し、完全に作り直した実行形式モジュールでも
う一度上記のタスクやジョブを起動させる方式である。
上記従来方式のうち、第1の方式によると、誤ったプロ
グラムが格納されている番地とその機械命令コードを調
べなければならず、C0BOLのような高水準言語では
適用が困難であるという問題点がある。
グラムが格納されている番地とその機械命令コードを調
べなければならず、C0BOLのような高水準言語では
適用が困難であるという問題点がある。
更に、この第1の方式によると、プログラムを実行中に
修正するために複数の命令やデータを更新している途中
で実行されると誤った処理をするという問題点がある。
修正するために複数の命令やデータを更新している途中
で実行されると誤った処理をするという問題点がある。
また、第2の方式によると、ジョブやタスクを完全に停
止するためユーザに対するサービスが低下するという問
題点がある。
止するためユーザに対するサービスが低下するという問
題点がある。
例えば、ユーザがキャッシュカードを用いて現金を引き
出している途中でそのシステムが停止してしまうという
問題が考えられる。
出している途中でそのシステムが停止してしまうという
問題が考えられる。
本発明の目的はプログラム実行中に誤りが発見されたと
きにジョブ又はタスクを停止することなく、修正して再
作成した実行形式モジュールがある時点以降動作するこ
とを可能とするプログラム修正実行方式を提供すること
にある。
きにジョブ又はタスクを停止することなく、修正して再
作成した実行形式モジュールがある時点以降動作するこ
とを可能とするプログラム修正実行方式を提供すること
にある。
そのため、第1図に示すように、記憶装置に格納される
プログラム1を、制御機能を有するシステムプログラム
14と、予め標準化されたプログラムモジュール11と
、該プログラムモジュール11が正常動作中であるか故
障中であるか修正後モジュール11゛ へ交替済かを指
示するモジュール管理テーブル12と、該モジュール管
理テーブル12の内容を変更するテーブル変更プログラ
ム13とにより構成し、上記プログラムモジュール11
に誤りが発見された場合には、上記テーブル変更プログ
ラム13によりモジュール管理テーブル12の内容を修
正後モジュール11”へ交替済の状態に変更し、上記モ
ジュール管理テーブル12を検索することにより該修正
前のプログラムモジュール11が上記修正後モジュール
11゛ を呼び出して実行するようにした。
プログラム1を、制御機能を有するシステムプログラム
14と、予め標準化されたプログラムモジュール11と
、該プログラムモジュール11が正常動作中であるか故
障中であるか修正後モジュール11゛ へ交替済かを指
示するモジュール管理テーブル12と、該モジュール管
理テーブル12の内容を変更するテーブル変更プログラ
ム13とにより構成し、上記プログラムモジュール11
に誤りが発見された場合には、上記テーブル変更プログ
ラム13によりモジュール管理テーブル12の内容を修
正後モジュール11”へ交替済の状態に変更し、上記モ
ジュール管理テーブル12を検索することにより該修正
前のプログラムモジュール11が上記修正後モジュール
11゛ を呼び出して実行するようにした。
上記のとおり、本発明によればプログラム実行中に誤り
が発見された場合は該プログラムが修正後のモジュール
を作成すると共にそれを自ら呼び出して実行することが
できる。
が発見された場合は該プログラムが修正後のモジュール
を作成すると共にそれを自ら呼び出して実行することが
できる。
従って、従来のようにつぎあて(PATC)l )で修
正することもなくかつシステムを停止することもないの
で、ジョブ又はタスクを起動させた状態でプログラムを
修正して実行できるようになった。
正することもなくかつシステムを停止することもないの
で、ジョブ又はタスクを起動させた状態でプログラムを
修正して実行できるようになった。
以下、本発明を、実施例により添付図面を参照して、説
明する。
明する。
第2図は本発明の実施例を示す図である。
本発明によるプログラム実行形式モジュール1は、記憶
装置(図示省略)に格納されており、システムプログラ
ム14、プログラムモジュール11、モジュール管理テ
ーブルエ2、テーブル変更プログラム13、修正後モジ
ュール11゛ から構成されている。
装置(図示省略)に格納されており、システムプログラ
ム14、プログラムモジュール11、モジュール管理テ
ーブルエ2、テーブル変更プログラム13、修正後モジ
ュール11゛ から構成されている。
システムプログラム14は、プログラム全体を制御する
。
。
プログラムモジュール11は、予め標準化されて作成さ
れたものであり、例えば図中のMCがこれに該当し、他
にはMA 、 MB 、 MC、?’lD・・
・がある。
れたものであり、例えば図中のMCがこれに該当し、他
にはMA 、 MB 、 MC、?’lD・・
・がある。
修正後モジュール11″は、図中の例えばMCIがこれ
に該当し、プログラムライブラリ3の中に格納されてい
る。
に該当し、プログラムライブラリ3の中に格納されてい
る。
モジュール管理テーブル12は、プログラムモジュール
11が正常動作中か、故障中かあるいは修正後モジュー
ル11゛ へ交替済かまたは正常に動いているかの状態
を表示する。
11が正常動作中か、故障中かあるいは修正後モジュー
ル11゛ へ交替済かまたは正常に動いているかの状態
を表示する。
テーブル変更プログラム13は、キーボード2からのオ
ペレータの変更入力によって、上記モジュール管理テー
ブル12を変更する。
ペレータの変更入力によって、上記モジュール管理テー
ブル12を変更する。
以下、上記構成を有する第2図の実施例を、第3図に基
づいて、説明する。
づいて、説明する。
プログラム1は、システムプログラム14に制御されつ
つ、ジョブJA 、 JB及びJZが多重仮想記憶空間
として動作している。
つ、ジョブJA 、 JB及びJZが多重仮想記憶空間
として動作している。
ジョブとは各プログラムモジュール群によって行われる
ある目的を持った処理動作をいい、このジョブの下位概
念で並行処理の単位がタスクTA 。
ある目的を持った処理動作をいい、このジョブの下位概
念で並行処理の単位がタスクTA 。
TBである。
例えば、ジョブJAにおいてタスクTAとして、先ずプ
ログラムモジュール浩が起動し、その命令内容であるr
cALL MB Jが実行される(第2図)。
ログラムモジュール浩が起動し、その命令内容であるr
cALL MB Jが実行される(第2図)。
これによりそれより下位のモジュールMBへ移行し、そ
の命令内容であるrCALL MCJが実行される。
の命令内容であるrCALL MCJが実行される。
この間、システムプログラム14は、CALL命令によ
って呼び出されたモジュールが記憶装置内の領域に存在
しないときはエラー処理は行わずに、フ゛ログラムライ
ブラリ3から該当するプログラムモジュールを対応領域
、例えばジョブJAにロードする。
って呼び出されたモジュールが記憶装置内の領域に存在
しないときはエラー処理は行わずに、フ゛ログラムライ
ブラリ3から該当するプログラムモジュールを対応領域
、例えばジョブJAにロードする。
つまり、rCALL MB Jによりプログラムライブ
ラリ3からプログラムモジュール群が、rCALLMC
Jにより同様にプログラムモジュールMCが、それぞれ
ジョブJAのタスクTAの配下にロードされる。
ラリ3からプログラムモジュール群が、rCALLMC
Jにより同様にプログラムモジュールMCが、それぞれ
ジョブJAのタスクTAの配下にロードされる。
この肛を実行中に、若し誤りが発見された場合に備えて
肛をMCIという名前に機械的変換規則で決めておいて
、MC自身の内部でrCALL MC1jの命令を実行
することにより、上述した通常の動作と同様に、システ
ムプログラム14が、プログラムライブラリ3からこの
修正後モジュールMC1をロードする。
肛をMCIという名前に機械的変換規則で決めておいて
、MC自身の内部でrCALL MC1jの命令を実行
することにより、上述した通常の動作と同様に、システ
ムプログラム14が、プログラムライブラリ3からこの
修正後モジュールMC1をロードする。
第3図(A)に示すように、修正前のプログラムモジュ
ールMCは、正常の修正前の動作状態か、故障中として
エラーコードをセ・ノドするか、修正後のいわば代替モ
ジュールMCIを自分自身が呼ばれたのと全く同じ条件
で呼ぶかの3つの状態をとる。この状態は、既述したよ
うに、モジュール管理テーブル12を検索することによ
って、判断される。
ールMCは、正常の修正前の動作状態か、故障中として
エラーコードをセ・ノドするか、修正後のいわば代替モ
ジュールMCIを自分自身が呼ばれたのと全く同じ条件
で呼ぶかの3つの状態をとる。この状態は、既述したよ
うに、モジュール管理テーブル12を検索することによ
って、判断される。
即ち、モジュールMCに誤りが発見されると、システム
プログラム14によりキーボード2にその旨が表示され
オペレータは該キーボード2からMC禁止命令を入力す
る。
プログラム14によりキーボード2にその旨が表示され
オペレータは該キーボード2からMC禁止命令を入力す
る。
これにより、テーブル変更プログラム13はテーブル1
2にその旨を登録する。
2にその旨を登録する。
この段階で、テーブル12を検索した肛は、肛自身の処
理本体は現在故障中であると判断しエラーコードをセッ
トする(第3図(A))。
理本体は現在故障中であると判断しエラーコードをセッ
トする(第3図(A))。
その後MCを元に、プログラム作成者は第3図(B)に
示す修正後モジュールMC1を作成しプログラムライブ
ラリ3に格納する。
示す修正後モジュールMC1を作成しプログラムライブ
ラリ3に格納する。
次にオペレータが、キーボード2からMCIへの切替を
命すると、テーブル12にその旨が登録される。つまり
モジュール管理テーブル12の内容が修正後モジュール
(11’ )への交替済状態となる。テーブル12を検
索すると、交替済であると判断されるのでrCALL
MCI Jを実行しく第3図(A)) 、プログラムラ
イブラリ3からジョブJAの中に修正後モジュールMC
Iが、第2図の破線で示すように、ロードされる。
命すると、テーブル12にその旨が登録される。つまり
モジュール管理テーブル12の内容が修正後モジュール
(11’ )への交替済状態となる。テーブル12を検
索すると、交替済であると判断されるのでrCALL
MCI Jを実行しく第3図(A)) 、プログラムラ
イブラリ3からジョブJAの中に修正後モジュールMC
Iが、第2図の破線で示すように、ロードされる。
以後は、このMCIがMCのいわば身代わりとなって、
ジョブJAあるいはタスクTAを停止することなく、実
行される(第3図(B))。
ジョブJAあるいはタスクTAを停止することなく、実
行される(第3図(B))。
同様に、ジョブJBO中のプログラムモジュールMCも
、故障時には修正後モジュールMC1を呼び出すことに
よりジョブJBあるいはタスクTAを停止することなく
処理できる(第2図)。
、故障時には修正後モジュールMC1を呼び出すことに
よりジョブJBあるいはタスクTAを停止することなく
処理できる(第2図)。
尚、本発明は上記実施例に限るものではなく、MCから
始まってMC1−MC2→・・・と多段に交替し、又は
モジュールの複数の入口を同時に交替することも可能で
ある。
始まってMC1−MC2→・・・と多段に交替し、又は
モジュールの複数の入口を同時に交替することも可能で
ある。
以上のとおり、本発明によればプログラム実行中に誤り
が発見された場合は該プログラムの修正後のモジュール
を作成してテーブルを変更すれば、以降はそれを該故障
モジュール自ら呼び出して実行することができる。
が発見された場合は該プログラムの修正後のモジュール
を作成してテーブルを変更すれば、以降はそれを該故障
モジュール自ら呼び出して実行することができる。
従って、従来のようにつぎあて(FATCH)で修正す
ることもなくかつジョブ又はタスクを停止することもな
いので、ジョブ又はタスクの該モジュール以外の処理サ
ービスが続行している状態でプログラムを修正して実行
できるようになった。
ることもなくかつジョブ又はタスクを停止することもな
いので、ジョブ又はタスクの該モジュール以外の処理サ
ービスが続行している状態でプログラムを修正して実行
できるようになった。
第1図は本発明の原理ブロック図、第2図は本発明の実
施例を示す図、第3図は本発明の動作説明図である。 1・・・・・・プログラム、 2・・・・・・
キーボード、3・・・・・・プログラムライブラリ、1
1・・・・・・プログラムモジュール、11゛ ・・・
修正後モジュール、 12・・・・・・モジュール管理テーブル、13・・・
・・・テーブル変更プログラム、14・・・・・・シス
テムプログラム、JA 、 JB 、 JZ・・・ジョ
ブ、TA 、 TB・・・・・・・・・タスク。
施例を示す図、第3図は本発明の動作説明図である。 1・・・・・・プログラム、 2・・・・・・
キーボード、3・・・・・・プログラムライブラリ、1
1・・・・・・プログラムモジュール、11゛ ・・・
修正後モジュール、 12・・・・・・モジュール管理テーブル、13・・・
・・・テーブル変更プログラム、14・・・・・・シス
テムプログラム、JA 、 JB 、 JZ・・・ジョ
ブ、TA 、 TB・・・・・・・・・タスク。
Claims (1)
- 【特許請求の範囲】 記憶装置に格納されるプログラム(1)を、制御機能を
有するシステムプログラム(14)と、予め標準化され
たプログラムモジュール(11)と、 該プログラムモジュール(11)が正常動作中であるか
故障中であるか修正後モジュール(11′)へ交替済か
を指示するモジュール管理テーブル(12)と、 該モジュール管理テーブル(12)の内容を変更するテ
ーブル変更プログラム(13)とにより構成し、 上記プログラムモジュール(11)に誤りが発見された
場合には、上記テーブル変更プログラム(13)により
モジュール管理テーブル(12)の内容を修正後モジュ
ール(11′)へ交替済の状態に変更し、上記モジュー
ル管理テーブル(12)を検索することにより該修正前
のプログラムモジュール(11)が上記修正後モジュー
ル(11′)を呼び出して実行することを特徴とするプ
ログラム修正実行方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61200103A JPS6356728A (ja) | 1986-08-28 | 1986-08-28 | プログラム修正実行方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61200103A JPS6356728A (ja) | 1986-08-28 | 1986-08-28 | プログラム修正実行方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS6356728A true JPS6356728A (ja) | 1988-03-11 |
Family
ID=16418888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61200103A Pending JPS6356728A (ja) | 1986-08-28 | 1986-08-28 | プログラム修正実行方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6356728A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02158848A (ja) * | 1988-12-12 | 1990-06-19 | Fujitsu Ltd | サーバー型プログラム活性保守処理方式 |
JPH04127330A (ja) * | 1990-09-19 | 1992-04-28 | Hitachi Ltd | プログラム入替方法 |
JP2020129371A (ja) * | 2019-02-07 | 2020-08-27 | 富士通株式会社 | 自動化されたソフトウェアプログラム修復 |
-
1986
- 1986-08-28 JP JP61200103A patent/JPS6356728A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02158848A (ja) * | 1988-12-12 | 1990-06-19 | Fujitsu Ltd | サーバー型プログラム活性保守処理方式 |
JPH04127330A (ja) * | 1990-09-19 | 1992-04-28 | Hitachi Ltd | プログラム入替方法 |
JP2020129371A (ja) * | 2019-02-07 | 2020-08-27 | 富士通株式会社 | 自動化されたソフトウェアプログラム修復 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101730881B (zh) | 包括多个处理器的系统以及操作该系统的方法及设备 | |
US20100205587A1 (en) | Method, device and system for realizing kernel online patching | |
US6915452B2 (en) | Method, system and program products for operationally migrating a cluster through emulation | |
US6502176B1 (en) | Computer system and methods for loading and modifying a control program without stopping the computer system using reserve areas | |
CN110895490A (zh) | 一种数据批量处理系统、方法、设备和存储介质 | |
US7340738B2 (en) | Time optimized replacement of a software application | |
JPS6356728A (ja) | プログラム修正実行方式 | |
JPS59114602A (ja) | プログラマブルコントロ−ラ | |
JPH02161523A (ja) | 常駐化モジュール修正方式 | |
JPS63217423A (ja) | プログラム内定数値設定方式 | |
EP0664509A1 (en) | Method and apparatus for passing control from a first process to a second process | |
JPS6016667B2 (ja) | 複合計算機システム | |
JPS62168229A (ja) | システム構成自動認識処理方法 | |
JPH0344328B2 (ja) | ||
JP3503531B2 (ja) | オンラインリアルタイム処理システム及び該システムにおける副ロードモジュール置換方法 | |
JPH02249026A (ja) | 高速パッチ施行方法 | |
CN116339788A (zh) | 大数据平台的系统更新方法、装置、设备和存储介质 | |
JPS61156339A (ja) | トレ−ス処理方式 | |
JPH1021067A (ja) | プログラムの動的修正方法 | |
JPH0293829A (ja) | データ処理装置 | |
JPH03216732A (ja) | システム導入・保守処理方法 | |
JPH07160352A (ja) | プログラム実行方式 | |
JPS6210740A (ja) | 中断処理制御方法 | |
JPH0421028A (ja) | レジスタ管理方法 | |
JPH04195527A (ja) | 計算機システム |