JPH05134857A - System for automatically generating program extending over plural computers - Google Patents

System for automatically generating program extending over plural computers

Info

Publication number
JPH05134857A
JPH05134857A JP10427992A JP10427992A JPH05134857A JP H05134857 A JPH05134857 A JP H05134857A JP 10427992 A JP10427992 A JP 10427992A JP 10427992 A JP10427992 A JP 10427992A JP H05134857 A JPH05134857 A JP H05134857A
Authority
JP
Japan
Prior art keywords
processing
program
computer
computers
communication
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
JP10427992A
Other languages
Japanese (ja)
Inventor
Matsuki Yoshino
松樹 吉野
Isao Nishiyama
勲 西山
Takeo Ishii
武夫 石井
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 JP10427992A priority Critical patent/JPH05134857A/en
Publication of JPH05134857A publication Critical patent/JPH05134857A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To improve productivity for system development by deciding the computer to be executed concerning each processing unit designated by a work specification, and generating the processing of communication between computers. CONSTITUTION:Based on the result analyzed by a syntax analysis part 3, an automatic work division processing part 4 decides the computer to be executed for each processing unit of a work specification 1 according to conditions. According to the information of the communication process previously registered as information 7 of the executing computer for each computer, a communication processing 5 generates the program to execute the communication processing between the processing units executed at the different executing computers. Based on the information 7 of the executing computer, a divided program optimization processing part 6 decides the executing computer for each processing unit so as to optimize the program. Further, a program generation part 8 generates the program for each executing computer together with a communication processing program by transforming the program into a form to be executed at the executing computer respectively decided in the automatic work division processing 4 or the optimization processing part 6 for each processing unit.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、複数の計算機にまたが
って実行されるソフトウェアの業務仕様書の単一化およ
び、プログラムの自動生成に係り、特に複数の計算機間
で通信を行うことによって特定の業務を遂行するプログ
ラムの生産性向上に有効な技術に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to unification of business specifications of software executed across a plurality of computers and automatic generation of a program, and is specified by communicating between a plurality of computers. Technology that is effective in improving the productivity of programs that carry out the tasks of

【0002】[0002]

【従来の技術】従来、複数の計算機にまたがるプログラ
ムの開発方法は、各計算機のプログラムをそれぞれ各計
算機ごとに別々に作成し、計算機間の通信は各計算機の
ハードウェア/ソフトウェアの仕様に定めるところに従
って記述しなければならなかった。このため、複数の計
算機に亘って本来一連の業務処理であるものが実行計算
機ごとの複数のプログラムとして管理されるため、プロ
グラムの管理・保守が複雑になる。一連の業務処理を各
計算機にどう役割分担させるかは、プログラムを作成す
る前に予め決定しておく必要があるため、これらプログ
ラムを連動するときインタフェース不良が発生した場
合、あるいは計算機処理性能上の問題または計算機構成
の変更などによって、実行計算機間の役割分担に変更が
発生した場合にインタフェース及びプログラムの再設計
が必要となる。また、各計算機のプログラムは、各実行
計算機のハードウェア/ソフトウェア仕様を考慮して開
発する必要があるため、プログラマの人的資源の分散化
を招きその有効活用を阻害する。従ってシステム開発の
生産性向上の大きな障害となるといった問題がある。
2. Description of the Related Art Conventionally, a method of developing a program that spans a plurality of computers is that a program for each computer is created separately for each computer, and communication between computers is defined by the hardware / software specifications of each computer. Had to describe according to. For this reason, since a series of business processes are managed over a plurality of computers as a plurality of programs for each executing computer, the management and maintenance of the programs becomes complicated. Since it is necessary to decide in advance how to divide the roles of each computer into a series of business processes before creating a program, if an interface failure occurs when linking these programs, or in terms of computer processing performance. If the role assignment among the execution computers changes due to a problem or a change in the computer configuration, it is necessary to redesign the interface and program. Further, the program of each computer needs to be developed in consideration of the hardware / software specifications of each executing computer, which leads to the decentralization of human resources of the programmer and hinders its effective use. Therefore, there is a problem that it becomes a major obstacle to improving the productivity of system development.

【0003】[0003]

【発明が解決しようとする課題】上記従来技術ではプロ
グラムは各計算機ごとに作成しなければならず、プログ
ラムの本数が増え、管理が複雑になる。また、実行計算
機の定める仕様に従ってプログラムを開発しなければな
らない、実行計算機間の通信手順を意識する必要がある
といったシステム開発の生産性向上を阻害する要因があ
る。
In the above-mentioned conventional technique, a program must be created for each computer, which increases the number of programs and complicates management. In addition, there is a factor that hinders the improvement in system development productivity, such as the need to develop a program according to the specifications of the execution computer and the need to be aware of the communication procedure between the execution computers.

【0004】本発明の目的は、複数の計算機にまたがっ
て遂行される業務のソフトウェア開発の効率向上および
管理の単純化、プログラム間のインターフェース記述の
省力化、各計算機の特性に応じた最適な負荷分散の自動
化、通信手順、および稼働計算機構成の変化への柔軟な
対応であり、システム開発の生産性の向上を計ることに
ある。
The object of the present invention is to improve the efficiency of software development and simplify the management of tasks executed over a plurality of computers, save the interface description between programs, and optimize the load according to the characteristics of each computer. It is a flexible response to changes in distribution automation, communication procedures, and operating computer configurations, and is aimed at improving productivity in system development.

【0005】[0005]

【課題を解決するための手段】上記目的を達成するため
に、本発明のプログラム自動生成方式は、以下の方法を
導入する。
In order to achieve the above object, the automatic program generation method of the present invention introduces the following method.

【0006】(1)自動業務分割処理 業務処理用に特化された第四世代言語(たとえばEAG
LE/4GL等)では、業務処理をパターン化してい
る。このような言語では、例えば、画面入力チェック処
理、出力画面編集処理、といった処理単位がパターンの
中に用意されている。このような処理単位毎に実行計算
機を振り分ける処理を第四世代言語のコンパイラで行
う。実行計算機を選択する条件の指定は、(a)処理パ
ターンによって固定とする;(b)第四世代言語コンパ
イラの入力となる業務仕様書中にユーザが記述する;
(c)第四世代言語コンパイラに与えるパラメタで指定
するなどの方法で行う。
(1) Automatic business division processing A fourth generation language (eg, EAG) specialized for business processing
In LE / 4GL, etc., business processing is patterned. In such a language, processing units such as screen input check processing and output screen editing processing are prepared in the pattern. The processing of allocating the execution computer for each processing unit is performed by the fourth generation language compiler. The specification of the condition for selecting the execution computer is (a) fixed according to the processing pattern; (b) described by the user in the business specification that is input to the fourth generation language compiler;
(C) It is performed by a method such as specifying with a parameter given to the fourth generation language compiler.

【0007】例えば、データアクセス関連の処理は、デ
ータ実体を格納している計算機に割り当てる、画面入力
チェックなどのようなユーザインターフェース関連の処
理は、オペレータが操作する計算機に振り当てる。
For example, data access-related processing is assigned to a computer that stores data entities, and user interface-related processing such as screen input check is assigned to a computer operated by an operator.

【0008】(2)異なる実行計算機間の通信処理の自
動生成 パターン化されて分割された処理単位間のインタフェー
スは、ほぼ固定化されており、予め登録されている実行
計算機間の通信手順に基づいて、第四世代言語コンパイ
ラが異なる実行計算機間の通信処理を自動生成する。
(2) Automatic generation of communication processing between different execution computers The interface between the patterned and divided processing units is almost fixed, and based on the communication procedure between the execution computers registered in advance. Then, the fourth generation language compiler automatically generates a communication process between different execution computers.

【0009】(3)最適化 (1)で述べたように明示的に実行計算機を選択する条
件を指定するのではなく、使用可能な実行計算機とその
特性(性能、データの有無、ユーザインタフェ−スの有
無など)、及び実行計算機間の通信の特性(性能、通信
路の幅など)と、処理単位の性質(データアクセス処
理、ユーザインタフェースに関する処理、他の処理単位
と並列に処理可能であるかどうかなど)に従い、最適な
実行計算機の割当てとなるように第四世代言語コンパイ
ラが実行計算機の割当てを行う。
(3) Optimization Rather than explicitly specifying the condition for selecting an execution computer as described in (1), the available execution computers and their characteristics (performance, presence / absence of data, user interface) It can be processed in parallel with other processing units (data access processing, user interface processing, etc.) and the characteristics of communication between execution computers (performance, communication path width, etc.) and the characteristics of processing units. Whether or not), the fourth generation language compiler allocates the execution computers so that the optimum execution computers are allocated.

【0010】ユーザに対するレスポンスを最小にする、
データ転送量を最小にする、CPU負荷を最小にする、
あるいはこれらの指標に一定の重み付けをした指標を最
小にするなど、何が最適であるかという基準は、第四世
代言語コンパイラに対するパラメタとして与える。
Minimize the response to the user,
Minimize the amount of data transfer, minimize the CPU load,
Alternatively, a criterion of what is optimal, such as minimizing the weighted index of these indexes, is given as a parameter to the fourth-generation language compiler.

【0011】[0011]

【作用】一般に業務仕様はあらかじめ定型化しパターン
化した処理単位を複数個組合せたものとして表現できる
ので、このような処理単位ごとに最適な実行計算機を割
当てることができる。また処理単位間に計算機間通信が
行われるものについては、登録された通信手順や伝送デ
ータ形式のパターンに基づいて通信処理プログラムを生
成できる。各処理単位を実行計算機に従ったプログラム
に変換し、通信処理プログラムを付加すれば複数計算機
にまたがる業務プログラムの全体が生成できる。
In general, the business specification can be expressed as a combination of a plurality of processing units that are standardized and patterned in advance, so that an optimum execution computer can be assigned to each such processing unit. Further, for those in which communication between computers is performed between processing units, a communication processing program can be generated based on a registered communication procedure or a pattern of a transmission data format. By converting each processing unit into a program according to the execution computer and adding a communication processing program, the entire business program that spans multiple computers can be generated.

【0012】[0012]

【実施例】以下、本発明の一実施例について図面を用い
て説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings.

【0013】図1は、本実施例のプログラム自動生成方
式の手順を示す図である。業務仕様書1は、まず仕様書
入力部2によって入力される。構文解析部3では、入力
した業務仕様書1の解析を行い業務仕様書の処理単位を
識別する。自動業務分割処理4では、構文解析部3で解
析した結果に基づき業務仕様書1の処理単位毎にどの実
行計算機で実行するかを条件に従って決定する。通信処
理生成5では、実行計算機の情報7として予め登録され
た計算機ごとの通信手順の情報に従い、異なる実行計算
機で実行される処理単位間の通信処理をするプログラム
を生成する。分割プログラムの最適化処理6では、実行
計算機の情報7に基づき、最適となるように各処理単位
の実行計算機を決定する。プログラム生成8では、処理
単位ごとにそれぞれ自動業務分割処理4あるいは最適化
処理6で決定された実行計算機で実行できる形式のプロ
グラムに変換し、通信処理生成5で生成された通信処理
プログラムと合わせて、各実行計算機用のプログラムを
生成する。このようなプログラム自動生成は任意の計算
機で行うことができる。
FIG. 1 is a diagram showing the procedure of the automatic program generation method of this embodiment. The business specification 1 is first input by the specification input unit 2. The syntax analysis unit 3 analyzes the input business specification 1 and identifies the processing unit of the business specification. In the automatic work division processing 4, based on the result of analysis by the syntax analysis unit 3, which execution computer is to be executed for each processing unit of the work specification 1 is determined according to conditions. In the communication process generation 5, according to the information of the communication procedure for each computer registered in advance as the information 7 of the execution computer, a program for performing the communication process between the processing units executed by different execution computers is generated. In the optimization process 6 of the division program, the execution computer of each processing unit is determined to be optimum based on the information 7 of the execution computer. In the program generation 8, each processing unit is converted into a program of a format that can be executed by the execution computer determined by the automatic task division processing 4 or the optimization processing 6, and combined with the communication processing program generated by the communication processing generation 5. , Generate a program for each execution computer. Such automatic program generation can be performed by any computer.

【0014】図2は、本発明を適用する業務仕様の例を
説明する図である。初期画面出力部9は画面10に初期
画面を出力する。オペレータは画面10にデータを入力
する。入力されたデータについて入力データチェック部
11で正当性のチェックを行う。ファイル更新処理12
は、入力されたデ−タに基づきファイル13を更新す
る。帳票発行14は、更新したデータの内容をプリンタ
15に帳票として印刷する。図2の各ボックスで示す処
理がこの業務の処理単位であり、この処理単位がパター
ン化されているので、このような処理パターンを組合せ
ることによって業務仕様書1を構成できる。
FIG. 2 is a diagram for explaining an example of business specifications to which the present invention is applied. The initial screen output unit 9 outputs the initial screen to the screen 10. The operator inputs data on the screen 10. The input data check unit 11 checks the validity of the input data. File update process 12
Updates the file 13 based on the input data. The form issuing 14 prints the content of the updated data on the printer 15 as a form. The processing indicated by each box in FIG. 2 is the processing unit of this business, and since this processing unit is patterned, the business specification 1 can be constructed by combining such processing patterns.

【0015】業務仕様書は、例えば対話業務の場合、次
のようになる。 宣言部(業務で使用する画面・帳票、ファイル名、デ−
タベ−ス名などを宣言する) S1:伝票入力画面 WS1 S2:伝票チェック画面 WS1 R1:コ−ド参照ファイル ホスト U1:伝票ファイル ホスト L1:出力帳票 WS1 手続き部(宣言部で宣言した画面・帳票、ファイル、デ
−タベ−スに対する動作を記述する。) ステップ−S1 入力チェック 画面S1に対する処理を記述する。 ステップ−R1 コ−ド参照 ファイルR1をアクセスする処理を記述する。 ステップ−S2 確認 画面S2に対する処理を記述する。 ステップ−U1 ファイル更新 ファイルU1をアクセスする処理を記述する。 ステップ−L1 帳票出力 帳票L1に対する処理を記述する。
For example, in the case of interactive work, the work specification is as follows. Declaration section (screens / forms, file names, data
Declare tab name etc.) S1: Voucher input screen WS1 S2: Voucher check screen WS1 R1: Code reference file host U1: Voucher file host L1: Output form WS1 Procedures section (screens / forms declared in declaration section) , Operation for file and database is described.) Step-S1 Describe processing for input check screen S1. Step-R1 code reference The processing for accessing the file R1 is described. Step-S2 Describe the processing for the confirmation screen S2. Step-U1 File Update Describe the processing for accessing the file U1. Step-L1 Form output Describe the process for the form L1.

【0016】図3は本発明を適用する業務が稼動するシ
ステムを例示する図である。大型計算機16はファイル
13を管理する。計算機18はたとえばオペレータが操
作するワークステーション(WS)である。19は大型
計算機16とワークステーション18を結ぶ通信回線で
ある。15は帳票を発行するためにワークステーション
18に接続されたプリンタである。10は表示装置の画
面である。このようなシステム構成に関する情報は情報
7の一部である。
FIG. 3 is a diagram illustrating a system in which a business to which the present invention is applied operates. The large-scale computer 16 manages the file 13. The computer 18 is, for example, a workstation (WS) operated by an operator. A communication line 19 connects the large computer 16 and the workstation 18. Reference numeral 15 is a printer connected to the workstation 18 for issuing a form. 10 is a screen of the display device. Information on such a system configuration is part of the information 7.

【0017】従来技術においては、図3のような稼働環
境において図2に示したような業務を実行する場合、業
務プログラムは大型計算機16でのみ稼働する。図2と
図3を使用して従来技術によって開発した業務プログラ
ムの動作を説明する。業務プログラムは、まず初期画面
出力部9で画面出力要求と出力する画面10のデータを
通信回線19を介してワークステーション18に対して
送信する。ワークステーション18の画面10にオペレ
ータが入力したデータは、大型計算機16に通信回線1
9を介して送信される。業務プログラムは、送信された
データを受け取り。入力データチェック部11でデータ
の正当性のチェックを行い、ファイル13の更新を行
う。更に帳票発行14でワークステーション18に接続
されたプリンタ15に対する帳票出力の要求を通信回線
19を介して送信することによって業務処理が終了す
る。
In the prior art, when the business as shown in FIG. 2 is executed in the operating environment as shown in FIG. 3, the business program operates only on the large-scale computer 16. The operation of the business program developed by the conventional technique will be described with reference to FIGS. 2 and 3. The business program first transmits a screen output request and data of the screen 10 to be output by the initial screen output unit 9 to the workstation 18 via the communication line 19. The data entered by the operator on the screen 10 of the workstation 18 is transferred to the large-scale computer 16 via the communication line 1
9 is transmitted. The business program receives the transmitted data. The input data check unit 11 checks the validity of the data and updates the file 13. Further, the form issuing request 14 sends a form output request to the printer 15 connected to the workstation 18 through the communication line 19 to complete the business process.

【0018】図4は自動業務分割処理4の処理の流れを
示すフローチャートである。業務仕様書1中の処理単位
毎に以下に記述する処理を行い、情報7中のシステム構
成に関する情報を参照しながら各処理単位に対して実行
する計算機を割振る処理を行う。まず、処理単位中に明
示的に実行計算機の指定がされているかどうかを判定す
る(ステップ21)。明示的に実行計算機の指定がされ
ている場合には、指定された計算機を当該処理単位の実
行計算機として割振る(ステップ22)。明示的な実行
計算機の指定がされていない場合には、その処理単位が
ユ−ザインタフェース処理であるかどうかを判定する
(ステップ23)。ユーザインタフェース処理とは、画
面出力処理、入力データチェックなどユーザの操作に直
接係る処理であり、どの処理がユーザインタフェース処
理に該当するかは、予め情報として自動業務分割処理4
に与えておく。このようなユーザインタフェース処理
は、ユーザが操作する計算機で行うのが効率的である。
そのため、ステップ23の判定でユーザインタフェース
処理と判定された処理単位について、ステップ24でユ
ーザが操作する計算機を当該処理単位の実行計算機とし
て割振る。プリンタへの出力処理もユーザインタフェ−
ス処理と考えられるが、この場合にはプリンタが接続さ
れている計算機を当該処理単位の実行計算機として割振
る。ステップ23の判定でユーザインタフェース処理で
ないと判定された処理単位について、ステップ25の判
定でデータアクセス処理であるかどうかを判定する。デ
ータアクセス処理とは、ファイル13あるいはデータベ
ースなどのデータ格納場所からのデータの入力、出力、
更新などの処理である。データアクセス処理はデータ格
納装置と接続されている計算機で行うほうが効率がよ
い。そのため、ステップ25の判定でデータアクセス処
理と判定された処理単位について、ステップ26によっ
てデータ格納装置と接続されている大型計算機16を当
該処理単位の実行計算機として割振る。ステップ25の
判定でデータアクセス処理でないと判定された処理単位
については、ステップ27でパターン情報として処理単
位の種類に対応して予め定められている計算機を実行計
算機として割振る。ステップ28で次の処理単位を実行
計算機を割振り対象とする。ステップ29の判定ですべ
ての処理単位に実行計算機が割振られていれば、処理を
終了する。実行計算機を割振るべき処理単位が残ってい
れば、ステップ21に戻って再び実行計算機を処理単位
に割振る処理を行う。
FIG. 4 is a flow chart showing the flow of processing in the automatic job division processing 4. The processing described below is performed for each processing unit in the job specification 1, and the computer to be executed is allocated to each processing unit while referring to the information on the system configuration in the information 7. First, it is determined whether or not the execution computer is explicitly designated in the processing unit (step 21). When the execution computer is explicitly designated, the designated computer is allocated as the execution computer of the processing unit (step 22). If no explicit execution computer is designated, it is determined whether the processing unit is user interface processing (step 23). The user interface process is a process directly related to a user operation such as a screen output process and an input data check, and which process corresponds to the user interface process is automatically processed by the automatic job division process 4 as information.
Give to. Such user interface processing is efficiently performed by a computer operated by the user.
Therefore, for the processing unit determined to be the user interface processing in the determination in step 23, the computer operated by the user in step 24 is allocated as the execution computer of the processing unit. User interface for output processing to printer
In this case, the computer to which the printer is connected is allocated as the execution computer of the processing unit. For the processing unit determined to be not the user interface processing in the determination in step 23, it is determined whether it is the data access processing in the determination in step 25. Data access processing is the input / output of data from the data storage location such as the file 13 or database.
This is processing such as updating. It is more efficient to perform the data access processing by a computer connected to the data storage device. Therefore, for the processing unit determined to be the data access processing in the determination in step 25, the large-scale computer 16 connected to the data storage device in step 26 is allocated as the execution computer for the processing unit. For the processing unit determined to be not the data access processing in the determination in step 25, the computer predetermined as pattern information corresponding to the type of the processing unit is allocated as the execution computer in step 27. In step 28, the next processing unit is assigned to the execution computer. If it is determined in step 29 that the execution computers are allocated to all the processing units, the processing ends. If there remains a processing unit to which the execution computer is to be allocated, the process returns to step 21 and the processing of allocating the execution computer to the processing unit is performed again.

【0019】業務仕様書として、前述の対話業務のもの
を入力したとする。ステップ−XXで示される、処理単
位の各々に対して、図4で示すフロ−チャ−トのステッ
プ21で実行計算機の指定がされているかどうかを判定
する。実行計算機の指定がされていれば、その処理を指
定された実行計算機に割り振る。実行計算機の指定がな
ければ、画面Snに対する処理単位であれば、ステップ
23の判定でユ−ザインタフェ−ス処理であると判定さ
れ、ユ−ザが操作する計算機、すなわち画面を表示する
計算機をこの処理単位の実行計算機とする。この例で
は、S1,S2に対する処理単位は、WS1が実行計算
機となる。また、Rn,Unなどに対する処理単位であ
れば、ステップ25の判定でデ−タアクセス処理である
と判定され、デ−タが格納されている計算機を、その処
理単位の実行計算機として割り振る。この例では、R
1,U1に対するアクセスの処理単位は、ホストに割り
振られる。
It is assumed that the above-mentioned interactive work is input as the work specification. For each processing unit indicated by step-XX, it is judged at step 21 of the flowchart shown in FIG. 4 whether or not the execution computer is designated. If the execution computer is designated, the process is allocated to the designated execution computer. If the execution computer is not specified, if it is a processing unit for the screen Sn, it is determined to be the user interface process in the determination of step 23, and the computer operated by the user, that is, the computer displaying the screen is selected. The execution computer for each processing unit. In this example, WS1 is the execution computer as the processing unit for S1 and S2. If it is a processing unit for Rn, Un, etc., it is determined in step 25 that it is a data access process, and the computer storing the data is assigned as the execution computer for that processing unit. In this example, R
The processing unit of access to 1, U1 is assigned to the host.

【0020】図5は通信処理生成5の実現例を示す図で
ある。通信処理は、通信手順と通信によって送られるデ
ータの形式によって決めることができる。通信手順は、
実行計算機の種別の組合せと通信手順情報の対応表30
によって定められる。通信手順情報としては、通信を行
うために呼び出す必要のある関数あるいはサブルーチン
とその順序などの情報を格納する。通信によって送られ
るデータの形式は、データを送信する処理単位の種別
と、データを受信する処理単位の種別の組合せと、送信
データ形式の対応表31によって定められる。このよう
な対応表30、31は情報7の一部である。通信処理生
成5は、33で示すような自動業務分割処理4で実行計
算機を割振られた処理単位の情報と処理単位間のデータ
の受渡しの情報とを入力し、異なる実行計算機を割振ら
れた処理単位の間にデータの受渡しがあると、対応表3
0から通信手順を定め、対応表31から受渡すべきデー
タの形式を定め、通信処理を生成する。33に示した情
報を例にとると、送信側計算機種別がAで受信側計算機
種別がBに対応する対応表30の通信手順情報に基づ
き、送信側処理種別がYで受信側処理種別がZであるよ
うな対応表31の送信データ形式のデータを送信するよ
うな通信処理を行うプログラムが生成される。
FIG. 5 is a diagram showing an example of implementation of the communication processing generation 5. The communication process can be determined by the communication procedure and the format of the data sent by communication. The communication procedure is
Correspondence table 30 for combinations of types of execution computers and communication procedure information
Defined by As the communication procedure information, information such as a function or subroutine that needs to be called for communication and its order is stored. The format of the data sent by communication is determined by the combination of the type of the processing unit for transmitting the data, the combination of the types of the processing units for receiving the data, and the correspondence table 31 of the transmission data format. Such correspondence tables 30 and 31 are a part of the information 7. The communication process generation 5 inputs the information of the processing unit to which the execution computer is allocated in the automatic task division process 4 as shown by 33 and the information of the data transfer between the processing units, and the process to which the different execution computers are allocated. Correspondence table 3 when data is passed between units
The communication procedure is defined from 0, the format of the data to be delivered is defined from the correspondence table 31, and the communication process is generated. Taking the information shown in FIG. 33 as an example, based on the communication procedure information in the correspondence table 30 in which the sender computer type is A and the receiver computer type is B, the sender process type is Y and the receiver process type is Z. A program that performs a communication process for transmitting data in the transmission data format of the correspondence table 31 as described above is generated.

【0021】最適化処理6は、自動業務分割処理4への
入力と同じものを入力とし、自動業務分割処理4と同じ
ように実行計算機の割振りを行うが、情報7として登録
された実行計算機の構成情報および実行計算機間の通信
に関する情報から性能などの指標が最適になるような実
行計算機の割当てを行う。最適な割当てを決定する方法
としては、すべての可能な割当てを試みて最適なものを
選択する方法、ダイナミックプログラミングのアルゴリ
ズムを用いる方法、人工知能(AI)の手法を用いて最
適な割当てを求める方法など種々の手法が適用できる。
The optimization process 6 receives the same input as the input to the automatic work division process 4 and allocates the execution computers in the same way as the automatic work division process 4, but the execution computer registered as the information 7 The execution computers are assigned so that the indexes such as performance are optimized from the configuration information and the information about the communication between the execution computers. As a method of determining the optimum allocation, a method of trying all possible allocations to select the optimum one, a method of using a dynamic programming algorithm, and a method of obtaining the optimum allocation using an artificial intelligence (AI) method Various methods can be applied.

【0022】業務仕様書として前述の対話業務のものに
ついて、最適化処理の実現例を説明する。
An example of implementation of the optimization process will be described for the above-mentioned interactive work as the work specification.

【0023】この例では、考えられる実行計算機の組合
せは、図7で示すように32通りある。
In this example, there are 32 possible combinations of execution computers as shown in FIG.

【0024】処理のパタ−ンによって、各処理単位の実
行頻度をある程度予想することができる。
The execution pattern of each processing unit can be predicted to some extent by the processing pattern.

【0025】各処理単位中の命令の実行オ−バヘッド
が、各実行計算機毎に与えられているとして実行頻度の
ウェイトを加味して、32通りのパタ−ンで実行オ−バ
ヘッドの評価値が最低となる実行計算機の割り振りの組
合せを選べば、最適な実行計算機の割り振りとなる。
Assuming that the execution overhead of the instructions in each processing unit is given to each execution computer, the weight of the execution frequency is added, and the evaluation value of the execution overhead is obtained in 32 patterns. Selecting the lowest combination of allocation of execution computers results in the optimum allocation of execution computers.

【0026】一般に、n個の実行処理単位があり、それ
ぞれにm個の実行計算機の候補がある場合実行計算機の
割り振りの組合せは、mのn乗となる。(上記の例で
は、n=5,m=2であり、25=32通りとなってい
る。)そのため、実行計算機の割り振りの組合せが膨大
となることが予想されるが、AI手法などを用いて、全
ての組合せを調べることなく、最適に近い組合せを選択
することにより、処理時間を短縮しながら最適に近い実
行計算機の割り振りを行うことができる。
In general, when there are n units of execution processing, and there are m candidates for execution computers, the combination of allocation of execution computers is m to the n-th power. (In the above example, n = 5, m = 2, and 2 5 = 32 ways.) Therefore, it is expected that the number of combinations of allocation of execution computers will be enormous. By selecting a combination close to the optimum without using all combinations, it is possible to allocate an execution computer close to the optimum while reducing the processing time.

【0027】プログラム生成6は、処理単位ごとに実行
計算機で実行するプログラム・モジュールの形式に変換
し、通信処理プログラムを加えて業務プログラムを完成
する。
The program generation 6 converts each processing unit into a format of a program module executed by an execution computer, and adds a communication processing program to complete a business program.

【0028】即ち、予め定型化された業務のパタ−ンに
合わせた業務処理パタ−ンが用意され、各々の処理パタ
−ンに対し、実行計算機毎に、どのような業務プログラ
ムを作成するかを決定するスケルトンが設けられてい
る。業務処理パタ−ンの中で個々の業務によって変化す
る部分は、業務処理仕様書にユ−ザが記述し、スケルト
ンの中に埋め込まれる。
That is, a business processing pattern is prepared in accordance with a standardized business pattern, and what business program is created for each processing pattern for each execution computer. There is a skeleton that determines. The part of the business process pattern that changes depending on the individual business is described by the user in the business process specification and embedded in the skeleton.

【0029】図6は図2に示した業務を図3に示した稼
働環境で実行する場合に、本発明を適用して自動生成さ
れる業務プログラムの大きな処理の流れを示す図であ
る。ファイル更新処理12からなる大型計算機16側プ
ログラムと、初期画面出力部9、入力データチェック部
11、ファイル更新要求部39、および帳票発行14か
らなる計算機18側プログラムとが、図2に示したよう
な業務を記述した業務仕様書1から生成される。オペレ
ータが計算機18側プログラムを起動すると、初期画面
出力部9で初期画面が画面10に出力される。オペレー
タは、画面10にデータを入力する。入力データチェッ
ク部11の入力チェックでオペレータが入力したデータ
の正当性のチェックを行う。ファイル更新処理12は、
大型計算機16側プログラムに含まれているので、通信
処理生成5で生成されたファイル更新要求39がオペレ
−タが入力したデータを計算機18から大型計算機16
にデータを送信する通信手順に従い送信する。この場合
には、大型計算機16側プログラムの起動要求を、デー
タの送信に先立って行っておく必要がある。大型計算機
16側プログラムは、データを受け取りファイル更新処
理12でファイル13を更新する。計算機18側プログ
ラムは、ファイル更新要求を大型計算機に送った後、帳
票発行14によってプリンタ15に帳票を出力し、処理
を終了する。
FIG. 6 is a diagram showing a large process flow of a business program automatically generated by applying the present invention when the business shown in FIG. 2 is executed in the operating environment shown in FIG. As shown in FIG. 2, the large computer 16 side program including the file update process 12 and the computer 18 side program including the initial screen output unit 9, the input data check unit 11, the file update request unit 39, and the form issuing unit 14 are as shown in FIG. It is generated from the business specification 1 that describes various business. When the operator starts the program on the computer 18 side, the initial screen output unit 9 outputs the initial screen to the screen 10. The operator inputs data on the screen 10. In the input check of the input data check unit 11, the validity of the data input by the operator is checked. The file update process 12
Since the file update request 39 generated in the communication processing generation 5 is included in the program on the large-scale computer 16 side, the data inputted by the operator from the computer 18 is transferred to the large-scale computer 16 from the computer 18.
Send according to the communication procedure to send data to. In this case, it is necessary to make a request to start the program on the side of the large-scale computer 16 before transmitting the data. The program on the side of the large-scale computer 16 receives the data and updates the file 13 in the file update processing 12. After sending the file update request to the large-scale computer, the computer 18 side program outputs the form to the printer 15 by the form issuing 14 and ends the processing.

【0030】[0030]

【発明の効果】本発明によれば、複数の計算機にまたが
る業務処理の開発において、単一の業務仕様書から各計
算機の特性に応じた実行計算機の最適なプログラムの分
割を自動的に行うことができ、異なる実行計算機上で動
作するプログラム間の通信規約の設計及び通信処理の開
発を省略でき、稼動計算機構成の変化への柔軟な対応が
実現でき、このような業務の開発の生産性及び保守性の
向上が可能となる。
According to the present invention, in the development of business processing that spans a plurality of computers, it is possible to automatically divide the optimum program of the execution computer according to the characteristics of each computer from a single business specification. It is possible to eliminate the need to design communication protocols between programs that run on different execution computers and to develop communication processing, and to flexibly respond to changes in the operating computer configuration. The maintainability can be improved.

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

【図1】本発明の実施例であるプログラム自動生成方式
の手順を示す図である。
FIG. 1 is a diagram showing a procedure of a program automatic generation system according to an embodiment of the present invention.

【図2】本発明を適用する業務仕様の例を示す図であ
る。
FIG. 2 is a diagram showing an example of business specifications to which the present invention is applied.

【図3】図2で示した業務が稼働するシステムの構成例
を示す図である。
3 is a diagram showing a configuration example of a system in which the business shown in FIG. 2 operates.

【図4】自動業務分割処理の処理の流れを示すフローチ
ャートである。
FIG. 4 is a flowchart showing a processing flow of automatic job division processing.

【図5】通信処理生成の実現例を示す図である。FIG. 5 is a diagram illustrating an implementation example of communication processing generation.

【図6】図2で示した業務に対して、本発明を適用して
自動生成される業務プログラムの処理の流れを示す図で
ある。
FIG. 6 is a diagram showing a flow of processing of a business program automatically generated by applying the present invention to the business shown in FIG.

【図7】実行計算機の組合せ例を示す図である。FIG. 7 is a diagram showing an example of a combination of execution computers.

【符号の説明】[Explanation of symbols]

1…業務仕様書 4…自動業務分割処理 5…通信処理生成 6…最適化処理 8…プログラム生成 1 ... Business specification 4 ... Automatic business division processing 5 ... Communication processing generation 6 ... Optimization processing 8 ... Program generation

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】複数の計算機にまたがって実行される業務
プログラムの生成方式であって、あらかじめパターン化
された処理単位を複数個組合せた業務仕様を入力する第
1のステップ、前記業務仕様と実行計算機に関する構成
情報に基づいて前記処理単位ごとにプログラムを実行す
る計算機を割当る第2のステップ、前記処理単位間に計
算機間通信が行われるものについて通信手順および電送
データ形式に基づいて通信処理をするプログラムを生成
する第3のステップ、前記処理単位および前記通信処理
プログラムに基づいて前記業務プログラムを生成する第
4のステップを有することを特徴とする複数計算機にま
たがるプログラムの自動生成方式。
1. A method of generating a business program executed across a plurality of computers, the first step of inputting a business specification that combines a plurality of pre-patterned processing units, the business specification and execution. A second step of allocating a computer that executes a program for each processing unit based on the configuration information about the computer, a communication process based on a communication procedure and a transmission data format for communication between computers for the processing unit. And a fourth step of generating the business program based on the processing unit and the communication processing program, the automatic generation method of a program across a plurality of computers.
【請求項2】第2のステップは実行オーバヘッドの評価
値が最低となる実行計算機の組合せパターンを選ぶこと
を特徴とする請求項1記載の複数計算機にまたがるプロ
グラムの自動生成方式。
2. The automatic generation method of a program across a plurality of computers according to claim 1, wherein the second step is to select a combination pattern of execution computers having the smallest evaluation value of execution overhead.
【請求項3】通信手順は、実行計算機の種別の組合せと
通信手順情報の対応表により定まることを特徴とする請
求項1記載の複数計算機にまたがるプログラムの自動生
成方式。
3. The automatic program generation method for a plurality of computers according to claim 1, wherein the communication procedure is determined by a correspondence table of combinations of types of executing computers and communication procedure information.
【請求項4】電送データ形式は、データを送信する処理
単位の種別と、データを受信する処理単位の種別の組合
せと、送信データ形式の対応表により定まることを特徴
とする請求項1記載の複数計算機にまたがるプログラム
の自動生成方式。
4. The transmission data format is defined by a combination of a type of processing unit for transmitting data, a combination of types of processing units for receiving data, and a correspondence table of transmission data formats. An automatic program generation method that spans multiple computers.
【請求項5】通信手順情報は、通信を行なうために呼び
出す必要のある関数/サブルーチンとその順序を示す情
報であることを特徴とする請求項3記載の複数計算機に
またがるプログラムの自動生成方式。
5. The automatic program generation method for a plurality of computers according to claim 3, wherein the communication procedure information is information indicating a function / subroutine that needs to be called for communication and its order.
JP10427992A 1991-04-25 1992-04-23 System for automatically generating program extending over plural computers Pending JPH05134857A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10427992A JPH05134857A (en) 1991-04-25 1992-04-23 System for automatically generating program extending over plural computers

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP3-95385 1991-04-25
JP9538591 1991-04-25
JP10427992A JPH05134857A (en) 1991-04-25 1992-04-23 System for automatically generating program extending over plural computers

Publications (1)

Publication Number Publication Date
JPH05134857A true JPH05134857A (en) 1993-06-01

Family

ID=26436628

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10427992A Pending JPH05134857A (en) 1991-04-25 1992-04-23 System for automatically generating program extending over plural computers

Country Status (1)

Country Link
JP (1) JPH05134857A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009245362A (en) * 2008-03-31 2009-10-22 Nec Corp Automatic distribution system and method
JP2010113384A (en) * 2008-11-04 2010-05-20 Fujitsu Ltd Design support program, design support device, and design support method
JP2013515987A (en) * 2009-12-23 2013-05-09 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Service selection to reduce production costs

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009245362A (en) * 2008-03-31 2009-10-22 Nec Corp Automatic distribution system and method
JP2010113384A (en) * 2008-11-04 2010-05-20 Fujitsu Ltd Design support program, design support device, and design support method
JP2013515987A (en) * 2009-12-23 2013-05-09 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Service selection to reduce production costs

Similar Documents

Publication Publication Date Title
US6175948B1 (en) Method and apparatus for a waveform compiler
JP3546394B2 (en) Method and system for transferring remote procedure calls and responses over a network
US5812843A (en) System and method for executing job between different operating systems
US5555417A (en) Method and apparatus for compiling computer programs with interprocedural register allocation
KR100285223B1 (en) Technique for Programmatically Creating Distributed Object Programs
CN105677812A (en) Method and device for querying data
JPH04229357A (en) Unifying system of applied business program in different kind of network environment
JP2002518732A (en) Type implementation method with parameters compatible with existing library without parameters
JPWO2007023726A1 (en) Information processing system
JP2590045B2 (en) Distributed processing control method and distributed processing system
JP3047998B2 (en) Processor allocation method and apparatus in parallel computer
US5781777A (en) Optimization method for computation partitioning oriented to a distributed memory
US6948170B2 (en) Computer and computer-readable storage medium for command interpretation
KR100791640B1 (en) System for managing workflow on grid and Method thereof
CN111930359B (en) System and method for developing algorithm on heterogeneous embedded system
JPH05134857A (en) System for automatically generating program extending over plural computers
US20050055678A1 (en) Method and apparatus for managing software in computer system using virtual machine
JP3241214B2 (en) Distributed processing apparatus and process execution method
Holocher et al. AMBAS—An Adaptive Method Base Shell
JPH08314699A (en) Method and device for generating operating system, and computer system
Kerbyson et al. Use of performance technology for the management of distributed systems
JPS63174159A (en) Control command processor
Szymanski et al. Parallel programming with recurrent equations
JP2004334767A (en) Information processing method, information processor, and information processing program
KR100272094B1 (en) Object migration system and method