JPH01161567A - Program developing system of decentralized processing system - Google Patents

Program developing system of decentralized processing system

Info

Publication number
JPH01161567A
JPH01161567A JP62318822A JP31882287A JPH01161567A JP H01161567 A JPH01161567 A JP H01161567A JP 62318822 A JP62318822 A JP 62318822A JP 31882287 A JP31882287 A JP 31882287A JP H01161567 A JPH01161567 A JP H01161567A
Authority
JP
Japan
Prior art keywords
program
programs
message
attribute
input
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
JP62318822A
Other languages
Japanese (ja)
Inventor
Masayuki Orimo
織茂 昌之
Kinji Mori
森 欣司
Yasuo Suzuki
靖雄 鈴木
Katsumi Kono
克己 河野
Minoru Koizumi
稔 小泉
Kozo Nakai
耕三 中井
Hirokazu Kasashima
広和 笠嶋
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 JP62318822A priority Critical patent/JPH01161567A/en
Priority to IN1011/CAL/88A priority patent/IN170793B/en
Priority to DE3842289A priority patent/DE3842289C2/en
Priority to BR888806690A priority patent/BR8806690A/en
Priority to KR1019880016822A priority patent/KR920007502B1/en
Priority to CN87101153A priority patent/CN1010807B/en
Publication of JPH01161567A publication Critical patent/JPH01161567A/en
Priority to US08/351,166 priority patent/US5561802A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To improve the program developability of a decentralized processing system by separating the attribute information related to an input-output message defined on a program when source programs are compiled and making the attribute information to correspond to the load module of a compiled result. CONSTITUTION:Programs 15001, 15002, and 15003 are assembled in the processor 15 of a developing system and each of the programs is actuated in accordance with an input from a CRT terminal 1501. The program 15001 generates load module files 3501-350n and an attribute file 3500 against a designated file of source program files. The program 15002 generates a loading message in accordance with the contents of the files 3501-350n and file 3500 and the program 15003 correlates the programs in accordance with the contents of the file 3500. Therefore, information necessary for loading the programs can be automatically generated and the relations among the programs can be recognized by only defining the information related to the input-output on a source program. Thus the soft developability of this system is improved.

Description

【発明の詳細な説明】 C産業上の利用分野〕 本発明は、複数のプロセサにより一連の処理を実行する
分散処理システムにおいて、開発系プロセサで各プロセ
サ内で実行されるアプリケーションプログラムを開発し
、各プロセサにローディングするためのプログラム開発
方式に関する。
[Detailed Description of the Invention] C Industrial Field of Application] The present invention is a distributed processing system in which a series of processes are executed by a plurality of processors. This article relates to a program development method for loading onto each processor.

〔従来の技術〕[Conventional technology]

共通伝送路に接続されたプロセサにより、12の仕事の
一連の処理を分散して処理する分散処理方法において、
一連処理のそれぞれを実行するためのプログラムを各プ
ロセサに分散記憶させ、各プロセサのプログラムの起動
を、このプログラムを実行するのに必要なデータが伝送
路から自己装置内に取り込まれ、それがそろったときに
行なう方法が、例えば、特開昭57−146361号公
報において示されている。この方法は、システム全体を
管理するための管理用プロセサを必要とすることなく、
各プロセサで一連の処理のそれぞれを分散して処理する
ことを可能とするものである。
In a distributed processing method in which a series of 12 tasks is distributed and processed by processors connected to a common transmission path,
Programs for executing each of the series of processes are distributed and stored in each processor, and each processor's program is activated by importing the data necessary to execute this program from the transmission path into the self-device, and when all the data is available. For example, Japanese Patent Laid-Open No. 57-146361 discloses a method for this purpose. This method does not require a management processor to manage the entire system.
This allows each processor to perform a series of processes in a distributed manner.

また、上記分散処理システムに対し、各プロセ“す内で
処理を実行するプログラム自体もメツセージの一つと・
して伝送路上に流し、各プロセサで伝送路上を流れるプ
ログラムのうちから自らに必要なプログラムを取り込み
0内に記憶させる方法が、例えば時開61−28695
9号公報において示されている。
In addition, for the above distributed processing system, the program itself that executes processing within each process is also considered a message.
For example, there is a method in which each processor takes in the programs it needs from among the programs flowing on the transmission path and stores them in 0.
This is shown in Publication No. 9.

〔発明が解決しようとする問題点〕□ 上記従来技術で示した分散処理システムでは、各プログ
ラム間インタフェースは各プログラムの入出力データの
みで規定されるため、各プログラムを個別に開発するこ
とが可能である。しかし、上記従来技術では、個別に開
発されたプログラム間関係の整合性がとれているか否か
をチエツクするための方法がなく、プログラム開発上問
題があった。
[Problems to be solved by the invention] □ In the distributed processing system shown in the above-mentioned prior art, the interface between each program is defined only by the input/output data of each program, so each program can be developed individually. It is. However, in the above-mentioned conventional technology, there is no method for checking whether or not the relationships between individually developed programs are consistent, which poses a problem in program development.

また、上記従来技術では、開発したプログラムを各プロ
セサにローディングする際、プログラムの入出力メツセ
ージを定義する必要があるが、この際、誤った情報を定
義してしまうと、プログラムは意図したメツセージとは
全く異なるメツセージにより処理を実行してしまうとい
う問題点があった。
Furthermore, in the above conventional technology, when loading the developed program into each processor, it is necessary to define the program's input/output messages, but if incorrect information is defined at this time, the program will not receive the intended message. The problem is that the process is executed using a completely different message.

本発明の目的は、上記分散処理システムにおいて、開発
中プログラム間関係の整合性をチエツクでき、また、ロ
ーディングに必要な情報もローディングするプロセサ例
でプログラム属性情報より自動的に生成できるようにし
、プログラム開発性を向上させるようにしたプログラム
開発方式を提供することにある。
An object of the present invention is to enable the above-mentioned distributed processing system to check the consistency of relationships between programs under development, and to automatically generate information necessary for loading from program attribute information in a loading processor example. The object of the present invention is to provide a program development method that improves developability.

〔問題点を解決するための手段〕[Means for solving problems]

上記目的は、ソースプログラムコンパイル時に、ソース
プログラム上に定義された入出力メツセージに関する属
性情報を分離し、コンパイル結果のロードモジュールと
対応づけて記憶しておくとともに、属性情報を基にプロ
グラム間の関連付けを示すテーブルを作成することによ
り達成される。
The above purpose is to separate the attribute information regarding input/output messages defined on the source program when compiling the source program, store it in association with the load module of the compilation result, and to associate programs between programs based on the attribute information. This is achieved by creating a table showing the

〔作用〕[Effect]

上記手段により、開発中の各プログラムに対応して、そ
れらの入出力情報が得られ、この、各プログラムごとの
入出力情報を関係づけることにより、開発中プログラム
間の関係を把握し、その整合性をチエツクすることがで
きる。また、プログラムローディング時には、そのプロ
グラムのロードモジュールとその入出力情報とからなる
ローディングメツセージを自動的に生成することが可能
となる。
By using the above means, input/output information can be obtained for each program under development, and by relating the input/output information for each program, the relationship between the programs under development can be grasped and their consistency You can check the gender. Furthermore, when loading a program, it is possible to automatically generate a loading message consisting of the program's load module and its input/output information.

〔実施例〕〔Example〕

以下、本発明を実施例により詳細に説明する。 Hereinafter, the present invention will be explained in detail with reference to Examples.

第2mは本発明が適用されるシステムを説明するための
図である。第2図(a)はシステムの全体構成の一実施
例を示す図である。この図において、11〜14はその
内部にアプリケーションプログラムを格納し、これを実
行するプロセサである。
2m is a diagram for explaining a system to which the present invention is applied. FIG. 2(a) is a diagram showing an example of the overall system configuration. In this figure, 11 to 14 are processors that store application programs therein and execute them.

また、15はプロセサ11〜14内で実行されるプログ
ラムを開発するためのプロセサであり、ディスク150
2.CRT端末1501が接続されている。以後これを
開発系と結ぶ、プロセサ11〜15はネットワーク1に
接続されている。ここでネットワーク1は任意の形態の
ネットワークでよい、プロセサ11〜14での処理結果
(データ)はネットワーク上に送出される。また、各プ
ロセサは、ネットワーク上を流れるメツセージのうちか
ら自白プログラム実行に必要なメツセージを取りこみ、
実行に必要なメツセージが全てそろった時点で、プログ
ラムを起動する。起動されたプログラムは自らの処理を
実行し、その結果を出力する。
Further, 15 is a processor for developing programs to be executed within the processors 11 to 14, and a disk 150
2. A CRT terminal 1501 is connected. Processors 11 to 15 are connected to the network 1, which will later be connected to the development system. Here, the network 1 may be any type of network, and the processing results (data) of the processors 11 to 14 are sent out onto the network. In addition, each processor takes in the messages necessary for executing the confession program from among the messages flowing on the network,
Start the program when you have all the messages necessary for execution. The activated program executes its own processing and outputs the results.

第2図(b)はネットワーク1上を流れるメツセージの
フォーマットを示す図である。CC202は内容コード
で、データの内容に対応したコードである、各プロセサ
は、本内容コードをもとに。
FIG. 2(b) is a diagram showing the format of messages flowing on the network 1. CC202 is a content code, which is a code corresponding to the content of data.Each processor is based on this content code.

ネットワークから受信したメツセージが自白プログラム
に必要なものであるか否かを判断する。
Determine whether the message received from the network is necessary for the confession program.

5A203は、メツセージを発生したプロセサのアドレ
スであり、C2O4は伝送上必要となる通番である。D
ata205は各プログラムが処理した結果の内容を示
すものであり、FC8206は誤り検知用データ、F2
01,207は、それぞれメツセージの初めと終りを示
すフラグである。
5A203 is the address of the processor that generated the message, and C2O4 is the serial number necessary for transmission. D
ata205 indicates the contents of the results processed by each program, FC8206 indicates error detection data, F2
01 and 207 are flags indicating the beginning and end of the message, respectively.

第2図(Q)は各プロセサが自白プログラムの起動判定
のためにもつテーブルの例を示すものである。第2図(
c)に示すテーブルの各行1051 。
FIG. 2(Q) shows an example of a table that each processor has for determining whether to start a confession program. Figure 2 (
Each row 1051 of the table shown in c).

1052、・・・は各プログラムに対応する行である。1052, . . . are lines corresponding to each program.

第1行目のProg10512は起動すべきプログラム
の情報を格納するエリアであり、 IData 105
11はネットワークより受信したProg 10512
  プログラム実行に必要なメツセージを格納するエリ
アである。
Prog10512 on the first line is an area that stores information about the program to be started, and IData105
11 is Prog 10512 received from the network
This area stores messages necessary for program execution.

第2行目以後も同様な構成となっている。ここで、本テ
ーブルのIData 10511部には前もって各プロ
グラムごとにその実行に必要なメツセージの内容コード
が格納されており、各プロセサはネットワークより受信
したメツセージの00部202と自プロセサ内テーブル
に設定されている内容コードと比較し、一致する°ID
ataエリア10511にメツセージを格納するm I
Dataエリア10511に必要なメツセージが全て格
納されるとプロセサは、Plogエリア10512のプ
ログラムを実行する。
The second and subsequent lines have a similar configuration. Here, the IData 10511 section of this table stores in advance the message content code necessary for the execution of each program, and each processor sets it in the 00 section 202 of the message received from the network and the internal table of its own processor. Compare the content code with the matching °ID
Store the message in ata area 10511 m I
When all necessary messages are stored in the Data area 10511, the processor executes the program in the Plog area 10512.

以下、上記システム上で動作するプログラムを対象とし
た1本発明であるプログラム開発方式について、第1図
、第3〜7図を用いて詳細に説明する。
Hereinafter, a program development method, which is one aspect of the present invention, which is intended for programs running on the above system, will be explained in detail using FIG. 1 and FIGS. 3 to 7.

第1図は1水力式を実現するため開発系プロセサ15内
に組み込むプログラムを示す図である。
FIG. 1 is a diagram showing a program installed in the development system processor 15 to realize the 1-hydro type.

プロセサ15内にはプログラム15001,15002
,15003が組み込まれ、これら各プログラムはデイ
スプレィ(CRT)端末1501からの入力に応じて起
動される。プログラム15001は、ソースプログラム
ファイル(3011,3012,・・・)のうちから指
定されたファイルに対し、そのロードモジュールファイ
ル3501〜350nと属性ファイル3500とを生成
するプログラムである。ブ。グ5A15002は、ロー
ドモジュールファイルと属性ファイルの内容に基づきロ
ーディングメツセージを作成しネットワーク1に出力す
るプログラム、プログラム15003は属性ファイル3
500の内容に基づきプログラム間の関連付けを行うプ
ロゲラムチある。以下、これら各プログラムの処理内容
について説明する。まず、第3図、第4図によりプログ
ラム15001の処理について説明する。第3図は第1
図のソースプログラム3011〜301nの内容を示す
ものである0本ソースプログラムファイルは前もって、
例えばCRT端末1501より、プログラム開発者によ
り入力されているものとする。本方式で対象とするソー
スプログラムは、属性部401とプログラム部402と
から構成される。属性部401はプログラム名称定義部
4011゜入力メツセージ内容コード定義部4012、
出力メツセージ内容コード定義部4013、本プログラ
ムをテストするための情報(例えばテスト入力とその結
果を示すデータ)4014から成る。また、プログラム
部402は、コーディングされたプログラム内容を示す
ものである。
Programs 15001 and 15002 are in the processor 15.
, 15003 are incorporated, and each of these programs is activated in response to input from a display (CRT) terminal 1501. The program 15001 is a program that generates load module files 3501 to 350n and an attribute file 3500 for a file specified from among the source program files (3011, 3012, . . . ). Bu. Program 5A15002 is a program that creates a loading message based on the contents of the load module file and attribute file and outputs it to network 1, and program 15003 is the attribute file 3.
There is a programmer that associates programs based on the contents of 500. The processing contents of each of these programs will be explained below. First, the processing of the program 15001 will be explained with reference to FIGS. 3 and 4. Figure 3 is the first
The zero source program files that indicate the contents of the source programs 3011 to 301n in the figure are written in advance.
For example, it is assumed that the information is input by a program developer using the CRT terminal 1501. The source program targeted by this method is composed of an attribute section 401 and a program section 402. The attribute section 401 includes a program name definition section 4011, an input message content code definition section 4012,
It consists of an output message content code definition section 4013 and information for testing this program (for example, data indicating test inputs and their results) 4014. Further, the program section 402 shows the coded program contents.

第4図(a)はプログラム15001の処理フローを示
すものである。プログラム15001は端末1501か
ら、ロードモジュールに変換するべきソースプログラム
ファイルを指定することにより処理を開始する。プログ
ラム15001はまず、指定されたソースプログラムを
属性部とプログラム部とに分離する(処理551)、次
に分離した属性部のフォーマットチエツクを行う(処理
552)、ここで、フォーマットチエツクでは、属性部
内容が第3図401で示した通りになっているか否かを
チエツクする。このフォーマットチエツク結果がOKで
ある場合は処理554に進み、不可の場合はエラーメツ
セージを出力(処理557)L、て処理を終了する。処
理554では、処理551で分離したプログラム部をコ
ンパイルすることによりロードモジュールファイルを生
成する。コンパイルが正常終了した場合は、処理556
に進み、異常終了の場合はエラーメツセージを出力しく
処理557)、すべての処理を終了する。処理556で
は、フォーマットチエツクOKとなった属性部内容に基
づき属性テーブルを作成し属性ファイル(第1図350
0)に格納するて処理556)、以上の処理により作成
される属性ファイル及びロードモジュールファイルの構
成を第4図(b)に示す、属性ファイル3500は、第
4図(a)の処理554で作成される各ロードモジュー
ルファイル3501.3502.・・・と1対1に対応
する属性テーブル35001.35002.・・・が格
納されている。テーブル35001は、第3図のソース
プログラム属性部401に定義されているプログラム名
称4011を格納するエリアP N350011.同じ
く属性部401に定義されている入゛カメッセージ内容
コード4012を格納するエリアI CC350012
,出力メツセージ内容コード4013を格納するエリア
OCC350013及び、上記エリアPN、IOC,O
CCの属性をもつソースプログラムから作成したロード
モジュールファイルを示すファイルポインタF P 3
50014より構成される。テーブル35002.35
003.・・・も同じ構成である。なお、ロードモジュ
ールファイル3501゜3502、・・・は必ず属性テ
ーブル35001.35002゜・・・経由でアクセス
するものとする。すなわち、ロードモジュールファイル
はプログラム名称によりアクセスする。従って、ロード
モジュールファイルを削除する場合は、対応する属性テ
ーブルも同時に削除するものとする。また、第4図(a
)の処理556において、同一プログラム名称PNをも
つ属性テーブルが構に存在する場合は、既に存在する属
性テーブル及びそれに対応するロードモジュールファイ
ルを削除した後、属性テーブルを作成する。
FIG. 4(a) shows the processing flow of the program 15001. The program 15001 starts processing by specifying, from the terminal 1501, a source program file to be converted into a load module. The program 15001 first separates the specified source program into an attribute section and a program section (processing 551), and then performs a format check on the separated attribute section (processing 552). Check whether the contents are as shown in FIG. 3 401. If the result of this format check is OK, the process advances to step 554; if not, an error message is output (step 557) L, and the process ends. In process 554, a load module file is generated by compiling the program portion separated in process 551. If the compilation ends normally, process 556
If the process ends abnormally, an error message is output (step 557), and all processes are terminated. In process 556, an attribute table is created based on the attribute part contents whose format check is OK, and an attribute file (350 in FIG. 1) is created.
The structure of the attribute file and load module file created by the above process is shown in FIG. 4(b).The attribute file 3500 is stored in process 556) in FIG. Each created load module file 3501.3502. . . , attribute tables 35001.35002. ... is stored. The table 35001 includes an area P N350011. which stores the program name 4011 defined in the source program attribute section 401 of FIG. Area I CC350012 that stores the input message content code 4012, which is also defined in the attribute section 401.
, the area OCC350013 for storing the output message content code 4013, and the areas PN, IOC, O
File pointer indicating a load module file created from a source program with CC attribute F P 3
Consists of 50014. Table 35002.35
003. ... has the same configuration. Note that the load module files 3501, 3502, . . . are always accessed via the attribute tables 35001, 35002, . That is, the load module file is accessed by program name. Therefore, when deleting a load module file, the corresponding attribute table should also be deleted at the same time. In addition, Fig. 4 (a
), if an attribute table with the same program name PN exists in the structure, the attribute table is created after deleting the already existing attribute table and its corresponding load module file.

次に、第1図のローディングメツセージ15002を作
成するプログラムについて第5図により説明する0本プ
ログラムはCRT端末(第2図1501)よりローディ
ングするプログラムのプログラム名称を指定することに
より処理を実行する。まず、指定されたプログラム名称
に一致するPN部を(第4図(b)をもつ属性テーブル
を属性ファイル内より検索する(処理581)、次に、
検索した属性テーブルとそれに対応するロードモジュー
ルより、ローディングメツセージを作成する(処理58
2)、処理582により作成されるローディングメツセ
ージのData部(第2図(b)の205)の内容を第
5図(b)に示す、PN591は属性テーブルのプログ
ラム名称PN部を、ICC592゜0CC593はそれ
ぞれ属性テーブルの入力内容コードICC部、出力内容
ツー1000部を設定するエリアである。
Next, the program for creating the loading message 15002 in FIG. 1 will be described with reference to FIG. 5. This program executes processing by specifying the program name of the program to be loaded from the CRT terminal (1501 in FIG. 2). First, the attribute table having the PN section (FIG. 4(b)) that matches the specified program name is searched from within the attribute file (process 581), and then,
A loading message is created from the retrieved attribute table and the corresponding load module (processing 58).
2) The contents of the Data section (205 in FIG. 2(b)) of the loading message created in process 582 are shown in FIG. are areas for setting the input content code ICC section and the output content code 1000 copies of the attribute table, respectively.

LM594には、ロードモジュールファイル内容を設定
する。また、ローディングメツセージのCC部(第2図
(b)の202)には、各プログラムに対応する内容コ
ードが設定される。プログラム15002は第5図(b
)で示したメツセージの作成が完了すると、そのメツセ
ージをネットワークに送出する(処理583)、第5図
に示した処理により作成されネットワークに送出された
ローディングメツセージはネットワークにつながってい
る各プロセサが受信し、ローディングメツセージ内のC
C部により、メツセージ内のプログラムが自らに必要な
ものであるか否かを判定し、必要な場合のみ受信したロ
ーディングメツセージを自白に取り込む、ローディング
メツセージを自白に取り込んだプロセサは、メツセージ
Data部のLM内容を自白メモリエリアに格納し、ま
た、メツセージData部のPN、IOC,OCC内容
に基づき第2図(c)に示したプログラム登録テーブル
に、今回ローディングしたプログラムを98する。次に
、ローディングしたプログラムを属性情報内のテスト情
報を用いてテスト起動し、その出力を判定しテストOK
の場合はそのプログラムをオンライン状態とする。なお
、上記処理において、各プロセサには、自らに必要なプ
ログラムを示す内容コードがあらかじめ登録されている
ものとする。
The contents of the load module file are set in the LM594. Further, a content code corresponding to each program is set in the CC section (202 in FIG. 2(b)) of the loading message. The program 15002 is shown in FIG.
), the message is sent to the network (process 583).The loading message created by the process shown in Figure 5 and sent to the network is received by each processor connected to the network. and C in the loading message.
The C section determines whether the program in the message is necessary for itself, and only if necessary incorporates the received loading message into the confession.The processor that has incorporated the loading message into the confession will The LM contents are stored in the confession memory area, and the currently loaded program is stored in the program registration table shown in FIG. 2(c) based on the PN, IOC, and OCC contents of the message data section. Next, test launch the loaded program using the test information in the attribute information, judge the output, and confirm that the test is OK.
In this case, the program is brought online. Note that in the above processing, it is assumed that each processor has a content code that indicates a program necessary for itself registered in advance.

次に、属性ファイル内容に基づきプログラム間の関連付
けを行うプログラム15003  (第1図)の処理に
ついて第6図、第7図を用いて説明する。
Next, the processing of the program 15003 (FIG. 1) for associating programs based on the content of attribute files will be explained using FIGS. 6 and 7.

第6図(a)はプログラム15003が作成する入出力
関連テーブルを示すものである。本人出力関連テーブル
は各内容コードに対応する行601゜602・・・より
成る。第1行601は、内容:l−5を格納するエリア
CC6011、このエリアC66011の内容コードを
もつメツセージを入力するプログラムの名称を格納する
エリアIPROG 6012゜エリアCC6011の内
容コードをもつメツセージを出力するプログラムの名称
を格納するエリア0PROG 6013より成る。第2
行以後も同一構成である。
FIG. 6(a) shows an input/output related table created by the program 15003. The personal output related table consists of rows 601, 602, . . . corresponding to each content code. The first line 601 is an area CC6011 that stores content: l-5, an area IPROG 6012 that stores the name of the program that inputs the message with the content code of this area C66011, and an area that outputs the message with the content code of area CC6011. It consists of an area 0PROG 6013 that stores the name of the program. Second
The configuration after the row is the same.

第6図(b)は、第6図(a)で示した入出力関連テー
ブルを作成するための処理フローを示す図である。まず
、カウンタ変数iを初期化する(処理651)、次に第
1番目の属性テーブル(第4図(b))内容に基づき入
出力関連テーブルを設定する(処理652)、具体的に
は、第6図(C)に示すフロートに従い入出力関連テー
ブルを設定する。まず、属性テーブルのICC部に設定
されている内容コードと一致する内容コードがCC部に
設定されている行を入出力関連テーブルより検索する(
処理681)、該当する行が存在する場合は、その行の
IPROGエリア6012に。
FIG. 6(b) is a diagram showing a processing flow for creating the input/output related table shown in FIG. 6(a). First, a counter variable i is initialized (process 651), and then an input/output related table is set based on the contents of the first attribute table (FIG. 4(b)) (process 652). Specifically, The input/output related table is set according to the float shown in FIG. 6(C). First, search the input/output related table for a row in which a content code that matches the content code set in the ICC part of the attribute table is set in the CC part (
Process 681), if the corresponding line exists, to the IPROG area 6012 of that line.

属性テーブルPN部の内容を設定する(処理682)。The contents of the attribute table PN section are set (processing 682).

該当する行が存在しない場合は、入出力関連テーブルに
新たな行を追加し、その行のCC部。
If the corresponding row does not exist, a new row is added to the input/output related table, and the CC section of that row is added.

IPROG部にそれぞれ、属性テーブルのICC部。Each IPROG section contains an ICC section of an attribute table.

PN部の内容を設定する(処理683)、次に。Next, the contents of the PN section are set (process 683).

属性テーブル006部に設定されている内容コードと一
致する内容コードがCC部に設定されている行を入出力
関連テーブルより検索する(処理684)、該当する行
が存在する場合は、その行の0PROGエリアに、属性
テーブルPN部の内容を設定する(処理685)、該当
する行が存在しない場合は、入出力関連テーブルに新た
な行を追加し、その行のCC部、 0PROG部にそれ
ぞれ、属性テーブルの000部、PN部の内容を設定す
る(処理686)、第6図(c)処理終了後、属性ファ
イル内の金属性テーブルに関して本処理が終了したか否
かをチエツクしく処理653)、未終了の場合は、カウ
ンタ変数iを1増加しく処理654)、処理652に戻
る。
The input/output related table is searched for a row in which a content code that matches the content code set in the 006th part of the attribute table is set in the CC part (processing 684), and if a corresponding row exists, the line is Set the contents of the attribute table PN part in the 0PROG area (process 685). If the corresponding row does not exist, add a new row to the input/output related table, and set the CC part and 0PROG part of that row, respectively. The contents of the 000 part and the PN part of the attribute table are set (process 686). After the process in FIG. 6(c) is completed, check whether this process has been completed regarding the metal property table in the attribute file (process 653). , if not completed, the counter variable i is incremented by 1 (step 654), and the process returns to step 652.

上記処理により作成した入出力関連テーブルより、任意
の内容コードに対して、それを入力とするプログラム、
又、出力とするプログラムを把握することが可能となる
。また1本テーブルの工PROGエリアまたは、0PR
OGエリアが未設定である行を検索することにより、そ
の入力メツセージを発生するプログラムが存在しないプ
ロゲラ、ム、その出力メツセージを取り込むプログラム
が存在しないプログラムを検出することができる。これ
は、プログラム間関係の異常検出の一例である。
From the input/output related table created by the above process, for any content code, a program that uses it as input,
Also, it becomes possible to grasp the program to be output. In addition, one table of engineering PROG area or 0PR
By searching for a line in which the OG area is not set, it is possible to detect a program for which there is no program that generates the input message, or a program for which there is no program that takes in the output message. This is an example of abnormality detection in the relationship between programs.

また、本人出力関連テーブルにより、任意のメツセージ
に対して起動される一連のプログラムを検出できる。次
に、このための処理について、第7図により説明する0
本処理は、トリガとなるメツセージの内容コードを指定
することにより開始する。まず、内部カウンタΩにOを
セット(処理700)した後、指定された内容コードを
入力とするプログラムを入出力関連テーブルより検出し
In addition, a series of programs that are activated in response to an arbitrary message can be detected using the personal output related table. Next, the process for this purpose will be explained with reference to FIG.
This process starts by specifying the content code of the message that is the trigger. First, after setting the internal counter Ω to O (process 700), a program that inputs the specified content code is detected from the input/output related table.

これを第aレベルプログラムとする(処理701)。This is defined as the a-th level program (process 701).

次に、検出した第aレベル各プログラムごとに、その出
力メツセージを入力とするプログラムを検索し、これを
第(Ω+1)レベルプログラムとする(処理702)、
これは、各プログラムに対応する属性テーブルよりそれ
ぞれの出力メツセージの内容コードを検出し、その出力
メツセージ内容のコードを入力とするプログラムを入出
力関連テーブルより検出することにより達成される0次
に、処理702で検出した第(Q+1)レベルプログラ
ムに対し、現在まで検索してきたプログラム(第O〜第
Qレベルプログラム)内に一致するプログラムが存在す
るか否かをチエツクし、存在する場合は、第(α+1)
レベルのプログラムをループチエツク不可とする(処理
703)、″これは、第7図(b)に示すような構造を
検出するための処理である。第7図(b)で、761,
762はプログラムを、751は内容コードCC1をも
つメツセージを、752は内容コードCC2をもつメツ
セージを示す0本構造では、プログラム762の出力メ
ツセージでプログラム761が起動されるというように
処理の流れがループ構造となっており、プログラム間の
関連が異常である可能性がある、従って、処理703も
プログラム間関係の異常検出の一例である0次に、処理
704に移り、第(fi + 1)レベルプログラムが
存在するか否かをチエツクし、存在しない場合は処理を
終了する。
Next, for each detected a-th level program, a program that uses the output message as an input is searched, and this is set as the (Ω+1)-th level program (processing 702).
This is achieved by detecting the content code of each output message from the attribute table corresponding to each program, and detecting the program whose input is the code of the output message content from the input/output related table. For the (Q+1)th level program detected in process 702, it is checked whether a matching program exists among the programs searched so far (Oth to Qth level programs), and if it exists, the program is (α+1)
Loop check is disabled for the level program (process 703). This is a process for detecting a structure as shown in FIG. 7(b). In FIG. 7(b), 761,
762 indicates a program, 751 indicates a message with content code CC1, and 752 indicates a message with content code CC2. In the 0-line structure, the flow of processing is a loop such that program 761 is started by the output message of program 762. Therefore, the process 703 is also an example of detecting an abnormality in the relationship between programs.Next, the process moves to process 704, and the (fi + 1)th level is detected. Checks whether the program exists, and if it does not exist, ends the process.

存在する場合は゛、内部変数Qを1増加させ、処理70
2に戻る。なお、処理704において、ループチエツク
不可のプログラムは、第(fi+1)レベルプログラム
が存在しないものとみなす。
If it exists, increase the internal variable Q by 1 and perform process 70.
Return to 2. In addition, in process 704, it is assumed that a (fi+1)th level program does not exist for programs that cannot be loop-checked.

以上示した方式により、ソースプログラム上に。on the source program using the method shown above.

入出力メツセージに関する情報を定義するのみで。Just define information about input and output messages.

そのプログラムを実行プロセサにローディングするため
の情報を自動的に生成することが可能となる。また、プ
ログラム間の関係を把握し、それら関係の異常を検出す
ることが可能となる。
It becomes possible to automatically generate information for loading the program into the execution processor. Furthermore, it becomes possible to understand the relationships between programs and detect abnormalities in those relationships.

なお、本実施例では、各プログラムの属性テーブルを、
そのロードモジュールと一緒に生成するものとしたが、
ロードモジュールを生成することなく属性テーブルのみ
を生成することも可能である。さらにソースプログラム
内で属性部のみが定義されている場合でも、本方式のプ
ログラム間関係のチエツクは適用可能である。また1本
実施例では、属性テーブルをロードモジュールとは別の
ファイル内に格納するものとしたが、各ロードモジュー
ルとそれに対応する属性テーブルを同一ファイル内に格
納し、一体として扱うことも可能である。
In addition, in this embodiment, the attribute table of each program is
It was supposed to be generated together with that load module, but
It is also possible to generate only the attribute table without generating a load module. Furthermore, even if only attribute sections are defined in the source program, this method of checking inter-program relationships is applicable. Furthermore, in this embodiment, the attribute table is stored in a file separate from the load module, but it is also possible to store each load module and its corresponding attribute table in the same file and treat them as one. be.

また1本実施例では、?j[数のプロセサから構成され
るシステムを対象としたが、単一プロセサから成るシス
テム(開発系と実行系とが分離していないシステム)に
おいても1水力式は同様に適用可能である。
Also, in one embodiment? Although the target is a system composed of several processors, the 1-hydro formula can be similarly applied to a system composed of a single processor (a system in which the development system and execution system are not separated).

また、本実施例では、プログラムをローディングしたプ
ロセサがプログラム属性情、報内のテスト情報を用いて
テストをするものとしたが、開発系内でも、同様にプロ
グラム属性情報内容に基づき開発したプログラムのテス
トを自動的に行うことが可能である。
In addition, in this embodiment, the processor that loaded the program tests using the test information in the program attribute information, but in the development system, the program developed based on the program attribute information can also be tested. It is possible to perform tests automatically.

【発明の効果〕【Effect of the invention〕

以上述べたように1本発明によれば、複数のプロセサに
より一連の処理を実行する分散処理システムにおいて、
各プロセサ内に組み込むプログラムを開発する際に、ソ
ースプログラム上に入出力に関する情報を定義するのみ
で、自動的にローディングに必要な情報を生成でき、ま
た、任意のメツセージに対し、そのメツセージとプログ
ラムとの関係を検出することができるため、ソフト開発
性が向上する。また、各処理装置にローディングして実
際に動かすことなく、関係系上のみで、プログラム間の
関係を把握し、プログラム間関係の異常を事前に検出で
きるため、ソフトの信頼性が向上する。
As described above, according to the present invention, in a distributed processing system in which a series of processes are executed by a plurality of processors,
When developing a program to be incorporated into each processor, simply by defining input/output information on the source program, the information necessary for loading can be automatically generated. Since it is possible to detect the relationship between In addition, the reliability of the software is improved because it is possible to grasp the relationship between programs and detect abnormalities in the relationship between programs in advance only on the relational system without loading it into each processing device and actually running it.

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

第1図は本発明のプログラム開発方式を実現する開発系
プロセサに組込むプログラムの一例を示す図、第2図は
本発明により開発したプログラムが組みこまれるシステ
ムを説明するための図、第3図は本発明のプログラム開
発方式が対象とするソースプログラムのフォーマットの
一例を示す図、第4〜7図1±1本発明の詳細な説明す
るための図である。 CC・・・内容コード、Data・・・メツセージ内デ
ータ部、PN・・・プログラム名称、■CC・・・入力
内容コード、OCG・・・出力内容コード、FP・・・
ファイルポインタ、LM・・・ロードモジュール、IP
ROG・・・入力プロ■ /a /fO;L 第 2 凹 (b) (Cン 志〒−°胃1〉論2嘔 鳩 31!1 第 4 図 (α) 第 52 (久ン Ll−j   ロード七)′エール 第 6 旧 (α) 第 6 図 (C)
FIG. 1 is a diagram showing an example of a program to be incorporated into a development processor that implements the program development method of the present invention, FIG. 2 is a diagram for explaining a system in which the program developed according to the present invention is incorporated, and FIG. FIGS. 4 to 7 are diagrams illustrating an example of the format of a source program targeted by the program development method of the present invention. FIGS. 1±1 are diagrams for explaining the present invention in detail. CC...content code, Data...data part within the message, PN...program name, CC...input content code, OCG...output content code, FP...
File pointer, LM...load module, IP
ROG...Input Pro■ /a /fO;L 2nd concave (b) (Cnshi〒-°Stomach 1〉 Theory 2 Yobato 31!1 Fig. 4 (α) 52nd (Kun Ll-j Road 7) 'Ale No. 6 Old (α) Fig. 6 (C)

Claims (1)

【特許請求の範囲】 1、伝送媒体により接続された複数の処理装置内のプロ
グラムにより、一連の処理を実行する分散処理システム
において、少くとも1つの処理装置内で、それぞれのプ
ログラムから、該プログラムの入出力データに関する属
性情報とプログラム内容を示すプログラム部を分離し、
分離された該属性情報とプログラム部を対のデータとし
て有するメッセージを上記伝送媒体に送出するとともに
、上記属性情報の内容に基づき、プログラムの間の関連
付けを行なうようにしたことを特徴とするプログラム開
発方式。 2、上記伝送媒体に送出されたメッセージの属性情報に
基づき、各処理装置では、自己に必要なメッセージをロ
ーディングすることを特徴とする第1項記載のプログラ
ム開発方式。 3、上記分離された属性情報とプログラム部を対のデー
タとするファイルを作成することを特徴とする第1項ま
たは第2項記載のプログラム開発方式。 4、上記属性情報を基づき、プログラム間を関連付ける
テーブルを作成することを特徴とする第1項又は第2項
記載のプログラム開発方式。 5、上記属性情報内にプログラムをテストするための情
報を含んでいることを特徴とする第1項または第2項記
載のプログラム開発方式。
[Claims] 1. In a distributed processing system in which a series of processing is executed by programs in a plurality of processing devices connected by a transmission medium, the program is executed from each program in at least one processing device. Separate the program part that shows the attribute information regarding the input/output data and the program contents,
A program development system characterized in that a message having the separated attribute information and a program section as paired data is sent to the transmission medium, and the programs are associated based on the content of the attribute information. method. 2. The program development method according to item 1, wherein each processing device loads messages necessary for itself based on attribute information of the message sent to the transmission medium. 3. The program development method according to item 1 or 2, characterized in that a file is created in which the separated attribute information and the program section are paired data. 4. The program development method according to item 1 or 2, characterized in that a table for associating programs is created based on the attribute information. 5. The program development method according to item 1 or 2, wherein the attribute information includes information for testing the program.
JP62318822A 1987-12-18 1987-12-18 Program developing system of decentralized processing system Pending JPH01161567A (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP62318822A JPH01161567A (en) 1987-12-18 1987-12-18 Program developing system of decentralized processing system
IN1011/CAL/88A IN170793B (en) 1987-12-18 1988-12-07
DE3842289A DE3842289C2 (en) 1987-12-18 1988-12-15 Process for developing programs for a distributed data processing system
BR888806690A BR8806690A (en) 1987-12-18 1988-12-16 PROCESS TO DEVELOP PROGRAMS AND DISTRIBUTED PROCESSING SYSTEM
KR1019880016822A KR920007502B1 (en) 1987-12-18 1988-12-17 Method of development program on the disturbed processing system
CN87101153A CN1010807B (en) 1987-12-18 1988-12-17 Method of development program on the distributed processing system
US08/351,166 US5561802A (en) 1987-12-18 1994-11-30 Method for managing programs with attribute information and developing loaded programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62318822A JPH01161567A (en) 1987-12-18 1987-12-18 Program developing system of decentralized processing system

Publications (1)

Publication Number Publication Date
JPH01161567A true JPH01161567A (en) 1989-06-26

Family

ID=18103339

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62318822A Pending JPH01161567A (en) 1987-12-18 1987-12-18 Program developing system of decentralized processing system

Country Status (1)

Country Link
JP (1) JPH01161567A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61286959A (en) * 1985-06-14 1986-12-17 Hitachi Ltd Dispersion processing system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61286959A (en) * 1985-06-14 1986-12-17 Hitachi Ltd Dispersion processing system

Similar Documents

Publication Publication Date Title
US5021997A (en) Test automation system
US8347267B2 (en) Automated software testing and validation system
US9703692B2 (en) Development supporting system
KR920007502B1 (en) Method of development program on the disturbed processing system
CN106095501B (en) A kind of application dispositions method and device
US20030088810A1 (en) Methods and apparatus for determining software component sizes associated with errors
CN112711403B (en) Method, device, computer equipment and storage medium for synchronizing game development
CN114780138B (en) Flow field simulation software code version management method and device and storage medium
CN110457070B (en) Verification method and device and related product
US8589734B2 (en) Verifying correctness of processor transactions
CN111966630B (en) File type detection method, device, equipment and medium
US9009666B1 (en) Systems and methods for testing software and for storing and tracking test assets with the software
JPH01161567A (en) Program developing system of decentralized processing system
JPH07262044A (en) Event trace analyzing method
CN115330171A (en) Business process control method and device, computer equipment and readable storage medium
CN115237422A (en) Code compiling method, device, computer equipment and storage medium
CN113656318A (en) Software version testing method and device and computer equipment
US20110144958A1 (en) Detection of design redundancy
JPH01193944A (en) System for automatically selecting test item
CN105786714B (en) Process detection method and device
JP2560545B2 (en) Interface inspection processor
JP3729076B2 (en) Combined shared module version checking method and version checking program
JPH01177165A (en) Definition-quotation relation checking system for array
JP3248433B2 (en) Program linkage verification method
JPH01261737A (en) Automatic control system for inspection of language processor