JPH0475182A - Data driving type information processor - Google Patents

Data driving type information processor

Info

Publication number
JPH0475182A
JPH0475182A JP2191817A JP19181790A JPH0475182A JP H0475182 A JPH0475182 A JP H0475182A JP 2191817 A JP2191817 A JP 2191817A JP 19181790 A JP19181790 A JP 19181790A JP H0475182 A JPH0475182 A JP H0475182A
Authority
JP
Japan
Prior art keywords
data
information
data packet
processing
module
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.)
Granted
Application number
JP2191817A
Other languages
Japanese (ja)
Other versions
JPH0743700B2 (en
Inventor
Hironori Terada
浩詔 寺田
Hiroaki Nishikawa
博昭 西川
Tetsuo Yamazaki
哲男 山崎
Mie Inaoka
稲岡 美恵
Kenji Shima
憲司 嶋
Nobufumi Komori
伸史 小守
Shinichi Yoshida
芳田 真一
Toshiharu Hine
日根 俊治
Yoichiro Nishikawa
洋一郎 西川
Hideji Hara
原 秀次
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.)
Mitsubishi Electric Corp
Sharp Corp
Sanyo Electric Co Ltd
Panasonic Holdings Corp
Original Assignee
Mitsubishi Electric Corp
Sharp Corp
Sanyo Electric Co Ltd
Matsushita Electric Industrial Co 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 Mitsubishi Electric Corp, Sharp Corp, Sanyo Electric Co Ltd, Matsushita Electric Industrial Co Ltd filed Critical Mitsubishi Electric Corp
Priority to JP2191817A priority Critical patent/JPH0743700B2/en
Priority to US07/729,727 priority patent/US5341507A/en
Publication of JPH0475182A publication Critical patent/JPH0475182A/en
Publication of JPH0743700B2 publication Critical patent/JPH0743700B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/82Architectures of general purpose stored program computers data or demand driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4494Execution paradigms, e.g. implementations of programming paradigms data driven

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)

Abstract

PURPOSE:To easily perform a high-functional arithmetic processing and to facilitate the description of a program, as well by providing a high-functional instruction processing means which stores processing information required for the processing of high-functional instructions previously and performs arithmetic processing for a data packet having the high-functional instructions. CONSTITUTION:When the data packet including high-functional instructions is inputted to an arithmetic processing means 106, the high-functional instruction processing means 109 performs the arithmetic processing for the data packet according to the previously stored processing information required for the execution of the high-functional instructions. Consequently, even when the high- functional instructions which require much processing information, e.g. instructions correlation arithmetic, classification arithmetic, and calculation arithmetic of structure data are executed, the structure of packets of data inputted to the arithmetic processing means 106 can be equalized to the structure of data packets including simple instructions. Further, the device can be utilized efficiently and the labor required for program preparation is reduced.

Description

【発明の詳細な説明】 [産業上の利用分野] この発明はデータ駆動型情報処理装置に関し、特に、複
数の命令が同時に駆動されるデータ駆動型情報処理装置
に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a data-driven information processing device, and particularly to a data-driven information processing device in which a plurality of instructions are driven simultaneously.

[従来の技術] 従来のノイマン型計算機においては、プログラムとして
種々の命令が予めプログラムメモリに記憶され、プログ
ラムカウンタによってプログラムメモリのアドレスが逐
次指定されることにより順次命令が読出され、その命令
が実行される。
[Prior Art] In a conventional Neumann type computer, various instructions are stored in a program memory in advance as a program, and the instructions are sequentially read out by sequentially specifying addresses in the program memory by a program counter, and the instructions are executed. be done.

一方、データ駆動型情報処理装置は、プログラムカウン
タによる逐次的な命令の実行という概念をもたない非ノ
イマン型計算機の一種である。このようなデータ駆動型
情報処理装置には、命令の並列処理を基本にしたアーキ
テクチャが採用される。データ駆動型情報処理装置にお
いては、演算の対象となるデータが揃い次第、命令の実
行が可能となり、データによって複数の命令が同時に駆
動されるため、データの自然な流れに従って並列的にプ
ログラムが実行される。その結果、演算の所用時間が大
幅に短縮するとみなされている。
On the other hand, a data-driven information processing device is a type of non-Neumann type computer that does not have the concept of sequential execution of instructions using a program counter. Such a data-driven information processing device employs an architecture based on parallel processing of instructions. In data-driven information processing devices, instructions can be executed as soon as the data to be operated on is available, and multiple instructions are simultaneously driven by the data, so programs are executed in parallel according to the natural flow of data. be done. As a result, the time required for calculations is considered to be significantly reduced.

第35図は、従来のデータ駆動型情報処理装置の構成の
一例を示すブロック図である。第36図は、第35図の
データ駆動型情報処理装置におけるプログラム記憶部に
記憶されるデータフロープログラムの一例を示す図であ
る。第37AIm〜第37D図は、第35図のデータ駆
動型情報処理装置において処理されるデータパケットの
フィールド構成の一例を示す図である。以下、これら第
35図〜第37D図を参照して、従来のデータ駆動型情
報処理装置について説明する。
FIG. 35 is a block diagram showing an example of the configuration of a conventional data-driven information processing device. FIG. 36 is a diagram showing an example of a data flow program stored in the program storage unit in the data-driven information processing device shown in FIG. 35. FIGS. 37AIm to 37D are diagrams showing an example of a field configuration of a data packet processed in the data-driven information processing device of FIG. 35. Hereinafter, a conventional data-driven information processing device will be described with reference to FIGS. 35 to 37D.

入力部101には、第37A図に示すようなデータパケ
ットが外部から与えられる。このデータパケットは、第
37A図に示すように、少な(ともノード番号とデータ
とを含んでいる。このデータパケットに含まれるデータ
は処理されるべきデータであり、ノード番号はそのデー
タがどのノードで処理されるかを示すデータである。入
力部101から入力されたデータパケットは、プログラ
ム記憶部102に与えられる。プログラム記憶部102
は、第36図に示すようなデータフロープログラムを記
憶している。このデータフロープログラムの各行は、ノ
ード番号と、命令コードと、フラグとからなる。プログ
ラム記憶部102は、入力されたデータパケットのノー
ド番号に基づいたアドレス指定によって、第36図に示
すように、データフロープログラムの所定の行における
ノード番号と命令コードとフラグとを読出し、入力部1
01から入力されたデータパケットに含まれているデー
タとともに新たなデータパケットに格納し、そのデータ
パケットを出力する。第37B図は、プログラム記憶部
102から出力されるデータパケットを示している。
A data packet as shown in FIG. 37A is applied to the input section 101 from the outside. As shown in FIG. 37A, this data packet contains a small number of nodes (both node numbers and data). The data packet input from the input unit 101 is given to the program storage unit 102.Program storage unit 102
stores a data flow program as shown in FIG. Each line of this data flow program consists of a node number, an instruction code, and a flag. The program storage unit 102 reads out the node number, instruction code, and flag in a predetermined line of the data flow program by addressing based on the node number of the input data packet, as shown in FIG. 1
It stores it in a new data packet along with the data included in the data packet input from 01, and outputs the data packet. FIG. 37B shows a data packet output from the program storage unit 102.

対データ検出部103は、プログラム記憶部102から
出力されるデータパケットの待合せすなわち発火処理を
行なう。すなわち、命令コードが2人力命令を示してい
る場合には、同じノード番号を有する異なる2つのデー
タパケットを検出し、それらのデータパケットに含まれ
るデータAおよびBを、第37C図に示すように1つの
データパケットに格納して出力する。なお、対データ検
出部103は、入力されたデータパケットの命令コード
が1人力命令を示している場合には、入力されたデータ
パケットをそのまま出力する。
The data pair detection unit 103 performs a waiting process, that is, a firing process, for data packets output from the program storage unit 102. That is, when the instruction code indicates a two-manual instruction, two different data packets having the same node number are detected, and data A and B contained in those data packets are processed as shown in FIG. 37C. It is stored in one data packet and output. Note that when the instruction code of the input data packet indicates a one-man command, the paired data detection unit 103 outputs the input data packet as is.

演算処理部104は、対データ検出部103から出力さ
れるデータパケットに対して、命令コードに基づく演算
処理を行ない、第37D図に示すようにその演算結果を
示すデータCをデータパケットに格納して出力する。
The arithmetic processing unit 104 performs arithmetic processing based on the instruction code on the data packet output from the paired data detection unit 103, and stores data C indicating the result of the calculation in the data packet as shown in FIG. 37D. and output it.

出力部105は、演算処理部104から受取ったデータ
パケットに含まれるフラグが、セットされているか否か
に基づいて、そのデータパケットを外部へ出力するかま
たは入力部101に戻してして再びデータ駆動型情報処
理装置内を循環させるかを制御する。
The output unit 105 outputs the data packet to the outside or returns it to the input unit 101 and inputs the data again based on whether a flag included in the data packet received from the arithmetic processing unit 104 is set. Controls whether the information is circulated within the drive type information processing device.

第38図は、データフローグラフの一例を示す図である
。第38図において、ノードN1は加算命令を示し、ノ
ードN2は乗算命令を示し、ノードN3は減算命令を示
す。また、ノードN4はディクリメント命令を示し、ノ
ードN5はインクリメント命令を示す。ノードNl、N
2.N3の命令は2人力命令であり、ノードN4.N5
の命令は1人力命令である。ノードN1の演算結果はノ
ードN2およびN3によって参照される。
FIG. 38 is a diagram showing an example of a data flow graph. In FIG. 38, node N1 indicates an addition instruction, node N2 indicates a multiplication instruction, and node N3 indicates a subtraction instruction. Further, node N4 indicates a decrement instruction, and node N5 indicates an increment instruction. Node Nl, N
2. The command at node N3 is a two-man command, and the command at node N4. N5
This command is a one-person command. The calculation result of node N1 is referenced by nodes N2 and N3.

[発明が解決しようとする課題] 以上説明したような従来のデータ駆動型情報処理装置に
おいては、演算処理部104は算術演算。
[Problems to be Solved by the Invention] In the conventional data-driven information processing device as described above, the arithmetic processing unit 104 performs arithmetic operations.

論理演算等の基本的な演算のみを実行する構成となって
いた。これは、多数のパラメータを必要とするような複
雑な演算を演算処理部104で実行しようとすると、そ
のような演算を実行するために必要なパラメータをデー
タパケットにのせて運ばなければならないが、それでは
データパケット長が極めて長(なり、装置の構成が極め
て大型になってしまうからである。多数のパラメータを
必要とする演算としては、最も典型的には構造体データ
(たとえば表を構成するデータ群のように複数のデータ
が集まって1つの意味を構成するようなデータ群)の操
作のための演算(関係演算、分類演算等)がある。
It was configured to perform only basic operations such as logical operations. This is because when the arithmetic processing unit 104 attempts to execute a complex operation that requires a large number of parameters, the parameters necessary to execute such operation must be carried in a data packet. This is because the data packet length would be extremely long (and the configuration of the device would become extremely large. There are operations (relational operations, classification operations, etc.) for manipulating data groups (such as groups of data that come together to form a single meaning).

一例として、第39図に示すような構造体データの結合
操作を、第35図に示す従来のデータ駆動型情報処理装
置でどのように達成するかについて考えてみる。第39
図に示す操作は、構造体データAの第2項と構造体デー
タBの第1項とか一致したときに、両者を結合して構造
体データCを生成する操作である。なお、構造体データ
Cの第1項には構造体データAの第1項の値が入り、構
造体データCの第2項には構造体データAの第2項の値
が入り、構造体データCの第3項には構造体データBの
第2項が入る。
As an example, let us consider how to accomplish the structure data combination operation shown in FIG. 39 using the conventional data-driven information processing device shown in FIG. 35. 39th
The operation shown in the figure is an operation in which when the second term of structure data A and the first term of structure data B match, they are combined to generate structure data C. Note that the first term of structure data C contains the value of the first term of structure data A, and the second term of structure data C contains the value of the second term of structure data A. The second term of structure data B is entered into the third term of data C.

第40図は、第39図に示すような構造体データの操作
を第35図に示す従来のデータ駆動型処理装置で達成し
ようとした場合に、必要となる動作ステップを示した図
である。すなわち、第39図に示すような操作を従来の
データ駆動型情報処理装置で達成するためには、第39
図に示す操作の内容を細く分析して複数の基本的な演算
に分解し、個々の基本的な演算を1つずつ実行すること
により、全体として第39図に示すような処理を達成す
ることが必要とされる。
FIG. 40 is a diagram showing the operational steps required when the conventional data-driven processing device shown in FIG. 35 attempts to perform the structure data manipulation shown in FIG. 39. That is, in order to accomplish the operation shown in FIG. 39 with a conventional data-driven information processing device,
By analyzing the contents of the operations shown in the figure in detail, breaking them down into a plurality of basic operations, and executing each basic operation one by one, the overall process shown in Figure 39 can be achieved. is required.

以上のごとく、従来のデータ駆動型情報処理装置では、
たとえば構造体データの操作のように多数のパラメータ
を必要とする処理を行なうためには、極めて多数の基本
演算の実行ステップが必要となり、装置の効率的な活用
が図れないという問題点があった。また、プログラムを
作成する際に、そのような複雑な処理をいちいち基本演
算に分解して記述しなければならず、その結果、プログ
ラムの作成に高度な熟練と多大な労力を有するという問
題点もあった。
As mentioned above, in conventional data-driven information processing devices,
For example, in order to perform processing that requires a large number of parameters, such as manipulating structured data, an extremely large number of basic calculation execution steps are required, which poses the problem of not being able to utilize the equipment efficiently. . In addition, when creating a program, such complex processing must be broken down into basic operations and written, which results in the problem of requiring a high degree of skill and a great deal of effort to create the program. there were.

この発明は、上記のような問題を解消するためになされ
たもので、たとえ多数のパラメータを必要とするような
高機能な演算処理であっても、通常の基本演算と同様に
実行が可能であり、またプログラムの記述も簡単ですむ
ようなデータ駆動型情報処理装置を提供することを目的
とする。
This invention was made to solve the above-mentioned problems, and even high-performance calculations that require a large number of parameters can be executed in the same way as ordinary basic calculations. It is an object of the present invention to provide a data-driven information processing device in which the program can be easily written.

[課題を解決するための手段] この発明に係るデータ駆動型情報処理装置は、入力手段
とプログラム記憶手段と対データ検出手段と演算処理手
段と出力制御手段とを備えている。
[Means for Solving the Problems] A data-driven information processing device according to the present invention includes an input means, a program storage means, a paired data detection means, an arithmetic processing means, and an output control means.

入力手段は、少なくともノード番号とデータとを含むデ
ータパケットを入力する。プログラム記憶手段は、デー
タフロープログラムを記憶し、入力手段から与えられる
データパケットに含まれるノード番号に基づいて当該デ
ータフロープログラムの中から少なくとも次位のノード
番号と命令情報とを読出し、それらのノード番号、命令
情報とデータパケット中のデータとを含む新たなデータ
パケットを生成して出力する。対データ検出手段は、プ
ログラム記憶手段から出力されるデータパケットを受取
り、同じノード番号を有する対となるべき2つのデータ
パケットを検出し、これら両方のデータパケット中のデ
ータを有する新たなデータパケットを生成して出力する
。演算処理手段は、対データ検出手段から出力されるデ
ータパケットを受取り、このデータパケットに含まれる
命令情報に基づいてこのデータパケットに含まれるデー
タに関する演算処理を行ない、その演算結果を示すデー
タを含むデータパケットを生成して出力する。出力制御
手段は、演算処理手段から出力されるデータパケットを
受取り、このデータパケットを外部へ出力するかまたは
入力手段に出力するかを制御する。演算処理手段は、分
岐手段と、単純命令処理手段と、高機能命令処理手段と
を含む。
The input means inputs a data packet including at least a node number and data. The program storage means stores the data flow program, reads out at least the next node number and instruction information from the data flow program based on the node number included in the data packet given from the input means, and reads out at least the next node number and instruction information from the data flow program, and A new data packet containing the number, command information and data in the data packet is generated and output. The pair data detection means receives the data packet output from the program storage means, detects two data packets having the same node number to form a pair, and detects a new data packet having the data in both of these data packets. Generate and output. The arithmetic processing means receives the data packet output from the paired data detection means, performs arithmetic processing on the data included in the data packet based on command information included in the data packet, and includes data indicating the result of the arithmetic operation. Generate and output data packets. The output control means receives a data packet output from the arithmetic processing means and controls whether the data packet is output to the outside or to the input means. The arithmetic processing means includes branching means, simple instruction processing means, and high-performance instruction processing means.

分岐手段は、プログラム記憶手段から受取ったデータパ
ケットを、単純命令を有するデータパケットと高機能命
令を有するデータパケットとに分岐する。単純命令処理
手段は、分岐手段によって分岐されたデータパケットの
うち、単純命令を有するデータパケットの演算処理を行
なう。高機能命令処理手段は、予め高機能命令の実行の
ために必要な処理情報を記憶しており、分岐手段によっ
て分岐されたデータパケットのうち、高機能命令を有す
るデータパケットの演算処理を当該処理情報に基づいて
行なう。
The branching means branches the data packet received from the program storage means into a data packet having a simple instruction and a data packet having a sophisticated instruction. The simple instruction processing means performs arithmetic processing on a data packet having a simple instruction among the data packets branched by the branching means. The high-performance instruction processing means stores processing information necessary for executing the high-performance instruction in advance, and performs arithmetic processing on a data packet having a high-performance instruction among the data packets branched by the branching means. Be informed.

[作用] この発明においては、演算処理手段における高機能命令
処理手段が、予め高機能命令の実行のために必要な処理
情報を記憶しており、この処理情報に基づいてデータパ
ケットに含まれる高機能命令を実行するため、多大な処
理情報を必要とするような高機能命令(たとえば関係演
算の命令)を実行する場合にも、演算処理手段へ入力さ
れるデータパケットの構造は単純命令のデータパケット
と同様であり、多大な処理情報をプログラム記憶手段か
ら演算処理手段へデータパケットにのせて運ばなければ
ならないような事態は発生しない。
[Operation] In this invention, the high-performance instruction processing means in the arithmetic processing means stores in advance the processing information necessary for executing the high-performance instruction, and based on this processing information, the high-performance instruction processing means included in the data packet is processed. In order to execute a functional instruction, even when executing a highly functional instruction (for example, a relational operation instruction) that requires a large amount of processing information, the structure of the data packet input to the arithmetic processing means is the same as that of the simple instruction. This is similar to a packet, and there is no need to carry a large amount of processing information from the program storage means to the arithmetic processing means in a data packet.

したがって、演算処理手段は従来に比べて非常に柔軟な
多様な処理を行なうことが可能となる。
Therefore, the arithmetic processing means can perform a wide variety of processing with greater flexibility than in the past.

[実施例] 第1図は、この発明の一実施例の構成を示す概略ブロッ
ク図である。図において、この第1図の実施例では、第
35図における演算処理部104に代えて演算処理部1
06が設けられている。その他の構成は、第35図に示
す従来のデータ駆動型情報処理装置の構成と同様である
[Embodiment] FIG. 1 is a schematic block diagram showing the configuration of an embodiment of the present invention. In the figure, in the embodiment of FIG. 1, the arithmetic processing section 1 is replaced with the arithmetic processing section 104 in FIG.
06 is provided. The rest of the configuration is similar to that of the conventional data-driven information processing device shown in FIG.

演算処理部106は、分岐部107と、単純命令処理部
108と、高機能命令処理部109と、合流部110と
を含んでいる。分岐部107は、対データ検出部103
から与えられたデータパケットに含まれる命令コードに
基づいて、入力されたデータパケットを単純命令処理部
108と高機能命令処理部109とに分岐させる。すな
わち、分岐部107は、入力されたデータパケットに含
まれる命令コードが単純命令(算術演算や論理演算のよ
うな基本的な演算を指令する命令)である場合はそのデ
ータパケットを単純命令処理部108に出力する。一方
、入力されたデータパケットに含まれる命令コードが高
機能命令(たとえば関係演算のような多数の処理パラメ
ータを必要とする高機能な演算を指令する命令)である
場合はそのデータパケットを高機能命令処理部109に
出力する。単純命令処理部108は、算術演算や論理演
算のような基本的な演算を実行するもので、その構成は
第36図における演算処理部104の構成と同様であっ
てよい。したがって、単純命令処理部108は、単純命
令の演算結果を示すデータをデータパケットにのせて合
流部110に出力する。高機能命令処理部109は、高
機能命令の実行のために必要な処理情報を記憶しており
、この処理情報に基づいて高機能命令の実行を行なう。
The arithmetic processing section 106 includes a branching section 107 , a simple instruction processing section 108 , a high-performance instruction processing section 109 , and a merging section 110 . The branching unit 107 is connected to the paired data detection unit 103.
The input data packet is branched to a simple instruction processing unit 108 and a high-performance instruction processing unit 109 based on the instruction code included in the data packet given from the input data packet. That is, if the instruction code included in the input data packet is a simple instruction (an instruction that instructs a basic operation such as an arithmetic operation or a logical operation), the branching unit 107 sends the data packet to the simple instruction processing unit. 108. On the other hand, if the instruction code included in the input data packet is a high-performance instruction (for example, an instruction that instructs a high-performance operation that requires a large number of processing parameters, such as a relational operation), the data packet is It is output to the instruction processing unit 109. The simple instruction processing unit 108 executes basic operations such as arithmetic operations and logical operations, and its configuration may be similar to the configuration of the arithmetic processing unit 104 in FIG. 36. Therefore, the simple instruction processing unit 108 outputs data indicating the calculation result of the simple instruction to the merging unit 110 in a data packet. The high-performance instruction processing unit 109 stores processing information necessary for executing high-performance instructions, and executes the high-performance instructions based on this processing information.

高機能命令処理部109には、被制御装置200が接続
されている。高機能命令処理部109は、高機能命令の
実行過程において生じる種々の処理をこの被制御装置2
00に対して行なう。被制御装置200としては、たと
えばデータメモリや、通信装置や表示器などがある。ま
た、高機能命令処理部109は、高機能命令の演算結果
を示すデータをデータパケットにのせて合流部110に
出力する。合流部110は、単純命令処理部108およ
び高機能命令処理部109から出力されるデータパケッ
トを合流して出力部105に出力する。
A controlled device 200 is connected to the high-performance command processing section 109 . The high-performance command processing unit 109 processes various processes that occur in the process of executing high-performance commands on this controlled device 2.
Do this for 00. Examples of the controlled device 200 include a data memory, a communication device, and a display. Further, the high-performance instruction processing unit 109 outputs data indicating the calculation result of the high-performance instruction to the merging unit 110 in a data packet. The merging unit 110 merges data packets output from the simple instruction processing unit 108 and the high-performance instruction processing unit 109 and outputs the data packets to the output unit 105.

第2図は、第1図に示す高機能命令処理部109のさら
に詳細な構成を示すブロック図である。
FIG. 2 is a block diagram showing a more detailed configuration of the high-performance instruction processing section 109 shown in FIG. 1.

図において、高機能命令処理部109は、ノード番号抽
出回路109aと、命令コード抽出回路109bと、入
力データ抽出回路109Cと、スペックデータメモリ1
09dと、処理回路109eと、出力パケット合成部1
09fとを含む。分岐部107から入力されたデータパ
ケットは、ノード番号抽出回路109a、命令コード抽
出回路109bおよび入力データ抽出回路109cに与
えられ、それぞれにおいてノード番号、命令コードおよ
びデータが抽出される。ノード番号抽出回路109aに
よって抽出されたノード番号はスペックデータメモリ1
09dに与えられる。スペックデータメモリ109dは
、たとえば第3図に示すような高機能命令に必要な処理
情報(パラメータあるいはスペックデータあるいはプロ
グラム情報)を予め記憶している。スペックデータメモ
リ109dは、ノード番号抽出回路109aから与えら
れるノード番号をアドレスとして、そのノード番号に該
当する高機能命令のための処理情報を読出して出力する
。スペックデータメモリ109dから読出された処理情
報は処理回路109eに与えられる。また、処理回路1
09eには、命令コード抽出回路109bによって抽出
された命令コードおよび入−カデータ抽出回路109C
によって抽出されたデータが与えられる。処理回路10
9eは、与えられた命令コードに該当する高機能命令を
、スペックデータメモリ109dから与えられる処理情
報に基づいて実行する。この実行過程において、処理回
路109eは、被制御装置200の制御を行なう。たと
えば、被制御装置200がデータメモリである場合は、
その内部の記憶情報の書換制御を行なう。また、処理回
路109eは、高機能命令の演算処理の結果を示すデー
タを出力パケット合成部109fに出力する。出力パケ
ット合成部109fは、処理回路109eから与えられ
たデータをデータパケットにのせて出力する。
In the figure, the high-performance instruction processing unit 109 includes a node number extraction circuit 109a, an instruction code extraction circuit 109b, an input data extraction circuit 109C, and a specification data memory 1.
09d, processing circuit 109e, and output packet combining unit 1
09f. The data packet input from the branching unit 107 is given to a node number extraction circuit 109a, an instruction code extraction circuit 109b, and an input data extraction circuit 109c, and the node number, instruction code, and data are extracted in each of them. The node number extracted by the node number extraction circuit 109a is stored in the spec data memory 1.
Given on 09d. The spec data memory 109d stores in advance processing information (parameters, spec data, or program information) necessary for high-performance commands as shown in FIG. 3, for example. The spec data memory 109d uses the node number given from the node number extraction circuit 109a as an address, and reads and outputs processing information for the high-performance instruction corresponding to the node number. The processing information read from the spec data memory 109d is given to the processing circuit 109e. In addition, processing circuit 1
09e contains the instruction code extracted by the instruction code extraction circuit 109b and the input card data extraction circuit 109C.
The data extracted by is given. Processing circuit 10
9e executes a high-performance instruction corresponding to the given instruction code based on the processing information given from the spec data memory 109d. During this execution process, the processing circuit 109e controls the controlled device 200. For example, if the controlled device 200 is a data memory,
Controls rewriting of internal storage information. Furthermore, the processing circuit 109e outputs data indicating the result of the arithmetic processing of the high-performance instruction to the output packet synthesis unit 109f. The output packet synthesis unit 109f puts the data given from the processing circuit 109e into a data packet and outputs it.

出力パケット合成部109fの出力は、第1図における
合流部110に与えられる。
The output of the output packet combining section 109f is given to the merging section 110 in FIG.

次に、第1図および第2図に示す実施例において、たと
えば第39図に示すような構造体データの結合操作がど
のようにして処理されるかについて説明する。第39図
に示すような結合操作は、基本演算に分解されることな
く関係演算の1つとして取扱われる。すなわち、プログ
ラム記憶部102内のデ、−タフロープログラム内には
、結合演算(join)を指令するようjoin命令が
対応するノードに記述されているにすぎない。したがっ
て、プログラム記憶部102から出力されるデータパケ
ットには、第4図に示すように命令コードとしてjoi
n命令が含まれることになる。
Next, in the embodiment shown in FIGS. 1 and 2, a description will be given of how a combination operation of structure data as shown in FIG. 39, for example, is processed. A join operation as shown in FIG. 39 is treated as one of the relational operations without being decomposed into basic operations. That is, in the data flow program in the program storage unit 102, a join instruction is simply written in a corresponding node to instruct a join operation. Therefore, the data packet output from the program storage unit 102 includes a joi instruction code as shown in FIG.
This will include n instructions.

また、データパケットは、各構造体データの実際のデー
タがのせられるのではなく、その構造体データのポイン
タの情報すなわちアドレス情報がのせられる。
Further, the data packet does not carry the actual data of each structure data, but carries pointer information, that is, address information of the structure data.

対データ検出部103は、同じノード番号(たとえばN
)を有する2組のデータパケットの待合せを行なう。こ
の待合せの結果、同じノード番号Nを有する2組のデー
タパケットが検出されたとすると、対データ検出部10
3は第4図に示すような発火処理を行ない、構造体デー
タAのポインタ情報と構造体データBのポインタ情報と
を1つのデータパケットにのせて出力する。分岐部10
7は、対データ検出部103から与えられたデータパケ
ットに含まれる命令コードがたとえばj。
The paired data detection unit 103 detects the same node number (for example, N
), the two sets of data packets are queued. As a result of this waiting, if two sets of data packets having the same node number N are detected, the paired data detection unit 10
3 performs firing processing as shown in FIG. 4, and outputs pointer information of structure data A and pointer information of structure data B in one data packet. Branch part 10
7, the instruction code included in the data packet given from the paired data detection unit 103 is, for example, j.

in命令のような高機能命令であった場合は、そのデー
タパケットを高機能命令処理部109に与える。高機能
命令処理部109では、与えられたデータパケットの中
からノード番号と命令コードとデータとを抽出する。抽
出されたノード番号Nはスペックデータメモリ109d
に与えられ、このノード番号Nに対応する処理情報がス
ペックデータメモリ109dから読出される。第3図に
示すように、スペックデータメモリ109dには、各ノ
ード番号別に高機能命令の処理のために必要な種々の情
報が記憶されている。この処理情報としては、入力デー
タと出力データとの形態および処理パラメータ等が含ま
れている。
If it is a high-performance instruction such as an in instruction, the data packet is given to the high-performance instruction processing unit 109 . The high-performance instruction processing unit 109 extracts the node number, instruction code, and data from the given data packet. The extracted node number N is stored in the spec data memory 109d.
The processing information corresponding to this node number N is read from the spec data memory 109d. As shown in FIG. 3, the spec data memory 109d stores various information necessary for processing high-performance instructions for each node number. This processing information includes the formats of input data and output data, processing parameters, and the like.

スペックデータメモリ109dから読出されたデータは
、処理回路109eに与えられる。処理回路109eは
、ディジタル・シグナル・プロセッサや、マイクロコン
ピュータ等によって構成されており、与えられた処理情
報に基づいて高機能命令の実行処理を行なう。すなわち
、処理回路109eは、入力データ抽出回路109cに
よって抽出された各構造体データAおよびBのポインタ
情報に基づいて、被制御装置200(ここではデータメ
モリとする)内における構造体データAおよびBをアド
レス指定し、構造体データAの第2項と構造体データB
の第2項とが等しいか否かを判定する。両データが等し
いと判定された場合は、データメモリ200内のあるエ
リアに構造体データCを書込む。このとき、構造体デー
タCの第1項には構造体データAの第1項の値を書込み
、構造体データCの第2項には構造体データAの第2項
の値を書込み、構造体データCの第3項には構造体デー
タBの第2項を書込む。このようにして、被制御装置2
00内には、構造体データAおよびBを結合した結果で
ある構造体データCが生成されることになる。一方で、
処理回路109eは、構造体データCのポインタ情報を
出力パケット合成部109fに与える。出力パケット合
成部1゜9fは、第4図に示すように構造体データCの
ポインタ情報を含むデータパケットを生成し、合流部1
10に出力する。
The data read from the spec data memory 109d is given to the processing circuit 109e. The processing circuit 109e is constituted by a digital signal processor, a microcomputer, etc., and executes high-performance instructions based on the processing information provided. That is, the processing circuit 109e extracts the structure data A and B in the controlled device 200 (here, data memory) based on the pointer information of each structure data A and B extracted by the input data extraction circuit 109c. , and the second term of structure data A and structure data B
It is determined whether or not the second term is equal to the second term. If it is determined that both data are equal, structure data C is written to a certain area within the data memory 200. At this time, the value of the first term of structure data A is written to the first term of structure data C, the value of the second term of structure data A is written to the second term of structure data C, and the value of the second term of structure data A is written to the second term of structure data C. The second term of structure data B is written into the third term of structure data C. In this way, the controlled device 2
In 00, structure data C, which is the result of combining structure data A and B, is generated. on the other hand,
The processing circuit 109e provides pointer information of the structure data C to the output packet synthesis unit 109f. The output packet synthesis unit 1゜9f generates a data packet containing pointer information of the structure data C as shown in FIG.
Output to 10.

上記のごとく第1図および第2図に示す実施例では、多
大な処理情報を必要とする高機能命令、たとえば関係演
算の命令を実行する場合にも、演算処理部106に入力
されるデータパケットの構造は、第4図に示すごとく単
純命令のデータパケットと同様であり、多大な処理情報
をプログラム記憶部102から演算処理部106へデー
タパケットにのせて運ぶ必要はない。したがって、演算
処理部106では、従来のデータ駆動型情報処理装置に
比べて非常に柔軟に多様な処理を行なうことが可能とな
る。また、データフロープログラムを記述する際にも、
高機能な演算を基本演算と同様に取扱うことができるた
め、プログラム作成作業が極めて簡単なものとなる。
As described above, in the embodiments shown in FIGS. 1 and 2, data packets input to the arithmetic processing unit 106 are also used when executing high-performance instructions that require a large amount of processing information, such as relational operation instructions. The structure of is similar to the data packet of a simple instruction as shown in FIG. 4, and there is no need to carry a large amount of processing information from the program storage unit 102 to the arithmetic processing unit 106 in a data packet. Therefore, the arithmetic processing unit 106 can perform a variety of processes with greater flexibility than conventional data-driven information processing devices. Also, when writing data flow programs,
Since highly functional calculations can be handled in the same way as basic calculations, program creation becomes extremely simple.

なお、第1図および第2図に示す実施例で実行される関
係演算としては、第39図に示す結合演算の他に、種々
のものがある。以下には、関係演算のその他の例をいく
つか示しておく。
Note that there are various types of relational operations executed in the embodiments shown in FIGS. 1 and 2 in addition to the join operation shown in FIG. 39. Below are some other examples of relational operations.

(1) 直積演算(product) 直積演算は、第5A図に示すように、構造体データAと
構造体Bとのすべての要素を組合せて連結する演算であ
る。
(1) Cartesian Product Operation (Product) The Cartesian product operation is an operation that combines and connects all elements of structure data A and structure B, as shown in FIG. 5A.

(2) 制約演算(restriction)制約演算
は、第5B図に示すように、ある構造体データから特定
の項目の要素をキーとして取出す演算である。
(2) Restriction operation (restriction) As shown in FIG. 5B, a restriction operation is an operation for extracting an element of a specific item from a certain structure data as a key.

(3) 合併演算(union) 合併演算は、第5C図に示すように、構造体データAと
Bとの項の内容がある条件を満たすとき(たとえば一致
するとき)、構造体データAおよびBを連結する演算で
ある。
(3) Union operation (union) As shown in FIG. This is an operation that concatenates .

(4) 射影演算(projection)射影演算は
、第5D図に示すように、ある構造体データから特定の
項目を抽出して新たな構造体データを生成する演算であ
る。
(4) Projection operation (projection) As shown in FIG. 5D, a projection operation is an operation that extracts a specific item from a certain structure data to generate new structure data.

以上の関係演算は、すべて高機能命令としてプログラム
記憶部102内のデータフロープログラムに記述され、
高機能命令処理部109において実行される。
All of the above relational operations are written in the data flow program in the program storage unit 102 as high-performance instructions.
It is executed in the high-performance instruction processing unit 109.

次に、この発明によるデータ駆動型情報処理装置を用い
て構成されたプログラム開発装置について説明する。な
お、以下に説明するプログラム開発装置は、利用者に対
し1つの仕様定義を複数の言語を用いて多面的に行なう
ことを可能とし、了解性および記述性ならびに操作性の
優れたソフトウェア開発環境を提供するとともに、その
目的ソフトウェアシステムを実行可能なプログラムへ変
換し実行することにより、生成されたプログラムのシミ
ュレーションおよび実行を可能とすることを目的として
開発された全く新規なプログラム開発装置であることを
予め指摘してお(。
Next, a program development apparatus constructed using the data-driven information processing apparatus according to the present invention will be described. The program development device described below enables the user to define a single specification from multiple perspectives using multiple languages, and provides a software development environment with excellent understandability, descriptive ability, and operability. It is a completely new program development device developed for the purpose of converting a software system into an executable program and executing it, thereby making it possible to simulate and execute the generated program. Please point it out in advance (.

第6図はこの発明のデータ駆動型情報処理装置を用いて
構成されたプログラム開発装置の全体の構成を概略的に
示す図である。第6図に示すプログラム開発装置は、各
々が異なる表現形式に従った描画・編集機能を備える間
約エディタE1〜Enと、利用者から与えられた仕様記
述に従ってプログラムを作成する本体装置1とを含む。
FIG. 6 is a diagram schematically showing the overall configuration of a program development device configured using the data-driven information processing device of the present invention. The program development device shown in FIG. 6 includes editors E1 to En, each of which has drawing and editing functions according to different expression formats, and a main unit 1 that creates a program according to the specification description given by the user. include.

図形エディタE1〜Enの各々は、好ましくは個々独立
のプロセスで実現され、各図形エディタE1〜Enは本
体装置1と通信可能である。ここで図形エディタE1〜
Enの各々と本体装置1との間が通信可能であるのは、
プログラム開発の容易性および将来の機能拡張を考慮し
、それぞれの図形エディタE1〜Enのプロセスと本体
装置1とがたとえばソケットを用いたプロセス間通信で
結合されているからである。
Each of the graphic editors E1 to En is preferably realized by an independent process, and each of the graphic editors E1 to En can communicate with the main device 1. Here, figure editor E1~
The communication between each En and the main device 1 is as follows.
This is because, in consideration of ease of program development and future functional expansion, the processes of the graphic editors E1 to En are connected to the main unit 1 through interprocess communication using, for example, sockets.

図形エディタE1〜Enが与える表現形式は、図形表現
形式および非手続的な記述形式を含む。
The representation formats provided by the graphic editors E1 to En include a graphic representation format and a non-procedural description format.

図形表現形式は、機能ブロック図およびシーケンスチャ
ート等の表現形式を含む。
The graphic representation format includes representation formats such as a functional block diagram and a sequence chart.

機能ブロック図は、第7図に示すようにモジュール(ソ
フトウェアにおいて、ある意味的にまとまりを持った単
位)間の接続関係を表現する表現形式である。
As shown in FIG. 7, a functional block diagram is an expression format that expresses connection relationships between modules (units that have a sense of unity in software).

第7図は機能ブロック図を用いた仕様記述形式の一例を
示す図である。第7図においては、外部モジュール10
と内部モジュール11との間のデータ接続関係が示され
る。外部モジュール10は、仕様記述対象外の外部の機
能を表現するモジュールである。内部モジュール11は
、仕様記述対象の機能を表現するモジュールである。こ
の外部モジュール10と内部モジュール11との間にお
いてはデータアーク12によりそのデータの流れが入出
力ボートP1〜P4とともに規定される。
FIG. 7 is a diagram showing an example of a specification description format using a functional block diagram. In FIG. 7, the external module 10
A data connection relationship between the internal module 11 and the internal module 11 is shown. The external module 10 is a module that expresses an external function that is not subject to specification description. The internal module 11 is a module that expresses a function to be specified. A data arc 12 defines the flow of data between the external module 10 and the internal module 11 together with the input/output ports P1 to P4.

この内部モジュールはプリミティブ、部品(部分的に完
結した仕様記述であり、ファイルに登録される)を含む
This internal module includes primitives and parts (partially completed specification descriptions, registered in files).

シーケンスチャートは、第8図に示すように入出力デー
タの因果関係およびモジュール間のデータ送受の関係等
を示す図である。第8図においては外部モジュール10
と内部モジュール11との間のデータの流れを示す。こ
のシーケンスチャートにおいては、モジュールとそのポ
ートとは1本の順序線(縦線)により示される。順序線
は時間軸を示しており、信号が流れる時間的関係をも表
わす。このモジュール10.11間のデータの流れは信
号線13により表わされる。この信号線13により、モ
ジュール間のデータの接続関係および因果関係が示され
る。
The sequence chart is a diagram showing the causal relationship of input/output data, the relationship of data transmission/reception between modules, etc., as shown in FIG. In FIG. 8, the external module 10
3 shows the flow of data between the internal module 11 and the internal module 11. In this sequence chart, a module and its port are indicated by a single order line (vertical line). The sequence line indicates the time axis and also represents the temporal relationship in which signals flow. The data flow between this module 10.11 is represented by signal line 13. This signal line 13 indicates data connections and causal relationships between modules.

非手続的な記述形式は、関係表、決定表などの表形式で
示される表現形式を含む。関係表は、第9図に示すよう
に関係データ構造を示す。第9図において、関係表は、
表の名称を表示する領域14と、この表に含まれる項目
を示す名称が表示される項目名領域15と、項目のデー
タの型(int(整数)、float (浮動小数点)
およびString(ストリング))を示す領域16と
、項目の実際のデータ値が入出力される領域17を含む
。決定表は、第10図に示すように、処理の選択構造を
表わす表現形式である。第10図において、決定表は、
決定表モジュール名を表示する領域18と、判断条件が
表示される領域19と、判断の結果実行される処理の名
称が表示される領域20と、条件に対する判断を表示す
る領域21と、条件判断に基づく処理の実行の有無を示
す判断を表示する領域22を含む。
Non-procedural description formats include expression formats shown in tabular formats such as relational tables and decision tables. The relational table shows the relational data structure as shown in FIG. In Figure 9, the relationship table is
An area 14 that displays the name of the table, an item name area 15 that displays the names of the items included in this table, and the data type of the item (int (integer), float (floating point)
and String), and an area 17 in which the actual data value of the item is input/output. The decision table, as shown in FIG. 10, is an expression format representing the selection structure of processing. In Figure 10, the decision table is
An area 18 for displaying the decision table module name, an area 19 for displaying judgment conditions, an area 20 for displaying the name of the process to be executed as a result of the judgment, an area 21 for displaying the judgment for the conditions, and a condition judgment area. It includes an area 22 that displays a judgment indicating whether or not to execute processing based on the above.

上述の表現形式に加えて、利用可能な表現形式としては
、データの包含関係を示すデータブロック図、関係演算
を中心とする構造体データ処理を表わす表操作図などが
ある。
In addition to the above-mentioned representation formats, available representation formats include data block diagrams showing data inclusion relationships, and table operation diagrams showing structure data processing centered on relational operations.

第11図にデータブロック図による表現形式の一例を示
し、第12図に表操作図の表現形式の一例を示す。
FIG. 11 shows an example of the representation format using a data block diagram, and FIG. 12 shows an example of the representation format of the table manipulation diagram.

第11図において、データブロック図は、データセット
名領域23と、この領域23のデータが含む要素数を表
示する領域24と、領域23にセットされたデータのメ
ンバーを構成するメンバーデータ名または下位階層のデ
ータセット名を表示する領域26と、メンバーデータの
データ型(int、floatSSirtngs 5t
ruct)を表示する領域25とを含む。この領域24
はデータが配列構造のときのみ記述される。データ型が
5tructの場合には、このデータは下位に対して階
層化していることを示している。各データはAND接続
27かまたはOR接続28でその接続関係が示される。
In FIG. 11, the data block diagram includes a data set name area 23, an area 24 that displays the number of elements included in the data in this area 23, and member data names or subordinate data that constitute the members of the data set in the area 23. An area 26 that displays the data set name of the hierarchy and the data type of member data (int, floatSSirtngs 5t
ruct). This area 24
is written only when the data has an array structure. When the data type is 5 truct, this data indicates that the data is hierarchical with respect to the lower level. The connection relationship of each data is indicated by an AND connection 27 or an OR connection 28.

第12図に示す表操作図は関係表B1およびB2を所定
の操作に従って処理して新たな関係表B3を形成してい
る状態を一例として示す。この操作は合併操作といわれ
ている。表操作図における操作は、この合併操作に限定
されず各種関係演算、分類演算、計算演算等を含む。関
係演算はある関係を満足するように表を操作する演算で
ある。分類演算は表の行をアルファベット順、数値の大
小順等の所定の順に従って並べ換える操作である。
The table operation diagram shown in FIG. 12 shows, as an example, a state in which relational tables B1 and B2 are processed according to a predetermined operation to form a new relational table B3. This operation is called a merger operation. The operations in the table operation diagram are not limited to this merging operation, but include various relational operations, classification operations, calculation operations, and the like. Relational operations are operations that manipulate tables to satisfy certain relationships. The classification operation is an operation of rearranging the rows of a table according to a predetermined order, such as alphabetical order or numerical order.

計算演算は、表の特定の列について合計値、平均値など
の計算結果を求める操作である。
A calculation operation is an operation to obtain a calculation result such as a total value or an average value for a specific column of a table.

第6図へ戻って、本体装置1は、利用者が図形エディタ
E1〜Enを用いて生成した間約仕様記述から得られる
情報を融合して、プログラム実行に必要な制御情報を備
えたコンストラクト情報を生成するとともに、異なる表
現形式を有する図形仕様記述間の情報の相互変換および
モジュール階層間における基本情報の生成を行なって利
用者に提示する相互変換装置C■と、相互変換装置Cv
で生成されたコンストラクト情報に従ってプログラムを
解釈・実行し、該実行結果を利用者に提示する実行装置
EXと、図形仕様記述用図形エディタE1〜Enと相互
変換装置CV1実行装置EXおよび部品管理装置CPと
の間での情報交換のための通信を管理する入出力装置1
0.および各処理装置EX、CV、CPが扱うデータ構
造を統合的に管理する統合ファイル管理装置UFとを含
む。
Returning to FIG. 6, the main device 1 fuses information obtained from the shortcut specification descriptions generated by the user using the graphic editors E1 to En to create construct information that includes control information necessary for program execution. and a mutual conversion device Cv, which mutually converts information between graphic specification descriptions having different expression formats and generates basic information between module hierarchies and presents them to the user.
An execution device EX that interprets and executes a program according to the construct information generated by the program and presents the execution results to the user, graphic editors E1 to En for describing graphic specifications, mutual conversion devices CV1, an execution device EX, and a parts management device CP. Input/output device 1 that manages communication for exchanging information with
0. and an integrated file management device UF that integrally manages data structures handled by each processing device EX, CV, and CP.

部品管理装置CPは、ソフトウェアにおいである部分的
に完結した仕様記述を「部品」として登録するとともに
、該登録された「部品」を再利用するための動作を管理
する。
The component management device CP registers a partially completed specification description in software as a "component" and manages operations for reusing the registered "component".

コンストラクト情報は、生成された仕様記述情報を制御
構造を含む処理モデルの動作方式に対応するように変換
して得られる情報である。この処理モデルとしてはデー
タ駆動モデルが一例として用いられている。このデータ
駆動モデルを処理モデルとするためには、制御ノードお
よび制御アークを生成する必要がある。コンストラクト
情報には、ノードが仕様記述情報のモジュールに、また
アークがモジュール間のデータ接続に対応づけられる。
The construct information is information obtained by converting the generated specification description information so as to correspond to the operation method of the processing model including the control structure. A data-driven model is used as an example of this processing model. In order to use this data-driven model as a processing model, it is necessary to generate control nodes and control arcs. In the construct information, nodes are associated with modules of specification description information, and arcs are associated with data connections between modules.

入出力装置■0は、利用者との間のインタフェース、利
用者の指示に基づく各処理装置の実行制御および各処理
装置間で授受されるデータの管理の機能を備える。
The input/output device (2) 0 has the functions of an interface with the user, execution control of each processing device based on instructions from the user, and management of data exchanged between the processing devices.

利用者との間のインタフェースは以下のものを備える。The interface with the user includes the following:

■図形エディタを利用した表現形式による仕様記述、■
相互変換結果の表示、■対応付は機能、■引用機能、■
プロトタイピング機能、■部品登録・再利用、および■
ドキュメントの出力を含む。
■Description of specifications in an expression format using a graphic editor,■
Display of mutual conversion results, ■ Correspondence is a function, ■ Citation function, ■
Prototyping function, ■Parts registration/reuse, and ■
Contains documentation output.

図形エディタを利用した各表現形式による仕様の記述に
は次の方法が可能である。
The following methods can be used to describe specifications in each expression format using a graphic editor.

(a) 利用者が表現形式の種類と仕様記述名を指定す
る。この仕様記述名の指定は既に登録されている仕様記
述を再利用する場合に行なわれ、新規作成時には新しい
仕様記述名を入力する。
(a) The user specifies the type of expression format and the name of the specification description. This specification description name is specified when reusing an already registered specification description, and when creating a new specification description, a new specification description name is input.

(b)  既に記述されている仕様を詳細化するかまた
は階層的に記述を進めるために、既存の仕様記述内の図
形要素および表現形式を指定する。
(b) Specify graphical elements and expression formats in the existing specification description in order to make the already written specification more detailed or to proceed with the description in a hierarchical manner.

この場合指定された図形要素に対応する表現形式を用い
て仕様記述が行なわれる。
In this case, specifications are written using an expression format corresponding to the designated graphical element.

同一モジュールに対し異なる表現形式で仕様記述するこ
とができる。この場合、相互変換装置C■はその内部の
相互変換用ルールテーブル検索に従って、対応する表現
形式をエディタに知らせ、この対応の変換された表現形
式が利用者に表示される。1つの仕様記述が異なる表現
形式により実行することができるので、記述内容の多面
的な把握が容易となり、より完全な仕様を作成すること
が可能となる。
Specifications can be written for the same module in different expression formats. In this case, the mutual conversion device C2 informs the editor of the corresponding expression format according to the internal mutual conversion rule table search, and this corresponding converted expression format is displayed to the user. Since one specification description can be executed using different expression formats, it becomes easier to understand the description contents from multiple aspects, and it becomes possible to create a more complete specification.

対応づけ機能は、意味的に等価な情報(たとえば、デー
タ同志または機能モジュール同志等)を異なる表現形式
間で関係づける機能である。この機能は、種々の表現形
式に従って記述された仕様を順次統合化していくために
、それぞれ独立に記述された種々の仕様情報を相互に関
係づけるために必要とされる。
The association function is a function that associates semantically equivalent information (for example, data or functional modules) between different expression formats. This function is required to interrelate various types of independently written specification information in order to sequentially integrate specifications written according to various expression formats.

すなわち、第13図に示すように、機能ブロック図で表
現されたモジュールM7は、操作表図を用いても表わす
ことができる。この表操作図で表わされたモジュールM
7と機能ブロック図で表示されたM7とは意味的に等価
である。この場合、この異なる表現形式で表わされたモ
ジュールM7が図に矢印で示すように、意味的に同一で
あると関係づけられる。この操作を「対応づけ」操作と
呼ぶ。
That is, as shown in FIG. 13, the module M7 expressed in a functional block diagram can also be expressed using an operation table diagram. Module M represented by this table manipulation diagram
7 and M7 shown in the functional block diagram are semantically equivalent. In this case, the modules M7 expressed in different expression formats are related to each other as being semantically the same, as indicated by the arrows in the figure. This operation is called a "matching" operation.

また各表現形式間においては、互いに情報を共有してい
る場合がある。この場合、既に記述された仕様情報を他
の表現形式での記述時に引用すれば記述時における作業
量を減することができる。
Furthermore, each expression format may share information with each other. In this case, the amount of work during writing can be reduced by quoting the already written specification information when writing in another expression format.

このある表現形式で記述された情報を他の表現形式へ用
いることを「引用」と呼ぶ。たとえば第13図に示すよ
うに関係表で示されたモジュールM10は、表操作図で
表現された表MIOと同一である。この場合、図に矢印
で示すように、関係表の表MIOが表操作図での表現形
式に従った記述時に引用される。また同様に表操作図に
おける表M8は、関係表で表現された表M8と同一であ
る。
This use of information written in one expression format in another expression format is called "quotation." For example, as shown in FIG. 13, the module M10 represented by a relational table is the same as the table MIO represented by a table operation diagram. In this case, as shown by the arrow in the figure, the table MIO of the relational table is cited when describing in accordance with the expression format in the table operation diagram. Similarly, table M8 in the table manipulation diagram is the same as table M8 expressed as a relational table.

この場合も、関係表で表現されたM8が表操作図の表現
形式に従った記述時に引用される。
In this case as well, M8 expressed in the relational table is cited when writing in accordance with the expression format of the table manipulation diagram.

プロトタイピング機能は、部分的に完結した仕様記述の
実行結果を確認する機能である。このプロトタイピング
においては、各階層独立に仕様記述の実行結果を確認す
ることができる。このプロトタイピング時における入出
力データの指定、および入力データの作成は指定された
データ構造に従って利用者が行なう。
The prototyping function is a function for checking the execution results of partially completed specification descriptions. In this prototyping, the execution results of the specification description can be confirmed independently for each layer. The user specifies input/output data and creates input data during prototyping according to the specified data structure.

部品登録・再利用のためのインタフェースは、部品管理
装置CPに対し部品の登録および登録された部品の利用
を指示する。
The interface for parts registration/reuse instructs the parts management device CP to register parts and use the registered parts.

ドキュメントの出力機能は、種々の表現形式を用いて記
述された仕様記述に対し、各表現形式ごとに記述された
間約な仕様記述をハードコピーとしてプリンタに出力し
、そのままソフトウェアの設計ドキュメントとして利用
可能とする。
The document output function outputs a compact specification description written in each expression format to a printer as a hard copy for specification descriptions written using various expression formats, and can be used as a software design document as is. possible.

入出力装置IOと各処理装置との間のインタフェースに
ついて説明する。まず図形エディタとの間のインタフェ
ースについて説明する。
The interface between the input/output device IO and each processing device will be explained. First, the interface with the graphic editor will be explained.

入出力装置IOは、利用者が指定した各種の図形エディ
タの起動および終了制御を行なう。また、入力された仕
様記述の名前および図形エディタの種類等、エディタの
起動および終了時に必要とされる情報を管理する。この
動作は以下のものを含む。
The input/output device IO controls the startup and termination of various graphic editors designated by the user. It also manages information required when starting and terminating the editor, such as the name of the input specification description and the type of graphic editor. This operation includes:

(a)  利用者が表現形式の種類と仕様記述の名前を
指定すれば、入出力装置■0は、指定された表現形式に
相当する図形エディタを起動し、がつ同時に、仕様記述
の名前をこの起動された図形エディタへ渡す。
(a) When the user specifies the type of expression format and the name of the specification description, the input/output device ■0 starts the graphic editor corresponding to the specified expression format, and at the same time inputs the name of the specification description. Pass to this activated shape editor.

(b)  各図形エディタはその内部に他の図形エディ
タを起動するための機能を備えている。あるエディタ内
で指定した図形要素(エディタが表示する操作ツールに
含まれる図形要素)および表現形式の種類が入出力装置
へ通知される。この図形要素は表現形式の種類によりシ
ンボルの種類や形状が異なる。入出力装置■0は、この
指定された表現形式に相当する図形エディタを起動する
とともに、指定された図形要素をこの起動された図形エ
ディタへ送る。
(b) Each graphic editor is provided with a function for starting other graphic editors. The input/output device is notified of the graphical element (graphical element included in the operation tool displayed by the editor) specified in an editor and the type of expression format. The type and shape of the symbol of this graphic element differs depending on the type of expression format. The input/output device (2) 0 activates a graphic editor corresponding to the specified expression format and sends the specified graphic element to the activated graphic editor.

(c)  仕様記述の終了制御。各図形エディタは終了
用操作ツールを備えている。この終了用操作ツールによ
り当該図形エディタの終了が入出力装置IOへ通知され
る。入出力装置IOは、この終了通知に応答して、作成
された仕様記述の名前、エディタの種類等の情報を保存
した後終了を通知した図形エディタを終了させる。
(c) Termination control of specification description. Each graphic editor is equipped with a termination operation tool. This termination operation tool notifies the input/output device IO of termination of the graphic editor. In response to this termination notification, the input/output device IO saves information such as the name of the created specification description and the type of editor, and then terminates the graphic editor that notified the termination.

入出力装置■0はまた図形エディタおよび相互変換装置
とのインタフェースを与える。各種の表現形式を用いて
仕様を記述する場合、また複数の仕様記述を相互に利用
する場合においては、入出力装置IOは図形エディタお
よび相互変換装置CVとの間で以下の処理を行なう。
Input/output device 0 also provides an interface with a graphics editor and interconverter. When describing specifications using various expression formats, or when using multiple specification descriptions mutually, the input/output device IO performs the following processing with the graphic editor and the mutual conversion device CV.

(a)  利用者が記述した描画情報は、各図形要素を
記述した段階で入出力装置IOを介して順次相互変換装
置Cvへ送られる。相互変換装置はこの入出力装置■0
から与えられた情報に従って所定の処理(これについて
は後述する)を行なった後入出力装置■0へ返送する。
(a) The drawing information described by the user is sequentially sent to the mutual conversion device Cv via the input/output device IO at the stage when each graphic element is described. The mutual conversion device is this input/output device■0
After performing a predetermined process (this will be described later) according to the information given from the input/output device 0, the data is returned to the input/output device 0.

この場合、返送されるデータとしては、入力された仕様
記述情報に対応する異なる表現形式での表現可能な仕様
情報等である。この相互変換装置C■から返送されるデ
ータはその処理結果とともに返送先の仕様記述の識別子
IDが付されている。入出力装置10はこの識別子ID
に対応する仕様記述を特定し、相互変換装置Cvが形成
した処理結果をその転送先の図形エディタへ返送する。
In this case, the returned data is specification information that can be expressed in a different expression format corresponding to the input specification description information. The data returned from the mutual conversion device C2 is attached with an identifier ID of the specification description of the return destination together with the processing result. The input/output device 10 uses this identifier ID.
The specification description corresponding to is specified, and the processing result formed by the mutual conversion device Cv is returned to the destination graphic editor.

また、相互変換装置C■が入力された仕様記述上におい
て矛盾を検出した場合、この矛盾検出を示すメツセージ
を入出力装置■0は利用者に提示する。
Further, when the mutual conversion device C2 detects a contradiction in the input specification description, the input/output device 0 presents a message indicating the detected contradiction to the user.

(b)  仕様記述過程において2つの図形エディタ上
でユーザが指定した2つの図形要素に対して、入出力装
置IOはこの2つの図形要素を論理的に対応づけること
ができるか否かを判断する。
(b) In the specification writing process, the input/output device IO determines whether or not the two graphic elements specified by the user on the two graphic editors can be logically correlated. .

対応づけが可能な場合、この入出力装置IOは両図形エ
ディタに対し同一の論理的な仕様情報を返送する。対応
づけが不能な場合には、この対応不能を示すメツセージ
を利用者に提示する。
If the correspondence is possible, the input/output device IO returns the same logical specification information to both graphic editors. If the correspondence is not possible, a message indicating this inability is presented to the user.

(c)  引用 複数の図形エディタ間で仕様情報を引用する場合、図形
エディタ上で利用者が指定した図形要素の描画情報およ
び仕様情報を、入出力装置■0は引用光の図形エディタ
へ転送する。
(c) Quotation When quoting specification information between multiple graphic editors, the input/output device ■0 transfers the drawing information and specification information of the graphic element specified by the user on the graphic editor to the quotation light graphic editor. .

次に入出力装置IOと実行装置EXとのインタフェース
について説明する。実行装置EXの実行時(たとえばプ
ロトタイピング)に必要とされる入力データ情報および
入出力データの位置情報は、仕様記述時と同様にして図
形エディタから入出力装置IOへ伝達される。入出力装
置IOはこの実行の前処理を行なう実行用ハンドラー(
図示せず)にこれらの情報を手渡す。この前処理が終了
した段階で、入出力装置IOは利用者による実行開始指
示に応答して実行装置EXを起動する。実行結果のデー
タは、この上述の実行用ハンドラーから入出力装置■0
を介して表示装置DP上へ表示される。この表示装置D
Pへの表示はたとえば出力結果表示用ルーチンを起動す
ることにより実行される。
Next, the interface between the input/output device IO and the execution device EX will be explained. Input data information and position information of input/output data required during execution (for example, prototyping) of the execution device EX are transmitted from the graphic editor to the input/output device IO in the same manner as when writing specifications. The input/output device IO uses an execution handler (
(not shown). When this preprocessing is completed, the input/output device IO starts the execution device EX in response to an execution start instruction from the user. The execution result data is transferred from the above-mentioned execution handler to the input/output device ■0
is displayed on the display device DP via. This display device D
The display on P is executed, for example, by activating an output result display routine.

入出力装置IOと部品管理装置CPとのインタフェース
は以下のものを含む。
The interface between the input/output device IO and the component management device CP includes the following.

(a)  部品登録時のインタフェース利用者が作成し
た仕様記述が部分的に完結した段階で、利用者が指定し
た登録対象の仕様記述情報と部品名は入出力装置IOを
介して部品管理装置cpへ伝達される。
(a) Interface when registering parts When the specification description created by the user is partially completed, the specification description information and part name of the registration target specified by the user are sent to the parts management device cp via the input/output device IO. transmitted to.

(b)  部品再利用時のインタフェース図形エディタ
上で利用者が指定した部品名は入出力装置10を介して
部品管理装置CPへ伝達される。部品管理装置CPはこ
の与えられた部品名に対応する部品情報をファイル管理
装置UFを介して検索し、検索された部品情報を入出力
装置IOを介して起動されている図形エディタへ返送す
る。
(b) Interface when reusing parts The part name specified by the user on the graphic editor is transmitted to the parts management device CP via the input/output device 10. The component management device CP searches for component information corresponding to the given component name via the file management device UF, and returns the searched component information to the activated graphic editor via the input/output device IO.

利用者が部品情報を参照したい場合には、入出力装置I
Oが利用者からの指示のもとに部品仕様書表示ルーチン
を起動することにより、この間約に表現された部品情報
が表示装置DP上に表示される。
If the user wants to refer to parts information, input/output device I
When O starts the parts specification display routine based on instructions from the user, the parts information expressed approximately during this time is displayed on the display device DP.

相互変換装置C■の機能について説明する。この相互変
換装置CVは、利用者が様々な間約表現形式を用いて記
述する仕様記述の内容を統合して効果的な実行形式プロ
グラムを生成するとともに、与えられた仕様記述の特定
の側面(表現形式または階層)から獲得した情報を他の
表現形式に変換する機能を備える。ここで、実行形式プ
ログラムは、処理モデル(データ駆動型モデル)に依存
した構造を有するコンストラクト情報を仮想マシンの実
行方式に合致するように変換して得られるプログラムで
ある。
The functions of mutual conversion device C2 will be explained. This mutual conversion device CV generates an effective executable program by integrating the contents of specification descriptions written by users using various compaction expression formats, and also converts specific aspects of a given specification description ( It has the function of converting information acquired from one representation format or hierarchy into another representation format. Here, the executable program is a program obtained by converting construct information having a structure dependent on a processing model (data-driven model) so as to match the execution method of the virtual machine.

相互変換装置C■が統合する仕様記述情報の構成の一例
を第14図に示す。この仕様記述情報は、モジュール情
報MI、シーケンス情報Slおよびデータ構造情報DI
を含む。
FIG. 14 shows an example of the structure of the specification description information integrated by the mutual conversion device C■. This specification description information includes module information MI, sequence information Sl, and data structure information DI.
including.

モジュール情報Mfは、このソフトウェアシステムを構
成する個々のモジュールの動作およびモジュール間のデ
ータ接続に関する情報である。このモジュール情報は、
機能ブロック図を用いた仕様記述をベースとして、各モ
ジュール間の階層関係を生成する。このモジュール情報
は、モジュール間のデータ接続関係を通してデータ構造
情報をも統合する。モジュール情報は機能モジュール、
決定表モジュール、構造体データ操作モジュールに関す
る情報をそれぞれ含む。このそれぞれのモジュールの情
報は図形エディタが表現する機能ブロック図、決定表お
よび表操作図の各表現形式で定義可能な処理内容に対応
する。各モジュールについて以下に説明する。
The module information Mf is information regarding the operations of individual modules constituting this software system and data connections between modules. This module information is
The hierarchical relationship between each module is generated based on the specification description using a functional block diagram. This module information also integrates data structure information through data connection relationships between modules. Module information is functional module,
Contains information regarding the decision table module and structure data manipulation module, respectively. The information of each module corresponds to processing contents that can be defined in each expression format of a functional block diagram, a decision table, and a table operation diagram expressed by the graphic editor. Each module will be explained below.

(A)  機能モジュール: 機能モジュールは、モジュールを構成する内部サブモジ
ュールの情報と各サブモジュール間のデータ接続関係に
関する情報である。サブモジュール情報が備える属性は
、機能ブロック図が与える記述要素と対応し、プリミテ
ィブ、部品、内部モジュール、ファイル、分枝、合接等
がある。モジュールの階層構造は、サブモジュールが詳
細情報を定義しているモジュールに付されているモジュ
ールID(識別子)を付すことにより保存される。
(A) Functional module: A functional module is information about internal submodules that constitute a module and information about data connection relationships between each submodule. Attributes included in the submodule information correspond to descriptive elements provided by the functional block diagram, and include primitives, parts, internal modules, files, branches, connections, and the like. The hierarchical structure of modules is saved by attaching module IDs (identifiers) attached to modules whose submodules define detailed information.

モジュール間のデータ接続関係は機能ブロック図におけ
るアークと対応づけられる。このアークは、データの生
成側サブモジュールと消費側サブモジュールの関係を表
わす。データのデータ構造は、データセットIDにより
データ構造情報を参照する形で管理される。
Data connection relationships between modules are associated with arcs in the functional block diagram. This arc represents the relationship between the data producing submodule and the data consuming submodule. The data structure of data is managed by referring to data structure information using a data set ID.

(B)  決定表モジュールは、決定表から得られる情
報をもとに選択処理に関する情報を、条件判定および判
定結果に基づいて実行される処理によって示す情報であ
る。
(B) The decision table module is information that indicates information regarding selection processing based on information obtained from the decision table, by means of condition determination and processing executed based on the determination result.

各条件判定の内容と対応する実行されるべき処理の関係
は、イベントIDによって管理される。
The relationship between the content of each condition determination and the corresponding process to be executed is managed by the event ID.

(C)  構造体操作モジュール情報は、表操作図から
得られる情報をもとに構造体データ操作に関する情報を
、操作対象となるデータおよび各データに作用する操作
で表わす情報である。操作対象となるデータと各操作と
の対応関係は、データIDおよび操作IDによって管理
される。この各データのデータ構造は、データセットI
Dによりデータ構造情報を参照する形で管理される。
(C) Structure manipulation module information is information that expresses information regarding structure data manipulation based on information obtained from the table manipulation diagram using data to be manipulated and operations that act on each data. The correspondence between the data to be operated and each operation is managed by the data ID and operation ID. The data structure of each data is Dataset I
It is managed by D by referring to data structure information.

データ構造情報は、ソフトウェアシステムで消費/生成
されるデータの型および構造の定義に関する情報である
。データ構造の階層関係はデータブロック図を用いた記
述をベースとして生成される。このデータ構造情報は、
包含データ構造情報、関係データ構造情報等を含み、構
造を有しないデータとしてアトム情報を含む。
Data structure information is information regarding the definition of the type and structure of data consumed/produced by the software system. The hierarchical relationship of the data structure is generated based on the description using the data block diagram. This data structure information is
It includes inclusive data structure information, relational data structure information, etc., and includes atom information as data without structure.

(A)  包含データ情報は、包含/排他関係にあるデ
ータの構成を示す情報である。この包含データ情報は、
各構成データに対して、詳細構造を定義したデータ構造
に与えるデータセットIDを有することによりデータ構
造の階層関係を保存する。
(A) Inclusive data information is information indicating the structure of data in an inclusive/exclusive relationship. This included data information is
For each component data, the hierarchical relationship of the data structures is preserved by having a data set ID given to the data structure that defines the detailed structure.

(B)  関係データ構造は、関係データを構成する各
項目データの基本データ型を示す情報である。
(B) The relational data structure is information indicating the basic data type of each item data that constitutes the relational data.

(C)  アトム情報は、アトムデータに関する基本デ
ータ型(int、float、string)を示す情
報である。
(C) Atom information is information indicating the basic data type (int, float, string) regarding atom data.

シーケンス情報は、順序線の属性と順序線に入出力され
る信号線の情報を含む。このシーケンス情報においては
、1モジユールに対して複数のシーケンスを定義するこ
とが可能なため、これらの関係はシーケンスIDで管理
される。
The sequence information includes attributes of the sequence line and information on signal lines input to and output from the sequence line. In this sequence information, since it is possible to define a plurality of sequences for one module, these relationships are managed using sequence IDs.

(A)  順序線情報は、シーケンスチャートにおける
サブモジュールを表わす縦線に関する属性を示す情報で
ある。順序線の属性としては、内部モジュール、ファイ
ルなどを含み、それぞれシーケンスチャートの記述要素
と対応する。モジュール情報中のサブモジュールとの対
応関係はモジュール副IDにより管理される。
(A) Sequence line information is information indicating attributes related to vertical lines representing submodules in the sequence chart. The attributes of the sequence line include internal modules, files, etc., and each corresponds to a descriptive element of the sequence chart. Correspondence with submodules in module information is managed by module sub-ID.

(B)  信号線情報は、シーケンスチャートにおける
順序線間のデータ接続(以下信号線と称す)を示す情報
である。この信号線情報は、同時に信号線の入力とつな
がって出力される出力シーケンス群の情報を管理するこ
とにより、入出力データの因果関係をも示す。モジュー
ル情報中のデータ依存性との対応関係はアークIDによ
り管理される。
(B) Signal line information is information indicating data connections between sequential lines (hereinafter referred to as signal lines) in the sequence chart. This signal line information also indicates the causal relationship between input and output data by simultaneously managing information on a group of output sequences that are connected to the input of the signal line and output. Correspondence with data dependence in module information is managed by arc ID.

上述のように、仕様記述情報を構成する各部分情報間の
関係は、すべて識別子IDにより管理される。この識別
子IDは、上述のごとく、データ構造情報を識別するデ
ータセットID、モジュール情報を識別するモジュール
ID1モジユールを構成する内部サブモジュールを識別
するモジュール副ID、内部すブモジュール間のデータ
接続を識別するアークID等を含む。新たな情報の追加
が発生するたびに相互変換装置Cvは新たな識別子ID
を生成して管理する。
As described above, the relationships between each piece of information constituting the specification description information are all managed by the identifier ID. As mentioned above, this identifier ID includes a dataset ID that identifies data structure information, a module ID that identifies module information, a module sub-ID that identifies internal sub-modules that make up the module, and a data connection between internal sub-modules. Contains the arc ID etc. Each time new information is added, the mutual conversion device Cv adds a new identifier ID.
Generate and manage.

第14図に示すように、主要記述情報の構成においては
、複数の図形エディタを用いて記述された仕様内容は階
層化され、データの参照関係32、モジュールの階層関
係33、同一モジュールに対する共通の定義情報関係3
4を含む。したがって、これらの関係を基礎とすること
により複数の異なる表現形式で定義された部分的な仕様
記述から対象ソフトウェアシステム全体の仕様記述情報
を生成することができる。
As shown in FIG. 14, in the structure of the main description information, the specification content described using multiple graphic editors is hierarchical, with data reference relationships 32, module hierarchical relationships 33, and common information for the same module. Definition information relationship 3
Contains 4. Therefore, by using these relationships as a basis, specification description information for the entire target software system can be generated from partial specification descriptions defined in a plurality of different expression formats.

この個々の表現形式により得られた各情報を統合した仕
様記述情報は上述の如く識別子IDにより管理される。
Specification description information that integrates each piece of information obtained using these individual expression formats is managed by the identifier ID as described above.

このような個々の表現形式から得られる情報を統合して
得られる仕様記述情報のデータ構造の一例を第15図な
いし第20図に示す。
Examples of the data structure of specification description information obtained by integrating information obtained from such individual expression formats are shown in FIGS. 15 to 20.

第15図は仕様記述におけるデータ構造を、第16図は
順序線情報の構造を、第17図は信号線情報の構造を、
第18図は関係データの構造を、第19図は包含データ
の構造を、第20図はアトムの構造を示す。第15図な
いし第20図に示す仕様記述情報の構造において、各情
報に付された識別子IDを参照することにより対応の有
無および変更の有無等が決定される。
Figure 15 shows the data structure in the specification description, Figure 16 shows the structure of sequential line information, and Figure 17 shows the structure of signal line information.
FIG. 18 shows the structure of relational data, FIG. 19 shows the structure of included data, and FIG. 20 shows the structure of atoms. In the structure of the specification description information shown in FIGS. 15 to 20, the presence or absence of correspondence, the presence or absence of change, etc. are determined by referring to the identifier ID attached to each piece of information.

第21図は相互変換装置の動作を示すフロー図である。FIG. 21 is a flow diagram showing the operation of the mutual conversion device.

以下、第21図の動作フロー図を参照して簡単にこの相
互変換装置CVの動作について説明する。仕様記述情報
の生成は、入出力装置10を介して行なわれるエディタ
との通信に基づいて実行される。
Hereinafter, the operation of this mutual conversion device CV will be briefly explained with reference to the operation flow diagram of FIG. 21. Generation of specification description information is executed based on communication with the editor via the input/output device 10.

ステップS1において、エディタまたは入出力装置IO
からデータが与えられる。このデータは仕様記述情報で
あるかまたは終了コマンド情報、仕様記述作成開始情報
等である。この与えられた情報が終了コマンドであると
判定されると(ステップS2)、相互変換装置C■がフ
ァイルを閉じるなどの所望の処理を施した後その動作を
終了する。
In step S1, the editor or input/output device IO
Data is given from. This data is specification description information, end command information, specification description creation start information, etc. If it is determined that the given information is an end command (step S2), the mutual conversion device C2 performs desired processing such as closing the file, and then ends its operation.

終了コマンド以外の場合には、相互変換装置CVは、必
要な仕様記述情報を与えられたデータに従って生成する
(ステップS4)。この生成した仕様記述情報を用いて
ファイル管理装置UFへアクセスし、その仕様記述情報
用ファイル内容を生成された仕様記述情報により更新す
る(ステップS5)。
In cases other than the end command, the mutual conversion device CV generates necessary specification description information according to the given data (step S4). The generated specification description information is used to access the file management device UF, and the contents of the specification description information file are updated with the generated specification description information (step S5).

一方において、相互変換装置C■はこの与えられた仕様
記述情報から、コンストラクト情報を生成する(ステッ
プS6)。この生成されたコンストラクト情報に関して
は、再びファイル管理装置UFへアクセスすることによ
りその新しく生成されたコンストラクト情報が付加され
るか変更されるか等によりもとのコンストラクト情報フ
ァイルが更新される。
On the other hand, the mutual conversion device C2 generates construct information from the given specification description information (step S6). Regarding this generated construct information, by accessing the file management device UF again, the original construct information file is updated depending on whether the newly generated construct information is added or changed.

次いで、この相互変換装置CVは、予めテーブルの形態
で格納されている変換用ルールを検索する。この変換用
ルールテーブルへ検索をかけることにより、入力データ
と同一の意味を持つデータがあるか否かを判定する。す
なわち、あるエディタから与えられた情報が他の間約表
現形式のオブジェクトに変換可能か否かを解析する(た
とえば機能ブロック図のモジュールとシーケンスチャー
トの縦線との対応関係)(ステップS9)。この解析に
より他の表現形式への変換可能なオブジェクトが検索さ
れた場合、その対応の変換可能な間約オブジェクトに変
換しくステップ510)、この変換した結果得られた変
換後の間約オブジェクトを示すデータを対応のエディタ
へ入出力装置■0を介して送信する(ステップ511)
。このとき送信を受けるエディタは、この変換可能なオ
ブジェクトを表現することのできるエディタである。
Next, this mutual conversion device CV searches for conversion rules stored in advance in the form of a table. By searching this conversion rule table, it is determined whether there is data that has the same meaning as the input data. That is, it is analyzed whether information given from a certain editor can be converted into an object in another compact representation format (for example, the correspondence between modules in a functional block diagram and vertical lines in a sequence chart) (step S9). If an object that can be converted to another representation format is retrieved through this analysis, convert it into a corresponding convertible intermediate object (step 510), and indicate the converted intermediate object obtained as a result of this conversion. Send the data to the corresponding editor via input/output device ■0 (step 511)
. The editor receiving the transmission at this time is an editor that can express this convertible object.

この変換処理がすべて終了すれば(ステップ512)、
相互変換装置CVは再びエディタまたは入出力装置から
意味的にまとまった間約オブジェクトが送信されるのを
待つ。
When all of this conversion processing is completed (step 512),
The mutual conversion device CV again waits for a semantically coherent object to be sent from the editor or the input/output device.

ステップS9において、変換可能な間約オブジェクトが
存在しない場合、相互変換装rILCvはその旨を入出
力装置■0へ伝達するとともに、エディタまたは入出力
装置IOからのデータを待機する状態となる。
In step S9, if there is no convertible object, the mutual conversion device rILCv notifies the input/output device 0 to that effect and enters a state of waiting for data from the editor or the input/output device IO.

ここで、入出力装置IOを介して利用者が仕様記述した
結果データが入力されたとき、意味的にまとまった1つ
の間約オブジェクトが更新された場合、その1つのまと
まった間約オブジェクトが相互変換装置Cvへ送信され
る。
Here, when the result data written by the user is input via the input/output device IO, if one semantically grouped object is updated, the one grouped object is mutually It is sent to the conversion device Cv.

また、ステップS9において変換可能な間約オブジェク
トが検索された場合、その変換可能な間約オブジェクト
が複数個存在する場合、この複数の間約オブジェクトそ
れぞれに対応する表現形式を与える図形エディタが起動
される。この同時に起動された図形エディタが与える表
現形式の図形要素は、たとえばマルチウィンドウにより
表示装置DP上へ同時に表示される。
Furthermore, when a transformable space object is searched for in step S9, and if there are a plurality of transformable space objects, a graphic editor is activated that provides a representation format corresponding to each of the plurality of space objects. Ru. The graphical elements in the expression format provided by the simultaneously activated graphical editors are simultaneously displayed on the display device DP, for example, by a multi-window.

次に、図形エディタと相互変換装置Cvとの間の情報交
換の例について第22A図および第22B図を参照して
説明する。この第22A図および第22B図に示す例に
おいては、機能ブロック図を表現形式とする図形エディ
タが起動され、かつ相互変換装置C■が機能ブロック図
の表現形式をベースとして仕様記述を生成する場合が一
例として示される。
Next, an example of information exchange between the graphic editor and the mutual conversion device Cv will be described with reference to FIGS. 22A and 22B. In the example shown in FIGS. 22A and 22B, a graphic editor whose representation format is a functional block diagram is activated, and the mutual conversion device C generates a specification description based on the representation format of the functional block diagram. is shown as an example.

入出力装置IOを介して利用者が行なうモジュール定義
またはデータ構造定義のエディタの起動に応答して、相
互変換装置Cvは新たなモジュール情報またはデータ構
造情報を生成する。この生成されるモジュールまたはデ
ータの種別は、起動された図形エディタの種類から決定
される。同時に、こ・れらの生成されたモジュール情報
またはデータ構造情報に対しては相互変換装置C■はモ
ジュールIDまたはデータセットIDを生成して起動さ
れた図形エディタへ伝達する。第22A図においてはモ
ジュールIDが図形エディタEへ伝達される。
In response to activation of a module definition or data structure definition editor by a user via the input/output device IO, the mutual conversion device Cv generates new module information or data structure information. The type of module or data to be generated is determined from the type of graphic editor activated. At the same time, the mutual conversion device C2 generates a module ID or data set ID for the generated module information or data structure information and transmits it to the activated graphic editor. In FIG. 22A, the module ID is transmitted to the graphic editor E. In FIG.

図形エディタEにおいては利用者がそのエディタ上で新
たに内部モジュールを追加すると、この図形エディタE
は、伝達されたモジュールIDとモジュールの属性を示
す情報とともに未定義のモジュール副IDを相互変換装
置CVへ伝達する。
In figure editor E, when the user adds a new internal module on that editor, this figure editor E
transmits the undefined module sub-ID together with the transmitted module ID and information indicating the attributes of the module to the mutual conversion device CV.

相互変換装置CVはこの与えられた未定義のモジュール
副IDに応答して、内部モジュールを生成するとともに
、この新たなサブモジュール情報を識別するためのモジ
ュール副IDを生成して図形エディタEへ伝達する。
The mutual conversion device CV generates an internal module in response to the given undefined module sub-ID, and also generates a module sub-ID for identifying this new sub-module information and transmits it to the graphic editor E. do.

図形エディタEにおいて、機能ブロック図内で既存の内
部モジュールに関する情報の変更または削除が行なわれ
た場合、この変更または削除情報は相互変換装置Cvへ
、対応のモジュール副IDとともに伝達する。相互変換
装置CVはこの情報に応答して対応のサブモジュール情
報の変更または削除を実行する。
In the graphic editor E, when information regarding an existing internal module is changed or deleted in the functional block diagram, this change or deletion information is transmitted to the mutual conversion device Cv together with the corresponding module sub-ID. In response to this information, the mutual converter CV changes or deletes the corresponding submodule information.

複数の内部モジュールが生成された場合、この内部モジ
ュール間におけるデータの接続関係を示すアークが図形
エディタE上で記述される。これに応答して図形エディ
タEはデータを送出するモジュールを識別するモジュー
ル副IDと、この内部モジュールのデータ出力ポートを
示すポートIDと、データを入力する行先モジュール副
IDとこの行先モジュールがデータを受けるボートを識
別する行先ボー)IDと、未定義のアークIDを相互変
換装置Cvへ伝達する。相互変換装置CVは、この与え
られた情報に応答して内部モジュールにおけるアークを
生成するととに、このアークを識別するために、与えら
れた未定義のアーク■Dに所定の情報を付加しアークI
Dとして図形エディタEへ伝達する。次いでこのアーク
IDにより識別されるべきアークに対するデータの構造
が指定されると、図形エディタはこの指定されたデータ
構造を示すデータセットIDを対応のアークIDととも
に相互変換装置CVへ伝達する。相互変換装置Cvはこ
の与えられた情報に従ってデータセットIDを登録する
。次に、第22B図を参照して階層構造のモジュールを
生成する場合の動作について説明する。
When a plurality of internal modules are generated, arcs indicating data connections between the internal modules are written on the graphic editor E. In response, the graphic editor E inputs the module sub-ID that identifies the module that sends the data, the port ID that indicates the data output port of this internal module, the destination module sub-ID that inputs the data, and the module sub-ID that this destination module uses to input the data. The destination boat ID identifying the receiving boat and the undefined arc ID are transmitted to the mutual conversion device Cv. The mutual conversion device CV generates an arc in the internal module in response to this given information, and adds predetermined information to the given undefined arc D in order to identify this arc. I
It is transmitted as D to the graphic editor E. Next, when the data structure for the arc to be identified is specified by this arc ID, the graphic editor transmits the data set ID indicating this specified data structure together with the corresponding arc ID to the mutual conversion device CV. The mutual conversion device Cv registers the data set ID according to this given information. Next, the operation when generating a hierarchical module will be described with reference to FIG. 22B.

機能ブロック図において既存の内部モジュールに対し、
この既存の内部モジュールの詳細を定義するために利用
者が他の図形エディタを起動すると、起動をかけた図形
エディタからはこれに応答して、モジュールID、モジ
ュール副IDとともに、新しく付加されるべきモジュー
ルを識別するための下位モジュールID(未定儀)が変
換装置C■へ伝達される。変換装置CVは、この与えら
れた情報に応答して新たなモジュール情報を生成すると
ともに、この生成したモジュール(下位モジュール)に
対してそのときの上位モジュールのモジュールIDをそ
れに追加する。それにより下位モジュールIDが決定さ
れる。この生成されたモジュール(下位モジュール)の
モジュールIDはこの詳細を定義するために起動された
エディタへ伝達されるとともに、この起動をかけたエデ
ィタに対しても伝達される。この後、下位モジュールに
対する記述が完了すると、起動をかけられた図形エディ
タからはそれを示すための情報とともにモジュールID
、モジュール副IDおよび下位モジュールIDが相互変
換装置CVへ伝達される。
For existing internal modules in the functional block diagram,
When the user starts another graphic editor to define the details of this existing internal module, the graphic editor that started it responds by adding a new module ID and module sub-ID. A lower module ID (undefined) for identifying the module is transmitted to the conversion device C■. The conversion device CV generates new module information in response to this given information, and adds the module ID of the upper module at that time to the generated module (lower module). Thereby, the lower module ID is determined. The module ID of this generated module (lower module) is transmitted to the editor activated to define its details, and is also transmitted to the editor that initiated this activation. After this, when the description for the lower module is completed, the activated graphic editor will display the module ID along with information to indicate it.
, the module sub ID and the lower module ID are transmitted to the mutual conversion device CV.

変換装置CVはこの情報に応答して、上位モジュールと
下位モジュールとの結合情報を生成する。
In response to this information, the conversion device CV generates coupling information between the upper module and the lower module.

起動をかけた側の図形エディタからは、内部モジュール
情報変更のシーケンスに従って、下位モジュールに対応
するモジュールIDの情報が相互変換装置CVへ送られ
る。これによりモジュール情報の階層構造がこの識別子
IDにより上位および下位両側からの参照関係として実
現される。
From the graphics editor on the activation side, information on the module ID corresponding to the lower module is sent to the mutual conversion device CV in accordance with the internal module information change sequence. Thereby, the hierarchical structure of module information is realized as a reference relationship from both upper and lower sides using this identifier ID.

操作のデータ依存性におけるデータとデータ構造情報と
の参照関係は以下のようにして実現される。複数の図形
エディタにおける対応付は操作によって、アークとデー
タ構造記述との対応関係が成立すると、そのときに獲得
されたデータセットIDは、データ依存性情報の変更シ
ーケンスに従って相互変換装置Cvへ伝達される。これ
によりモジュールにおける入出力データの構造が保存さ
れ、構造体データへのアクセス系列、ロック範囲の抽出
が可能となる。
The reference relationship between data and data structure information in data dependence of operations is realized as follows. When a correspondence relationship between an arc and a data structure description is established through a corresponding operation in a plurality of graphic editors, the dataset ID acquired at that time is transmitted to the mutual conversion device Cv according to the change sequence of data dependency information. Ru. This saves the structure of input/output data in the module, making it possible to extract the access sequence and lock range to the structure data.

上述のように、各モジュールを構成する仕様記述情報は
すべて識別子IDを管理することによりその各部品情報
間の関係が管理される。
As described above, all the specification description information constituting each module is managed by managing the identifier ID, thereby managing the relationship between each part information.

この階層的な表現によるソフトウェアシステム全体の仕
様記述の生成の一例について説明する。
An example of generating a specification description of the entire software system using this hierarchical representation will be explained.

第23図はこの階層構造情報から、より正確なモジュー
ル情報を作成する場合の一例を示す図である。第23図
に示すように、上位階層の仕様記述41においては、モ
ジュールFOOとモジュールFOIとの間のデータの送
受関係として表わされていた内容に対して、各モジュー
ルの下位層による詳細記述42および43を形成し、こ
れを相互変換装置Cvにおいて関連づけることにより、
モジュールFOOがデータaとデータbとをマージして
データCを導出し、一方モジュールFOIがデータCを
受け、データdを出力するとともに、この出力dをモジ
ュールFOOへ返送している構造が解析される。これに
より機能モジュールの入出力データbとデータdとが同
一のデータであり、データdが再び繰り返し利用される
繰り返し構造44が導出可能となる。
FIG. 23 is a diagram showing an example of creating more accurate module information from this hierarchical structure information. As shown in FIG. 23, in the specification description 41 of the upper layer, detailed description 42 of the lower layer of each module corresponds to the content expressed as the data transmission/reception relationship between module FOO and module FOI. and 43 and associating them in the interconversion device Cv,
The structure in which module FOO merges data a and data b to derive data C, while module FOI receives data C, outputs data d, and sends this output d back to module FOO is analyzed. Ru. This makes it possible to derive a repetition structure 44 in which input/output data b and data d of the functional module are the same data, and data d is repeatedly used again.

「マージ」を表わす機能モジュールおよびデータをその
まま伝達するrTFゲート;真偽判定ゲート」の動作制
御は機能モジュールPにより行なワしている。この制御
内容は機能モジュールPに対する下位モジュールを用い
ることによりその制御内容の詳細が明らかとなる。
The functional module P controls the operation of the functional module representing "merge" and the rTF gate that transmits data as is; the "authenticity determination gate". The details of this control become clear by using the lower modules for the functional module P.

第24図は、この相互変換装置において行なわれる、間
約表現形式の組合わせ(仕様記述)からコンストラクト
情報を生成する構成の一例を示す図である。機能ブロッ
ク図で表現された仕様図45においては、モジュールP
およびSに関してその動作内容が、単にデータコピーを
行なうのが、選択構造であるのかを決定することができ
ない。
FIG. 24 is a diagram showing an example of a configuration for generating construct information from a combination of reduction expression formats (specification description) performed in this mutual conversion device. In the specification diagram 45 expressed as a functional block diagram, module P
It is not possible to determine whether the operation content of S and S is a selection structure that simply performs data copying.

しかしながら、このそれぞれのモジュールPおよびSに
対して決定表の記述50および51をそれぞれ関連づけ
ることにより、モジュールPが入力データx、yの大小
関係に応じてモジュールFl〜F3のいずれかを選択す
るように分岐モジュールSを制御し、分岐モジュールS
は、このモジュールPからのデータに従ってデータbを
モジュールFl−F3のいずれかへ伝達する構造が決定
される。これによってモジュールPの選択構造が決定さ
れ、さらに分岐モジュールSにおける分岐制御のための
制御情報の生成が可能となる。これにより処理モデルに
対する制御情報を含んだコンストラクト情報46の生成
が可能となる。
However, by associating the descriptions 50 and 51 of the decision table with the respective modules P and S, the module P selects one of the modules Fl to F3 according to the magnitude relationship of the input data x and y. The branching module S is controlled to control the branching module S.
In accordance with the data from module P, a structure for transmitting data b to any of modules Fl to F3 is determined. This determines the selection structure of the module P, and further enables generation of control information for branch control in the branch module S. This makes it possible to generate construct information 46 that includes control information for the processing model.

上述の実施例は、複数の表現形式を統合してコンストラ
クト生成のための情報を獲得する場合を示している。し
かしながら、第25図および第26図に示すように逆に
統合した情報から個々の表現形式の情報を逆生成(相互
変換)することも可能となる。
The above-described embodiment shows a case where information for generating a construct is obtained by integrating a plurality of expression formats. However, as shown in FIGS. 25 and 26, it is also possible to reversely generate (mutually convert) information in individual expression formats from the integrated information.

第25図は、機能ブロック図とシーケンスチャートとの
相互変換を例示的に示す図である。第25図において、
機能ブロック図60から得られた内部モジュール情報6
1は順序線情報62に変換され、この順序線情報に従っ
てシーケンスチャート上の順序線が生成される。ここで
内部モジュール情報からの順序線情報への変換は、前述
のごとく相互変換装置CVにおいて行なわれ、この情報
がシーケンスチャートを表現形式とする図形エディタへ
伝達されこの図形エディタが起動されることにより、表
示装置上にシーケンスチャー上の順序線が生成される。
FIG. 25 is a diagram illustrating mutual conversion between a functional block diagram and a sequence chart. In Figure 25,
Internal module information 6 obtained from the functional block diagram 60
1 is converted into ordinal line information 62, and an ordinal line on the sequence chart is generated according to this ordinal line information. Here, the conversion from internal module information to sequence line information is performed in the mutual conversion device CV as described above, and this information is transmitted to a graphic editor whose representation format is a sequence chart, and this graphic editor is activated. , a sequence line on the sequence chart is generated on the display device.

以下の説明においても、この相互変換装置と機能ブロッ
ク図およびシーケンスチャートを表現する図形エディタ
との間の情報交換が行なわれている。
In the following explanation as well, information is exchanged between this mutual conversion device and a graphic editor that expresses functional block diagrams and sequence charts.

また、シーケンスチャート63においてシーケンスチャ
ート60から得られた順序線情報62へはさらに内部モ
ジュールM2が付される。この新たに生成された内部モ
ジュールを示す順序線情報は機能ブロック図の内部モジ
ュール情報に変換され機能ブロック図上に内部モジュー
ルが生成される。このとき、シーケンスチャートにおい
て信号線を形成することにより得られる信号線情報(信
号線A−D)はデータ依存性情報に変換される。
Further, in the sequence chart 63, an internal module M2 is further added to the order line information 62 obtained from the sequence chart 60. This sequence line information indicating the newly generated internal module is converted to internal module information on the functional block diagram, and the internal module is generated on the functional block diagram. At this time, signal line information (signal lines A-D) obtained by forming signal lines in the sequence chart is converted into data dependency information.

これにより、機能ブロック図64において、生成された
信号線に対応するアークが生成される。これにより、各
モジュール間のデータの流れが得られる。しかしながら
、信号線情報は単にデータの流れを示すだけであり、モ
ジュールのどのボートが接続されるのかを示していない
ため、この新たに生成された機能ブロック図65におい
てはボート接続が未定義であることを示す表示68が利
用者に与えられる。利用者はこれを見てボートを定義す
る。
As a result, an arc corresponding to the generated signal line is generated in the functional block diagram 64. This provides data flow between each module. However, since the signal line information only indicates the flow of data and does not indicate which ports of the module are connected, the boat connections are undefined in this newly generated functional block diagram 65. A display 68 indicating this is given to the user. The user looks at this and defines the boat.

この第25図においては、機能ブロック図から獲得した
情報60から、シーケンスチャートの初期状態62が生
成され、ざらこの初期状態のシーケンスチャート62に
対して記述の追加すなわち内部モジュールの生成および
データの流れが付され、この追加されたシーケンスチャ
ートの記述63に従って、機能ブロック図の内容を生成
追加し、新たな機能ブロック図65を得ている。この場
合、新たに形成された機能ブロック図においては、ボー
トが未定義であるという機能ブロック図における不完全
部分68を利用者に提示することにより新たな情報の記
述を促すことができ、より正確なソフトウェアシステム
の構築が可能となる。
In FIG. 25, an initial state 62 of the sequence chart is generated from information 60 obtained from the functional block diagram, and descriptions are added to the sequence chart 62 in the initial state, that is, generation of internal modules and data flow. A new functional block diagram 65 is obtained by generating and adding the contents of the functional block diagram according to the added sequence chart description 63. In this case, in the newly formed functional block diagram, by presenting the incomplete part 68 in the functional block diagram where the boat is undefined to the user, it is possible to prompt the user to write new information, making it more accurate. This makes it possible to construct a software system that is easy to use.

さらにまた相互変換処理を用いることにより、階層記述
における下位層の情報を生成することもできる。
Furthermore, by using mutual conversion processing, lower layer information in the hierarchical description can be generated.

第26図に示す仕様記述においては、シーケンスチャー
ト71で表現された情報から機能ブロック図72を形成
し、この機能ブロック図72におけるモジュールM1に
対する下位モジュール73およびモジュールM2に対す
る下位モジュール74をそれぞれ形成・している。この
相互変換構成に対し、新たなシーケンスチャート75が
与えられた場合、すなわちモジュールM1が外部モジュ
ールからデータAを受けてデータDを送出している構造
が記述された場合、相互変換装置CVは、既に与えらて
いるモジュール72にこのシーケンスチャート75で獲
得された情報を付加する。この場合データAに対するデ
ータIDの一致を検出することに−より、モジュールM
1は、データAを受けてデータBおよびDを導出してい
ることが認識される。この構造より、階層表現の下位モ
ジュール73を考慮することにより、Mlはその下位構
造において分岐構造を有しており、データBとデータD
をそれぞれ導出する下位モジュールMllおよびMl2
を含んでいることが検出される。この場合、モジュール
M2はデータBおよびデータCの関係はシーケンスチャ
ート71の場合が保存されるためその下位構造78は下
位モジュール74と同一表現となる。
In the specification description shown in FIG. 26, a functional block diagram 72 is formed from the information expressed in the sequence chart 71, and a lower module 73 for module M1 and a lower module 74 for module M2 in this functional block diagram 72 are formed. are doing. When a new sequence chart 75 is given to this mutual conversion configuration, that is, when a structure in which the module M1 receives data A from an external module and sends out data D is described, the mutual conversion device CV performs the following: The information obtained in this sequence chart 75 is added to the already given module 72. In this case, by detecting a match between the data ID and the data A, the module M
1 is recognized to receive data A and derive data B and D. From this structure, by considering the lower module 73 of the hierarchical representation, Ml has a branch structure in its lower structure, and data B and data D
The sub-modules Mll and Ml2 respectively derive
is detected to contain. In this case, since the relationship between data B and data C in module M2 is preserved as in the sequence chart 71, its lower structure 78 has the same representation as the lower module 74.

さらに、第26図に示すシーケンスチャート71に対し
、第27図に示すように新たなシーケンスチャート79
が形成された場合、この形成されたシーケンスチャート
により獲得された情報に従って機能ブロック図が得られ
る。この場合、データBに対するデータIDの一致を検
出することにより、データAとデータDとが排他的デー
タ構造であれば、モジュールM1に対して、データAを
受ける下位モジュールMllとデータM2を受ける下位
モジュールM12とを備え、このモジュールMllおよ
びM12の出力がマージされてデータBを導出する下位
構造を備えているというマージ構造80が生成される。
Furthermore, in contrast to the sequence chart 71 shown in FIG. 26, a new sequence chart 79 is added as shown in FIG.
is formed, a functional block diagram is obtained according to the information obtained by the formed sequence chart. In this case, by detecting the match of the data ID with respect to data B, if data A and data D have an exclusive data structure, it is determined that the lower module Mll that receives data A and the lower module Mll that receives data M2 have an exclusive data structure for module M1. A merge structure 80 is generated, which includes a module M12 and a lower structure that derives data B by merging the outputs of the modules Mll and M12.

次に実行装置EXの機能について説明する。実行装置E
Xは、相互変換装置Cvで生成されたコンストラクト情
報を実行モデル(仮想的なマシン)の動作方式に従って
実行可能なプログラムに変換する変換部と、プロットタ
イピングを実行する実行部とを含む。なお、上記実行部
は、第1図に示すようなデータ駆動型情報処理装置によ
って構成されている。ただし、第1図における高機能命
令処理部109は、後述する統合ファイル管理装置UF
に設けられている。
Next, the functions of the execution device EX will be explained. Execution device E
X includes a conversion unit that converts the construct information generated by the mutual conversion device Cv into an executable program according to the operation method of an execution model (virtual machine), and an execution unit that executes plot typing. Note that the execution section is constituted by a data-driven information processing device as shown in FIG. However, the high-performance command processing unit 109 in FIG.
It is set in.

コンストラクト情報を変換して得られる実行形式情報は
、データの流れによって表わされる処理の流れおよび各
処理の構造を表現する接続情報と、この接続情報中に番
号のリンク(種々のID)で出現する定数情報、データ
構造情報、およびファイル情報に大きく分割される。こ
の実行形式情報においても接続情報は階層ごとにまとま
りを有しており、階層間においては対応するボートがリ
ンクされる関係を維持しつつ二〇ノード番号を一意的に
生成する。実行装置EXにおける実行部が所定の仕様を
実行する場合、ノードの接続を追跡して順次プログラム
を実行する。したがって、この実行に適した情報形式へ
の変換とは、このノードの情報に付随したアークの情報
によってノード間の接続関係が示される情報形式へ変換
することである。次に、この実行装置EXの動作につい
てその動作フロー図である第28図を参照して説明する
。第28図においては、実行装置EXの動作フローがシ
ーケンスチャートを用いて表示される。
The executable format information obtained by converting the construct information includes connection information that expresses the flow of processing represented by the data flow and the structure of each process, and number links (various IDs) that appear in this connection information. It is broadly divided into constant information, data structure information, and file information. In this execution format information as well, the connection information is grouped for each layer, and 20 node numbers are uniquely generated while maintaining the relationship in which corresponding boats are linked between layers. When the execution unit in the execution unit EX executes a predetermined specification, it tracks the connections of nodes and executes the program in sequence. Therefore, conversion into an information format suitable for this execution means conversion into an information format in which connection relationships between nodes are indicated by arc information attached to this node information. Next, the operation of this execution device EX will be explained with reference to FIG. 28, which is an operation flow diagram. In FIG. 28, the operation flow of the execution device EX is displayed using a sequence chart.

ユーザは仕様記述上のデータを入力したいデータアーク
を指定する。この指定されたデータアークに対応する図
形エディタが起動され、入力ウィンドウが開かれ、表示
装置DP上に表示される。入力ウィンドウには指定した
データアークのデータ構造に対応するテンプレートが表
示される。入力データの設定はこのテンプレートを埋め
るようにして行なわれる。出力データの設定も入力デー
タの設定と同様であり、仕様記述上でデータをモニタし
たいデータアークを指定すると、出力ウィンドウが開か
れ、指定したデータアークのデータ構造に対応するテン
プレートが表示される。
The user specifies a data arc into which data on the specification description is to be input. A graphic editor corresponding to this specified data arc is activated, an input window is opened, and displayed on the display device DP. A template corresponding to the data structure of the specified data arc is displayed in the input window. Input data is set by filling this template. Setting the output data is the same as setting the input data, and when you specify the data arc whose data you want to monitor in the specification description, an output window is opened and a template corresponding to the data structure of the specified data arc is displayed.

このユーザが指定した入力データは、入出力装置10.
相互変換装置Cvを介して統合ファイル管理装置UFに
書込まれ、入力データの更新が行なわれる。このファイ
ル管理装置UFにおいてデータ更新の管理が終了すると
この完了を示す情報が相互変換装置C■を介して入出力
装置10へ伝達される。利用者はプロトタイピング実行
開始を指示すると、この実行開始指示は入出力装置■0
を介して実行装置EXへ与えられる。実行装置EXは、
統合ファイル管理装置UFで入力ウィンドウに設定され
た入力データが書込まれた領域を参照し、この入力デー
タを読aし、指定された仕様記述に対応するプログラム
を実行する。
The input data specified by the user is input to the input/output device 10.
The input data is written to the integrated file management device UF via the mutual conversion device Cv, and the input data is updated. When the data update management is completed in the file management device UF, information indicating the completion is transmitted to the input/output device 10 via the mutual conversion device C2. When the user instructs the start of prototyping execution, this execution start instruction is sent to the input/output device ■0
and is given to the execution unit EX via. The execution device EX is
The integrated file management device UF refers to the area in which the input data set in the input window is written, reads this input data, and executes the program corresponding to the specified specification description.

実行装置EXは統合ファイル管理装置UFから入力デー
タを読出し、実行形式情報中に含まれるノードの接続を
追跡しながらノードに設定される機能を順次実行し、出
力データのアークに出力指定がなされていたとき出力デ
ータを得る。実行装置EXは出力データを得ると統合フ
ァイル管理装置UFへその出力データを書込む。これに
より出力データの更新が行なわれる。統合ファイル管理
装置はこのデータの更新の完了を実行装置EXへ与える
と、次いで実行装置EXから入出力装置IOヘプロトタ
イピングの実行完了が知らされる。
The execution device EX reads the input data from the integrated file management device UF, sequentially executes the functions set on the nodes while tracking the connections of the nodes included in the execution format information, and checks whether the output data is specified in the arc. Get the output data when When the execution device EX obtains the output data, it writes the output data to the integrated file management device UF. This updates the output data. When the integrated file management device notifies the execution device EX of the completion of this data update, the execution device EX then notifies the input/output device IO of the completion of prototyping.

入出力装置IOはこの実行終了を受けると変換装置Cv
へ実行終了を知らせる。相互変換装置CVはこの実行終
了に応答して統合ファイル管理装置UFに書込まれた出
力データの参照を行ない、出力データを読出して入出力
装置IOへ伝達する。
When the input/output device IO receives this execution completion, the conversion device Cv
Notify the end of execution. In response to the completion of this execution, the mutual conversion device CV refers to the output data written in the integrated file management device UF, reads out the output data, and transmits it to the input/output device IO.

入出力装置■0は与えられた出力データを表示装置DP
上に先に開かれていた出力ウィンドウに表示する。
Input/output device ■0 displays the given output data on the display device DP
Display in the output window that was opened earlier.

上述のように仕様記述上の任意の階層を対象としたシミ
ュレーション実行はその入力データの設定および出力デ
ータ形式の設定を行なうだけで実行されるため、作成さ
れた仕様の確認見直しを行なうことができる。次に部品
管理装置CPの機能について説明する。
As mentioned above, simulations targeting any hierarchy in the specification description can be executed by simply setting the input data and output data format, so the created specifications can be checked and reviewed. . Next, the functions of the parts management device CP will be explained.

仕様記述においである完結した仕様は「部品」と称され
る。この部品を管理する部品管理装置CPは、以下の機
能を備える。
A complete specification in a specification description is called a "part". The component management device CP that manages this component has the following functions.

■部品情報の提示機能、■部品名リストの提示機能、■
表の項目データ型の提示、■コンストラクト情報の提示
、■部品仕様書表示機能、■部品の登録機能、0部−品
の拡張機能である。この部品管理装置CPへは入出力装
置IO,相互変換装置CVおよび実行装置EXがアクセ
ス可能である。
■Parts information presentation function, ■Parts name list presentation function, ■
They are: presentation of table item data type, ■ presentation of construct information, ■ component specification display function, ■ component registration function, and 0-component extension function. This component management device CP can be accessed by the input/output device IO, the mutual conversion device CV, and the execution device EX.

次に第29図を参照して部品の参照動作について説明す
る。
Next, referring to FIG. 29, the component reference operation will be explained.

第29図は部品の参照動作フローをシーケンスチャート
により示す図である。部品を参照したい場合、利用者は
入出力装置IOが与えるメニューから「部品参照」を選
択する。入出力装置IOは、この「部品参照」指示に応
答して、登録されている部品の一覧表を表示するために
、部品管理装置CPに部品名リストの要求を行なう。部
品管理装置IfCPは、ファイル管理装置UFを介して
部品情報ファイルを探索し、登録されている部品名のリ
ストを入出力装置■0へ部品管理装置CPを介して伝達
する。入出力装置10は、図形エディタを起動して部品
参照用ウィンドウ(参照WD)を開き、登録部品の一覧
表を表示装置上に表示する。
FIG. 29 is a diagram showing a sequence chart of a component reference operation flow. If the user wishes to refer to a component, the user selects "reference component" from the menu provided by the input/output device IO. In response to this "component reference" instruction, the input/output device IO requests a component name list from the component management device CP in order to display a list of registered components. The parts management device IfCP searches the parts information file via the file management device UF, and transmits the list of registered component names to the input/output device ■0 via the parts management device CP. The input/output device 10 activates a graphic editor, opens a component reference window (reference WD), and displays a list of registered components on the display device.

利用者は、この部品参照用ウィンドウ(参照WD)中に
示された部品のうち、入出力情報を参照じたい部品をた
とえば「マウス」のようなデータ入力装置または文字入
力装置を用いて指定する。
The user uses a data input device such as a "mouse" or a character input device to specify a component whose input/output information is desired to be referenced from among the components shown in the component reference window (reference WD).

入出力装置IOはこの利用者からの参照部品指定に応答
して、部品仕様書エディタ(仕様書ED)を起動し、指
示された部品名をこの部品仕様書エディタへ手渡す。
In response to the reference part designation from the user, the input/output device IO activates a parts specification editor (specification ED) and hands over the designated part name to this parts specification editor.

部品仕様書エディタ(仕様書ED)は、仕様書ファイル
に記憶されている部品仕様書ファイルを参照し、この部
品仕様書を表示する。これにより、利用者は間約に表現
された仕様記述レベルの部品仕様書を表示装置DP上で
見ることが可能となる。
The component specification editor (specification ED) refers to the component specification file stored in the specification file and displays this component specification. As a result, the user can view the part specification at the specification description level expressed in a shorthand manner on the display device DP.

次に部品の引用動作について説明する。Next, the component quoting operation will be explained.

仕様記述を行なっている状態において、部品を引用した
場合、機能ブロック図エディタまたはシーケンスチャー
トエディタの描画モードにおいて「部品」を選択する。
When quoting a component while writing a specification, select "Component" in the drawing mode of the functional block diagram editor or sequence chart editor.

部品を引用するエディタは、入出力装置IOに対して部
品要求情報の要求を出す。入出力装置IOは、上述の部
品参照動作時と同様にして利用者からの指示により、部
品引用のためのウィンドウを開き、登録部品の一覧表を
表示する。
An editor quoting a component issues a request for component request information to the input/output device IO. The input/output device IO opens a window for quoting parts and displays a list of registered parts in response to an instruction from the user in the same manner as in the part reference operation described above.

利用者はこの部品参照用ウィンドウに示された部品のう
ち、引用したいものを指定する。入出力装置IOは、こ
の指定された部品に対する部品情報を部品管理装置CP
に要求する。部品管理装置CPは、ファイル管理装置U
Fを介して部品情報ファイルを探索し、指示された部品
に対する部品情報を入出力装置IOへ与える。
The user specifies which part he/she wishes to quote from among the parts shown in this part reference window. The input/output device IO sends the component information for this specified component to the component management device CP.
request. The parts management device CP is a file management device U.
The component information file is searched through F, and component information for the designated component is provided to the input/output device IO.

入出力装置10は、部品管理装置CPより与えられた部
品情報を、さらに、この部品を引用したいエディタへ与
える。エディタは与えられた部品情報をもとに描画を行
なうとともに仕様記述内容の変更を入出力装置IOへ通
知する。
The input/output device 10 further provides the component information provided by the component management device CP to an editor that wishes to quote this component. The editor draws based on the supplied part information and notifies the input/output device IO of changes in the specification description.

次に統合ファイル管理装置UFの機能について説明する
。この開発装置で取り扱われる仕様記述の内容に関する
情報は1つの統合的なファイルとして表現される。この
ファイルを操作する機能はデータ構造操作命令(高機能
命令)として統合ファイル管理装置UFにより実現され
る。統合ファイル管理装置UFは、仕様記述に関する情
報を表現する内部データ構造へのアクセス(生成、参照
、更新、削除等)を実行する他の処理装置(入出力装置
IO1相互変換装置C■、実行装置EX、および部品管
理装置CP)との間に宣言的に結合されたインタフェー
スを持ち、仕様記述情報を表現する内部データ構造を統
合的に管理する。
Next, the functions of the integrated file management device UF will be explained. Information regarding the contents of the specification description handled by this development device is expressed as one integrated file. The function of manipulating this file is realized by the integrated file management device UF as a data structure manipulation command (high-performance command). The integrated file management device UF is connected to other processing devices (input/output device IO1 mutual conversion device C, execution device It has an interface that is declaratively coupled with EX and parts management device CP, and integrally manages internal data structures expressing specification description information.

統合ファイル管理装置UFを利用する他の処理装置は、
必要とされるデータ構造操作に対するオペレーションコ
ードを統合ファイル管理装置UFへ渡す。統合ファイル
管理装置UFは、データ構造操作に必要とされる情報(
たとえば第3図に示すような情報)を予め記憶しており
、その情報に基づいて指示されたデータ構造操作を実行
し、実行結果を統合ファイル管理装置UFを呼出した処
理装置へ返す。すなわち、統合ファイル管理装置UFは
、第2図に示すような高機能命令処理部109の機能を
有する。
Other processing devices that use the integrated file management device UF are:
Pass the operation code for the required data structure manipulation to the integrated file management device UF. The integrated file management device UF stores information (
For example, information as shown in FIG. 3) is stored in advance, and based on the information, the designated data structure operation is executed, and the execution result is returned to the processing device that called the integrated file management device UF. That is, the integrated file management device UF has the function of the high-performance command processing unit 109 as shown in FIG.

用いられるデータ構造としては、この発明におけるプロ
グラム開発装置においては、スカラ(アトム)とリスト
構造とが採−用される。このリスト構造を用いれば、「
配列」、「レコード」、および「ベクター」等の構造を
表現することができるからである。このリスト構造を用
いる場合、■添字(識別子)による要素へのアクセス、
および■キーの一致による要素へのアクセスが実行され
る。
As data structures used in the program development apparatus of the present invention, a scalar (atom) and a list structure are employed. If you use this list structure,
This is because structures such as "array", "record", and "vector" can be expressed. When using this list structure, ■ accessing elements by subscript (identifier),
and ■ Access to the element by key matching is performed.

このリスト構造においては、処理対象とするデータ構造
全体の識別子(名前)に対する論理的な識別子rfid
Jと、[fidJによって識別されるデータ構造中にお
いてrsizejによって示される配列要素のサイズの
データ領域を1個の要素とする配列を識別するための論
理的な識別子[didJとを含む。これらの識別子を用
いることにより、ファイルにおけるアクセス領域が確定
される。
In this list structure, the logical identifier rfid for the identifier (name) of the entire data structure to be processed is
J, and a logical identifier [didJ for identifying an array in which one element is a data area of the size of the array element indicated by rsizej in the data structure identified by [fidJ]. By using these identifiers, the access area in the file is determined.

スカラのデータ構造により統合ファイル管理装置UFを
参照した場合、データ名による参照および更新が行なわ
れなる。
When the integrated file management device UF is referenced using the scalar data structure, reference and update are performed using the data name.

各処理装置は、相互に情報交換を行ないながら並列に動
作する。統合ファイル管理装置UFへは、このため、多
重アクセス要求が発生する。これらのアクセスは、動的
に発生するため、統合ファイル管理装置UFを利用する
側の処理装置においては、多重アクセスが発生している
かどうかを判別することができない。またたとえ、多重
アクセスが発生していることを判別することが、できた
としても、後からアクセスを要求した処理装置がファイ
ルに対ルでアクセスを実行してよいかどうかは、アクセ
スを要求した処理装置は知ることができない。このため
、統合ファイル管理装置UFは、マルチプロセス環境に
おいてファイルに関する一連のアクセスに対する一貫性
を保証するための機構を備える。このような機構として
、統合ファイル管理袋ff1fUFを利用する側がアク
セス要求を行なっタトキ、引き続いて同一ファイルの同
一レコードに対してアクセス要求を行なうか、また、ど
のようなアクセス要求を行なうかを統合ファイル管理装
置UFに通知することにより統合ファイル管理装置UF
においてファイルの必要な範囲にロックをかけるロック
制御機構が設けられる。
Each processing device operates in parallel while exchanging information with each other. Therefore, multiple access requests are generated to the integrated file management device UF. Since these accesses occur dynamically, the processing device that uses the integrated file management device UF cannot determine whether multiple accesses are occurring. Furthermore, even if it is possible to determine that multiple accesses have occurred, it is difficult to determine whether the processing device that requested the access later can access the file separately. The processing device cannot know. For this reason, the integrated file management device UF includes a mechanism for guaranteeing consistency for a series of accesses regarding files in a multi-process environment. As such a mechanism, the side using the integrated file management bag ff1fUF makes an access request, and then determines whether to subsequently request access to the same record of the same file and what kind of access request to make. By notifying the management device UF, the integrated file management device UF
A lock control mechanism is provided for locking a necessary range of files.

ロック制御は1つのプリミティブとして実現される。統
合ファイル管理装置UFが管理するファイルには、テン
ポラリファイルとパーマネントファイルの2種類存在す
る。テンポラリファイルは、1度使用すると消費される
。パーマネントファイルは、対象プログラムの実行前後
を通じて保存される。ファイルを使用するプリミティブ
を実行する場合には、書込み対象となるテンポラリファ
イルは常に作成される。次に、この発明の一実施例であ
るプログラム開発装置によるソウトウエアシステムの作
成の具体的例について説明する。
Lock control is implemented as one primitive. There are two types of files managed by the integrated file management device UF: temporary files and permanent files. Temporary files are consumed once they are used. Permanent files are saved before and after the target program is executed. When executing primitives that use files, a temporary file is always created to write to. Next, a specific example of creating a software system using a program development apparatus according to an embodiment of the present invention will be described.

今在庫管理問題の中から、「キー」によって検索するモ
ジュールを記述する場合を考える。今具体的な問題とし
て、以下の問題を記述する。
Now, let's consider the case of writing a module to search by "key" in an inventory management problem. Now, as a specific problem, I will describe the following problem.

検索データは品物リストである。この品物リストは、 「品物リスト二品物コード、品名、数量、納入光」の構
造を持っている。検索項目(キー)は、品名コードまた
は数量である。数量を「キー」とする検索の場合には、
与えられた数量以上の品物コードに対応する品物をリス
トする。
The search data is a list of items. This product list has the structure of "Product list: 2 product code, product name, quantity, and delivered light." The search item (key) is the product name code or quantity. For searches using quantity as the "key",
List the items corresponding to the given quantity or more of the item code.

まず、第30図に示すように、外部とのインタフェース
を記述する。この記述対象のシステムは、品名コードを
入力して該当リストを出力する品名検索モジュール91
a1品物リストファイル91b1および外部モジュール
(ユーザ)91c、数量を入力して同じく該当リストを
出力する数量検索モジュール91dを含む。この機能側
面からの記述は機能ブロック図91により表現される。
First, as shown in FIG. 30, the interface with the outside is described. The system to be described is a product name search module 91 that inputs a product name code and outputs a corresponding list.
It includes an a1 item list file 91b1, an external module (user) 91c, and a quantity search module 91d that inputs quantities and outputs a corresponding list. This description from a functional aspect is expressed by a functional block diagram 91.

このときこの機能ブロック図91で表現されたモジュー
ル情報はシーケンスチャートに変換され、表示されてい
る(第30図右下部参照)。
At this time, the module information expressed in this functional block diagram 91 is converted into a sequence chart and displayed (see the lower right part of FIG. 30).

次に第31図に示すように、各モジュール間におけるデ
ータ流れの順序関係を記述する。第1のシーケンスチャ
ート92においては、品名検索シーケンスを記述し、第
2のシーケンスチャートにおいては数量検索のシーケン
スを記述する。このシーケンスチャート92および93
で記述された信号線は、直ちに機能ブロック図94上の
データアークに変換され表示される。このとき、シーケ
ンスチャートにおいてはボート情報は反映されないため
、ボート情報に関しては機能ブロック図94において記
述する。
Next, as shown in FIG. 31, the order relationship of data flow between each module will be described. The first sequence chart 92 describes a product name search sequence, and the second sequence chart describes a quantity search sequence. This sequence chart 92 and 93
The signal line described in is immediately converted to a data arc on the functional block diagram 94 and displayed. At this time, since the boat information is not reflected in the sequence chart, the boat information will be described in the functional block diagram 94.

ここで、シーケンスチャートを用いてデータ相互の関係
を記述したが、機能ブロック図を用いてデータ相互の関
係を記述してもよい。このように共通の情報が異なる表
現形式間で相互に変換反映されることにより、記述相互
間の矛盾を回避することができる。
Here, although the relationship between data is described using a sequence chart, the relationship between data may also be described using a functional block diagram. By mutually converting and reflecting common information between different expression formats in this way, inconsistencies between descriptions can be avoided.

次に第32図に示すようにデータ構造を記述する。該当
リスト(図示せず)および品物リストを関係表95、品
名コードおよび数量をデータブロック図96で記述する
。第32図に示す例においては、該当リストは最低必要
な品名コードおよび数量のみが記述される。記述された
データ構造と機能ブロック図上のデータアークおよびシ
ーケンスチャート上の信号線は対応づけ操作により対応
づけられる。この対応づけ操作を用いることにより、繁
雑な名前づけの作業から解放される。
Next, the data structure will be described as shown in FIG. A relevant list (not shown) and a product list are described in a relational table 95, and product name codes and quantities are described in a data block diagram 96. In the example shown in FIG. 32, only the minimum required product name code and quantity are described in the applicable list. The described data structure, the data arc on the functional block diagram, and the signal line on the sequence chart are correlated by a matching operation. By using this association operation, complicated naming work is relieved.

次に第33図に示すように、内部モジュールの詳細の定
義を行なう。第33図において、記述対象のモジュール
に含まれる品名検索モジュール91aは、ファイル操作
であるため、表操作図96により記述される。この表操
作図96においては、既に先に記述した機能ブロック図
により入出力情報が変換され反映されている。この表操
作図96における表データの構造は、関係表95aおよ
び95bから引用される。引用されたデータ構造は、元
の関係表と対応づけられている。したがって、元の関係
表データ構造を変更すれば、この表操作図96における
データ構造も変更される。これにより仕様の変更に伴う
変更忘れを防止することができる。
Next, as shown in FIG. 33, the details of the internal module will be defined. In FIG. 33, the product name search module 91a included in the modules to be described is a file operation, so it is described using a table operation diagram 96. In this table operation diagram 96, the input/output information has already been converted and reflected according to the functional block diagram described earlier. The structure of the table data in this table operation diagram 96 is quoted from the relational tables 95a and 95b. The cited data structure is associated with the original relational table. Therefore, if the original relational table data structure is changed, the data structure in this table operation diagram 96 is also changed. This can prevent forgetting to make changes due to changes in specifications.

品名検索モジュールは、第33図に示す表操作図で記述
したことによりその仕様記述が完結し、実行可能となる
。この実行可能となった品名検索モジュールに対し第3
4図に示すようにプロトタイピングを行なって仕様記述
内容を検証する。すなわち品物リスト96aの品物コー
ドを入力データとし、該当りスト96bを出力データと
する。
By describing the product name search module using the table operation diagram shown in FIG. 33, its specification description is completed and becomes executable. For this executable product name search module, a third
As shown in Figure 4, we perform prototyping to verify the specifications. That is, the product code of the product list 96a is used as input data, and the corresponding list 96b is used as output data.

品物リスト96aの品物コードに、品物リストに含まれ
る品名コードを記入する。以下、装置の実行動作により
、この品名コード3に対応する品物が該当リスト上にそ
の対応の数量とともに表示される。このプロトタイピン
グにより得られた実行結果に従って仕様記述内容を、対
象とする仕様に従って変更し、再度実行して検証する。
The product name code included in the product list is entered in the product code of the product list 96a. Thereafter, by the execution of the apparatus, the item corresponding to this item name code 3 is displayed on the corresponding list along with its corresponding quantity. According to the execution results obtained through this prototyping, the specification description contents are changed in accordance with the target specification, and then executed again to verify.

この後、検索システムの仕様の記述が完了した場合、こ
れは1つの部分的に完結したモジュールであり、「部品
」として登録する。
After this, when the description of the specifications of the search system is completed, this is one partially completed module and is registered as a "component".

以上説明したプログラム開発装置によれば、1つの仕様
定義情報(1つの機能)を複数の表現形式を用いて記述
可能としたので、ソフトウェアシステムを多面的に定義
することができ、高品質のソフトウェアシステムを構築
することができる。
According to the program development device described above, one specification definition information (one function) can be described using multiple expression formats, so a software system can be defined from multiple aspects, and high-quality software can be created. A system can be constructed.

[発明の効果] 以上のようにこの発明によれば、演算処理手段に高機能
命令を含むデータパケットが入力されたとき、高機能命
令処理手段が予め記憶している高機能命令の実行のため
に必要な処理情報に基づいて当該データパケットの演算
処理を行なうようにしているので、多大な処理情報を必
要とする高機能命令、たとえば構造体データの関係演算
や分類演算や計算演算の命令を実行する場合にも、演算
処理手段へ入力されるデータのパケットの構造は単純命
令を含むデータパケットの構造と同様であり、多大な処
理情報をプログラム記憶手段から演算処理手段へデータ
パケットに乗せて運ばなければならないような事態が回
避される。その結果、装置の効率的な活用が図れるとと
もに、プログラムを記述する際には、複雑な演算処理を
単純命令に分解することなく通常の単純命令と同じレベ
ルで取扱うことができ、プログラム作成に要する労力を
従来のデータ駆動型情報処理装置に比べて大幅に軽減す
ることができる。
[Effects of the Invention] As described above, according to the present invention, when a data packet containing a high-performance instruction is input to the arithmetic processing means, the high-performance instruction processing means executes the high-performance instruction stored in advance. Since the calculation processing of the data packet is performed based on the processing information necessary for When executing the data, the structure of the data packet input to the arithmetic processing means is the same as that of a data packet containing a simple instruction, and a large amount of processing information is transferred from the program storage means to the arithmetic processing means in a data packet. This will avoid situations where you would have to carry it. As a result, not only can equipment be used efficiently, but when writing a program, complex arithmetic processing can be handled at the same level as normal simple instructions without having to be broken down into simple instructions. Labor can be significantly reduced compared to conventional data-driven information processing devices.

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

第1図は、この発明の一実施例の構成を示す概略ブロッ
ク図である。 第2図は、第1図における高機能命令処理部のさらに詳
細な構成を示すブロック図である。 第3図は、第2図におけるスペックデータメモリに格納
される高機能命令のための処理情報の一例を示す図であ
る。 第4図は、第1図および第2図に示す実施例において、
高機能命令が処理される過程をデータパケットの流れに
沿って示した図である。 第5A図〜第5D図は、高機能命令処理部で実行され得
る関係演算の代表的なものを例示的に示した図である。 第6図は、この発明によるデータ駆動型情報処理装置を
用いて構成されたプログラム開発装置の全体の構成を概
略的に示す図である。 第7図は、第6図に示すプログラム開発装置において用
いられる仕様記述表現形式の1つである機能ブロック図
を例示する図である。 第8図は、第6図に示すプログラム開発装置において利
用可能な仕様記述表現形式の1つであるシーケンスチャ
ートを例示する図である。 第9図は、第6図に示すプログラム開発装置において用
いられる仕様記述表現形式の1つである関係表を例示す
る図である。 第10図は、第6図に示すプログラム開発装置において
利用可能な仕様記述表現形式の1つである決定表を例示
する図である。 第11図は、第6図に示すプログラム開発装置において
利用可能な仕様記述表現形式の1つであるデータブロッ
ク図を例示する図である。 第12図は、第6図に示すプログラム開発装置において
利用可能な仕様記述表現形式の1つである裏操作図を例
示する図である。 第13図は、複数の表現形式を用いて仕様記述を行なっ
た際の「引用」および「対応材」操作を例示する図であ
る。 第14図は、第6図に示すプログラム開発装置において
生成された仕様記述情報の構成の一例を示す図である。 第15図は、第6図に示すプログラム開発装置において
用いられる仕様記述情報の構成を一覧にして示す図であ
る。 第1.6図は、仕様記述情報に含まれる順序線情報の構
成を示す図である。 第17図は、第15図に示す信号線情報の構成を示す図
である。 第18図は、第15図に示す関係データの構成を示す図
である。 第19図は、第15図に示す包含データの構成を示す図
である。 第20図は、第15図に示すアトムの構成を示す図であ
る。 第21図は、第6図に示すプログラム開発装置における
相互変換装置の動作を示すフロー図である。 第22A図および第22B図は、仕様記述表現手段であ
る図形エディタと相互変換装置との間のデータ送受シー
ケンスを例示する図である。 第23図は、複数の間約表現形式の組合せからコンスト
ラクト情報を生成する態様を例示する図である。 第24図は、複数の間約表現形式の組合せからコンスト
ラクト情報を生成する他の態様を例示する図である。 第25図は、相互変換装置において実行される機能ブロ
ック図とシーケンスチャートの相互変換態様を例示する
図である。 第26図は、シーケンスチャートと機能ブロック図との
相互変換機能を利用して、シーケンス仕様情報の階層記
述における下位階層の情報を生成する態様の一例を例示
する図である。 第27図は、相互変換機能を利用して仕様記述の階層記
述における下位階層の情報を生成する他の態様を例示す
る図である。 第28図は、第6図に示すプログラム開発装置における
プロトタイピング実行動作を示すシーケンスチャート図
である。 第29図は、第6図に示すプログラム開発装置における
部品参照動作を示すシーケンスチャート図である。 第30図〜第34図は、第6図に示すプログラム開発装
置を用いた仕様記述の一具体例を例示する図である。 第35図は、従来のデータ駆動型情報処理装置の構成を
示す概略ブロック図である。 第36図は、第35図に示すプログラム記憶部に記憶さ
れたデータフロープログラムの一例を示す図である。 第37A図〜第37D図は、第35図に示す従来のデー
タ駆動型情報処理装置において処理されるデータパケッ
トのフィールド構成を示した図である。 第38図は、データフローグラフの一例を示す図である
。 第39図は、構造体データの結合操作の一例を示した図
解図である。 第40図は、第39図に示すような処理を第35図に示
す従来のデータ駆動型情報処理装置で行なう場合に必要
となる動作ステップを示したフロー図である。 図において、1は本体装置、IOは入出力装置、CVは
相互変換装置、EXは実行装置、CPは部品管理装置、
UFは統合ファイル管理装置、E。 E1〜Enは図形エディタ、DPは表示装置、101は
入力部、102はプログラム記憶部、103は対データ
検出部、105は出力部、106は演算処理部、107
は分岐部、108は単純命令処理部、109は高機能命
令処理部、110は合流部、109aはノード番号抽出
回路、109bは命令コード抽出回路、109Cは入力
データ抽出回路、109dはスペックデータメモリ、1
09eは処理回路、109fは出力パケット合成部を示
す。
FIG. 1 is a schematic block diagram showing the configuration of an embodiment of the present invention. FIG. 2 is a block diagram showing a more detailed configuration of the high-performance instruction processing section in FIG. 1. FIG. 3 is a diagram showing an example of processing information for high-performance instructions stored in the spec data memory in FIG. 2. FIG. 4 shows that in the embodiment shown in FIGS. 1 and 2,
FIG. 3 is a diagram showing a process in which a high-performance command is processed along the flow of data packets. FIGS. 5A to 5D are diagrams illustrating typical relational operations that can be executed by the high-performance instruction processing unit. FIG. 6 is a diagram schematically showing the overall configuration of a program development device configured using the data-driven information processing device according to the present invention. FIG. 7 is a diagram illustrating a functional block diagram that is one of the specification description expression formats used in the program development apparatus shown in FIG. 6. FIG. 8 is a diagram illustrating a sequence chart that is one of the specification description expression formats that can be used in the program development apparatus shown in FIG. FIG. 9 is a diagram illustrating a relationship table that is one of the specification description expression formats used in the program development apparatus shown in FIG. 6. FIG. 10 is a diagram illustrating a decision table that is one of the specification description expression formats that can be used in the program development apparatus shown in FIG. FIG. 11 is a diagram illustrating a data block diagram that is one of the specification description expression formats that can be used in the program development apparatus shown in FIG. FIG. 12 is a diagram illustrating a behind-the-scenes diagram that is one of the specification description expression formats that can be used in the program development apparatus shown in FIG. FIG. 13 is a diagram illustrating "quote" and "corresponding material" operations when a specification is described using a plurality of expression formats. FIG. 14 is a diagram showing an example of the configuration of specification description information generated by the program development apparatus shown in FIG. 6. FIG. 15 is a diagram showing a list of the configurations of specification description information used in the program development apparatus shown in FIG. 6. FIG. 1.6 is a diagram showing the structure of sequence line information included in specification description information. FIG. 17 is a diagram showing the structure of the signal line information shown in FIG. 15. FIG. 18 is a diagram showing the structure of the relational data shown in FIG. 15. FIG. 19 is a diagram showing the structure of the included data shown in FIG. 15. FIG. 20 is a diagram showing the structure of the atom shown in FIG. 15. FIG. 21 is a flow diagram showing the operation of the mutual conversion device in the program development device shown in FIG. FIGS. 22A and 22B are diagrams illustrating a data transmission/reception sequence between the graphic editor, which is a specification description expression means, and the mutual conversion device. FIG. 23 is a diagram illustrating a manner in which construct information is generated from a combination of a plurality of expression formats. FIG. 24 is a diagram illustrating another example of generating construct information from a combination of a plurality of expression formats. FIG. 25 is a diagram illustrating a mutual conversion mode of a functional block diagram and a sequence chart executed in the mutual conversion device. FIG. 26 is a diagram illustrating an example of a mode in which lower layer information in the hierarchical description of sequence specification information is generated using a mutual conversion function between a sequence chart and a functional block diagram. FIG. 27 is a diagram illustrating another example of generating lower layer information in the hierarchical description of the specification description using the mutual conversion function. FIG. 28 is a sequence chart showing the prototyping execution operation in the program development apparatus shown in FIG. 6. FIG. 29 is a sequence chart diagram showing a component reference operation in the program development apparatus shown in FIG. 6. FIGS. 30 to 34 are diagrams illustrating a specific example of specification description using the program development apparatus shown in FIG. 6. FIG. 35 is a schematic block diagram showing the configuration of a conventional data-driven information processing device. FIG. 36 is a diagram showing an example of a data flow program stored in the program storage section shown in FIG. 35. FIGS. 37A to 37D are diagrams showing field configurations of data packets processed in the conventional data-driven information processing apparatus shown in FIG. 35. FIG. 38 is a diagram showing an example of a data flow graph. FIG. 39 is an illustrative diagram showing an example of a structure data combination operation. FIG. 40 is a flow diagram showing operational steps required when the conventional data-driven information processing apparatus shown in FIG. 35 performs the process shown in FIG. 39. In the figure, 1 is the main device, IO is the input/output device, CV is the mutual conversion device, EX is the execution device, CP is the parts management device,
UF is an integrated file management device, E. E1 to En are graphic editors, DP is a display device, 101 is an input section, 102 is a program storage section, 103 is a paired data detection section, 105 is an output section, 106 is an arithmetic processing section, 107
108 is a simple instruction processing section, 109 is a high-performance instruction processing section, 110 is a confluence section, 109a is a node number extraction circuit, 109b is an instruction code extraction circuit, 109C is an input data extraction circuit, 109d is a spec data memory ,1
09e indicates a processing circuit, and 109f indicates an output packet combining section.

Claims (1)

【特許請求の範囲】[Claims] (1)少なくともノード番号とデータとを含むデータパ
ケットを入力するための入力手段、データフロープログ
ラムを記憶し、前記入力手段から与えられるデータパケ
ットに含まれるノード番号に基づいて当該データフロー
プログラムの中から少なくとも次位のノード番号と命令
情報とを読出し、それらのノード番号、命令情報と前記
データパケット中のデータとを含む新たなデータパケッ
トを生成して出力するプログラム記憶手段、前記プログ
ラム記憶手段から出力されるデータパケットを受取り、
同じノード番号を有する対となるべき2つのデータパケ
ットを検出し、これら両方のデータパケット中のデータ
を有する新たなデータパケットを生成して出力する対デ
ータ検出手段、 前記対データ検出手段から出力されるデータパケットを
受取り、該データパケットに含まれる命令情報に基づい
て該データパケットに含まれるデータに関する演算処理
を行ない、その演算結果を示すデータを有するデータパ
ケットを生成して出力する演算処理手段、および 前記演算処理手段から出力されるデータパケットを受取
り、該データパケットを外部へ出力するかまたは前記入
力手段に出力するかを制御する出力制御手段を備え、 前記演算処理手段は、 前記プログラム記憶手段から受取ったデータパケットを
、単純命令を有するデータパケットと高機能命令を有す
るデータパケットとに分岐するための分岐手段と、 前記分岐手段によって分岐されたデータパケットのうち
、前記単純命令を有するデータパケットの演算処理を行
なう単純命令処理手段と、予め高機能命令の処理のため
に必要な処理情報を記憶しており、前記分岐手段によっ
て分岐されたデータパケットのうち、前記高機能命令を
有するデータパケットの演算処理を当該処理情報に基づ
いて行なう高機能命令処理手段とを含む、データ駆動型
情報処理装置。
(1) An input means for inputting a data packet including at least a node number and data, storing a data flow program, and inputting the data flow program based on the node number included in the data packet given from the input means. a program storage means for reading out at least a next node number and instruction information from the program storage means, and generating and outputting a new data packet including those node numbers, instruction information and data in the data packet; Receive the output data packet,
Paired data detection means for detecting two data packets having the same node number to form a pair, and generating and outputting a new data packet having data in both of these data packets; arithmetic processing means that receives a data packet, performs arithmetic processing on the data contained in the data packet based on command information contained in the data packet, and generates and outputs a data packet having data indicating the result of the calculation; and output control means for receiving a data packet output from the arithmetic processing means and controlling whether to output the data packet to the outside or to the input means, the arithmetic processing means comprising: the program storage means branching means for branching a data packet received from a data packet into a data packet having a simple instruction and a data packet having a high-function instruction; and a data packet having the simple instruction among the data packets branched by the branching means. simple instruction processing means that performs arithmetic processing; and processing information necessary for processing high-function instructions is stored in advance, and among the data packets branched by the branching means, a data packet having the high-function instruction a data-driven information processing device, the data-driven information processing device comprising: a high-performance instruction processing unit that performs arithmetic processing based on the processing information;
JP2191817A 1990-07-17 1990-07-17 Data-driven information processing device Expired - Fee Related JPH0743700B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2191817A JPH0743700B2 (en) 1990-07-17 1990-07-17 Data-driven information processing device
US07/729,727 US5341507A (en) 1990-07-17 1991-07-15 Data drive type information processor having both simple and high function instruction processing units

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2191817A JPH0743700B2 (en) 1990-07-17 1990-07-17 Data-driven information processing device

Publications (2)

Publication Number Publication Date
JPH0475182A true JPH0475182A (en) 1992-03-10
JPH0743700B2 JPH0743700B2 (en) 1995-05-15

Family

ID=16281020

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2191817A Expired - Fee Related JPH0743700B2 (en) 1990-07-17 1990-07-17 Data-driven information processing device

Country Status (2)

Country Link
US (1) US5341507A (en)
JP (1) JPH0743700B2 (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0628499A (en) * 1992-07-07 1994-02-04 Sharp Corp Data driving-type information processor
US5586281A (en) * 1992-10-27 1996-12-17 Sharp Kabushiki Kaisha Data driven type information processing apparatus
JPH06162228A (en) * 1992-11-26 1994-06-10 Sharp Corp Data flow processor device
JP3571367B2 (en) * 1993-08-11 2004-09-29 シャープ株式会社 Data-driven processor, data-driven information processing apparatus, and method for confirming path connection of a plurality of data-driven processors in data-driven information processing apparatus
JP3518034B2 (en) * 1995-03-30 2004-04-12 三菱電機株式会社 Sorting method, sort processing device, and data processing device
JP3777666B2 (en) * 1996-08-28 2006-05-24 株式会社日立製作所 Database processing method and system
US6198839B1 (en) 1997-09-05 2001-03-06 Tripath Imaging, Inc. Dynamic control and decision making method and apparatus
US6012136A (en) * 1997-12-01 2000-01-04 Advanced Micro Devices, Inc. Communications system with a configurable data transfer architecture
WO2002021323A2 (en) * 2000-09-08 2002-03-14 Avaz Networks Hardware function generator support in a dsp
US20030112758A1 (en) * 2001-12-03 2003-06-19 Pang Jon Laurent Methods and systems for managing variable delays in packet transmission
US20030105799A1 (en) * 2001-12-03 2003-06-05 Avaz Networks, Inc. Distributed processing architecture with scalable processing layers
CN101151840B (en) * 2005-01-10 2011-09-21 四次方有限公司 Integrated architecture for the unified processing of visual media

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02240784A (en) * 1989-03-14 1990-09-25 Sanyo Electric Co Ltd Data driven data processor

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4153932A (en) * 1974-03-29 1979-05-08 Massachusetts Institute Of Technology Data processing apparatus for highly parallel execution of stored programs
EP0214313B1 (en) * 1984-08-22 1993-03-10 Hitachi, Ltd. Method and apparatus for data merging/sorting
US4972314A (en) * 1985-05-20 1990-11-20 Hughes Aircraft Company Data flow signal processor method and apparatus
JPS62187977A (en) * 1986-02-13 1987-08-17 Dainippon Screen Mfg Co Ltd Image data processor
US4967341A (en) * 1986-02-14 1990-10-30 Hitachi, Ltd. Method and apparatus for processing data base
US4972315A (en) * 1987-03-10 1990-11-20 Mitsubishi Denki Kabushiki Kaisha Data flow machine
US4866634A (en) * 1987-08-10 1989-09-12 Syntelligence Data-driven, functional expert system shell
US5115510A (en) * 1987-10-20 1992-05-19 Sharp Kabushiki Kaisha Multistage data flow processor with instruction packet, fetch, storage transmission and address generation controlled by destination information
US5113339A (en) * 1987-10-20 1992-05-12 Sharp Kabushiki Kaisha Data processor for detecting identical data simultaneously coexisting in a plurality of data sections of data transmission paths
JPH06101044B2 (en) * 1988-01-23 1994-12-12 シャープ株式会社 Deadlock avoidance execution control method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02240784A (en) * 1989-03-14 1990-09-25 Sanyo Electric Co Ltd Data driven data processor

Also Published As

Publication number Publication date
JPH0743700B2 (en) 1995-05-15
US5341507A (en) 1994-08-23

Similar Documents

Publication Publication Date Title
US10963317B2 (en) System and method for non-programmatically constructing software solutions
US5794042A (en) File management apparatus permitting access to portions of a file by specifying a data structure identifier and data elements
US5603018A (en) Program developing system allowing a specification definition to be represented by a plurality of different graphical, non-procedural representation formats
US4860204A (en) Computer based workstation for development of graphic representation of computer programs
US6272672B1 (en) Dataflow processing with events
Florijn et al. Tool support for object-oriented patterns
US5659735A (en) Object-oriented system for program version and history database management system for various program components
US6957417B2 (en) Method and system for assembling and utilizing components in component object systems
US6614430B1 (en) System and method for the exchange of CAD data
US5553282A (en) Software project history database and method of operation
EP0786109B1 (en) Object-oriented system for configuration history management
US5212771A (en) System for establishing concurrent high level and low level processes in a diagram window through process explosion and implosion subsystems
US5019961A (en) Computer apparatus and method for logical modelling
US20050066306A1 (en) Direct deployment of a software application from code written in tables
JP2008512794A (en) Object processing graph application development system
JPH0475182A (en) Data driving type information processor
US6820268B2 (en) Method for associating data bearing objects with user interface objects
Boyle et al. From WIMPS to 3D: The development of AMAZE
JPH0475135A (en) Program developing device
JPH064280A (en) Graphical user interface having function of user control for object with wysiwyg type editor
WO2001008007A1 (en) Method and system of automated generation of program code from an object oriented model
JPH0475136A (en) Program developing device
JPH0475133A (en) Program developing device
EP0531319A1 (en) Dynamic information management computer system
Costabile et al. Iconit: an environment for design and prototyping of iconic interfaces

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090515

Year of fee payment: 14

LAPS Cancellation because of no payment of annual fees