JP2749224B2 - デ−タ駆動型プログラム用性能解析装置 - Google Patents

デ−タ駆動型プログラム用性能解析装置

Info

Publication number
JP2749224B2
JP2749224B2 JP4004842A JP484292A JP2749224B2 JP 2749224 B2 JP2749224 B2 JP 2749224B2 JP 4004842 A JP4004842 A JP 4004842A JP 484292 A JP484292 A JP 484292A JP 2749224 B2 JP2749224 B2 JP 2749224B2
Authority
JP
Japan
Prior art keywords
instruction
data
execution
time
performance
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 - Lifetime
Application number
JP4004842A
Other languages
English (en)
Other versions
JPH05189279A (ja
Inventor
泰祥 金子
幸仁 前島
光 中谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Software Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Software Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP4004842A priority Critical patent/JP2749224B2/ja
Publication of JPH05189279A publication Critical patent/JPH05189279A/ja
Application granted granted Critical
Publication of JP2749224B2 publication Critical patent/JP2749224B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】デ−タ駆動型プログラムの設計に
係り、特に、命令の実行時間の求め方、およびその表示
方法に係る。
【0002】
【従来の技術】従来、デ−タ駆動型プログラムにおい
て、命令実行の性能を向上させるための一例としては、
特開平1−211123号公報に記載があるように、予
め命令の入力デ−タ数が1か2以上かを示すフラグを設
けることで、次命令のフラグが例えば1であれば命令実
行に必要な入力デ−タ数が1で、しかも実行可能である
と判断できるため、命令の判定処理を効率的に行うこと
ができ、命令実行の性能を向上させることが可能であ
る。
【0003】しかし、入力されたデ−タ駆動型プログラ
ムから命令実行時間を算出したり、命令間でデ−タの授
受が行われても、デ−タ駆動に基づいた命令実行条件が
成立しない命令に対するオ−バヘッド時間を算出した
り、同時に命令実行時間およびオ−バヘッド時間を表示
するための手段は、用意されていない。
【0004】
【発明が解決しようとする課題】利用者側から見た理解
性の良い性能解析手段を利用することにより、プログラ
ムの効率的な性能評価やバグの早期摘出を達成すること
が重要である。
【0005】本発明の目的は、デ−タ駆動型プログラム
に対する命令実行時間を算出することにより、プログラ
ムの効率的な性能評価手段を提供することである。
【0006】
【課題を解決するための手段】上記目的を達成するた
め、本発明は、デ-タ駆動型プログラムの性能評価を行
なうデ−タ駆動型プログラム用性能解析装置において、
デ-タ駆動型プログラムを入力するための入力手段と、
入力されたデ−タ駆動型プログラムを、命令毎に、所定
の言語で記述された実行形式命令に変換するコンパイル
部と、コンパイル部で変換された実行形式命令を実行す
る命令実行部と、命令実行部から命令を実行する度に実
行した命令と入出力デ−タに関する情報を受取り、格納
する命令情報トレ−ス部と、命令毎の実行時間、命令間
のデ−タの授受に要する時間、命令の実行条件がすべて
成立したかどうかを判定する時間を格納する実行時間デ
−タベ−スと、命令実行毎に実行時間デ−タベ−スにア
クセスし、前記3つの実行時間を基に命令実行時間を算
出する性能解析部と、命令実行時間を出力する性能表示
部とを有することとしたものである。
【0007】
【作用】上記のように構成されたデ−タ駆動型プログラ
ム用性能解析装置において、入力手段は、デ-タ駆動型
プログラムを入力する。コンパイル部は、入力されたデ
−タ駆動型プログラムを、命令毎に、所定の言語で記述
された実行形式命令に変換する。命令実行部は、コンパ
イル部で変換された実行形式命令を実行する。命令情報
トレ−ス部は、命令実行部から命令を実行する度に実行
した命令と入出力デ−タに関する情報を受取り、格納す
る。実行時間デ−タベ−スは、命令毎の実行時間、命令
間のデ−タの授受に要する時間、命令の実行条件がすべ
て成立したかどうかを判定する時間を格納する。性能解
析部は、命令実行毎に実行時間デ−タベ−スにアクセス
し、前記3つの実行時間を基に命令実行時間を算出す
る。性能表示部は、命令実行時間を出力する。
【0008】
【実施例】以下、本発明の実施例を、図面により詳細に
説明する。
【0009】図1は、デ−タ駆動型プログラム性能解析
装置である図式デ−タ駆動型プログラム性能解析表示装
置の一実施例を示す機能構成図である。
【0010】図1において、10は、キ−ボ−ドおよび
アイコンやマウスなどの入出力手段により図式デ−タ駆
動型プログラムやプログラムの性能解析結果を表示する
端末装置(入力手段、かつ表示手段である)、100は
図式デ−タ駆動型プログラムの開発を支援するための処
理装置である。処理装置100は、基本部101、性能
解析部180、性能表示部190、命令情報デ−タベ−
ス101を有する。
【0011】基本部101は、入力変換部110、結線
表変換部120、コンパイル部130、命令実行部14
0、命令実行表示部150、命令情報トレ−ス部16
0、トレ−ス情報表示部170、中間ファイル102、
命令テンプレ−ト(実行形式命令)103、トレ−ス情
報ファイル104、正解デ−タベ−ス105、実行時間
デ−タベ−ス106を有する。
【0012】入力変換部110は、端末10の画面から
入力された図式デ−タ駆動型プログラムの命令ノ−ド毎
に、端末10の画面上の表示位置、形状、命令識別番
号、命令名称、入力デ−タ数、入力デ−タ種別、入力デ
−タ入手先、出力デ−タ数、出力デ−タ通知先数で構成
される命令間の接続情報を得て、またア−ク毎に、ア−
ク識別番号、開始命令識別番号、終了命令識別番号、ア
−ク開始座標、ア−ク終了座標などで構成されるア−ク
構成情報を得て、これらの情報を中間ファイル102に
格納する。
【0013】結線表変換部120は、中間ファイル10
2に格納されている命令間の接続情報から結線表と呼ぶ
テキスト表現の接続情報テ−ブルに変換する。
【0014】コンパイル部130は、結線表変換部12
0で出力された結線表を実行可能な機械語命令で記述し
た命令テンプレ−トに変換し、命令テンプレ−ト部10
3に出力する。命令実行部140は、命令テンプレ−ト
をデ−タ駆動論理に基づき実行し、命令の実行過程を命
令表示部150を介して、端末10の画面に表示する。
【0015】また、命令実行部140は命令を実行する
毎に実行した命令の命令識別番号、命令名称、入力デ−
タ情報、出力デ−タ情報などのトレ−ス情報を命令情報
トレ−ス部160に引渡す。
【0016】命令情報トレ−ス部160は、命令実行部
140から引き継いだトレ−ス情報をトレ−ス情報ファ
イル104に格納する。一旦格納されたトレ−ス情報
は、端末10からの入力指示により、トレ−ス情報表示
部170を介して、プログラムの実行過程を端末10の
画面に再表示する。
【0017】正解デ−タベ−ス105は、図式デ−タプ
ログラムの処理ル−ト毎に、正しく動作する場合の命令
のトレ−ス情報を格納したものであり、端末10からプ
ログラム名称と処理ル−ト識別番号が指示されると、命
令情報トレ−ス部106は指定されたプログラムと処理
ル−トに該当するトレ−ス情報をトレ−ス情報ファイル
104から引出し、正解デ−タベ−ス105中のトレ−
ス情報と比較し、比較結果をトレ−ス情報表示部170
を介して表示する。
【0018】性能解析部180では、実行命令部140
で一つの命令が処理される度に、実行時間デ−タベ−ス
106中に格納されている命令毎実行時間やオ−バヘッ
ド時間を基にして、ト−タルの命令実行時間やオ−バヘ
ッド時間を加味した実命令時間を算出し、実行経過を示
す時計と、命令実行時間、それに実命令時間の性能情報
を性能表示部190に引き渡す。
【0019】性能表示部190では性能情報を引き継ぐ
と、時計と実行時間のグラフとして端末10の画面に実
行経過を表示する。
【0020】また、端末10より性能解析指示とプログ
ラム性能制限時間が指示されると、性能解析部180は
実命令実行時間がプログラム性能制限時間を超えた時点
で、最終実行命令の命令識別番号や命令名称、それにオ
−バヘッド要因となった出力情報などの限界命令情報を
命令実行表示部150に渡し、またトレ−ス情報ファイ
ル104に限界命令情報を格納する。
【0021】また、性能表示部190は、限界命令情報
が発生した時点で、オ−バフロ−フラグを性能解析部1
80より引き継ぐ。限界命令情報を引き継いだ命令実行
表示部150では、実行表示中の命令やオ−バヘッド要
因と成ったア−クを、その旨が判る色で端末10の画面
に表示する。
【0022】オ−バ−フロ−フラグを引き継いだ性能表
示部190でも、オ−バフロ−が発生したグラフ上の点
を、やはりその旨が判る色で、端末10の画面に表示す
る。
【0023】さらに、命令情報トレ−ス部160でも、
トレ−ス情報中の命令が限界命令情報である時に、該当
する命令とオ−バヘッド要因となったア−クを、トレ−
ス情報表示部170を介して、端末10の画面に表示す
る。
【0024】次に、上述した図式デ−タ駆動型プログラ
ムと、命令情報デ−タベ−ス101と、中間ファイル1
02と、結線表と、命令テンプレ−トファイル103と
について説明する。
【0025】図2は本図式デ−タ駆動型プログラム性能
解析装置で処理される図式デ−タ駆動型プログラムの記
述の一例を示す。判定出力のない演算を行う命令は長方
形ノ−ド200で表し、そのノ−ドの上部に命令名称2
10を記述する。判定出力のある命令は台形ノ−ド22
0で表す。また、命令間で授受されるデ−タは有向ア−
ク230で表し、一つの命令ノ−ドに対して命令ノ−ド
の左から入る有向ア−クが入力を表し、命令ノ−ドの右
からでる有効ア−クが出力を表す。命令間で授受されな
いデ−タは、命令に直接入力されるデ−タとして文字列
240として記述する。さらに、各命令ノ−ドには、命
令識別番号250と、入力ピン番号260と、出力ピン
番号270を記述する。
【0026】図3は命令情報デ−タベ−ス101のレコ
−ド形式の一例を示した物で、レコ−ド情報は命令名称
毎に用意される。レコ−ドの形式は、命令の名称を表す
命令名称部300と、命令ノ−ドの形状を表す図形種別
部301と、命令ノ−ドの入力ピン数を表す入力デ−タ
数部302と、命令ノ−ドの出力ピン数を表す出力デ−
タ数部303と、命令ノ−ドに入力される各デ−タが他
の命令の出力デ−タを引き継ぐのか、それとも数値や文
字列として与えられるのかなどを指示する入力デ−タ種
別部304と、一つのレコ−ドの終了を指示する終了表
示部305とから構成される。
【0027】端末10から入力変換部101を介して命
令ノ−ドの入力を行う際に、指定した命令名称に応じ
て、この命令情報デ−タベ−ス101により、表示すべ
き図形の形や入出力ピン数が自動誘導されるばかりでな
く、入力デ−タ作成時の文法チェックが行われる。
【0028】図4(A)〜(C)は中間ファイル102
に格納されるレコ−ド構造の一例を示したものである。
レコ−ド構造は大きく分けて、ヘッダ情報レコ−ド(図
4(A))と、命令ノ−ド情報レコ−ド(図4(B))
と、ア−ク情報レコ−ド(図4(C))との3つの部分
から構成される。
【0029】図4(A)のヘッダレコ−ドは、ヘッダ情
報レコ−ドと、命令ノ−ド情報レコ−ドと、ア−ク情報
レコ−ドとの、3つのレコ−ドを識別するためのレコ−
ド識別部400と、入力されたプログラムの名称を表す
プログラム名称部401と、プログラム内で記述される
命令ノ−ド数を表す命令ノ−ド数部402と、プログラ
ム内で記述されるア−ク数を表すア−ク数部403と、
レコ−ドの終了を指示する終了表示部404とから構成
される。
【0030】図4(B)の命令ノ−ド情報レコ−ドは、
レコ−ド識別部400と、各命令に付与された命令識別
番号部405と、各命令の名称を表す命令名称部406
と、命令ノ−ドの図形の形状を指示する図形識別部40
7と、端末画面上での命令ノ−ドの表示位置を示す命令
ノ−ド座標位置部408と、命令ノ−ドが判定出力の機
能を有するかどうかを指示する条件分岐表示部409
と、各命令ノ−ドの入力デ−タ数を指示する入力デ−タ
数部410と、各命令の出力デ−タ数を指示する出力デ
−タ数部411と、出力デ−タが準備されたことの通知
を指示する通知先数を示す出力デ−タ通知先数412
と、入力デ−タのピン番号を指示する入力ピン番号部4
13と、端末画面上での入力ピンの表示位置を示す入力
ピン座標位置部414と、入力デ−タが他の命令の出力
デ−タとして引き継ぐのかあるいは直接入力されるのか
を示す入力デ−タ種別部415と、入力デ−タの入手先
を指示する入力デ−タ入手先部416と、出力デ−タの
ピン番号を指示する出力ピン番号部417と、端末画面
上での出力ピンの表示位置を示す出力ピン座標位置部4
18と、出力デ−タの入力先を指示する出力デ−タ通知
先部419と、レコ−ドの終了を指示する終了表示部4
04とから構成される。
【0031】尚、入力デ−タが複数個ある場合は、入力
デ−タ数部410で示される入力デ−タ数だけ、41
3、414、415の各部が用意される。同様に、出力
デ−タが複数ある場合は、出力デ-タ数部411で指示
される出力デ−タ数だけ、417、418、419の各
部を用意する。入力デ−タ種別部415で指示される入
力デ−タの種別が、直接入力されるデ−タの場合には、
入力デ−タ入手先部416に入力デ−タそれ自身が格納
され、他の命令からデ−タを引き継ぐ場合は、有向ア−
クに付与されたア−ク番号を入力デ−タ入手先部416
に格納する。出力デ−タ通知先部419にもア−ク番号
が格納される。
【0032】図4(C)のア−ク情報レコ−ドは、レコ
−ド識別部400と、有向ア−ク毎の番号を指示するア
−ク番号部420と、線種別を指示するア−ク種別部4
21と、有向ア−クの始点となる命令を指示する開始命
令識別番号部422と、有向ア−クの始点の出力ピン番
号を指示する出力ピン番号423と、有向ア−クの終点
となる命令を指示する終了命令識別番号部424と、有
向ア−クの終点となる入力ピン番号を指示する入力ピン
番号部425と、ア−ク開始座標位置部426と、ア−
ク終了座標位置部427と、終了表示部404とから構
成される。
【0033】尚、有向ア−クが複数の線分から構成され
る場合は、ア−ク開始座標位置部426とア−ク終了座
標位置部427が線分の数だけ用意される。
【0034】図5は、図2のデ−タ駆動型プログラムか
ら結線表変換部120により変換した結線表の一例であ
る。結線表は命令の識別番号を記述する命令識別番号記
述部500と、命令の名称を記述する命令名称記述部5
01と、入力デ−タを記述する入力デ−タ記述部502
とにより記述される。各命令の記述終了表示は’;’に
より指示する。
【0035】また、入力デ−タ記述部502において、
記述単位は左から順に入力ピン番号0の入力デ−タ、入
力ピン番号1の入力デ−タ、などを示し、入力デ−タが
他の命令から引き継いだ場合は、入手先命令の識別番号
−入手先命令の出力ピン番号で記述し、入力デ−タが文
字列や値の場合は、入力された文字列または値で記述す
る。
【0036】図6は、図5の結線表からコンパイル部1
30により生成される命令テンプレ−トファイル103
内の命令テンプレ−ト600の構成例である。命令テン
プレ−ト600は、命令実行中に書き変わることのない
情報エリアと命令実行中に書き変わる情報エリアの2つ
の部分から構成される。前者をROM(Read Only Memo
ry)エリア、後者をRAM(Random Access Memory)エ
リアと呼ぶ。
【0037】ROMエリアは、RAMエリアとリンケ−
ジを取るためのRAMエリアアドレス部601と、命令
名称部602と、入力デ−タが一つか否かを指示するフ
ラグ603と、命令が判定出力するか否かを指示する条
件分岐表示部604と、入力デ−タ数部605と、入力
デ−タ種別部606と、入力デ−タ入手先部607と、
出力デ−タ数部608と、出力デ−タ通知先数部609
と、出力デ−タ通知先部610とから構成される。尚、
入力デ−タ入手先部607は、入力デ−タが他の命令か
ら引き継ぐ場合は、入手先命令の命令テンプレ−ト60
0中の出力デ−タ格納エリア613のアドレスで表現
し、入力デ−タが文字列や値の場合も対応するアドレス
コ−ドで表現する。同様に、出力デ−タ通知先部610
は、通知先の命令テンプレ−ト600の先頭アドレスで
表現する。
【0038】RAMエリアは、命令が実行する際に到達
すべき入力デ−タ数を指示するカウンタ611と、命令
が条件分岐型の命令の場合に、命令の実行に際してデ−
タが出力された出力ピン番号を指示する出力ピン番号部
612と、出力デ−タ格納エリア613とから構成され
る。尚、カウンタ611は、デ−タ駆動型プログラム実
行の前に所定の値に初期設定され、実行に際してはデ−
タが一つ到着する毎に1だけ値が減算され、値が0にな
った時初めて命令が実行可能状態になったことを表して
いる。また、出力デ−タ格納エリア613は、出力デ−
タ通知先数部609で指示される数だけ用意される。
【0039】次に、端末10より性能解析の処理要求が
ある場合の性能解析部180の動作を、図7、図8、図
9を用いて説明する。
【0040】図7(A),(B),(C)は、トレ−ス
情報ファイル104に格納されるレコ−ド構造の一例を
示したものである。レコ−ド構造は、ヘッダ情報レコ−
ド(図7(A))と、実行命令ノ−ド情報レコ−ド(図
7(B))と、オ−バヘッド情報レコ−ド(図7
(C))との3つの部分から構成される。
【0041】図7(A)のヘッダ情報レコ−ドは、レコ
−ド識別部700と、命令実行部で実行されたデ−タ駆
動型プログラムの名前を指示するプログラム名称部70
1と、実行されたデ−タ駆動プログラム内の処理ル−ト
を指示する処理ル−ト識別番号部702と、実行された
命令数を指示する命令レコ−ド数部703と、終了表示
部704とから構成される。
【0042】図7(B)の実行命令ノ−ド情報レコ−ド
は、レコ−ド識別番号700と、命令識別番号705
と、出力ピン番号部706と、入力デ−タ数部707
と、入力デ−タ部708と、出力デ−タ数部709と、
出力デ−タ部710と終了表示部704とから構成され
る。
【0043】尚、命令識別番号部705は命令レコ−ド
数部703で指示される数だけ、出力ピン番号部706
と出力デ−タ部710は出力デ−タ数部709で指示さ
れる数だけ、入力デ−タ部708は入力デ−タ数部70
7で指示される数だけがそれぞれ用意される。
【0044】図7(C)のオ−バ−フロ−情報レコ−ド
は、レコ−ド識別番号700と、プログラム実行に際し
て実行時間に関するオ−バフロ−要因となった命令の命
令識別番号711と、オ−バフロ−要因となった出力ピ
ンの出力ピン番号712と、終了表示部704により構
成される。
【0045】図8は、実行時間デ−タベ−ス106のレ
コ−ド形式の一例を示すものであり、レコ−ド情報は命
令名称毎に用意される。レコ−ドの形式は、命令名称部
800と、各命令に与えられた平均の実行時間を指示す
る命令毎実行時間部801と、オ−バヘッド時間部80
2と、終了表示部803とによって構成される。
【0046】尚、本発明に於るオ−バヘッド時間は、図
6の命令テンプレ−ト600中の、フラグ603とカウ
ンタ611の判定処理時間によるものであり、フラグが
成立しているか、カウンタの値が0であればそのエリア
を所有している命令は直ぐに実行されるが、それ以外の
時はカウンタを1だけ減算して次のデ−タ到着を待つと
いう様な一連の判定処理が無効となるので、このような
判定処理に要する時間をオ−バヘッド時間と定義する。
【0047】次に、図9を用いて性能解析部180の処
理フロ−を説明する。
【0048】デ−タ駆動プログラムの実行が開始する
と、まず、最初に実行経過を示す時計の初期設定を行い
(900)、性能解析に必要なル−ト実行時間と実ル−
ト実行時間の初期化を行う(901、902)。ここ
で、ル−ト実行時間は要求されたプログラムのル−トを
実行していく際の実行された命令の命令実行時間801
の累積値であり、実ル−ト実行時間は、出力通知先の命
令が直後に実行可能でない場合に発生するオ−バヘッド
時間802と命令実行時間801の累積値である。
【0049】次に、命令実行部140の実行待ちキュ−
が空きであれば、実行終了情報を性能解析部180は引
継ぎ何もしない(903)。空きでなければ、待ちキュ
−にある命令の命令テンプレ−トアドレスを引継ぎ、命
令テンプレ−ト600中の命令名称部602より命令名
称を取り出す(904)。ここで実行経過が進んだこと
を示す時計を一つ進める(905)。さらに、実行時間
デ−タベ−スから取りだした命令名称に対応する命令実
行時間を索引し、ル−ト実行時間に命令実行時間を加算
してル−ト実行時間を更新する(906)。同様に、実
ル−ト実行時間にも命令実行時間を加算して実ル−ト実
行時間を更新する(907)。
【0050】次に、命令テンプレ−ト600中の出力デ
−タ通知先部610を順次取りだし、初めから無いか無
くなった時点で、命令実行部からの処理要求待ちとなる
(908)。出力デ−タ通知先部が取り出せた時は、通
知先の命令テンプレ−トのフラグとカウンタを読みだ
し、フラグが1かカウンタが0であれば実行可能状態な
ので何もしない。フラグが1でもなくカウンタが0でも
なければ、オ−バヘッドがこの出力に対して発生したの
で、実ル−ト実行時間にオ−バヘッド時間を加算して実
ル−ト実行時間を更新する(910)。さらに、オ−バ
−フロ−要求処理を行い処理が完了する(Α)。このオ
−バ−フロ−要求処理については後で詳しく説明する。
【0051】次に、図10、図11、図12を用いて、
性能解析部180より処理要求を受け、性能解析結果を
表示する性能表示部190について説明する。
【0052】図10は、性能表示部190が処理要求を
性能解析部180より受け付ける際に図9の処理フロ−
で説明した、時計、ル−ト実行時間、実ル−ト実行時間
などから、性能解析表示グラフを得るための編集テ−ブ
ル1010を示したものである。編集テ−ブル1010
は、時計部1000と、ル−ト実行時間部1001と、
実ル−ト実行時間部1002と、端末10より制限時間
がプログラムの性能確保時間として予め入力指示された
場合、実ル−ト実行時間が制限時間を超えたか否かを指
示するオ−バフロ−フラグ部1003と、オ−バ−フロ
−フラグ成立時に実行された命令ノ−ドの命令識別番号
を指示する命令識別番号部1004と、終了表示部10
05とから構成される。
【0053】図11は、図2のデ−タ駆動型プログラム
を実行した際に表示される性能解析グラフの一例を示す
ものである。性能解析グラフでは、横軸に時計1100
を取り、縦軸にル−ト実行時間や実ル−ト実行時間を指
示する実行時間1101を取る。そして、時計とル−ト
実行時間に関する折線グラフがル−ト実行時間グラフ
(1102)であり、時計と実ル−ト実行時間に関する
折線グラフが実ル−ト実行時間グラフ(1103)であ
る。
【0054】また、実行経過を表示するため、実行経過
表示領域1104を設け、領域内に、ル−ト実行時間1
105と実ル−ト実行時間を表示している。
【0055】図12は、性能表示部190の処理フロ−
を示したものであり、最初に実行経過を示す時計の初期
設定を行う(1200)。
【0056】次に、時計に対する編集テ−ブルが無けれ
ば、処理を終える(1201)。編集テ−ブルがあれ
ば、オ−バ−フロ−フラグ部が成立しているかどうか判
定を行い(1202)、成立時は図11の実ル−ト実行
時間グラフ上の点(時計、実ル−ト実行時間)の色を変
えることにより異常表示を行う(1205)。
【0057】不成立時は、図11のグラフ上に新たに点
(時計、ル−ト実行時間)を取り線分を引いてル−ト実
行時間グラフを更新する(1203)。また、点(時
計、実ル−ト実行時間)を取り線分を引いて実ル−ト実
行時間グラフを更新する(1204)。
【0058】さらに、図11の実行経過表示領域のル−
ト実行時間と実ル−ト実行時間を取り直す(120
5)。最後に時計を進め再び編集テ−ブルを索引する
(1206)。
【0059】この様にして、デ−タ駆動型プログラムの
命令ノ−ドの実行経過に伴って性能解析グラフが作成・
表示されていく。
【0060】最後に、図13、図14、図15を用い
て、オ−バ−フロ−発生時の、デ−タ駆動型プログラム
の異常処理について説明する。
【0061】図13は、図9の性能解析部の処理フロ−
の内、(A)オ−バ−フロ−要求処理の処理フロ−を示
すものであり、命令が実行された際に出力通知先部の命
令が実行不可能な時に、起動される。
【0062】この時最初に、端末10からの制限時間指
定が無い場合は何もしない(1300)。指定がある場
合実ル−ト実行時間が指定時間を超えたか否かを判定
し、判定不正立時は何もしない(1301)。判定成立
時は、命令テンプレ−トを参照し、実行された命令テン
プレ−トの命令識別番号と出力デ−タ通知先部の出力ピ
ン番号を求め(1303)、得られた命令識別番号と出
力ピン番号を命令実行表示部150に、命令実行部14
0を通して渡し(1304)、トレ−ス情報ファイル1
06のオ−バヘッド情報レコ−ドを作成する(130
5)。
【0063】図14は、性能解析部180より命令識別
番号と出力ピン番号の情報を引き継いだ時の、命令実行
表示部150の処理フロ−を示したものである。
【0064】まず、性能解析部より命令識別番号と出力
ピン番号を引き継ぐと(1306)、中間ファイル10
2の、実行指示されているプログラム名称と、引き継い
だ命令識別番号により、中間ファイル102の命令ノ−
ド情報レコ−ドを求める(1308)。さらに、引き継
いだ出力ピン番号から、命令ノ−ド情報レコ−ド中の出
力ピン番号部を参照しア−ク番号を求め、ア−ク情報レ
コ−ドを求める(1309)。求めた命令ノ−ド情報レ
コ−ドに対応する端末10の画面上の命令ノ−ドの色を
特殊表示して、オ−バ−フロ−が発生したことを示す
(1309)。同様に、求めたア−ク情報レコ−ドに対
応する端末10の画面上の有向ア−クの色を特殊表示し
てオ−バ−フロ−が発生したことを示す(1310)。
【0065】このようにして、プログラムの実行と並行
してオ−バ−フロ−の発生状況が端末画面上のデ−タ駆
動型プログラムに表示される。
【0066】図15は、端末10より、実行されたプロ
グラムの再実行指示が入力された際の命令情報トレ−ス
部160の処理フロ−を示すものである。まず、端末1
0より再実行するプログラムと処理ル−トが指定される
と(1311)、トレ−ス情報ファイル104中のヘッ
ダ情報レコ−ドとそれに対応する命令実行ノ−ド情報レ
コ−ドが決定される(1312)。決定した命令実行情
報レコ−ドの命令識別番号部がなければ処理を終える
(1313)。命令識別番号部があれば、オ−バ−フロ
−情報レコ−ドの命令識別番号部を参照し(131
4)、合致する値がなければ、トレ−ス情報表示部に正
常表示を指示し(1315)、合致する値があるとき
は、該当する命令識別番号と出力ピン番号をトレ−ス情
報表示部に引渡し異常表示を指示する(1316)。ト
レ−ス情報表示部の異常表示アルゴリズムは、図14の
アルゴリズムと同じである。
【0067】このようにして、一度発生したプログラム
の実行時間に関するオ−バ−フロ−は一度記憶して、再
実行・表示可能である。
【0068】以上説明したように、本発明によれば、図
式デ−タ駆動型プログラムの実行経過を視覚表示し、そ
の際に要する実行時間を、ル−ト実行時間と実ル−ト実
行時間二通りに測定しグラフ表示するので、容易にプロ
グラムの性能解析を実施することができる。
【0069】また、予め、プログラムの限界実行時間を
指示し、実ル−ト実行時間が限界実行時間を超えた時点
の実行済命令ノ−ドと出力先の有向ル−トが、その旨表
示されるので、プログラムの性能確保の為の修正個所の
ガイダンスも可能としている。
【0070】表示の仕方については、命令が実行される
毎に、実行された命令やその命令までの実行時間、実行
時間に関するオーバフローを表示したり、一番最新の命
令等を色を変えたり、点滅させたりしていく等の表示方
法がある。また、全部の命令やフローを表示しておい
て、命令が実行される毎に、実行された命令やその命令
までの実行時間、実行時間に関するオーバフローをその
画面上に色を変えたり、点滅させたり、記号等を付加し
ていく等の表示方法により、表示していく方式がある。
【0071】
【発明の効果】本発明によれば、デ−タ駆動型プログラ
ムに対する命令実行時間を算出することにより、プログ
ラムの効率的な性能評価手段を提供できる。
【図面の簡単な説明】
【図1】本発明に係るデ−タ駆動型プログラム性能評価
装置のブロック図。
【図2】図式デ−タ駆動型プログラムの記述例の説明
図。
【図3】命令情報デ−タベ−スのレコ−ド形式の記述例
の説明図。
【図4】中間ファイルのレコ−ド形式の記述例の説明
図。
【図5】結線表の記述例の説明図。
【図6】命令テンプレ−トのエリア構成例の説明図。
【図7】トレ−ス情報ファイルのレコ−ド形式の記述例
の説明図。
【図8】実行時間デ−タベ−スのレコ−ド形式の記述例
の説明図。
【図9】性能解析部の処理フロ−。
【図10】実行時間情報の編集テ−ブルの構成例の説明
図。
【図11】性能表示部で出力する性能解析グラフ。
【図12】性能表示部の処理フロ−例の説明図。
【図13】オ−バヘッド解析表示機能を実現する処理フ
ロ−。
【図14】オ−バヘッド解析表示機能を実現する処理フ
ロ−。
【図15】オ−バヘッド解析表示機能を実現する処理フ
ロ−。
【符号の説明】
10…端末装置、100…処理装置、101…命令情報
デ−タベ−ス、102…中間ファイル、103…命令テ
ンプレ−ト、104…トレ−ス情報ファイル、105…
正解デ−タベ−ス、106…実行時間デ−タベ−ス、1
10…入力変換部、120…結線表変換部、130…コ
ンパイル部、140…命令実行部、150…命令実行表
示部、160…命令情報トレ−ス部、170…トレ−ス
情報表示部、180…性能解析部、190…性能表示
部、1100…時計軸、1101…実行時間軸、110
2…ル−ト実行時間グラフ、1103…実ル−ト実行時
間グラフ、1104…実行経過表示領域、1105…ル
−ト実行時間、1105…実ル−ト実行時間。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 中谷 光 神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウェアエンジニアリング株 式会社内 (56)参考文献 特開 平3−282641(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 11/28 - 11/34 G06F 15/82

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】デ-タ駆動型プログラムの性能評価を行な
    うデ−タ駆動型プログラム用性能解析装置であって、 デ-タ駆動型プログラムを入力するための入力手段と、 入力されたデ−タ駆動型プログラムを、命令毎に、所定
    の言語で記述された実行形式命令に変換するコンパイル
    部と、 コンパイル部で変換された実行形式命令を実行する命令
    実行部と、 命令実行部から命令を実行する度に実行した命令と入出
    力デ−タに関する情報を受取り、格納する命令情報トレ
    −ス部と、 命令毎の実行時間、命令間のデ−タの授受に要する時
    間、命令の実行条件がすべて成立したかどうかを判定す
    る時間を格納する実行時間デ−タベ−スと、 命令実行毎に実行時間デ−タベ−スにアクセスし、前記
    3つの実行時間を基に命令実行時間を算出する性能解析
    部と、 命令実行時間を出力する性能表示部とを有することを特
    徴とするデ−タ駆動型プログラム用性能解析装置。
  2. 【請求項2】請求項1記載のデ−タ駆動型プログラム用
    性能解析装置において、 前記性能解析部は、実行条件が成立しない命令につい
    て、オ−バヘッド時間を算出し、 上記性能表示部は、得られたオ−バヘッド時間を出力す
    ることを特徴とするデ−タ駆動型プログラム用性能解析
    装置。
  3. 【請求項3】請求項1または2記載のデ−タ駆動型プロ
    グラム用性能解析装置において、 命令実行時間とオ−バヘッド時間を同時に表示する表示
    手段を有し、 前記性能表示部は、命令実行時間とオ−バヘッド時間を
    上記表示手段に出力することを特徴とするデ−タ駆動型
    プログラム用性能解析装置。
  4. 【請求項4】請求項1、2または3記載のデ−タ駆動型
    プログラム用性能解析装置において、 前記性能解析部は、予め与えられた実行時間を超えた時
    に実行中であった命令を出力することを特徴とするデ−
    タ駆動型プログラム用性能解析装置。
  5. 【請求項5】請求項1、2、3または4記載のデ−タ駆
    動型プログラム用性能解析装置において、 入力されたデ−タ駆動型プログラムから、命令を識別す
    るための命令番号、命令や線を表示するための形状とそ
    の位置座標、命令の入出力デ−タ、命令の入出力デ−タ
    数、命令間で授受されるデ−タのフロ−を示す結線の情
    報を含む中間ファイルに変換する入力変換部を有し、 上記命令実行部から命令を実行する度に実行した命令番
    号を受取り、実行した命令の命令番号と中間ファイルに
    より、命令の位置座標と命令やデ−タのフロ−を示す線
    の形状を求め、実行された命令の出力データのフロ−を
    示す結線にデータが出力されたことを出力する命令実行
    表示部とを有することを特徴とするデ−タ駆動型プログ
    ラム用性能解析装置。
JP4004842A 1992-01-14 1992-01-14 デ−タ駆動型プログラム用性能解析装置 Expired - Lifetime JP2749224B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4004842A JP2749224B2 (ja) 1992-01-14 1992-01-14 デ−タ駆動型プログラム用性能解析装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4004842A JP2749224B2 (ja) 1992-01-14 1992-01-14 デ−タ駆動型プログラム用性能解析装置

Publications (2)

Publication Number Publication Date
JPH05189279A JPH05189279A (ja) 1993-07-30
JP2749224B2 true JP2749224B2 (ja) 1998-05-13

Family

ID=11594942

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4004842A Expired - Lifetime JP2749224B2 (ja) 1992-01-14 1992-01-14 デ−タ駆動型プログラム用性能解析装置

Country Status (1)

Country Link
JP (1) JP2749224B2 (ja)

Also Published As

Publication number Publication date
JPH05189279A (ja) 1993-07-30

Similar Documents

Publication Publication Date Title
US6016474A (en) Tool and method for diagnosing and correcting errors in a computer program
US5557774A (en) Method for making test environmental programs
JPH03102484A (ja) 図式データ駆動型プログラム開発支援装置
US20030131342A1 (en) Debugger with activity alert
JP2749224B2 (ja) デ−タ駆動型プログラム用性能解析装置
JPH0625991B2 (ja) 工程計画支援装置
JP3698247B2 (ja) オブジェクト指向開発支援装置
JPH0424733A (ja) プログラムの構造図編集処理方式
JP3674905B2 (ja) 文書編集装置
JP2851852B2 (ja) 情報処理装置
JP3423775B2 (ja) 図形編集出図装置
JPH0724022B2 (ja) プログラム言語変換方法
JPH06282593A (ja) 引出線作成方法
JPH052477A (ja) グラフイカル・ユーザ・インタフエースの作成方式
JP3355660B2 (ja) プログラム変換方法
JPH01255937A (ja) 実行制御条件設定方法
JPH0462410A (ja) 測定支援装置
JPH0792771B2 (ja) プログラム実行状況表示システム
JPS62145424A (ja) プログラム管理方法
CN117670003A (zh) 决策流图的构建方法及装置
JPH05134854A (ja) ソフトウエア開発支援装置
JPH0850576A (ja) 視覚対話型シミュレーション装置
JP2937381B2 (ja) 集積回路の設計方法及び設計装置
JPH08202741A (ja) 機能設計支援装置及び機能設計支援方法
JP2532621B2 (ja) ディジタル処理装置