JPH08249205A - ビジュアルシナリオ記述デバッガ - Google Patents

ビジュアルシナリオ記述デバッガ

Info

Publication number
JPH08249205A
JPH08249205A JP7053041A JP5304195A JPH08249205A JP H08249205 A JPH08249205 A JP H08249205A JP 7053041 A JP7053041 A JP 7053041A JP 5304195 A JP5304195 A JP 5304195A JP H08249205 A JPH08249205 A JP H08249205A
Authority
JP
Japan
Prior art keywords
time
program
scene
execution
visual scenario
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP7053041A
Other languages
English (en)
Inventor
Asako Ono
麻子 小野
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP7053041A priority Critical patent/JPH08249205A/ja
Publication of JPH08249205A publication Critical patent/JPH08249205A/ja
Pending legal-status Critical Current

Links

Landscapes

  • User Interface Of Digital Computer (AREA)
  • Debugging And Monitoring (AREA)
  • Digital Computer Display Output (AREA)

Abstract

(57)【要約】 【目的】 本発明は、ユーザの意図しないプログラム動
作を検出し、並行プログラムのデバッグを補助すること
を目的とする。 【構成】 計算機本体に接続された入力手段1と、複数
の実行単位間の因果関係を示す場面として入力作画され
ると、この作画情報に対応して場面の内容を定義する作
図定義手段3と、各場面の時系列順序を定義する時系列
定義手段4と、各場面を時系列順序づけられたビジュア
ルシナリオを記憶する時系列場面記憶手段6と、プログ
ラムの動作状況をビジュアルシナリオと比較して、プロ
グラム動作とビジュアルシナリオとの一致・不一致を判
定する実行監視比較手段5,7と、プログラム動作がビ
ジュアルシナリオに不一致と判定されると、表示手段上
に警告表示を行う警告表示手段8とを備えたビジュアル
シナリオ記述デバッガ。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プログラムのオブジェ
クト間の情報交換を表示することにより、デバッグ作業
を進めるビジュアルシナリオ記述デバッガに関する。
【0002】
【従来の技術】近年、計算機に用いられるプログラム
は、オブジェクトと呼ばれる実行単位で構成・実行さ
れ、かつ、該オブジェクト間で情報交換されることによ
りプログラム全体の動作が保証されるオブジェクト指向
型の並列プログラムに移行しつつある。
【0003】従来は、このような並列プログラムをデバ
ッグするため、上記オブジェクト間で交換される情報,
例えばメッセージを表示し、実行時のオブジェクト間の
動作の様子をそのままビジュアルに表示するようにして
いる。
【0004】これにより、該並行プログラムの動作の理
解を補助することができるので、プログラマは、オブジ
ェクト間の交換メッセージ等に異常を発見できれば、関
連するオブジェクトが異常を有することを検出できる。
【0005】
【発明が解決しようとする課題】しかし、上述したよう
に並列プログラムの動作を表示しても、プログラマが表
示された動作が異常であると認識できなければ、結局、
プログラムの異常は発見できない。
【0006】上記認識を確実に行うためには、プログラ
ム内容を予め正確に把握しておくことが必要になるが、
近年、プログラムは益々大型化・複雑化しており、その
内容を完全に把握するには多大な労力を要する。
【0007】したがって、従来方法では、依然として実
行動作の解読、理解は難しいという問題点がある。特
に、プログラムがユーザの意図しない動作をした場合、
従来のように並行プログラムの動作をそのまま表示する
だけでは、異常部分の特定は非常に困難である。
【0008】本発明は、このような実情を考慮してなさ
れたもので、プログラマの定義したシナリオと異なる動
作をするプログラムについて、その異常を検出してプロ
グラムのデバッグを容易にできるように、プログラマを
補助するビジュアルシナリオ記述デバッガを提供するこ
とを目的とする。
【0009】
【課題を解決するための手段】上記課題を解決するため
に、請求項1に対応する発明は、計算機本体に接続され
た表示手段と、計算機本体に接続され、表示手段上で作
画を可能とする入力手段と、計算機本体上で動作し、複
数の実行単位からなるプログラムのデバッグ対象部分に
ついて、その実行単位間の因果関係を示す少なくとも一
つの場面として入力手段からの入力によって作画される
と、この作画情報に対応して場面の内容を定義する作図
定義手段と、この作図定義手段により、作図・定義され
た各場面の時系列順序を定義する時系列定義手段と、定
義された時系列順序に基づき、各場面を順序づけてなる
ビジュアルシナリオを記憶する時系列場面記憶手段と、
プログラムの動作を監視し、かつ、その動作状況をビジ
ュアルシナリオと比較して、プログラム動作とビジュア
ルシナリオとの一致・不一致を判定する実行監視比較手
段と、プログラム動作がビジュアルシナリオに不一致と
判定されると、ビジュアルシナリオを表示する表示手段
上に警告表示を行う警告表示手段とを備えたビジュアル
シナリオ記述デバッガである。
【0010】また、請求項2に対応する発明は、請求項
1に対応する発明において、実行監視比較手段により、
プログラム動作とビジュアルシナリオとが一致すると判
定されると、プログラムのビジュアルシナリオに対応す
る部分終了後に、プログラムの実行を中断する実行中断
手段を備えたビジュアルシナリオ記述デバッガである。
【0011】さらに、請求項3に対応する発明は、請求
項1に対応する発明において、実行監視比較手段によ
り、プログラム動作とビジュアルシナリオとの不一致が
判定されると、プログラムの動作についてビジュアルシ
ナリオに対応する部分が終了しているか否かに拘らず、
プログラムの実行を中断する実行中断手段を備えたビジ
ュアルシナリオ記述デバッガである。
【0012】さらにまた、請求項4に対応する発明は、
請求項1に対応する発明において、少なくとも一つの場
面のうち、何れかの場面の実行制約時間として場面実行
時間、又は、ある場面と他の場面間の実行制約時間とし
て場面間時間を、ビジュアルシナリオの時間制約要素と
して定義・付加する時間制約定義手段と、プログラムの
動作時間を監視し、かつ、その動作状況と時間制約要素
を付加されたビジュアルシナリオとを比較して、時間制
約要素の定義に対応する動作時間が場面実行時間、又
は、場面間時間を越えるとき、プログラム動作がビジュ
アルシナリオに不一致と判定する時間監視比較手段とを
備えたビジュアルシナリオ記述デバッガである。
【0013】一方、請求項5に対応する発明は、請求項
1に対応する発明において、ビジュアルシナリオ中にお
いて、実行単位間の伝送情報内容を定義する伝送情報定
義手段と、プログラムの動作を監視し、当該プログラム
動作において伝送情報定義手段により定義された情報伝
送に対応する動作を検出すると、定義された伝送情報内
容とプログラム動作における伝送情報内容とを比較し、
両伝送情報内容が不一致のとき、プログラム動作がビジ
ュアルシナリオに不一致と判定する伝送情報監視比較手
段とを備えたビジュアルシナリオ記述デバッガである。
【0014】
【作用】したがって、まず、請求項1に対応する発明の
ビジュアルシナリオ記述デバッガにおいては、プログラ
マの意図するプログラムの動作をビジュアルシナリオと
して登録し、このビジュアルシナリオとプログラムの実
際の動作とを比較して一致しない部分をプログラマの意
図しない動作(異常)として検出する。
【0015】ここで、ビジュアルシナリオは、時系列的
な順序をつけられた少なくとも一つの場面によって構成
されており、場面は、オブジェクトの動作,オブジェク
ト間のデータの流れ等を出力装置上に視覚的(ビジュア
ル)に表示するものである。
【0016】上記機能を実現するために、まず、入力手
段によって、計算機本体に接続された表示手段上に作画
入力がされる。
【0017】このとき、プログラマによって、例えばオ
ブジェクトに相当する実行単位で構成されるプログラム
において、デバッグ対象部分の実行単位間の因果関係が
作画入力される。
【0018】この作画入力された情報に対応して、場面
の内容としての定義が作図定義手段によって行われる。
【0019】さらに、時系列定義手段によって、作図・
定義された各場面の時系列順序が定義される。
【0020】そして、時系列場面記憶手段内に、この時
系列順序を定義付けられた各場面がビジュアルシナリオ
として記憶される。
【0021】このように定義され、保存されたビジュア
ルシナリオに対し、実行監視比較手段によって、プログ
ラムの動作が監視され、かつ、その動作状況をビジュア
ルシナリオが比較されて、プログラム動作とビジュアル
シナリオとの一致・不一致が判定される。
【0022】そして、プログラム動作がビジュアルシナ
リオに不一致と検出されると、警告表示手段によって、
表示手段上に警告表示が行われる。
【0023】このときの警告表示は、例えば表示された
ビジュアルシナリオ画像の不一致部分に何等かの表示が
されることにより行われる。
【0024】また、請求項2に対応する発明のビジュア
ルシナリオ記述デバッガにおいては、請求項1に対応す
る発明と同様に作用する他、実行監視比較手段によっ
て、プログラム動作と前記ビジュアルシナリオとが一致
すると判定されるとき、実行中断手段によって、プログ
ラムの前記ビジュアルシナリオに対応する部分終了後
に、プログラムの実行が中断される。
【0025】したがって、正常動作部分を確認しながら
プログラムをデバッグでき、デバッグ作業の実行を容易
にすることができる。
【0026】さらに、請求項3に対応する発明のビジュ
アルシナリオ記述デバッガにおいては、請求項1に対応
する発明と同様に作用する他、実行監視比較手段によっ
て、プログラム動作と前記ビジュアルシナリオとの不一
致が検出されると、実行中断手段によって、プログラム
の動作についてビジュアルシナリオに対応する部分が終
了しているか否かに拘らず、プログラムの実行が中断さ
れる。
【0027】したがって、異常部分検出ごとにデバッグ
を施しながらプログラムデバッグ作業を進めることがで
き、デバッグ作業を容易に行うことができる。
【0028】さらにまた、請求項4に対応する発明のビ
ジュアルシナリオ記述デバッガにおいては、請求項1に
対応する発明と同様に作用する他、時間制約定義手段に
よって、場面実行時間又は場面間実行時間についての実
行制約時間がビジュアルシナリオの時間制約要素として
定義・付加される。
【0029】このとき、場面実行時間とは、ある場面開
始から場面終了までの実行時間についての実行制約時間
であり、場面間時間とは、ある場面終了時刻から他の場
面開始時刻までの実行時間についての実行制約時間であ
る。
【0030】そして、時間監視比較手段によって、プロ
グラムの動作時間が監視され、かつ、プログラム動作状
況と時間制約要素が付加されたビジュアルシナリオとが
比較される。
【0031】このとき、時間制約要素の定義に対応する
動作時間が場面実行時間、又は、場面間時間を越えると
き、プログラム動作がビジュアルシナリオに不一致と判
定される。
【0032】以下、請求項1に対応する発明と同様に、
プログラム動作がビジュアルシナリオに不一致と判定さ
れると、警告表示手段によって、表示手段上に警告表示
が行われる。
【0033】一方、請求項5に対応する発明のビジュア
ルシナリオ記述デバッガにおいては、請求項1に対応す
る発明と同様に作用する他、伝送情報定義手段によっ
て、ビジュアルシナリオにおける実行単位間の伝送情報
内容が定義される。
【0034】次に、プログラムの動作中、伝送情報監視
比較手段によって、情報伝送に対応する動作が検出さ
れ、当該動作が上記定義されたものに対応していれば、
定義された伝送情報内容とプログラム動作における伝送
情報内容とが比較される。
【0035】そして、両伝送情報内容が不一致のとき、
プログラム動作がビジュアルシナリオに不一致と判定さ
れる。
【0036】以下、請求項1に対応する発明と同様に、
プログラム動作がビジュアルシナリオに不一致と判定さ
れると、警告表示手段によって、表示手段上に警告表示
が行われる。
【0037】
【実施例】以下、本発明の実施例について説明する。
【0038】(第1実施例)図1は本発明に係るビジュ
アルシナリオ記述デバッガを適用する計算機の一例を示
す構成図であり、図2は本発明に係るビジュアルシナリ
オ記述デバッガの第1実施例を示す構成図である。
【0039】本実施例では、プログラマの意図するプロ
グラムの動作をビジュアルシナリオとして登録し、この
ビジュアルシナリオとプログラムの実際の動作とを比較
して一致しない部分をプログラマの意図しない動作(異
常)として検出する。
【0040】ここで、ビジュアルシナリオは、時系列的
な順序をつけられた複数の場面によって構成されてお
り、場面は、オブジェクトの動作,オブジェクト間のデ
ータの流れ等を出力装置上に視覚的(ビジュアル)に表
示するものである。
【0041】まず、図1に示すように、本実施例で使用
する計算機は、入力装置1としてのマウス1a及びキー
ボード1bと、画像情報を出力可能な出力装置2として
のビットマップディスプレイ2aと、図示しない計算機
本体とによって構成されている。
【0042】また、この計算機には、ビットマップディ
スプレイ2a上に複数のウィンドゥW1,W2,W
3,...を開き、各ウィンドゥ上にそれぞれ情報を表
示できるウィンドゥシステムが設けられている。
【0043】図2において、ビジュアルシナリオ記述デ
バッガは、入力装置1と、この入力装置1からデータ入
力可能な作図部3と時系列定義部4と実行監視部5と、
時系列場面記憶部6と、実行比較部7と、警告表示手段
としての表示設定部8と、計算機本体に設けられた警告
音出力部9と、出力装置2とによって構成されている。
【0044】作図部3は、ウィンドゥシステムを用い
て、一つのウィンドゥに一つの場面を対応させ、各ウィ
ンドゥ上においてプログラマが確認したい内容を場面を
作図することによって場面そのものが定義されるように
なっている。
【0045】つまり、場面の作図に用いる作図用アイコ
ンが、例えばオブジェクト、メッセージ(データ)の流
れ、オブジェクト生成、その他を示しており、これらの
各作図用アイコンを用いて場面を作成することにより、
作図データと動作内容との対応づけが図られる。
【0046】図3に示すように、本実施例の作図用アイ
コンにおいては、円がオブジェクト、円中の記号がオブ
ジェクト名、矢印がメッセージの流れ、オブジェクトを
示す円に付された小円内の数字がそのオブジェクトにと
って何回目のメッセージ送信又はメッセージ受信又はオ
ブジェクト生成か示し、三角が新しいオブジェクトを表
す。
【0047】例えば図3では、ウィンドゥW1,W2,
W3上に、場面S1,S2,S3がこれらの作図用アイ
コンを用いて作図・定義されている。なお、この作図・
定義された各場面は、時系列場面記憶部6に格納される
ようになっている。
【0048】時系列定義部4は、上記作図・定義された
各場面の時系列の順番を定義するようになっている。図
3の場合は、場面S1,S2,S3の順に順序付けられ
ている。この順序付けによって、場面の集合は、一つの
ビジュアルシナリオとして完成する。
【0049】時系列場面記憶部6は、作図部3により作
図・定義された各場面を格納し、時系列定義部4により
定義づけられた各場面の順番を保存するようになってい
る。
【0050】図4は、図3のビジュアルシナリオに対応
する時系列場面記憶部6の保存内容を示している。
【0051】図4において、このビジュアルシナリオに
おける命令実行順に命令IDが付されている。各命令I
Dに対して、場面と、fromオブジェクトと、fro
mオブジェクトに対応する命令番号と、命令と、toオ
ブジェクトと、toオブジェクトに対応する命令番号と
からなる情報が登録されている。
【0052】ここで、fromオブジェクトとは、メッ
セージ送信,オブジェクト生成などの命令実行の起点と
なるオブジェクトを示し、これに対応する命令番号は、
そのオブジェクトにとって何回目のメッセージ送信又は
メッセージ受信又はオブジェクト生成か示している。
【0053】また、命令とは、メッセージ送信(SEN
D),オブジェクト生成(CREATE)等の命令内容
そのものを示している。
【0054】さらに、toオブジェクトとは、メッセー
ジ送信,オブジェクト生成などの命令実行の終点となる
オブジェクトを示し、これに対応する命令番号は、その
オブジェクトにとって何回目のメッセージ送信又はメッ
セージ受信又はオブジェクト生成か示している。
【0055】実行監視部5は、ビジュアルシナリオ登録
後、プログラマの入力によりデバッグ対象の並列プログ
ラムを実行すると共に、当該プログラム実行時に各オブ
ジェクト上のメッセージ送信、メッセージ受信、オブジ
ェクト生成等の命令を監視するようになっている。
【0056】実行比較部7は、デバッグ対象の並列プロ
グラムにおいて、命令が実行されると、その命令を対応
するビジュアルシナリオ内容と比較し、当該比較結果と
並列プログラムの実行状況とを表示設定部8に送出する
ようになっている。また、当該比較結果は警告音出力部
9にも送出される。
【0057】表示設定部8は、時系列場面記憶部6に格
納されたビジュアルシナリオ及び命令実行の状況に基づ
いて、時系列順にビジュアルシナリオ内の各場面を出力
装置2上に表示すると共に、上記比較結果に基づいて、
表示された場面上の該当命令部分に、正常動作表示又は
警告表示を行うようになっている。
【0058】警告音出力部9は、実行比較部7から受信
した比較結果に基づき、命令とビジュアルシナリオ内容
とが一致しない場合には、警告音を出力するようになっ
ている。
【0059】なお、実行監視比較手段は、例えば実行監
視部5と実行比較部7とによって構成されている。
【0060】次に、以上のように構成された本実施例の
ビジュアルシナリオ記述デバッガの動作について説明す
る。
【0061】まず、ビジュアルシナリオの作成及び登録
手順について説明する。
【0062】図5は、ビジュアルシナリオの作成及び登
録を示す流れ図である。
【0063】まず、入力装置1からの入力に基づき、作
図部3によってプログラマの意図するオブジェクトの因
果関係とオブジェクトの動作とが場面として作図される
(ST001)。
【0064】次に、作図され、定義された場面が時系列
場面記憶部6に格納される(ST002)。
【0065】プログラマの確認したい全ての場面が作図
・格納されたかが確認され(ST003)、全場面の作
図が終了していなければ、ステップST001に戻って
次の場面が作図される。
【0066】一方、全場面の作図が終了していれば、入
力装置1からの入力に基づき、時系列定義部4によって
各場面の時系列の順番が定義される(ST004)。
【0067】この定義づけが終了すると、時系列場面記
憶部6内において、先に格納された各場面と各場面の時
系列の順番とからビジュアルシナリオのデータとして例
えば図4に示すようなデータが記憶される。
【0068】次に、登録されたビジュアルシナリオを用
い、対象とする並列プログラムの異常を検出する処理に
ついて説明する。
【0069】図6は、対象とする並列プログラムの異常
検出処理を示す流れ図である。
【0070】また、ここでは図3,図4に示すビジュア
ルシナリオが登録されているものとする。
【0071】まず、表示設定部8により時系列場面記憶
部6に格納されているビジュアルシナリオの該当場面が
読みだされ(ST101)、該当するウィンドゥ、ここ
ではウィンドゥW1が開かれて、図3の場面S1がこの
ウィンドゥW1に表示される(ST102)。この場
合、図1のビットマップディスプレイ2a上ではウィン
ドゥW1のみが開かれ、ウィンドゥW2,W3は開かれ
ていない。
【0072】次に、プログラム実行に沿って各オブジェ
クトの命令の監視が実行監視部5によって行われる(S
T103)。
【0073】さらに、実行比較部7によって、例えば図
4の場面S1のfromオブジェクト及びtoオブジェ
クトA、C、Bのメッセージ送信、メッセージ受信、オ
ブジェクト生成の命令と、監視され実際に実行される命
令とが比較される(ST104)。
【0074】ここで一例として、現実の並列プログラム
において、図3の場面S1相当する部分が図7に示す内
容S1´であったとし、このときの当該実行部分のプロ
グラムが図8に示すものであったとする。
【0075】図7において、まずオブジェクトAの3回
目の命令としてオブジェクトBに送信が行われ(T
1)、オブジェクトBは1回目の命令としてオブジェク
トAからメッセージを受け取ると(T2)、図6ステッ
プST104において、実行比較結果が正しいと判定さ
れる。
【0076】このとき、当該比較結果が表示設定部8に
送出され、表示設定部8により図3上における対応する
矢印と小円上の数字の色が正常動作を示すものとして緑
色に変更される(ST105)。
【0077】次に、この場面S1において全ての命令が
確認されたか否か判定され、同場面S1が終了していな
い場合は(ST107)、ステップST103に戻る。
【0078】また、図7のオブジェクトCの3回目の命
令としてオブジェクトBにメッセージが送信されると
(T3)、同様に比較が行われ(ST104)図4の内
容と異なるため図3のオブジェクトC側小円上の数字が
赤色に変わる(ST106)。ただし図4上でみると、
オブジェクトCからオブジェクトBへの送信でありオブ
ジェクトBの2回目の受け取りという点では正しいた
め、このとき矢印とオブジェクトB側小円上の数字は黄
色に変わる(ST106)。
【0079】さらに、ステップST107を経て、オブ
ジェクトBの3回目の送信としてオブジェクトXへの送
信が実行されると(図7,T4)、同様な比較によって
(ST104)、図3のオブジェクトBからオブジェク
トCへの送信矢印と小円上数字が赤色に変わり警告音出
力部9から警告音が発生する(ST106)。
【0080】そして、この時点で、場面S1上のすべて
の命令の表示色が変化したため、場面S1は終了したと
判定され(ST107)、次のステップST108に進
む。
【0081】ステップST108では、次の場面がある
か否かが判定され、この場合は次の場面S2が存在する
ので、ステップST101に戻る。そして、ステップS
T101において、図1に示すように場面S2に対応す
るウィンドゥW2が開かれ、並列プログラムの異常検出
処理が継続される。
【0082】一方、場面S2,S3についての異常検出
処理が終了すると、ここではすべての場面の処理が終了
したこととなるので(ST107)、ビジュアルシナリ
オ記述デバッガの動作は終了する。
【0083】そして、プログラマは、この異常検出結果
に基づいて当該並列プログラムのデバッグを行うことに
なる。
【0084】上述したように、本実施例によるビジュア
ルシナリオ記述デバッガは、作図部3および時系列定義
部4によりビジュアルシナリオが定義され、この定義内
容とプログラム実行監視結果とが実行比較部7で比較さ
れて、両者の異なっている部分について、出力装置2上
に表示されたビジュアルシナリオ画像上に警告表示がさ
れるので、プログラマは、プログラム上の各種バグを検
出できる他、プログラマの意図通りに動作しないという
特に検出の難しいバグをも容易に検出することができ
る。
【0085】したがって、プログラマのデバッグ作業に
おける労力を大幅に低減することができる。
【0086】また、警告音出力部9からの警告音を併用
することで、プログラマの注意を促し、より効率的にデ
バッグを行うことができる。
【0087】(第2実施例)図9は本発明に係るビジュ
アルシナリオ記述デバッガの第2実施例を示す構成図で
あり、図2と同一部分には同一符号を付して説明を省略
し、ここでは異なる部分についてのみ述べる。
【0088】図9において、このビジュアルシナリオ記
述デバッガには、第1実施例と同様な構成に加え、ブレ
ークポイント判断部10とプログラム実行中断部11と
が設けられている。
【0089】ブレークポイント判断部10は、実行比較
部7から送出されるシナリオ実行比較結果と並列プログ
ラムの実行状況とに基づき、プログラム中の予め指定さ
れたブレークポイントでプログラムの中断を行うように
判断し、その判断結果をプログラム実行中断部11に送
出するようになっている。
【0090】プログラム実行中断部11は、ブレークポ
イント判断部10からプログラム中断の判断結果を受信
すると、実行中の並列プログラムを中断するようになっ
ている。
【0091】以上のように構成されるビジュアルシナリ
オ記述デバッガのブレークポイント処理に関する動作を
図10の流れ図を用いて説明する。
【0092】まず、図6のステップST101〜ST1
08が終了後、ビジュアルシナリオと並列プログラムの
動作がすべて一致したか否かがブレークポイント判断部
10によりチェックされる(ST209)。
【0093】チェックの結果、ビジュアルシナリオとす
べて一致していれば(ST209)、プログラム実行中
断部11によりプログラムの実行が中断される(ST2
10)。
【0094】一方、ビジュアルシナリオと並列プログラ
ムの動作が一致していなければ(ST209)、プログ
ラムの実行は継続される。
【0095】上述したように、本実施例によるビジュア
ルシナリオ記述デバッガは、上記第1実施例と同様の構
成に加え、ブレークポイント判断部10で当該シナリオ
部分の動作が正常に終了したか判断され、正常終了プロ
グラム実行中断部11によって、プログラムを中断する
ようにしたので、第1実施例と同様の効果が得られる
他、正常動作部分を確認しながらプログラムをデバッグ
でき、デバッグ作業の実行を容易にすることができる。
【0096】また、デッドロック場面を誤りシナリオと
して定義することで、誤り場面の検出を行うことができ
る。
【0097】(第3実施例)図11は本発明に係るビジ
ュアルシナリオ記述デバッガの第3実施例を示す構成図
であり、図2,図9と同一部分には同一符号を付して説
明を省略し、ここでは異なる部分についてのみ述べる。
【0098】本実施例では、場面の時系列順序のみなら
ず、ビジュアルシナリオに場面実行に関する時間要素を
付加して、並列プログラムの実行状況を評価している。
【0099】このため、図11において、ビジュアルシ
ナリオ記述デバッガには、第2実施例と同様な構成に加
え、時間制約定義部12と、時間制約記憶部13と、時
間監視部14と、時間比較部15とが設けられている。
【0100】時間制約定義部12は、入力装置1から入
力されることにより、ある定義場面終了から次の定義場
面開始までの場面間時間、又は、ある定義場面開始から
終了までの場面実行時間に関する制約条件である時間制
約情報を定義するようになっている。
【0101】時間制約記憶部13は、この定義された時
間制約情報の保存を行う。
【0102】図12は、時間制約記憶部13に保存され
た時間制約情報の一例を示している。
【0103】ここで、図12の1行目は、プログラムの
実行が始まってから場面1に相当するプログラム命令が
開始されるまでの時間、すなわち場面間時間を3分と設
定することを示す。また、2行目は、場面1に相当する
プログラム部分の開始から終了まで時間、すなわち場面
実行時間を2分と設定する。一方、3行目は、場面2相
当部分の実行終了後から、場面3相当部分のプログラム
実行開始までの時間、すなわち場面間時間を1分と設定
している。
【0104】時間監視部14は、プログラム実行に際
し、プログラム各部における実行時間、時刻を監視して
おり、その実行時間、時刻を時間比較部15に送出する
ようになっている。
【0105】時間比較部15は、時間制約記憶部13の
内容と実行時間を比較し、その比較結果を表示設定部8
bに送出する。
【0106】表示設定部8bは、第1実施例で説明した
表示設定部8と同様な構成を有する他、時間比較部15
からの実行時間比較結果と、実行比較部7から送出され
るシナリオ実行比較結果及び並列プログラムの実行状況
とに基づき、表示された場面上の該当部分に、正常動作
表示又は警告表示を行うようになっている。
【0107】なお、時間監視比較手段は、例えば時間監
視部14と時間比較部15とによって構成されている。
【0108】次に、以上のように構成された本実施例の
ビジュアルシナリオ記述デバッガの動作について説明す
る。
【0109】まず、ビジュアルシナリオ作成時に、時間
制約定義部12を用いて時間制約の定義を行う。ここで
は、時間制約情報の内容が図12に示す通りになったと
する。
【0110】次に、時間制約情報付きビジュアルシナリ
オを用い、対象とする並列プログラムの異常を検出する
処理について説明する。
【0111】図13は、本実施例において対象とする並
列プログラムの異常検出処理を示す流れ図である。
【0112】ここで、図13における時間制約に関する
処理は、主として場面間時間に関する処理であるステッ
プST350と主として場面実行時間に関する処理であ
るステップST360の部分からなっている。ここで、
その他の処理は、第1実施例における図6の処理と同様
であるので、その説明を省略し異なる処理についてのみ
述べる。
【0113】まず、並列プログラムの実行が開始され、
該当ウィンドゥが開かれて、オブジェクトの命令が監視
されると(ST301〜ST303)、監視されている
命令がこの場面における最初の命令であるかが判定され
る(ST304)。
【0114】最初の命令であった場合(ST304)、
このときの時刻を当該場面の開始時刻として保存し(S
T305)、ステップST306に進む。一方、最初の
命令でなかった場合(ST304)、そのままステップ
ST306に進む。
【0115】次に、この場面と前場面との間で、場面間
時間に関する時間制約の指定があるか否かが判定され
(ST306)、指定があればステップST307に進
み、なければステップST310に進んで実行命令とビ
ジュアルシナリオとの一致確認が行われる(ST310
〜ST313)。
【0116】場面間時間に関する時間制約の指定があっ
た場合(ST306)、後述するステップST314で
保存されている前場面の終了時刻あるいはプログラム実
行開始時刻と、上記ステップST305の開始時刻とか
ら実際の場面間時間が算出され、時間比較部15によっ
て時間制約記憶部13に記憶されている設定された場面
間時間と比較される(ST307)。
【0117】例えばここで、図12の時間制約情報の3
行目の場合で、実行された実際の場面間時間3分であっ
たとすると、設定時間が1分であり時間オーバーしてい
るので(ST307)、制約条件を満たさないものとし
て前場面S2及び現場面S3の場面の縁(実際にはウィ
ンドゥW2,W3の場合もある)を赤色に変える(ST
309)。
【0118】また、設定時間を越えず制約条件を満たす
場合は(ST307)、前場面S2及び現場面S3の場
面の縁を緑色に変える(ST308)。
【0119】そして、ステップST308又はST30
9の処理が行われた後、次ステップに進み、なければス
テップST310に進んで実行命令とビジュアルシナリ
オとの一致確認が行われる(ST310〜ST31
3)。
【0120】ステップST13ですべての命令の表示色
が変わり、場面が終了するとこのときの時刻を当該場面
終了時刻として記憶する(ST314)。
【0121】次に、当該場面について場面実行時間に関
する時間制約条件が設定されているかが判断され(ST
315)、設定されていなければ、ステップST319
に進み次場面についての処理等がされる。
【0122】一方、場面実行時間に関する時間制約条件
が設定されていれば(ST315)、上記ステップST
305の開始時刻と、ステップST314で保存された
終了時刻とから実際の場面実行時間が算出され、時間比
較部15によって時間制約記憶部13に記憶されている
設定された場面実行時間と比較される(ST316)。
【0123】例えばここで、図12の時間制約情報の2
行目の場合で、実行された実際の場面実行時間4分であ
ったとすると、設定時間が2分であり時間オーバーして
いるので(ST316)、制約条件を満たさないものと
して場面S1(実際にはウィンドゥW1の場合もある)
の背景色を赤色に変える(ST318)。
【0124】また、設定時間を越えず制約条件を満たす
場合は(ST316)、場面S1の背景色を緑色に変え
る(ST317)。
【0125】そして、ステップST317又はST31
8の処理が行われた後、ステップST319に進み次場
面についての処理等がされる。
【0126】上述したように、本実施例によるビジュア
ルシナリオ記述デバッガは、上記第2実施例と同様の構
成に加え、時間制約定義部12により時間制約要素をビ
ジュアルシナリオに付加し、対応する実行時間が場面実
行時間又は場面間時間を越えると、警告表示をするよう
にしたので、第1,第2実施例と同様の効果が得られる
他、実行時間の点からプログラムの評価を行うことがで
き、デバッグ作業をより一層容易にすると共に、プログ
ラム改良の指針を得ることができる。
【0127】(第4実施例)図11は本発明に係るビジ
ュアルシナリオ記述デバッガの第4実施例を示す構成図
であり、図2,図9,図11と同一部分には同一符号を
付して説明を省略し、ここでは異なる部分についてのみ
述べる。
【0128】本実施例では、メッセージ送受信時にメッ
セージ内容そのものの一致不一致をも異常検出対象に加
えている。
【0129】このため、図14において、ビジュアルシ
ナリオ記述デバッガには、第3実施例と同様な構成に加
え、メッセージ定義部16と、メッセージ記憶部17
と、メッセージ監視部18と、メッセージ比較部19と
が設けられている。
【0130】メッセージ定義部16は、作図部3による
作図時にメッセージ内容をも指定できるように構成され
ている。
【0131】メッセージ記憶部17は、メッセージ定義
部16で定義されたメッセージ内容を記憶するようにな
っている。
【0132】メッセージ監視部18は、並列プログラム
実行時にオブジェクトの命令を監視するとともに、メッ
セージの内容も同時に監視するようになっている。
【0133】メッセージ比較部19は、メッセージ監視
部18で確認された命令実行によるメッセージと、メッ
セージ記憶部17内に保存されている定義されたメッセ
ージとを比較し、その比較結果を表示設定部8cに送出
するようになっている。
【0134】表示設定部8cは、第3実施例で説明した
表示設定部8bと同様な構成を有する他、メッセージ比
較部19等の実行比較結果及び並列プログラムの実行状
況とに基づき、表示された場面上の該当部分に、正常動
作表示又は警告表示を行うようになっている。
【0135】なお、伝送情報監視比較手段は、例えばメ
ッセージ監視部18とメッセージ比較部19とによって
構成されている。
【0136】次に、以上のように構成された本実施例の
ビジュアルシナリオ記述デバッガの動作について説明す
る。
【0137】まず、ビジュアルシナリオ作図時に(図5
のST001)、メッセージ定義部16を用いてメッセ
ージ内容も指定する。この結果はメッセージ記憶部17
に格納される。
【0138】図15は、メッセージ記憶部17の内容例
である。
【0139】この例は、図4に示すビジュアルシナリオ
の例に対応している。従って、場面S1で、オブジェク
トAからBへのメッセージ内容がx=3,y=4、オブ
ジェクトCからBへはx=2,y=3、オブジェクトB
からCへはz=“yes”とビジュアルシナリオ内で定
義したことを意味している。
【0140】次に、実際のプログラム実行時にはメッセ
ージ監視部18により、図6のステップST103のオ
ブジェクトの命令の監視とともにメッセージの内容も同
時に監視され、メッセージ比較部19により命令とメッ
セージの両方についての比較が行われる。
【0141】図13は、プログラム実行時の実際のメッ
セージ内容の一例を示している。
【0142】このとき、オブジェクトCからBへのメッ
セージ送信とオブジェクトBからCへの送信が起ると、
命令は正しいがメッセージ内容が異なるため、図6にお
いてステップST104からステップST106に進
み、矢印を赤色に変えて警告音を発し、メッセージ内容
が異なることを表示する。
【0143】上述したように、本実施例によるビジュア
ルシナリオ記述デバッガは、上記第3実施例と同様の構
成に加え、メッセージ定義部16によりメッセージ内容
をオブジェクト間のデータ伝送動作における異常検出対
象としてビジュアルシナリオに付加し、対応するデータ
伝送においてメッセージ内容が異なっていると、警告表
示をするようにしたので、第1,第2,第3実施例と同
様の効果が得られる他、より一層確実にプログラム異常
部分の検出を行うことができる。
【0144】したがって、プログラマのデバッグに対す
る労力負担をさらに低減させることができる。
【0145】(第5実施例)図17は本発明に係るビジ
ュアルシナリオ記述デバッガの第5実施例を示す構成図
であり、図2,図9,図11,図14と同一部分には同
一符号を付して説明を省略し、ここでは異なる部分につ
いてのみ述べる。
【0146】本実施例では、プログラム実行中断部11
bは、第2実施例の場合と同様な構成に加え、実行比較
部7、時間比較部15、又はメッセージ比較部19から
のプログラム実行状況情報及び各比較結果に基づき、表
示設定部8cによりプログラムの異常が検出・表示され
たのちに、プログラムの実行を中断するようになってい
る。
【0147】したがって、第2,第3,第4実施例にお
いては、ビジュアルシナリオの各定義と実際の実行が異
なることを検出したとき、音や色の表示で知らせそのま
ま実行を行っていたのに対し、異なる点を知らせた後、
プログラムの実行が中止される。
【0148】上述したように、本実施例によるビジュア
ルシナリオ記述デバッガは、上記第4実施例と同様の構
成に加え、プログラム実行中断部11により、実行比較
部7、時間比較部15、又はメッセージ比較部19から
のプログラム実行状況情報及び各比較結果に基づいて、
プログラムの異常が検出・表示されると、その実行を中
断するようになっているので、第1,第2,第3,第4
実施例と同様の効果が得られる他、異常部分検出ごとに
デバッグを施しながらプログラムデバッグ作業を進める
ことができ、デバッグ作業をより一層容易に行うことが
できる。
【0149】なお、本発明において、上記各実施例で
は、入力装置1としてマウス1aとキーボード1bを用
いたが例えばペンを適用することもできる。
【0150】また、本発明において、各実施例では、プ
ログラム実行後、又は中断後にデバッグすることを想定
したが、例えばさらに異常部分のメモリの値の参照,変
更といった動作、その他一般のデバッガに付加されてい
る機能をも併用適用することが可能である。
【0151】さらに、本発明における各実施例では、シ
ナリオ作成,命令監視対象として、メッセージ送信、受
信、オブジェクト生成を取り扱ったが、本発明の監視対
象はこれに限られるものでなく、その他のプログラム上
の命令にも対応させることが可能である。
【0152】なお、本発明は、上記各実施例に限定され
るものでなく、その要旨を逸脱しない範囲で種々に変形
することが可能である。
【0153】
【発明の効果】以上詳記したように本発明によれば、ユ
ーザの意図するプログラム動作をオブジェクト間の情報
伝送とオブジェクト自体の動作とを場面の流れで表現す
るビジュアルなシナリオとして定義し、このビジュアル
シナリオと異なる実際の実行動作を検出することでユー
ザの意図しないプログラム動作を検出し、並行プログラ
ムのデバッグを補助することができる。
【図面の簡単な説明】
【図1】本発明に係るビジュアルシナリオ記述デバッガ
を適用する計算機の一例を示す構成図。
【図2】本発明に係るビジュアルシナリオ記述デバッガ
の第1実施例を示す構成図。
【図3】同実施例のウィンドゥ,場面,作画用アイコン
及びビジュアルシナリオの一例を示す説明図。
【図4】同実施例の時系列場面記憶部に記憶されたビジ
ュアルシナリオの内容の一例を示す図。
【図5】同実施例のビジュアルシナリオ作成・登録を示
す流れ図。
【図6】同実施例の対象とする並列プログラムの異常検
出処理を示す流れ図。
【図7】同実施例の場面S1に対応する現実のプログラ
ム内容の一例を示す図。
【図8】同実施例の場面S1に対応する現実のプログラ
ムの一例を示す図。
【図9】本発明に係るビジュアルシナリオ記述デバッガ
の第2実施例を示す構成図。
【図10】同実施例のブレークポイント処理を示す流れ
図。
【図11】本発明に係るビジュアルシナリオ記述デバッ
ガの第3実施例を示す構成図。
【図12】同実施例の時間制約情報の例を示す図。
【図13】同実施例の時間制約条件を付加したときの対
象並列プログラムの異常検出処理を示す流れ図。
【図14】本発明に係るビジュアルシナリオ記述デバッ
ガの第4実施例を示す構成図。
【図15】同実施例のメッセージ定義内容の一例を示す
図。
【図16】同実施例のプログラム実行時のメッセージ交
換の一例を示す図。
【図17】本発明に係るビジュアルシナリオ記述デバッ
ガの第5実施例を示す構成図。
【符号の説明】
3…作図部、4…時系列定義部、5…実行監視部、6…
時系列場面記憶部、7…実行比較部、8,8b,8c…
表示設定部、10…ブレークポイント判定部、11,1
1b…プログラム実行中断部、12…時間制約定義部、
13…時間制約記憶部、14…時間監視部、15…時間
比較部、16…メッセージ定義部、17…メッセージ記
憶部、18…メッセージ監視部、19…メッセージ比較
部。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 計算機本体に接続された表示手段と、 前記計算機本体に接続され、前記表示手段上で作画を可
    能とする入力手段と、 前記計算機本体上で動作し、複数の実行単位からなるプ
    ログラムのデバッグ対象部分について、その実行単位間
    の因果関係を示す少なくとも一つの場面として前記入力
    手段からの入力によって作画されると、この作画情報に
    対応して前記場面の内容を定義する作図定義手段と、 この作図定義手段により、作図・定義された前記各場面
    の時系列順序を定義する時系列定義手段と、 定義された前記時系列順序に基づき、前記各場面を順序
    づけてなるビジュアルシナリオを記憶する時系列場面記
    憶手段と、 前記プログラムの動作を監視し、かつ、その動作状況を
    前記ビジュアルシナリオと比較して、プログラム動作と
    ビジュアルシナリオとの一致・不一致を判定する実行監
    視比較手段と、 プログラム動作がビジュアルシナリオに不一致と判定さ
    れると、前記ビジュアルシナリオを表示する前記表示手
    段上に警告表示を行う警告表示手段とを備えたことを特
    徴とするビジュアルシナリオ記述デバッガ。
  2. 【請求項2】 請求項1記載のビジュアルシナリオ記述
    デバッガにおいて、 前記実行監視比較手段により、前記プログラム動作と前
    記ビジュアルシナリオとが一致すると判定されると、前
    記プログラムの前記ビジュアルシナリオに対応する部分
    終了後に、前記プログラムの実行を中断する実行中断手
    段を備えたことを特徴とするビジュアルシナリオ記述デ
    バッガ。
  3. 【請求項3】 請求項1記載のビジュアルシナリオ記述
    デバッガにおいて、 前記実行監視比較手段により、前記プログラム動作と前
    記ビジュアルシナリオとの不一致が判定されると、前記
    プログラムの動作について前記ビジュアルシナリオに対
    応する部分が終了しているか否かに拘らず、前記プログ
    ラムの実行を中断する実行中断手段を備えたことを特徴
    とするビジュアルシナリオ記述デバッガ。
  4. 【請求項4】 請求項1記載のビジュアルシナリオ記述
    デバッガにおいて、 前記少なくとも一つの場面のうち、何れかの場面の実行
    制約時間として場面実行時間、又は、ある場面と他の場
    面間の実行制約時間として場面間時間を、前記ビジュア
    ルシナリオの時間制約要素として定義・付加する時間制
    約定義手段と、 前記プログラムの動作時間を監視し、かつ、その動作状
    況と時間制約要素を付加された前記ビジュアルシナリオ
    とを比較して、前記時間制約要素の定義に対応する動作
    時間が前記場面実行時間、又は、前記場面間時間を越え
    るとき、前記プログラム動作が前記ビジュアルシナリオ
    に不一致と判定する時間監視比較手段とを備えたことを
    特徴とするビジュアルシナリオ記述デバッガ。
  5. 【請求項5】 請求項1記載のビジュアルシナリオ記述
    デバッガにおいて、 前記ビジュアルシナリオ中において、前記実行単位間の
    伝送情報内容を定義する伝送情報定義手段と、 前記プログラムの動作を監視し、当該プログラム動作に
    おいて前記伝送情報定義手段により定義された情報伝送
    に対応する動作を検出すると、定義された前記伝送情報
    内容とプログラム動作における伝送情報内容とを比較
    し、両伝送情報内容が不一致のとき、前記プログラム動
    作が前記ビジュアルシナリオに不一致と判定する伝送情
    報監視比較手段とを備えたことを特徴とするビジュアル
    シナリオ記述デバッガ。
JP7053041A 1995-03-13 1995-03-13 ビジュアルシナリオ記述デバッガ Pending JPH08249205A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7053041A JPH08249205A (ja) 1995-03-13 1995-03-13 ビジュアルシナリオ記述デバッガ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7053041A JPH08249205A (ja) 1995-03-13 1995-03-13 ビジュアルシナリオ記述デバッガ

Publications (1)

Publication Number Publication Date
JPH08249205A true JPH08249205A (ja) 1996-09-27

Family

ID=12931811

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7053041A Pending JPH08249205A (ja) 1995-03-13 1995-03-13 ビジュアルシナリオ記述デバッガ

Country Status (1)

Country Link
JP (1) JPH08249205A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11175369A (ja) * 1997-12-10 1999-07-02 Toshiba Corp プログラム開発支援装置、プログラム開発支援方法及びプログラム開発支援プログラムを記録した媒体
JP2000047903A (ja) * 1998-07-27 2000-02-18 Nec Corp シナリオ生成装置およびシナリオ生成方法、並びに記録媒体
US7096458B2 (en) 2001-10-31 2006-08-22 International Business Machines Corporation Method and apparatus to create and compare debug scenarios of a computer process
JP2008217235A (ja) * 2007-03-01 2008-09-18 Fujitsu Ltd システム監視プログラム、システム監視方法およびシステム監視装置
JP2010231825A (ja) * 2010-07-21 2010-10-14 Fujitsu Ltd システム監視プログラム、システム監視方法およびシステム監視装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11175369A (ja) * 1997-12-10 1999-07-02 Toshiba Corp プログラム開発支援装置、プログラム開発支援方法及びプログラム開発支援プログラムを記録した媒体
JP2000047903A (ja) * 1998-07-27 2000-02-18 Nec Corp シナリオ生成装置およびシナリオ生成方法、並びに記録媒体
US7096458B2 (en) 2001-10-31 2006-08-22 International Business Machines Corporation Method and apparatus to create and compare debug scenarios of a computer process
JP2008217235A (ja) * 2007-03-01 2008-09-18 Fujitsu Ltd システム監視プログラム、システム監視方法およびシステム監視装置
JP2010231825A (ja) * 2010-07-21 2010-10-14 Fujitsu Ltd システム監視プログラム、システム監視方法およびシステム監視装置

Similar Documents

Publication Publication Date Title
EP1624352B1 (en) Manual restart learning process and manual restart process for an automated system
JPH08249205A (ja) ビジュアルシナリオ記述デバッガ
JPWO2019003313A1 (ja) デバッグ装置
JPH0677216B2 (ja) シ−ケンスプログラム制御系のモニタ装置
KR101913558B1 (ko) 시퀀스 다이어그램 기반의 통합개발장치
JPH03113648A (ja) プログラムデバツグ方式
JPS63240602A (ja) シ−ケンスコントロ−ラの異常診断装置
JP2001034503A (ja) ブレークポイント設定方法及び障害解析装置
JPS63244239A (ja) プログラム実行経路検証方法
JP2800577B2 (ja) デバッグ装置
JPH0887426A (ja) 自己診断状況表示方式
JPH04145544A (ja) デバッグ装置
US20050015677A1 (en) Method of executing a computer program
JP2002116926A (ja) プログラム処理装置およびプログラム処理方法
JP3143400B2 (ja) 端末エミュレータ用解析ツール
JP2008262589A (ja) 定型操作自動処理プログラム,定型操作自動処理方法及び定型操作自動処理装置
JPH02210556A (ja) プログラム実行状態の視覚化装置
JP3118751B2 (ja) 図式表現によるプログラムデバッグ装置
CN117520093A (zh) 一种作业监控方法、rpa服务器、电子设备及存储介质
JPH01134539A (ja) マイクロプログラムトレース方式
JP2005025494A (ja) 定型操作自動処理プログラム,定型操作自動処理方法及び定型操作自動処理装置
JP2001282330A (ja) シーケンシャル・ファンクション・チャート式プログラマブル・コントローラにおける監視装置
JPH11191072A (ja) デバッグのブレイク処理方法及びデバッグ処理装置
JPH0512069A (ja) デバツク方式
JPH1091479A (ja) プログラム・デバッグ・システム、プログラム・デバッグ方法およびデバッグ用プログラムを記憶した記憶媒体