JPH0727473B2 - Data flow program debug device - Google Patents
Data flow program debug deviceInfo
- Publication number
- JPH0727473B2 JPH0727473B2 JP63165689A JP16568988A JPH0727473B2 JP H0727473 B2 JPH0727473 B2 JP H0727473B2 JP 63165689 A JP63165689 A JP 63165689A JP 16568988 A JP16568988 A JP 16568988A JP H0727473 B2 JPH0727473 B2 JP H0727473B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- data flow
- data
- execution
- line
- 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.)
- Expired - Fee Related
Links
Landscapes
- Debugging And Monitoring (AREA)
- Devices For Executing Special Programs (AREA)
Description
【発明の詳細な説明】 [産業上の利用分野] この発明はデータフロープログラムのデバッグ装置に関
し、特に、データフロープログラムに展開されるソース
プログラムの各行を表示することにより、ソースプログ
ラムのデバッグを可能にするようなデバッグ装置に関す
る。Description: TECHNICAL FIELD The present invention relates to a data flow program debugging device, and in particular, it is possible to debug a source program by displaying each line of the source program expanded in the data flow program. To a debugging device such as
[従来の技術] 従来のコンピュータは、プログラムとして種々の命令を
プログラムメモリに記憶しておき、プログラムカウンタ
によってプログラムメモリのアドレスを逐次指定して順
次命令を読出し、その命令を実行するというノイマン型
計算機が大部分である。[Prior Art] In a conventional computer, various instructions are stored in a program memory as a program, addresses of the program memory are sequentially designated by a program counter, the instructions are sequentially read, and the Neumann computer is executed. Is the majority.
一方、データフロー型情報処理装置は、プログラムカウ
ンタによる逐次的な命令の実行という概念を持たない非
ノイマン型計算機の一種である。このようなデータフロ
ー型情報処理装置は、命令が並列に処理されることを前
提にしたアーキテクチャに従っている。そして、演算の
対象になるデータが揃い次第、命令の実行が可能とな
り、データによって複数の命令を同時に駆動するため、
データの自然な流れに従って並列的にプログラムが実行
される。その結果、演算の所要時間が大幅に短縮できる
ことになる。On the other hand, the data flow type information processing apparatus is a type of non-Neumann type computer that does not have the concept of sequential instruction execution by a program counter. Such a data-flow type information processing device has an architecture based on the premise that instructions are processed in parallel. Then, as soon as the data to be operated is available, the instruction can be executed, and multiple instructions are driven simultaneously by the data,
Programs are executed in parallel according to the natural flow of data. As a result, the time required for the calculation can be greatly reduced.
第5図は従来のデータフロー型情報処理装置の一例を示
す概略ブロック図であり、第6図は第5図に示した情報
処理装置の各部分を巡回するデータパケットの基本構成
を示す図であり、第7図はプログラムメモリに記憶され
るデータフロープログラムの一部を示す図である。FIG. 5 is a schematic block diagram showing an example of a conventional data flow type information processing apparatus, and FIG. 6 is a diagram showing a basic configuration of a data packet circulating in each part of the information processing apparatus shown in FIG. FIG. 7 is a diagram showing a part of the data flow program stored in the program memory.
まず、第5図,第6図および第7図を参照して、データ
フロー型情報処理装置の構成と概略の動作について説明
する。第6図に示したデータパケットの行先フィールド
には行先情報が格納され、命令フィールドには命令情報
が格納され、データ1フィールドまたはデータ2フィー
ルドにはオペランンドデータが格納される。First, with reference to FIG. 5, FIG. 6 and FIG. 7, the configuration and schematic operation of the data flow type information processing apparatus will be described. Destination information of the data packet shown in FIG. 6 stores destination information, instruction information stores instruction information, and data 1 field or data 2 field stores operand data.
第5図において、プログラム記憶部(PS)1はプログラ
ムメモリを含み、そのプログラムメモリには第7図に示
すように、行先情報と命令情報とからなるデータフロー
プログラムが記憶されている。プログラム記憶部1はデ
ータパケットの行先情報に基づくアドレス指定によって
行先情報および命令情報を読出し、各情報をデータパケ
ットの行先フィールドおよび命令フィールドに格納し
て、FIFOからなる入力バッファ2a,2bに出力する。In FIG. 5, the program storage unit (PS) 1 includes a program memory, and as shown in FIG. 7, a data flow program including destination information and instruction information is stored in the program memory. The program storage unit 1 reads out the destination information and the instruction information by addressing based on the destination information of the data packet, stores each information in the destination field and the instruction field of the data packet, and outputs it to the input buffers 2a, 2b made of FIFO. .
対データ検出器(FC)2は、プログラム記憶部1から入
力バッファ2aおよび2bを介して入力されるデータパケッ
トの待合わせを行ない、行先情報が一致する2つのデー
タパケットのうち、一方のデータパケットのオペランド
データを他方のデータパケットの所定のデータフィール
ドに格納して、FIFOからなる入力バッファ3aに出力す
る。なお、このとき、上述の一方のデータパケットは消
滅する。The data detector (FC) 2 waits for a data packet input from the program storage unit 1 via the input buffers 2a and 2b, and selects one of the two data packets having the same destination information. The operand data of is stored in a predetermined data field of the other data packet and is output to the input buffer 3a formed of a FIFO. At this time, the one data packet described above disappears.
演算処理部(FP)3は対データ検出部2から入力バッフ
ァ3aを介して入力されるデータパケットの命令情報を解
読し、その2つのオペランドデータに対して所定の演算
処理を施し、その結果をデータパケットのデータフィー
ルドに格納して分岐部4に出力する。The arithmetic processing unit (FP) 3 decodes the command information of the data packet input from the paired data detection unit 2 via the input buffer 3a, performs a predetermined arithmetic processing on the two operand data, and outputs the result. The data is stored in the data field of the data packet and output to the branch unit 4.
分岐部4はデータパケットの行先情報に基づいて、その
データパケットをFIFOからなる入力バッファ1aに与える
か、あるいはFIFOからなる入力バッファ5aを介して外部
データメモリ(EDS)6に与える。入力バッファ1aから
のデータパケットまたは外部データメモリ5から出力バ
ッファ5bを介して出力されるデータパケットは合流部6
に与えられ、合流部6はそれらのデータパケットを先着
順にプログラム記憶部1に与える。Based on the destination information of the data packet, the branching unit 4 gives the data packet to the input buffer 1a composed of a FIFO or to the external data memory (EDS) 6 via the input buffer 5a composed of a FIFO. The data packet from the input buffer 1a or the data packet output from the external data memory 5 via the output buffer 5b is the merging unit 6
And the merging unit 6 supplies the data packets to the program storage unit 1 in the order of arrival.
第5図に示されたデータフロー型情報処理装置において
は、データパケットが、プログラム記憶部1→対データ
検出部2→演算処理部3→分岐部4(→外部データメモ
リ5)→合流部6→プログラム記憶部1…のように回り
続けることにより、プログラム記憶部1に記憶されたプ
ログラムに基づく演算処理が進行する。In the data flow type information processing apparatus shown in FIG. 5, the data packet is stored in the program storage unit 1-> pair data detection unit 2-> arithmetic processing unit 3-> branching unit 4 (-> external data memory 5)-> merging unit 6 → By continuing to rotate like the program storage unit 1, the arithmetic processing based on the program stored in the program storage unit 1 proceeds.
第8図は第5図に示したプログラム記憶部1の概略の構
成を示す図である。第8図において、入力データラッチ
部11はデータパケットの行先情報およびオペランドデー
タを保持するものであり、命令情報は消去される。保持
されたオペランドと、行先情報をもとにしてプログラム
メモリ13から読出された新しい行先情報と命令情報とが
出力データラッチ部14に与えられてラッチされる。入力
データラッチ部11でラッチされた行先情報はアドレス計
算部12に与えられ、その行先情報からプログラムメモリ
13のアドレスが計算される。プログラムメモリ13は前述
の第7図に示したような行先情報と命令情報からなるデ
ータフロープログラムを記憶しており、上述のアドレス
により新しい行先情報と命令情報が出力データラッチ部
14に与えられる。FIG. 8 is a diagram showing a schematic configuration of the program storage unit 1 shown in FIG. In FIG. 8, the input data latch unit 11 holds the destination information and operand data of the data packet, and the command information is erased. The held operand and the new destination information and instruction information read from the program memory 13 based on the destination information are given to the output data latch unit 14 and latched. The destination information latched by the input data latch unit 11 is given to the address calculation unit 12, and the destination memory information is used to program memory.
13 addresses are calculated. The program memory 13 stores the data flow program including the destination information and the instruction information as shown in FIG. 7, and the new destination information and the instruction information are output by the above-mentioned address.
Given to 14.
[発明が解決しようとする課題] 上述のデータフロー型情報処理装置においては、演算の
対象となるデータが揃い次第命令の実行が可能となり、
データの自然な流れに従って並列的にかつ非同期にプロ
グラムが実行される。そのため、通常のノイマン型計算
機において実行される場合に書かれたようなソースプロ
グラムをデータフロープログラムに展開して実行する場
合、その実行順序はノイマン型計算機における実行順序
とは必ずしも一致しないため、単純にプログラムを辿る
だけでは、そのソースプログラムの誤りを発見し、正す
ことができないという問題点があった。また、展開され
たデータフロープログラムを実行するときに誤りを発見
することはさらに困難であり、またソースプログラムと
の対応関係を知ることにも大変な困難が生じるという問
題点があった。[Problems to be Solved by the Invention] In the above-mentioned data flow type information processing apparatus, it becomes possible to execute an instruction as soon as data to be operated is prepared,
Programs are executed in parallel and asynchronously according to the natural flow of data. Therefore, when a source program such as the one written when it is executed in a normal Neumann computer is developed and executed in a data flow program, the execution order does not always match the execution order in the Neumann computer, so it is simple. There was a problem that the error of the source program could not be found and corrected only by following the program. In addition, it is more difficult to find an error when executing the expanded data flow program, and it is also very difficult to know the correspondence with the source program.
それゆえに、この発明の主たる目的は、データフロー型
情報処理装置上で実行可能なデータフロープログラムの
デバッグを効率良く行なうためのデバッグ装置を提供す
ることである。Therefore, a main object of the present invention is to provide a debug device for efficiently debugging a data flow program executable on a data flow type information processing device.
[課題を解決するための手段] この発明はデータフロープログラムの動作をソースプロ
グラムに記述された行を単位としてデバッグするデータ
フロープログラムのデバッグ装置であって、データフロ
ープログラムを記憶するプログラム記憶手段と、データ
フロープログラムを実行する処理装置における複数の構
成部分に対応する機能を模擬的に実行する複数の機能部
分を含み、かつプログラム記憶手段に記憶されたデータ
フロープログラムを対応するソースプログラムの各行ご
とに逐次実行するプログラム実行手段と、プログラム実
行手段の複数の機能部分のソースプログラムの各行に対
応する実行状態を記憶する状態記憶手段と、対応するソ
ースプログラムの各行におけるデータフロープログラム
の実行に用いられるデータのプログラム実行手段の各機
能部での処理,実行の進行状況を記憶するデータ遷移記
憶手段と、ソースプログラムの各行とデータフロープロ
グラムの各ノードとの対応関係を示したデバッグ情報を
記憶するデバッグデータ情報記憶手段と、状態記憶手段
によってプログラム実行時のデータフロープログラムの
実行状況の情報を得るとともに、データ遷移記憶手段に
よってプログラム実行時のデータフロープログラムのデ
ータの情報を得て、それらの情報をデバッグ情報記憶手
段に収められたデバッグ情報からソースプログラムの各
行に対応させ、プログラム記憶手段からソースプログラ
ムの各行に関する情報を引出す制御手段と、制御手段に
よって得られたソースプログラムの各行に関するデバッ
グ情報を表示するデバッグ情報表示手段とを備えて構成
される。[Means for Solving the Problem] The present invention is a data flow program debugging device for debugging the operation of a data flow program in units of lines described in a source program, and a program storage means for storing the data flow program. For each line of the source program corresponding to the data flow program, the data flow program including a plurality of functional parts for simulating functions corresponding to a plurality of constituent parts in the processing device that executes the data flow program and stored in the program storage means Used for executing the data flow program in each row of the corresponding source program, the state executing means for storing the execution state corresponding to each row of the source program of the plurality of functional parts of the program executing means, Data program Data transition storage means for storing the progress of processing and execution in each functional part of the line means, and debug data information storage for storing debug information indicating the correspondence between each line of the source program and each node of the data flow program Means and state storage means to obtain information on the execution status of the dataflow program at the time of program execution, and the data transition storage means to obtain information on the data of the dataflow program at the time of program execution, and store those information in debug information. Control means for associating each line of the source program from the debug information stored in the means and extracting information about each line of the source program from the program storage means, and debug information for displaying the debug information about each line of the source program obtained by the control means And a display means .
[作用] この発明に係るデバッグ装置は、ソースプログラムとデ
ータフロープログラムとの対応関係を示すファイルを作
成するため、逐次実行されるデータフロープログラムに
対応するソースプログラムを表示できる。また、プログ
ラムの模擬的な実行に際しては対応するソースプログラ
ムの各行が実行および終了するごとにデータフロープロ
グラムが逐次進行させられ、データフロー型情報処理装
置の各構成部分の状態およびデータの遷移が順次状態記
憶手段およびデータ遷移記憶手段に記憶され、その結果
データフロープログラムに対応するソースプログラムの
実行順序および実行情報が得られることになる。[Operation] Since the debug device according to the present invention creates the file showing the correspondence between the source program and the data flow program, the source program corresponding to the sequentially executed data flow program can be displayed. Further, during the simulated execution of the program, the data flow program is sequentially advanced each time each line of the corresponding source program is executed and finished, and the state of each component of the data flow type information processing apparatus and the data transition are sequentially performed. The result is stored in the state storage means and the data transition storage means, and as a result, the execution order and execution information of the source program corresponding to the data flow program can be obtained.
[実施例] 第1図はこの発明の一実施例の概略ブロック図である。[Embodiment] FIG. 1 is a schematic block diagram of an embodiment of the present invention.
第1図において、デバッグ実行装置10はデータフロー型
情報処理装置の内部動作をシミュレートする部分であ
り、データフロー型情報処理装置の各構成部分の動作を
実行するものである。このデバッグ実行装置10として
は、一般の情報処理装置(ノイマン型計算機)が用いら
れる。デバッグ実行装置10には入力ファイル20とコマン
ドファイル30とコンソール40と内部ファイル50とデバッ
グ表示ファイル60と結果ファイル70とディスプレイ80と
が接続される。In FIG. 1, the debug execution device 10 is a part that simulates the internal operation of the data flow type information processing device, and executes the operation of each component of the data flow type information processing device. As the debug execution device 10, a general information processing device (Neumann computer) is used. An input file 20, a command file 30, a console 40, an internal file 50, a debug display file 60, a result file 70 and a display 80 are connected to the debug execution device 10.
入力ファイル20はデバッグ実行装置10に、データフロー
プログラムを実行させ、デバッグを行なわせるのに必要
なデータを入力する部分である。この入力ファイル20は
プログラムファイル21およびデバッグ情報ファイル22を
含む。プログラムファイル21はデータフロープログラム
のオプジェクトプログラムおよびそれに使用されるデー
タなどを記憶している。また、デバッグ情報ファイル22
には、ソースプログラムリストおよびソースプログラム
とデータフロー型に展開されたオブジェクトプログラム
との対応関係を示す情報などが記憶されている。コマン
ドファイル30はデバッグに関する各種命令を記憶するも
のであり、このコマンドファイル30にはバッチ処理によ
り実行されるコマンド群が格納されている。The input file 20 is a part for inputting data necessary for causing the debug execution device 10 to execute a data flow program and perform debugging. The input file 20 includes a program file 21 and a debug information file 22. The program file 21 stores the object program of the data flow program and the data used for it. Also, debug information file 22
Stores a source program list and information indicating the correspondence between the source program and the object programs expanded in the data flow type. The command file 30 stores various instructions related to debugging, and the command file 30 stores a command group executed by batch processing.
コンソール40はデバッグに関する各種指定をキー入力す
るためのものである。内部ファイル50はデバッグ実行装
置10の内部において用いられる各種情報を記憶するもの
であり、PSファイル51とデータパケットファイル52とED
Sファイル・EDSマップファイル(以下、EDSファイルと
称する)53を含む。PSファイル51はプログラムファイル
21から与えられたオブジェクトプログラムをデバッグ実
行装置10において実行可能な形式に変換したデータフロ
ープログラムを記憶するものである。データパケットフ
ァイル52に記憶されたデータパケットは、前述の第5図
に示したデータフロー型情報処理装置の各部分を巡回す
るデータパケットに対応している。EDSファイル53は第
5図に示した外部データメモリ5に対応する部分の記憶
内容および記憶領域の割当に関する情報を記憶する。The console 40 is for inputting various designations relating to debugging. The internal file 50 stores various information used inside the debug execution device 10, and includes a PS file 51, a data packet file 52, and an ED.
Includes S file and EDS map file (hereinafter referred to as EDS file) 53. PS file 51 is a program file
It stores a data flow program obtained by converting the object program given from 21 into a format executable by the debug execution apparatus 10. The data packet stored in the data packet file 52 corresponds to the data packet circulating in each part of the data flow type information processing apparatus shown in FIG. The EDS file 53 stores the storage contents of the portion corresponding to the external data memory 5 shown in FIG.
デバッグ表示ファイル60はデバッグ実行装置10における
デバッグ実行中の表示の変化を記憶し、結果ファイル70
はデバッグ実行装置10によるデータフローグラフの実行
結果を記憶する。The debug display file 60 stores changes in the display during debug execution in the debug execution device 10, and the result file 70
Stores the execution result of the data flow graph by the debug execution device 10.
したがって、データフロープログラムに基づく演算処理
の結果は、この結果ファイル70に記憶される。ディスプ
レイ80はデバッグ表示ファイル60の内容,結果ファイル
70の内容およびメッセージを表示する。Therefore, the result of the arithmetic processing based on the data flow program is stored in the result file 70. Display 80 is the contents of debug display file 60, result file
Show 70 contents and message.
プログラムファイル21から与えられるオブジェクトプロ
グラムは、このデバッグ実行装置10において実行可能な
データフロープログラムに変換されてPSファイル51に記
憶される。また、プログラムファイル21から与えられる
データはデータパケットファイル52に記憶される。この
第1図に示したデバッグ実行装置10によるデバッグ処理
は、コンソール40から入力されるコマンドまたはコマン
ドファイル30に記憶されているコマンドに従って実行さ
れる。The object program given from the program file 21 is converted into a data flow program that can be executed by the debug execution device 10 and stored in the PS file 51. Further, the data given from the program file 21 is stored in the data packet file 52. The debug processing by the debug executing device 10 shown in FIG. 1 is executed according to a command input from the console 40 or a command stored in the command file 30.
第2図は第1図に示したデバッグ装置によってデバッグ
されるソースプログラムの一例を示す図であり、第3図
は第2図に示したソースプログラムに基づくフローグラ
フを示す図であり、第4図はこの発明の一実施例による
デバッグ実行結果の一例を示す図である。2 is a diagram showing an example of a source program debugged by the debug device shown in FIG. 1, FIG. 3 is a diagram showing a flow graph based on the source program shown in FIG. 2, and FIG. FIG. 6 is a diagram showing an example of a debug execution result according to an embodiment of the present invention.
なお、第3図に示したフローグラフにおいて、右側の丸
印内の数字は実行ランク値を示し、左側の数字はその実
行ランク値の昇順に付けられたノード番号を示してお
り、この実施例によるプログラムはそのノード番号の順
に実行されるものとする。したがって、第2図に示した
ソースプログラムに対して、ノード番号の順に実行され
ると、デバッグの実行とともに第4図に示すように表示
される。In the flow graph shown in FIG. 3, the numbers in the circles on the right side show the execution rank values, and the numbers on the left side show the node numbers added in ascending order of the execution rank values. Programs shall be executed in the order of their node numbers. Therefore, when the source program shown in FIG. 2 is executed in the order of the node numbers, it is displayed as shown in FIG. 4 along with the execution of debugging.
まず、第4図の表示フォーマットについて100の位置に
示されるノード2の場合を例として説明する。なお、そ
こに表示されている情報は、ノード2が実行されたとき
の情報を示している。First, the display format of FIG. 4 will be described by taking the case of the node 2 shown at the position 100 as an example. The information displayed there is the information when the node 2 was executed.
デバッグ実行時には、第4図に示すように、実行された
ノード番号100,処理開始行210,実行中の行220,処理終了
行230の3種類に関する表示が行なわれる。処理開始行2
10は1行に属するノードのうち、いずれかのノードにデ
ータが来ているソースプログラムの行を意味している。
また、実行中の行220は1行に属するノードのうち、入
力ノードのすべてにデータが来たソースプログラムの行
を意味している。なお、入力ノードとは別の行に属する
ノードなど当該行に属さないノードに直接に接続してい
るノードのことである。そして、また処理終了行230と
はその1行に属するすべてのノードが実行されたソース
プログラムの行を意味している。At the time of debug execution, as shown in FIG. 4, three types of display, that is, the executed node number 100, the process start line 210, the process line 220, and the process end line 230 are displayed. Processing start line 2
Reference numeral 10 means a line of the source program in which data comes to any one of the nodes belonging to one line.
In addition, the line 220 being executed means the line of the source program whose data has come to all of the input nodes among the nodes belonging to one line. Note that an input node is a node that is directly connected to a node that does not belong to the row, such as a node that belongs to another row. The processing end line 230 means the line of the source program in which all the nodes belonging to the one line are executed.
以上の3種類のいずれも同様のフォーマットに従って表
示される。ここで、そのフォーマットについて説明す
る。一番左端の位置300に表示された数字10は、ソース
プログラム中の何行目かを示している。その右の位置31
0はその10行目に記述されたソースプログラムの内容を
示し、さらにその右の位置320はその行に存在する変数
をすべて列挙したものであり、それぞれ(出力元の行番
号):(変数名)という順になっている。All of the above three types are displayed in the same format. Here, the format will be described. The number 10 displayed at the leftmost position 300 indicates the line number in the source program. Its right position 31
0 indicates the contents of the source program described on the 10th line, and the position 320 on the right of it is a list of all variables existing on that line. Each (output source line number): (variable name ) Is in order.
なお、変数名が( )内にある場合には、その変数の値
が確定したことを示し、また位置320に“source"とある
のはプログラムに対する入力などのソースを意味してい
る。次に、その下の330は各変数について次に処理され
る命令が記述されている行番号を示し、複数個存在する
ので記号“,"で区切って示されている。前述の3種類の
行210,220,230はすべて以上のようなフォーマットで表
示される。If the variable name is in parentheses, it means that the value of the variable is fixed, and "source" at position 320 means the source such as the input to the program. Next, 330 below it shows the line number in which the instruction to be processed next for each variable is described. Since there are a plurality of lines, they are separated by the symbol ",". The above three types of lines 210, 220, 230 are all displayed in the above format.
上述のフォーマットに従って、処理終了行210,実行中の
処理開始行220,処理終了行230のそれぞれに表示される
各行に関する情報がデバッグの実行に伴ない、第4図に
示すように表示が変化していく。たとえば、10行につい
て見ていくと、まず最初に位置100に示すノード2の実
行により、処理開始行210に10行に関する情報が表示さ
れ、次にノード6の実行後、実行中の行222にその表示
が移動し、さらにノード10の実行により処理終了行233
に移動して表示される。すべての行について以上のよう
に表示が変更されていき、デバッグが実行されていく。According to the above format, the information regarding each line displayed in the process end line 210, the process start line 220 being executed, and the process end line 230 is changed as the debug is executed, as shown in FIG. To go. For example, looking at 10 lines, first, the execution of node 2 shown at position 100 causes information about 10 lines to be displayed in the process start line 210, and then after execution of node 6, the execution line 222 is displayed. The display is moved, and the execution of node 10 causes the processing end line 233.
Moved to and displayed. The display is changed as above for all lines, and debugging is executed.
次に、各ノードの実行に従って表示がどのように変化し
ていくのかを詳細に説明する。第3図に示すように、ノ
ード2の実行によりノード7にデータが送られてくるの
で、そのノードの属する行10が処理開始行210に表示さ
れる。その際、その行に属する変数はすべて確定されて
おり、位置320に表示する変数はいずれも( )内に表
示される。Next, how the display changes according to the execution of each node will be described in detail. As shown in FIG. 3, since the data is sent to the node 7 by executing the node 2, the line 10 to which the node belongs is displayed in the process start line 210. At that time, all the variables belonging to the row are fixed, and all the variables to be displayed at the position 320 are displayed in ().
次に、ノード5が実行されると、12行に属するノード11
に変数bの確定した値を持つデータが送られてくるの
で、その12行が処理開始行211に表示される。このと
き、12行に属する変数で、位置420に表示される“x"に
ついては、( )内に入れられないまま表示されてい
る。これは、その値を出力する10行がまだ終了していな
いことから、未だ値が決まっていないためである。Next, when node 5 is executed, node 11 belonging to line 12
Since the data having the fixed value of the variable b is sent to, the 12 lines are displayed in the processing start line 211. At this time, a variable belonging to the 12th line, "x" displayed at the position 420, is displayed without being put in (). This is because the 10 lines that output that value have not been completed yet, so the value has not yet been determined.
さらに、ノード6の実行により、10行に属するすべての
入力ノードにデータが送られてくるので、その10行が実
行中の行222に表示される。なお、入力ノードとは前述
のごとく当該行に属さないノードを出力元のノードとし
て持っているノードを意味し、この10行の場合にはノー
ド7および8を示す。入力ノード7の出力元のノード2,
4および入力ノード8の出力元のノード5,6がこの時点で
すべて実行されたことになり、したがって入力ノード7,
8のすべてにデータが来ていることになる。Furthermore, since the data is sent to all the input nodes belonging to the 10th row by the execution of the node 6, the 10th row is displayed in the currently-executed row 222. The input node means a node having a node that does not belong to the row as an output source node as described above, and the nodes 7 and 8 are shown in the case of 10 rows. Output source node 2 of input node 7,
4 and the output source nodes 5 and 6 of the input node 8 are all executed at this point, and therefore the input node 7 and
Data comes to all eight.
さらに、プログラムが実行されていき、ノード10が実行
されたとき、その10行についてはその行に属するすべて
のノード7,8,10が実行されたことになり、10行が処理終
了行233に表示される。また、その結果、変数“x"の値
が決定されるので、実行中の行223に表示されている11,
12行の中のそれぞれ位置422,520に表示された変数“x"
が( )内に表示される。Further, when the program is executed and the node 10 is executed, all the nodes 7, 8 and 10 belonging to that line have been executed for the 10 lines, and the 10 lines become the processing end line 233. Is displayed. In addition, as a result, the value of the variable “x” is determined, so that it is displayed in the line 223 being executed.
Variable “x” displayed at position 422,520 in 12 lines respectively
Is displayed in ().
以上のようにして、プログラムが実行されるとともに表
示される各情報が変化していく。最終的にはノード16の
実行によりソースプログラムの最終行である14行目の式
の実行が終了し、その14行が処理終了行234に表示さ
れ、例として掲げたデータフロープログラムが終了す
る。なお、14行により出力された変数“out"について
は、その行先がプログラムの出力であることから、行先
の行番号630として“sink"(シンクの意味)を表示して
いる。As described above, the displayed information changes as the program is executed. Finally, the execution of the node 16 completes the execution of the expression on the 14th line, which is the final line of the source program, and the 14th line is displayed in the processing end line 234, and the data flow program given as an example ends. For the variable “out” output by the 14th line, since the destination is the output of the program, “sink” (meaning sync) is displayed as the line number 630 of the destination.
上述のようにしてデバッグが実行され、データフロー型
情報処理装置で実行されるソースプログラムに関する実
行順序および実行情報得られることになる。The debugging is executed as described above, and the execution order and the execution information regarding the source program executed by the data flow type information processing apparatus are obtained.
[発明の効果] 以上のように、この発明によれば、データフロープログ
ラムの実行に対応するソースプログラムの実行順序およ
び変数に代表されるソースプログラムの実行情報を得る
ことができ、データフロープログラムの開発を容易かつ
正確に行なうことが可能となる。[Effects of the Invention] As described above, according to the present invention, it is possible to obtain the execution order of a source program corresponding to the execution of a dataflow program and the execution information of the source program represented by variables. It enables easy and accurate development.
第1図はこの発明の一実施例の概略ブロック図である。
第2図はこの発明の一実施例に適用されるソースプログ
ラムの一例を示す図である。第3図は第2図に示したソ
ースプログラムをデータフロープログラムに展開した例
を示す図である。第4図はこの発明の一実施例によるデ
バッグ実行結果を示す図である。第5図は従来のデータ
フロー型情報処理装置の構成の一例を示すブロック図で
ある。第6図は第5図に示した情報処理装置の各部分を
巡回するデータパケットの構成を示す図である。第7図
はプログラムメモリに記憶されるデータフロープログラ
ムの一部を示す図である。第8図はデータフロー型情報
処理装置のプログラム記憶部の構成を示すブロック図で
ある。 図において、10はデバッグ実行装置、20は入力ファイ
ル、21はプログラムファイル、22はデバッグ情報ファイ
ル、30はコマンドファイル、40はコンソール、50は内部
ファイル、51はPSファイル、52はデータパケットファイ
ル、53はEDS・EDSマップファイル、60はデバッグ表示フ
ァイル、70は結果ファイル、80はディスプレイを示す。FIG. 1 is a schematic block diagram of an embodiment of the present invention.
FIG. 2 is a diagram showing an example of a source program applied to one embodiment of the present invention. FIG. 3 is a diagram showing an example in which the source program shown in FIG. 2 is expanded into a data flow program. FIG. 4 is a diagram showing a debug execution result according to an embodiment of the present invention. FIG. 5 is a block diagram showing an example of the configuration of a conventional data flow type information processing apparatus. FIG. 6 is a diagram showing a structure of a data packet circulating in each part of the information processing apparatus shown in FIG. FIG. 7 is a diagram showing a part of the data flow program stored in the program memory. FIG. 8 is a block diagram showing the configuration of the program storage unit of the data flow type information processing apparatus. In the figure, 10 is a debug execution device, 20 is an input file, 21 is a program file, 22 is a debug information file, 30 is a command file, 40 is a console, 50 is an internal file, 51 is a PS file, 52 is a data packet file, 53 is an EDS / EDS map file, 60 is a debug display file, 70 is a result file, and 80 is a display.
Claims (1)
ログラムに記述された行を単位としてデバッグするデー
タフロープログラムのデバッグ装置であって、 前記データフロープログラムを記憶するプログラム記憶
手段、 前記データフロープログラムを実行する処理装置におけ
る複数の構成部分に対応する機能を模擬的に実行する複
数の機能部分を含み、かつ前記プログラム記憶手段に記
憶された前記データフロープログラムを対応する前記ソ
ースプログラムの各行ごとに逐次実行するプログラム実
行手段、 前記プログラム実行手段の前記複数の機能部分の、前記
ソースプログラムの各行に対応する実行状態を記憶する
状態記憶手段、 対応する前記ソースプログラムの各行における、前記デ
ータフロープログラムの実行に用いられるデータの前記
プログラム実行手段の各機能部での処理,実行の進行状
況を記憶するデータ遷移記憶手段、 前記ソースプログラムの各行と前記データフロープログ
ラムの各ノードとの対応関係を示したデバッグ情報を記
憶するデバッグ情報記憶手段、 前記状態記憶手段によってプログラム実行時のデータフ
ロープログラムの実行状況の情報を得るとともに、前記
データ遷移記憶手段によってプログラム実行時のデータ
フロープログラムのデータの情報を得て、それらの情報
を前記デバッグ情報記憶手段に記憶されたデバッグ情報
からソースプログラムの各行に対応させ、前記プログラ
ム記憶手段から前記ソースプログラムの各行に関する情
報を引出す制御手段、および 前記制御手段によって得られた前記ソースプログラムの
各行に関するデバッグ情報を表示するデバッグ情報表示
手段を備えた、データフロープログラムのデバッグ装
置。1. A debug device for a data flow program, which debugs the operation of a data flow program in units of lines described in a source program, the program storage means storing the data flow program, and executing the data flow program. The processing unit includes a plurality of functional portions that simulate functions corresponding to a plurality of constituent portions, and the data flow program stored in the program storage means is sequentially executed for each line of the corresponding source program. Program execution means, state storage means for storing execution states of the plurality of functional portions of the program execution means corresponding to respective lines of the source program, and execution of the data flow program in respective lines of the corresponding source program. Data used Data transition storage means for storing the progress of the processing and execution in each functional part of the program execution means, and debug information indicating the correspondence between each line of the source program and each node of the data flow program. Debug information storage means, the state storage means obtains information on the execution status of the data flow program during program execution, and the data transition storage means obtains information on the data of the data flow program during program execution, and the information Is associated with each line of the source program from the debug information stored in the debug information storage unit, and a control unit that extracts information about each line of the source program from the program storage unit, and the source program obtained by the control unit. Debug information about each line With debug information display means for displaying the debugging apparatus of the data flow program.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63165689A JPH0727473B2 (en) | 1988-07-01 | 1988-07-01 | Data flow program debug device |
| US07/374,060 US5038348A (en) | 1988-07-01 | 1989-06-30 | Apparatus for debugging a data flow program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63165689A JPH0727473B2 (en) | 1988-07-01 | 1988-07-01 | Data flow program debug device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0214333A JPH0214333A (en) | 1990-01-18 |
| JPH0727473B2 true JPH0727473B2 (en) | 1995-03-29 |
Family
ID=15817172
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63165689A Expired - Fee Related JPH0727473B2 (en) | 1988-07-01 | 1988-07-01 | Data flow program debug device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0727473B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0740259B2 (en) * | 1989-01-31 | 1995-05-01 | シャープ株式会社 | Parallel processor development system |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6383842A (en) * | 1986-09-27 | 1988-04-14 | Toshiba Corp | Program processor |
-
1988
- 1988-07-01 JP JP63165689A patent/JPH0727473B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0214333A (en) | 1990-01-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5038348A (en) | Apparatus for debugging a data flow program | |
| JPS5948424B2 (en) | parallel computing system | |
| JPH01188951A (en) | Control system for execution of data flow program | |
| JPS63291134A (en) | Logically integrated circuit | |
| JPH0727473B2 (en) | Data flow program debug device | |
| JPH0727474B2 (en) | Data flow program debug device | |
| JPH06101045B2 (en) | Data flow type information processing device simulation device | |
| JP3696625B2 (en) | Data-driven information processing device | |
| JPH02202643A (en) | Debug device for data driving type information processor | |
| JPS63131238A (en) | Logic simulator | |
| JP3100013B2 (en) | Program debug device | |
| JPH03218539A (en) | Debug method in parallel computer system | |
| JP2866143B2 (en) | Dynamic pipeline processing unit | |
| JPS63291170A (en) | Simulator | |
| JPS63197264A (en) | Simulator | |
| JPS61143855A (en) | Program test system | |
| JPS63292337A (en) | Logic simulation system | |
| JPS63180139A (en) | Microcomputer for evaluation of program | |
| JPS63147202A (en) | Verifying system for programmable controller | |
| JPS63208124A (en) | Microprogram controller | |
| JPH1027113A (en) | Firmware development support method and apparatus | |
| JPS6355646A (en) | Controlling system for symbolic debugger | |
| JPS58134338A (en) | Controlling system of digital computer | |
| JPH0620071A (en) | Data-driven information processing device | |
| JPS63217433A (en) | Control system for execution of program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |