[go: up one dir, main page]

JPH03229352A - How to change the program - Google Patents

How to change the program

Info

Publication number
JPH03229352A
JPH03229352A JP2024546A JP2454690A JPH03229352A JP H03229352 A JPH03229352 A JP H03229352A JP 2024546 A JP2024546 A JP 2024546A JP 2454690 A JP2454690 A JP 2454690A JP H03229352 A JPH03229352 A JP H03229352A
Authority
JP
Japan
Prior art keywords
program
environment
cpu
remote
autonomously
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
JP2024546A
Other languages
Japanese (ja)
Inventor
Kinji Mori
森 欣司
Yasuo Suzuki
靖雄 鈴木
Tsuneo Kanzaki
神崎 統雄
Hiroaki Fujii
藤井 廣昭
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 Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Ltd
Hitachi Microcomputer Engineering 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, Hitachi Microcomputer Engineering Ltd filed Critical Hitachi Ltd
Priority to JP2024546A priority Critical patent/JPH03229352A/en
Priority to US07/645,099 priority patent/US5450567A/en
Priority to DE4103411A priority patent/DE4103411A1/en
Publication of JPH03229352A publication Critical patent/JPH03229352A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

PURPOSE:To allow each processor to cope independently with the state of a program in the own device at the time when abnormality is generated in the own environment, etc., by constituting so that each processor autonomously changes a program existing in the own device to the program corresponding to the environment in the own device. CONSTITUTION:Computers 10 - n0 are connected mutually through a transmission line 1, give and receive data and a program, and each computer 10 - n0 is connected to terminal equipments 11 - n1. In such a state, when the CPU 10, etc., inputs a program developed in the environment being different from the own CPU 10, first of all, the original I/O of its program is confirmed. Subsequently, by referring to the own environment management table 109, a state of the I/O being under the own environment is confirmed, and in the case there is no matching of the own environment and the original I/O of the program, it is autonomously changed to the program corresponding to the environment in the own device. In such a way, in the environment such as the time when abnormality is generated, etc., the program in the own device can autonomously be changed to the program corresponding to its environment.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、分散システムにおいて、プログラム開発、テ
スト、および実行のためのプログラム変更方法に関する
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a program modification method for program development, testing, and execution in a distributed system.

〔従来の技術〕[Conventional technology]

従来は、ネットワークを介して接続された複数の処理装
置からなる分散システムにおいて、処理装置内の環境に
対応したプログラムだけを処理装置に取込む方法が考え
られていたが、各処理装置が、自らの環境に応じてプロ
グラムを変更して取込む方法は考えられていなかった。
Conventionally, in a distributed system consisting of multiple processing devices connected via a network, a method was considered in which only programs compatible with the environment within the processing device were loaded into the processing device. There was no way to change the program to suit the environment.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

上記従来技術では、プログラム構造において、プログラ
ムの処理部と入出力部が分離されていないため、処理装
置内のプログラムで、その入出刃先が処理装置内の環境
に対応しない場合、そのプログラムを該当する処理装置
の環境に対応するプログラムに変更するのは人間が行な
わなければならないという問題があった。
In the above conventional technology, the processing section and the input/output section of the program are not separated in the program structure, so if the input/output edge of a program in the processing device does not correspond to the environment in the processing device, the program is There is a problem in that a person must change the program to match the environment of the processing device.

本発明の目的は、各処理装置が自装置内にプログラムを
取り込んで、該当するプログラムの状態から自律的に、
該当するプログラムを自装置内の環境に対応したプログ
ラムに変更するプログラム変更方法を提供することにあ
る。
An object of the present invention is for each processing device to import a program into its own device and autonomously execute the program from the state of the corresponding program.
It is an object of the present invention to provide a program change method for changing a corresponding program to a program corresponding to the environment within its own device.

本発明の他の目的は、処理装置内の異常発生時の環境に
おいて、自律的に、自装置内のプログラムを該環境に対
応したプログラムに変更するプログラム変更方法を提供
することにある。
Another object of the present invention is to provide a program change method that autonomously changes a program in a processing device to a program corresponding to the environment when an abnormality occurs in the processing device.

本発明のさらに他の目的は、処理装置の拡張による環境
変化時に、自律的に、上記プログラムを該環境に対応し
たプログラムに変更するプログラム変更方法を提供する
ことにある。
Still another object of the present invention is to provide a program change method that autonomously changes the above program to a program compatible with the environment when the environment changes due to expansion of a processing device.

本発明のさらに他の目的は、各処理装置が自律的に上記
プログラムを自装置内の環境に対応した実行可能なプロ
グラムに変更するプログラム変更方法を提供することに
ある。
Still another object of the present invention is to provide a program changing method in which each processing device autonomously changes the above program into an executable program corresponding to the environment within the device.

本発明のさらに他の目的は、他環境から受け取ったプロ
グラムをその必要容量、必要性能の面から、自律的に自
装置内の環境に合わせたプログラムに変更するプログラ
ム変更方法を提供することにある。
Still another object of the present invention is to provide a program change method that autonomously changes a program received from another environment into a program that matches the environment within its own device in terms of its required capacity and required performance. .

〔課題を解決するための手段〕[Means to solve the problem]

上記目的を達成するため、本発明は、(1)各処理装置
が、白肉にプログラムを取り込んで、白肉のプログラム
の状態から自律的に、自白プログラムを自装置内の環境
に対応したプログラムに変更すること、(2)各処理装
置が、自己の処理装置における異常発生時の環境におい
て、自律的に、白肉に存在するプログラムを該環境に対
応したプログラムに変更すること、(3)各処理装置が
、自己の装置の拡張による環境変化時に自律的に、白肉
に存在するプログラムを該環境に対応したプログラムに
変更すること、(4)各処理装置が、自律的に、自己の
装置内に存在するプログラムを自装置内の環境に対応し
た実行可能なプログラムに変更すること、に特徴がある
In order to achieve the above object, the present invention provides: (1) Each processing device imports a program into white meat and autonomously changes the confession program from the state of the white meat program to a program corresponding to the environment within the own device. (2) Each processing device autonomously changes the program existing in white meat to a program compatible with the environment in the environment at the time of abnormality in its own processing device; (3) Each processing device (4) Each processing device autonomously changes the program existing in the white meat to a program corresponding to the environment when the environment changes due to the expansion of its own device. It is characterized by changing the program to an executable program corresponding to the environment within the device itself.

〔作用〕[Effect]

上述したように、本発明では、自律的に各処理装置が、
自装置内に存在するプログラムを自装置内の環境に対応
したプログラムに変更するようにしたので、各処理装置
が、自己の環境の異常発生時や、拡張時およびプログラ
ムの実行時に、白肉のプログラムの状態に独自に対応す
ることが可能となる。
As described above, in the present invention, each processing device autonomously
Since the program existing in its own device is changed to a program that corresponds to its own environment, each processing device will change the white program when an abnormality occurs in its own environment, when expanding, or when executing a program. It becomes possible to independently respond to the situation.

〔実施例〕〔Example〕

以下、本発明の実施例を図面により説明する。 Embodiments of the present invention will be described below with reference to the drawings.

第2図は、本発明が適用されるマルチコンピュータシス
テムの構成を示すもので、コンピュータ10.20. 
 ・・noは、伝送路1を介して相互接続され、データ
及びプログラムを授受する。各コンピュータは、後述す
るように、演算処理装置Lltびにデータ及びプログラ
ムを蓄積するための記憶装置を内蔵しかつ、端末装置1
tll、21.・・・nlに接続される。
FIG. 2 shows the configuration of a multi-computer system to which the present invention is applied, with computers 10, 20, .
...no are interconnected via transmission path 1 and exchange data and programs. As described later, each computer has a built-in arithmetic processing unit Llt and a storage device for storing data and programs, and has a terminal device 1.
tll, 21. ...Connected to nl.

第1図は、代表として、コンピュータ10の構成を示す
。処理装置100は、インターフェイス101を介して
伝送路1に接続され、またインターフェイス102を介
して端末装fillに接続される。処理袋*iooは、
また、入力バッファ103、出力バツファ104.プロ
グラム格納メモリ105.データ格納メモリ106.内
容コードテーブル107.メモリ管理テーブル108お
よび自己環境管理テーブル109に接続される。
FIG. 1 shows the configuration of a computer 10 as a representative. The processing device 100 is connected to the transmission path 1 via an interface 101, and is also connected to the terminal equipment fill via an interface 102. The disposal bag *ioo is
In addition, an input buffer 103, an output buffer 104 . Program storage memory 105. Data storage memory 106. Content code table 107. It is connected to the memory management table 108 and the self-environment management table 109.

内容コードテーブル107には、このコンビュータで処
理が可能なプログラムの内容を示すコードが適当な方法
、例えば端末装置11を介してオペレータにより、ある
いは統括用コンピュータから予めセットされる。
Codes indicating the contents of programs that can be processed by this computer are preset in the content code table 107 by an appropriate method, for example, by an operator via the terminal device 11 or from a supervising computer.

第3図に、他の環境から取り込んだプログラムをあるC
PU (コンピュータ)が実行する場合のフローチャー
トを示す。プログラムは、第4図に示す形式のプログラ
ムを実行する場合を考える。
Figure 3 shows a program imported from another environment in C.
A flowchart when executed by a PU (computer) is shown. A case will be considered in which a program having the format shown in FIG. 4 is executed.

プログラムは、入力部(rcv network ms
gL処理部と出力部(snd netすark msg
)より構成される。
The program has an input section (rcv network ms
gL processing section and output section (snd netsark msg
).

プログラムを実行するCPUには、あらかじめ、第5図
に示す自己環境管理テーブルがセットされているものと
する。自己環境管理テーブルでは、入力環境として、例
えば、1(eyboard + ファイル。
It is assumed that the CPU that executes the program has a self-environment management table shown in FIG. 5 set in advance. In the self-environment management table, the input environment is, for example, 1 (eyboard + file.

P I / O、network が、また出力環境と
して、CRT 、 PRINTER,ファイル、 P 
I / O、networkがある場合には、I10命
令は第5図の通りにセットされている。次に第3図のフ
ローチャートについて詳細に説明する。ステップ201
では、あるCPUが、自CPUとは異なる環境で、開発
されたプログラムを取り込んだ時に、まず、そのプログ
ラムのオリジナルのIloを確認する。ステップ202
において、CPUは、前述、第5図の自己環境管理テー
ブルを参照し、自己環境下のIloの状態を確認する。
PI/O, network, and output environment such as CRT, PRINTER, file, P
If there is an I/O network, the I10 instruction is set as shown in FIG. Next, the flowchart of FIG. 3 will be explained in detail. Step 201
Now, when a certain CPU imports a program developed in an environment different from that of its own CPU, it first checks the original Ilo of the program. Step 202
In this step, the CPU refers to the aforementioned self-environment management table shown in FIG. 5 and confirms the state of Ilo under its own environment.

ステップ203では、プログラムのオリジナルのIlo
と自己環境下のIloの現状におけるマツチングを確認
する。第5図では、CPUの自己環境管理テーブルの入
力環境に(rev keyboard m53)の入力
命令が、また、出力環境に(snd CRT msg)
の出力命令があり、方取り込んだプログラムの入力部は
、(rcvkeyboard msg)、出力部は、 
 (snd CRT msg)であり、現状におけるマ
ツチングがあることがわかる。
In step 203, the program's original Ilo
Check the current matching of Ilo in the own environment. In Figure 5, the input command (rev keyboard m53) is input to the input environment of the CPU's own environment management table, and the input command (snd CRT msg) is input to the output environment.
There is an output command, the input part of the imported program is (rcvkeyboard msg), and the output part is:
(snd CRT msg), which shows that there is matching in the current situation.

ステップ204では、ステップ203でプログラムのオ
リジナルI10と現状のマツチングを確認したCPUは
、オリジナルのIloを使うことを確認する。ステップ
205において、CPUは、プログラムをオリジナルI
10で、ローディングスタートする。次に、第3図のス
テップ203で現状とのマツチングがなかった場合につ
いて述べる。
In step 204, the CPU, which confirmed the matching between the original I10 and the current state of the program in step 203, confirms that the original Ilo will be used. In step 205, the CPU converts the program to the original I
At 10, loading starts. Next, the case where there is no matching with the current state at step 203 in FIG. 3 will be described.

第6図は、CPUの自己環境とプログラムのオリジナル
I10のマツチングがなかった場合にCPUに作成する
リモートI10テーブルの例である。
FIG. 6 is an example of a remote I10 table created in the CPU when there is no matching between the CPU's own environment and the original I10 of the program.

なお、図中、r、sはそれぞれ入力部(rev) r出
力部(snd )を表わす。
In the figure, r and s represent an input section (rev) and an output section (snd), respectively.

第7図は、第6図のリモートI10テーブルを作成する
場合の手順を示す図である。ここでは、4台のCPU 
(CPUI〜CPU4)が、ネットワークで結ばれてい
る場合を考える。CPU4はIloを持たないために、
CPU4でプログラムを実行する場合は、他のCPU(
CPUI〜CPU3)のIloを利用しなければならな
い。この場合、CPU4は、実行するプログラムの内容
コード900を付したl10)−レイン901をネット
ワーク上に流す。各CPU (CPUI〜CPU3)は
、自白のIloに関するメツセージを順次このI10ト
レイン901に連鎖していく。ネットワークを一巡した
I10トレイン901は、各cpu(CPUI〜CPU
3)のIloに関するメツセージをCPU4に伝える。
FIG. 7 is a diagram showing the procedure for creating the remote I10 table shown in FIG. 6. Here, 4 CPUs
Consider a case where (CPUI to CPU4) are connected via a network. Since CPU4 does not have Ilo,
When executing a program on CPU4, use other CPUs (
Ilo of CPUI to CPU3) must be used. In this case, the CPU 4 sends the l10)-rain 901 attached with the content code 900 of the program to be executed onto the network. Each CPU (CPUI to CPU3) sequentially chains messages regarding the confession Ilo to this I10 train 901. The I10 train 901 that has gone around the network is connected to each CPU (CPUI to CPU
3) The message regarding Ilo is conveyed to the CPU 4.

CPU4はCPUIにはファイル、CPU2にはCRT
とキーボード、CPU3にはラインプリンター(L/P
)が工10として接続されていることをI10トレイン
901のメツセージ902より認識し、このメツセージ
902から、前述の第6図に示したリモートI10テー
ブルを自白に作成する。
CPU4 has a file on the CPUI, and CPU2 has a CRT.
and keyboard, and a line printer (L/P) for CPU3.
) is connected as the machine 10 from the message 902 of the I10 train 901, and from this message 902, the remote I10 table shown in FIG. 6 mentioned above is created.

以上の過程を経て得られる前述第6図のリモートI10
テーブルは、各CPUのIloに関する情報を管理する
The remote I10 shown in FIG. 6 obtained through the above process
The table manages information regarding Ilo of each CPU.

第8図に、リモートでプログラムのオリジナルI10を
行う場合のフローチャートを示す。プログラムを実行す
るCPUは、CPUの現状環境とプログラムのオリジナ
ルI10のマツチングがないことをチェックし、ステッ
プ301で、CPUは、工10トレインをネットワーク
に流し、他のCPUのIloに関するメツセージを得る
。そしてこのメツセージから自CPU内に第6図と同様
の形式をもつリモートI10テーブルを作成する。
FIG. 8 shows a flowchart when performing the original program I10 remotely. The CPU executing the program checks that there is no matching between the current environment of the CPU and the original I10 of the program, and in step 301, the CPU sends the I10 train to the network and obtains messages regarding the Ilo of other CPUs. Then, from this message, a remote I10 table having a format similar to that shown in FIG. 6 is created in its own CPU.

ステップ302では、リモートエ10テーブルに、オリ
ジナルI10があるかどうかを確認する。ステップ30
2でプログラムのオリジナルI10が、リモートI10
に存在すれば、ステップ303において、CPUは、プ
ログラムのオリジナル■10を対応するリモートI10
に変換する。ここでは、プログラムのオリジナルの入力
部(rcvnetwork msg) w出力部(sn
d network msg)を、第6図と同様のリモ
ートI10テーブルより、例えばこの場合は、リモート
I10として他のCPUのキーボード(rec rem
ote keyboard msg)出力部を他のCP
UのCRT (snd remot CRT msg)
としている。次にステップ304では、入出力をリモー
ト110に変換したプログラムをコンパイルする。ここ
で、Iloの変換によりコンパイルエラーが発生したな
らば、プログラムを実行するためにはリモートI10を
再決定しなければならない。
In step 302, it is checked whether the original I10 exists in the remote e10 table. Step 30
In 2, the original I10 of the program is changed to the remote I10.
If so, in step 303, the CPU transfers the program's original ■10 to the corresponding remote I10.
Convert to Here, the program's original input part (rcvnetwork msg) w output part (sn
d network msg) from the remote I10 table similar to that shown in FIG.
ote keyboard msg) output section to other CP
U's CRT (snd remote CRT msg)
It is said that Next, in step 304, the program with the input/output converted to the remote 110 is compiled. Here, if a compilation error occurs due to conversion of Ilo, the remote I10 must be determined again in order to execute the program.

このような場合には、コンパイルエラー発生とともに、
ステップ302に戻ってリモートI10を再決定する。
In this case, along with a compilation error,
Returning to step 302, the remote I10 is determined again.

そして、ステップ304でコンパイルを行い、コンパイ
ルエラーが発生しなければ、ステップ305により、プ
ログラムローディング。
Then, compiling is performed in step 304, and if no compilation error occurs, program loading is performed in step 305.

スタートとなる6以上のように、各CPUで、その環境
下において、プログラムのオリジナルI10が、マツチ
ングしない場合には、該CPUは他のCPUのIloを
プログラムの内容コード90を付した工/○トレイン9
1を用いて、他の個別のIloに関する情報を得てこの
情報から、自CP tJ内にリモートI10テーブルを
作成する。
As shown in the starting point 6 and above, if the original I10 of the program does not match in each CPU's environment, the CPU will change the Ilo of the other CPU to the program with the program content code 90. train 9
1 to obtain information about other individual Ilo's and create a remote I10 table in its own CP tJ from this information.

このリモートI10テーブルにより、オリジナルI10
を同様のリモートI10に変換いてプログラムを実行す
る。次にリモートI10テーブルにオリジナルI10が
なかった場合について説明する。オリジナルI10がリ
モートI10にない場合は、CPUは、次に自己の中に
代替となる工10がないかを調べる。
This remote I10 table allows you to use the original I10
Convert it to a similar remote I10 and run the program. Next, a case where there is no original I10 in the remote I10 table will be described. If the original I10 is not present in the remote I10, the CPU next checks to see if there is an alternative I10 among itself.

第9図に、自己代替ついてのフローチャートを示す。第
8図のステップ302で、CPUは、自己のリモートI
10テーブルに、プログラムのオリジナルI10が存在
しないことを確認すると、第9図のステップ404で自
己代替のIloが存在するかをチェックするために、第
10図に示す様な自己代替管理テーブルを作成する。自
己代替管理テーブルでは例えば、自己代替入力環境とし
て、 keyboard、ファイル、 P I / O
、networkが、また、自己代替出力環境として、
CRT、PRINTER。
FIG. 9 shows a flowchart regarding self-substitution. In step 302 of FIG. 8, the CPU
When it is confirmed that the original I10 of the program does not exist in the 10 table, a self-substitute management table as shown in FIG. 10 is created in step 404 of FIG. 9 to check whether a self-substitute Ilo exists. do. In the self-substitute management table, for example, keyboard, file, P I/O are input environments as self-substitute input environments.
, network is also a self-substitute output environment,
CRT, PRINTER.

P I / O、networkがある場合には、工1
0命令がセットされる。第9図のステップ402におい
て、CPUは、自己代替管理テーブルにより1代替があ
れば、ステップ404を行う。例えば、プログラムのオ
リジナル入力が、キーボード(rev keyboar
d +*sg) 、出力がCRT (and CRTm
sg)である場合の代替を、それぞれファイル(rev
 ファイルmsg) +プリンタ (snd PRIN
TERmsg)としている。なお、ステップ403で入
出力代替が、複数ある場合には、第1111に示す様な
使用順序テーブルを作成し、例えば、入力代替としては
、keyboard 、ファイル、 P I / O、
networkの順序で、CPUに存在する代替を決定
してもよいし、また、ステップ405のように可能な代
替をCRT 、 PRINTERなどにより、人間に間
合わせて決定してもよい。この場合、代替を指定しなけ
ればデフオールド値を設定する。このようにして、代替
を決定すると、次に、ステップ406で、入出力をCP
Uの自己代替に変換したプログラムをコンパイルする。
If there is a P I/O network,
0 instruction is set. In step 402 of FIG. 9, the CPU performs step 404 if there is one alternative according to the self-alternative management table. For example, if the program's original input is from the keyboard (rev keyboard)
d + *sg), output is CRT (and CRTm
sg), the alternatives in the case of file (rev
file msg) + printer (snd PRIN
TERmsg). Note that if there are multiple input/output alternatives in step 403, a usage order table as shown in No. 1111 is created, and for example, input alternatives include keyboard, file, P I/O,
Alternatives existing in the CPU may be determined in the order of the network, or alternatively, possible alternatives may be determined in time for humans using a CRT, PRINTER, etc., as in step 405. In this case, if no alternative is specified, the default value is set. Once the alternative has been determined in this way, then in step 406 the input/output is
Compile the program converted into a self-substitute of U.

ここで、Iloの変換によりコンパイルエラーが発生し
たならば、プログラムを実行するためには自己代替を再
決しなければならないにのような場合には、コンパイル
エラーを発生とともに、ステップ402に戻ってリモー
トI10を再決定する。そして、ステップ406でコン
パイルを行い、コンパイルエラーが発生しなければ、ス
テップ407により、プログラムローディング、スター
トとなる。以上のように、プログラムのオリジナルI1
0が、該CPU及び他のCPUの環境に、マツチングし
ない場合には、該CPUは、プログラムのオリジナルI
10を自己の代替I10に変換してプログラムを実行す
る。
Here, if a compilation error occurs due to Ilo conversion, and if self-substitution must be re-determined in order to execute the program, the process returns to step 402 and the remote Redetermine I10. Compilation is then performed in step 406, and if no compilation error occurs, program loading and start are performed in step 407. As mentioned above, the original I1 of the program
0 does not match the environment of the CPU and other CPUs, the CPU uses the program's original I
10 into its own substitute I10 and execute the program.

次に、プログラムのオリジナルI10の代替となるIl
oがCPUの自己代替にない場合について対処するリモ
ート代替について説明する。
Next, Il which is a replacement for the original I10 of the program.
A description will be given of remote substitution that deals with the case where o is not in the CPU's self-substitution.

第12図に、リモート代替についてのフローチャートを
示す。第9図のステップ402で、CPUは、自己代替
管理テーブルに、プログラムの代替I10が存在しない
ことを確認すると、第12図のステップ501でリモー
ト代替のIloが存在するかどうかをチェックするため
に、第13図に示すようなリモート代替管理テーブルを
作成する。
FIG. 12 shows a flowchart regarding remote substitution. In step 402 of FIG. 9, the CPU confirms that the program's alternative I10 does not exist in the self-replacement management table, and then checks whether the remote alternative Ilo exists in step 501 of FIG. , create a remote alternative management table as shown in FIG.

第14図は、第13図のリモート代替管理テーブルを作
成する場合の手順を示す図である。ここでは、4台のC
PU(CPτ〕1〜cpτ2〕4)が。
FIG. 14 is a diagram showing the procedure for creating the remote alternative management table shown in FIG. 13. Here, four C
PU(CPτ]1 to cpτ2]4).

ネットワークで結ばれている場合を考える。CP U 
4はIloを持たないために、CPU’4で、第13図
に示す。入力がキーボード(rev keyboard
 tasg)、。
Consider the case where they are connected by a network. CPU
4 is CPU'4 because it does not have Ilo, and is shown in FIG. Input is from the keyboard (rev keyboard)
tasg),.

出力がCRT (snd CRT msg)であるプロ
グラムを実行する場合、他のCPU(CPU]〜CPU
3)のIloを利用しなければならない、ここでネット
ワーク上のどのCPUにもプログラムのオリジナル出力
ない場合を考えるやこの場合、CP tJ 4は、実行
するプログラムの内容コード900を付したl10)−
レイン901をネットワーク上に流す。各CPU (C
PUI〜CPU3)は、自白のリモート代替に関するメ
ツセージを順次このI10トレイン901に連鎖してい
く、ネットワークを一巡したI10トレイン901は、
各CPU(CPU1〜CPU3)(7)I104C関す
ルメッセージをCPU4に伝える。CPU4では、CP
U 1にはPRINTER、CP U 2にはファイル
、CPU3にはPIloが、リモート代替I10として
接続されていることをI10トレイン901のメツセー
ジ902より認識し、このメツセージ902から、前述
の第13図に示すリモート代替管理テーブルを自白に作
成する。
When executing a program whose output is CRT (snd CRT msg), other CPUs (CPU] to CPU
3) must be used. Let's consider the case where no CPU on the network has the original output of the program. In this case, CP tJ 4 will output the content of the program to be executed with the code 900.
Rain 901 is streamed onto the network. Each CPU (C
The I10 train 901 that has made one circuit around the network sequentially sends messages regarding the remote replacement of the confession to the I10 train 901.
Each CPU (CPU1 to CPU3) (7) Sends a message regarding I104C to CPU4. In CPU4, CP
It is recognized from the message 902 of the I10 train 901 that PRINTER is connected to U 1, file is to CPU 2, and PIlo is connected to CPU 3 as a remote substitute I10, and from this message 902, the above-mentioned FIG. Create a remote alternate management table that shows the confession.

以上の過程を経て得られる前述第13図のリモート代替
管理テーブルは、各CPUの代替I10に関する情報を
管理する。
The remote replacement management table shown in FIG. 13 obtained through the above process manages information regarding the replacement I10 of each CPU.

第12図のステップ502で、プログラムのオリジナル
I10に対して第13図に示すリモート代替管理テーブ
ルにリモート代替があるならば、ステップ504に進む
、ステップ504では、この場合プログラムのオリジナ
ル出力(snd CRT msg)をリモート代替出力
(snd PRINTERmsg)としている。なおリ
モート入出力代替が、複数ある場合は。
In step 502 of FIG. 12, if there is a remote replacement in the remote replacement management table shown in FIG. 13 for the original I10 of the program, the process proceeds to step 504. msg) as the remote alternative output (snd PRINTERmsg). In addition, if there are multiple remote input/output alternatives.

ステップ503のように先に述べた第11図と同様の使
用順序テーブルや、ステップ405のように人間に対す
る間合わせにより可能なリモート代替を決定してもよい
、この場合、代替を指定しなければ、デフオールド値を
設定する。このようにして代替を決定すると、次にステ
ップ505で入出力をリモート代替に変換したプログラ
ムをコンパイルする。ここでIloの変換によりコンパ
イルエラーが発生したならば、プログラムを実行するた
めにはりモート代替を再決定しなければならない。この
ような場合には、コンパイルエラー発生とともに、ステ
ップ502に戻って、リモート代替I10を再決定する
。そして、ステップ505でコンパイルを行い、コンパ
イルエラーが発生しなければ、ステップ506により、
プログラムローティング、スタートとなる1以上のよう
にプログラムのオリジナルI10を、該CPU以外のC
PUでリモート代替I10に変換してプログラムを実行
する。またプログラムのオリジナルI10の代替が、ネ
ットワーク上のどのCPUにも存在しない場合は、ステ
ップ507のように入出力をネットワークとして、入力
(rcv network msg)、出力(snd 
network msg)としてプログラムを実行する
Possible remote substitutes may be determined using a use order table similar to that shown in FIG. 11 described above as in step 503, or by making arrangements for humans as in step 405. In this case, if no substitute is specified, , set the default value. Once the replacement has been determined in this way, the program in which the input/output has been converted to the remote replacement is then compiled in step 505. If a compilation error occurs due to the conversion of Ilo, the remote replacement must be redetermined in order to execute the program. In such a case, when a compilation error occurs, the process returns to step 502 to redetermine the remote alternative I10. Then, compiling is performed in step 505, and if no compilation error occurs, in step 506,
Program loading, the original I10 of the program as shown in 1 or more as a start is transferred to a CPU other than the CPU
The PU converts it into a remote alternative I10 and executes the program. If there is no substitute for the program's original I10 on any CPU on the network, input (rcv network msg), output (snd
Run the program as network msg).

なお、プログラムのコンパイル、ローディングにあたっ
ては、以下を考慮して行う。
When compiling and loading the program, take the following into consideration.

第15図に、プログラムの形式について示す。FIG. 15 shows the format of the program.

プログラム1000は、内容コード1001.アプリケ
ーションプログラム1002.プログラム情報1005
として、プログラム容量1003(バイト)、必要性能
1004 (MIPS値)、およびプログラム本体10
06より構成される。
Program 1000 has content code 1001. Application program 1002. Program information 1005
As, program capacity 1003 (bytes), required performance 1004 (MIPS value), and program body 10
Consists of 06.

第16図に、プログラム1000をコンパイルする場合
の評価および操作手順のフローチャートを、示す。第1
51ii!より、プログラム1000には、プログラム
情報1005としてプログラムが必要とする性能がデー
タの中に入っている。その必要性能1004として、例
えば、MIPS値を用いる。ステップ601では、CP
Uはプログラム1000の必要性能(M I P S値
)1004をチェックする。一方、CPUは、自己環境
のパラメータテーブルに性能値を持っているものとする
FIG. 16 shows a flowchart of evaluation and operation procedures when compiling the program 1000. 1st
51ii! Therefore, the program 1000 includes the performance required by the program as program information 1005 in the data. As the required performance 1004, for example, a MIPS value is used. In step 601, CP
U checks the required performance (MIP S value) 1004 of the program 1000. On the other hand, it is assumed that the CPU has performance values in its own environment parameter table.

ステップ602では、CPUはこの自己環境のパラメー
タテーブルの性能値(ここではβとする)をチェックす
る。ステップ603では、必要性能”(MIps値)1
004とCPUの自己環境の性能値(fj)を比較し、
プログラムの必要性能゛(M工P$)1004が性能値
(β)より小であればプログラムをそのままコンパイル
する。そうでなければ、ステップ604において、プロ
グラム1000を変更する。この場合、プログラム10
00の中で繰り返し計算を、■第15図のMIPS値の
比、あるいは■所定の比で少なくして、プログラム10
00の必要性能1004を自己の環境に合わせる。
In step 602, the CPU checks the performance value (here, β) in the parameter table of its own environment. In step 603, the required performance "(MIps value) 1
Compare the performance value (fj) of 004 and the CPU's own environment,
If the required performance of the program (MP$) 1004 is smaller than the performance value (β), the program is compiled as is. Otherwise, in step 604, program 1000 is modified. In this case, program 10
00, reduce the repeated calculations by the ratio of the MIPS values in Figure 15, or by the predetermined ratio, and program 10.
Adjust the required performance 1004 of 00 to your own environment.

次に第15図より、プログラムのローディングについて
説明する。第15図より、プログラム1000には、プ
ログラム情報10o5として、プログラム容量(バイト
)1003がデータの中に入っている。その容量が、C
PUの自己環境テーブルの所定の容量より小さければ、
コアメモリ常駐とする。また、プログラム容量1003
が上記所定の容量より大きければ、ディスクへ格納(コ
ア非常駐)とする。つまり、前者は常駐エリアにローデ
ィングし、後者は非常駐エリアにローディングする。
Next, referring to FIG. 15, loading of the program will be explained. As shown in FIG. 15, the program 1000 includes program capacity (bytes) 1003 in the data as program information 10o5. Its capacity is C
If it is smaller than the predetermined capacity of the PU's own environment table,
Must reside in core memory. In addition, program capacity 1003
If it is larger than the predetermined capacity, it is stored on the disk (core non-resident). In other words, the former is loaded into the permanent area, and the latter is loaded into the non-resident area.

以上、CPUは、他環境から受け取ったプログラムをそ
の必要容量、必要性能の面から自律的に自己の環境に合
わせて、コンパイル、ローディングを行う。
As described above, the CPU autonomously compiles and loads programs received from other environments according to its own environment in terms of the required capacity and performance.

本実施例によれば、(1)各処理装置が、自装置内のプ
ログラムをチェックし、それらの状態から自律的に、プ
ログラムを自装置内の環境に対応したプログラムに変更
すること、(2)各処理装置が自己の装置内における異
常発生時の環境において、自律的に、プログラムを自装
置内の環境に対応したプログラムに変更すること、(3
)各処理装置が自己の装置の拡張による環境変化時に、
自律的にプログラムを自装置内の環境に対応したプログ
ラムに変更すること、(4)各処理装置が自装置内のプ
ログラムをその環境に対応した実行可能なプログラムに
変更し稼動することができる。
According to this embodiment, (1) each processing device checks the program in its own device and autonomously changes the program from those states to a program compatible with the environment in its own device; ) Each processing device autonomously changes the program to a program corresponding to the environment within its own device in the environment when an abnormality occurs within its own device; (3)
) When each processing device changes its environment due to expansion of its own device,
(4) Each processing device can change the program in its own device into an executable program compatible with its environment and operate it.

また各処理装置が、負荷過大及び過小時に、独自に対応
することが可能となる。
Furthermore, each processing device can independently respond to overload or underload.

C発明の効果〕 本発明によれば、自律的に各CP’Uが、自cpu内に
存在するプログラムを自CPU内の環境に対応した入出
力部を持つプログラムに変更するようにしたので、各C
PUの環境にかかわらず、プログラムを稼動することが
できる。
C Effects of the Invention] According to the present invention, each CPU'U autonomously changes the program existing in its own CPU to a program having an input/output section corresponding to the environment within its own CPU. Each C
Programs can be run regardless of the PU environment.

また、各CPUが、自CPUに存在するプログラムを、
自己の環境の異常発生時や、拡張時に独自に対応したプ
ログラムに変更しプログラムを稼動することができる。
In addition, each CPU stores programs existing in its own CPU.
When an abnormality occurs in your own environment or when expanding, you can change to a program that is compatible with your own and run the program.

また、各CPUが他から受け取ったプログラム゛をその
必要容量、必要性能の面から自律的に自己の環境に合わ
せて、コンパイル、ローディングすることができる。
Further, each CPU can compile and load programs received from others autonomously in accordance with its own environment in terms of its required capacity and performance.

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

第1図は本発明が適用されるマルチコンピュータシステ
ム中の1台のコンピュータの構成のブロックダイヤグラ
ム、第2図は本発明が適用されるマルチコンピュータシ
ステムの全体構成を示すブロックダイヤグラム、第3図
は他の環境から取り込んだプログラムをあるCPUが実
行する場合のフローチャート、第4図はプログラム形式
を示す図、第5図は自己環境管理テーブルを示す図、第
6図はリモートI10テーブルを示す図、第7図はリモ
ートI10テーブル作成手順を示す図、第8図はリモー
トでプログラムのオリジナルI10を行う場合のフロー
チャート、第9図は自己代替を行う場合のフローチャー
ト、第10図は自己代替管理テーブルを示す図、第11
図は使用順序テーブルを示す図、第12図はリモート代
替フローチャート、第13図はリモート代替管理テーブ
ルを示す図、第14図はリモート代替管理テーブルを作
成する手順図、第15図はプログラム構成図。 第16図はプログラムコンパイル時のフローチャートで
ある。 1・・・伝送路、10,20.no・・・コンピュータ
。 11.21.nl・・・端末装置、100・・処理装置
、105・・プログラム#4納メモリ、】o゛7・・内
容コードテーブル、108・・・メモリ管理チー・プル
。 ]09・・・自己環境管理テーブル、90]・・・l1
0(−レイン。 第 図 第 図 ■ 図 亨 図 冨 5 図 第 図 ′−/P RT キーホ゛−F ファイ1し ■ 図 窩 凹 猾 lθ 図 猶 1 第 Z 図 巣 3 図 茅 14 国 第 5 寥 6 図
FIG. 1 is a block diagram showing the configuration of one computer in a multi-computer system to which the present invention is applied, FIG. 2 is a block diagram showing the overall configuration of the multi-computer system to which the present invention is applied, and FIG. A flowchart when a certain CPU executes a program imported from another environment, FIG. 4 is a diagram showing the program format, FIG. 5 is a diagram showing the self-environment management table, FIG. 6 is a diagram showing the remote I10 table, Figure 7 is a diagram showing the procedure for creating a remote I10 table, Figure 8 is a flowchart when performing the original program I10 remotely, Figure 9 is a flowchart when performing self-substitution, and Figure 10 is a diagram showing the self-substitution management table. Figure 11
The figure shows a usage order table, Figure 12 is a remote replacement flowchart, Figure 13 is a diagram showing a remote replacement management table, Figure 14 is a procedure diagram for creating a remote replacement management table, and Figure 15 is a program configuration diagram. . FIG. 16 is a flowchart when compiling a program. 1... transmission line, 10, 20. No...computer. 11.21. nl...Terminal device, 100...Processing device, 105...Program #4 storage memory, ]o゛7...Contents code table, 108...Memory management team. ]09...Self environment management table, 90]...l1
0 (-Rain. Figure 1 ■ Figure 5) Figure '-/P RT Key - F Phi 1 ■ Figure hole concave lθ Figure 1 Figure Z Figure nest 3 Figure 14 Country 5 6 Figure

Claims (1)

【特許請求の範囲】 1、ネットワークを介して複数の処理装置が接続され、
該処理装置間のプログラム伝送を行う分散処理システム
において、各処理装置が自装置内にプログラムを取り込
んで、該プログラムをチェックし、自律的に、該プログ
ラムを自装置内の環境で稼動できるプログラムに変更す
ることを特徴とするプログラム変更方法。 2、各処理装置が自己の装置内における異常発生時の環
境において、自律的に、自装置内の上記プログラムを該
環境に対応したプログラムに変更することを特徴とする
請求項1記載の分散処理システムのプログラム変更方法
。 3、各処理装置が自己の装置の拡張による環境変化時に
、自律的に、上記プログラムを該環境に対応したプログ
ラムに変更することを特徴とする請求項1記載の分散処
理システムのプログラム変更方法。 4、上記プログラムを自装置内の環境に対応した実行可
能なプログラムに変更することを特徴とする請求項1〜
3のいずれか記載の分散処理システムのプログラム変更
方法。 5、上記プログラムの必要とする性能によつて、必要と
する性能を満たさない場合、プログラム側を変更するこ
とを特徴とする請求項1、請求項2又は請求項3記載の
分散処理システムのプログラム変更方法。 6、他環境から受け取つたプログラムをその必要容量、
必要性能の面から、自律的に自装置内の環境に合わせる
ことを特徴とする請求項1、請求項2又は請求項3記載
の分散処理システムのプログラム変更方法。
[Claims] 1. A plurality of processing devices are connected via a network,
In a distributed processing system that transmits programs between processing devices, each processing device imports a program into its own device, checks the program, and autonomously converts the program into a program that can run in its own environment. A method for changing a program characterized by changing the program. 2. Distributed processing according to claim 1, characterized in that each processing device autonomously changes the program in its own device to a program compatible with the environment when an abnormality occurs in its own device. How to reprogram the system. 3. The program changing method for a distributed processing system according to claim 1, wherein each processing device autonomously changes the program to a program compatible with the environment when the environment changes due to expansion of its own device. 4. Claims 1 to 4, characterized in that the program is changed to an executable program corresponding to the environment within the device itself.
3. The method for changing a program in a distributed processing system according to any one of 3. 5. The program for a distributed processing system according to claim 1, claim 2, or claim 3, wherein if the performance required by the program is not satisfied, the program is changed. Modification method. 6. Required capacity for programs received from other environments,
4. The method of changing a program for a distributed processing system according to claim 1, 2 or 3, wherein the program is adapted autonomously to the environment within the own device in terms of required performance.
JP2024546A 1990-02-05 1990-02-05 How to change the program Pending JPH03229352A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2024546A JPH03229352A (en) 1990-02-05 1990-02-05 How to change the program
US07/645,099 US5450567A (en) 1990-02-05 1991-01-24 Method and system for program change in distributed data processing system
DE4103411A DE4103411A1 (en) 1990-02-05 1991-02-05 Automatic programme modification in distributed data processing system - uses second processor to determine modifications to be made according to environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2024546A JPH03229352A (en) 1990-02-05 1990-02-05 How to change the program

Publications (1)

Publication Number Publication Date
JPH03229352A true JPH03229352A (en) 1991-10-11

Family

ID=12141153

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2024546A Pending JPH03229352A (en) 1990-02-05 1990-02-05 How to change the program

Country Status (3)

Country Link
US (1) US5450567A (en)
JP (1) JPH03229352A (en)
DE (1) DE4103411A1 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5548745A (en) * 1993-01-19 1996-08-20 Canon Kabushiki Kaisha Method and apparatus for designating context in a windowing environment
DE4429969A1 (en) * 1994-08-24 1996-02-29 Sel Alcatel Ag Process for exchanging program packages in a multi-computer system and computer therefor
JP3329985B2 (en) * 1995-03-16 2002-09-30 株式会社日立製作所 How to modify the program
DE19527808C2 (en) * 1995-07-28 1999-04-01 Siemens Ag Method for modifying the software procedures of a communication system
US6345311B1 (en) * 1995-12-27 2002-02-05 International Business Machines Corporation Method and system of dynamically moving objects between heterogeneous execution environments
US5774728A (en) * 1995-12-27 1998-06-30 International Business Machines Corporation Method and system for compiling sections of a computer program for multiple execution environments
US6263442B1 (en) * 1996-05-30 2001-07-17 Sun Microsystems, Inc. System and method for securing a program's execution in a network environment
FR2765363B1 (en) 1997-06-30 2000-02-18 Actikey METHOD AND SYSTEM FOR MONITORING THE USE OF SOFTWARE
US8312446B2 (en) * 2002-12-17 2012-11-13 International Business Machines Corporation Dependency management when upgrading application components
US20100153693A1 (en) * 2008-12-17 2010-06-17 Microsoft Corporation Code execution with automated domain switching
EP2829970B1 (en) * 2013-07-26 2017-02-01 Fujitsu Limited A method and apparatus for porting source code

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6226535A (en) * 1985-07-22 1987-02-04 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション Correction of conversion table in program
US5109484A (en) * 1986-04-09 1992-04-28 International Business Machines Corporation Self configuring terminal which polls loop network and generates list of connected devices for use in selectively downloading control programs
US4780821A (en) * 1986-07-29 1988-10-25 International Business Machines Corp. Method for multiple programs management within a network having a server computer and a plurality of remote computers
US4855905A (en) * 1987-04-29 1989-08-08 International Business Machines Corporation Multiprotocol I/O communications controller unit including emulated I/O controllers and tables translation of common commands and device addresses
US5067072A (en) * 1987-11-06 1991-11-19 Visystems, Inc. Virtual software machine which preprocesses application program to isolate execution dependencies and uses target computer processes to implement the execution dependencies
US4970639A (en) * 1988-05-20 1990-11-13 International Business Machines Corporation Virtual machine architecture independent program loader
US4979106A (en) * 1988-08-29 1990-12-18 Amdahl Corporation Customization of a system control program in response to initialization of a computer system
US5097533A (en) * 1988-11-29 1992-03-17 International Business Machines Corporation System and method for interfacing computer application programs written in different languages to a software system
US5261095A (en) * 1989-10-11 1993-11-09 Texas Instruments Incorporated Partitioning software in a multiprocessor system
US5247678A (en) * 1989-10-12 1993-09-21 Texas Instruments Incorporated Load time linker for software used with a multiprocessor system

Also Published As

Publication number Publication date
US5450567A (en) 1995-09-12
DE4103411A1 (en) 1991-08-08

Similar Documents

Publication Publication Date Title
JP2666847B2 (en) Heterogeneous language communication method
CN112269565B (en) Container-based edge device operation method, device and system
JPH03229352A (en) How to change the program
JP2006092544A (en) Dynamic link of module in pre-operating system environment
JP5072599B2 (en) How to integrate multiple object files from heterogeneous architectures into a set of files
US20120239985A1 (en) Computer-readable medium storing wrapper program and integrated circuit apparatus
CN113961232A (en) Terminal, method and platform server for providing integrated development environment
JP2002014809A (en) Microprocessor, assembler, method thereof, and recording medium recording program thereof
JP2004280299A (en) Controller, developing device and system
CN116841644A (en) Binary file dynamic loading method, device, electronic equipment and storage medium
JP3682050B2 (en) Embedded software development equipment
JP6115063B2 (en) Peripheral device of programmable controller
JPH04149658A (en) Information processor
JP4877257B2 (en) Programmable controller, programmable controller support apparatus, and programmable controller system
Bruegge et al. The Warp programming environment
JP7499966B2 (en) Control device and address management method
JP2004192038A (en) Information processing apparatus, information processing system, information processing program, and recording medium storing the program
JP7622483B2 (en) Development support device, development support method, and development support program
CN114625551B (en) Vehicle communication method and device
JPH03229327A (en) Computer program executing system
JP3765148B2 (en) Functional memory
JP2004240890A (en) Middleware transparent distributed application access system
CN119473269A (en) A file processing method, device, storage medium and equipment
JP2655612B2 (en) External reference update method
JPH01217536A (en) Heterogeneous language mixed program processing controller