JPH03142635A - プログラム可視化方式 - Google Patents

プログラム可視化方式

Info

Publication number
JPH03142635A
JPH03142635A JP1282474A JP28247489A JPH03142635A JP H03142635 A JPH03142635 A JP H03142635A JP 1282474 A JP1282474 A JP 1282474A JP 28247489 A JP28247489 A JP 28247489A JP H03142635 A JPH03142635 A JP H03142635A
Authority
JP
Japan
Prior art keywords
program
display
mapping
graphic
shape
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
JP1282474A
Other languages
English (en)
Inventor
Mayumi Kamiko
神子 真弓
Seiichi Aikawa
聖一 相川
Koshio Ono
越夫 小野
Tomoji Mori
毛利 友治
Itaru Ichikawa
市川 至
Shigeki Naota
直田 繁樹
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP1282474A priority Critical patent/JPH03142635A/ja
Publication of JPH03142635A publication Critical patent/JPH03142635A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [概要] プログラムのデバッグを行う場合におけるプログラム可
視化方式に関し、 プログラムのデバッグ及び解析を容易にすることを目的
とし、 プログラムの構造を図形に対応づける構造マツピング定
義15と、プログラムの動作を図形上の変化に対応づけ
る動作マツピング定義16と、図形の形状とその変化に
関する情報を保持する図形辞書とを具備し、プログラム
の構造と動作を図形の形状とその変化に対応づけて画面
上で表示するように構成する。
[産業上の利用分野] 本発明はプログラムのデバッグを行う場合におけるプロ
グラム可視化方式に関し、更に詳しくはプログラム開発
におけるプログラムの構造及び動作の理解を支援するプ
ログラム可視化方式に関する。
プログラム開発において、プログラムのデバッグを行う
場合、また他人の作成したプログラムを利用しようとす
る場合には、そのプログラムの構造及び動作を正確に理
解することが必要である。
[従来の技術] 従来、プログラムの構造や動作を理解するためには、ソ
ースプログラムを解析する、或いはデバッガのトレース
情報を解読する等の文字情報を用いていた。第9図にソ
ースプログラムであるappendのプログラム例を示
す。ここで、appendとは、2つのリストを結合す
るプログラムをいう。第9図に示すプログラムを実行す
ると、デバッガによって出力されるトレース情報は、第
10図に示すようなものとなる。このプログラムがリス
トとリストとを連結させているプログラムであることを
理解するには、これらの文字情報を順を追って解読する
必要がある。
[発明が解決しようとする課8] 従来の方式では、複雑なプログラムを短時間で理解する
ことは困難であり、プログラマに非常に負担がかかって
しまうという問題があった。
本発明はこのような課題に鑑みてなされたものであって
、プログラムのデバッグ及び解析を容易にすることがで
きるプログラム可視化方式を提供することを目的として
いる。
[課題を解決するための手段] 第1図は本発明の原理ブロック図である。図において、
1はデバッグされるソースプログラム、2はプログラム
の構造を図形に対応づける構造マツピング機構、3はプ
ログラムの動作を図形上の変化に対応づける動作マツピ
ング機構、4は図形の形状とその変化に関する情報を保
持する図形辞書である。構造マツピング機構2と動作マ
ツピング機構3はいずれもシステム10内に備えられて
いる。5は構造マツピング機構2と動作マツピング機構
3の出力を受けてプログラムを可視化して表示する表示
画面である。
[作用コ プログラムの構造を図形に対応づける構造マツピング機
構2とプログラムの動作を図形上の変化に対応づける動
作マツピング機構3とを備え、ソースプログラム1を実
行させた際にプログラムの動きを表示画面5上にアニメ
ーション表示する。
本発明によればプログラムの流れが可視化されるので、
プログラムのデバッグ及び解析が容易になる。
[実施例] 以下、図面を参照して本発明の実施例を詳細に説明する
第2図は本発明の一実施例を示す構成ブロック図である
。第1図と同一のものは、同一の符号を付して示す。以
下、実施例の各要素について詳細に説明する。
(1)図形辞書4 プログラム構成図を表示する場合に頻繁に用いられる基
本的な表示図形は、予め図形辞書4に登録しておく。例
えば、モジュールやデータ構造等を表す図形の形状及び
形状変化についての情報は図形辞書4内にデータベース
化しておき、プログラム動作表示を行う際に用いたい図
形をその中から選択するようにする。
第3図は表示図形の定義例を示す図である。この例では
、moduleという名前の表示図形の形状として楕円
を定義している。この楕円の表示図形については、その
性格上操作と形上変化はない。一方、d own q 
u e u eという名前の表示図形については、形状
は、矢印→で表示されている。この表示図形に対する操
作としては、get(rectangle)とput 
(rectangle)があり、それに伴い図形変化に
ついても、定義されている。
例えば、■のputの場合には四角形が追加される様子
が指示され、四角形が削除される様子が指示される。
(2)構造マツピング定義15 プログラムの構成要素と表示図形との対応づけを行うた
めに、以下の形式で構造マツピングを定義する。これは
、プログラム中の構成要素をどのような形状で表現する
かを定義するものである。
プログラム中の構成要素→表示図形 ここで、プログラム中の構成要素とは、プログラム中に
出現するモジュールの名前を記述する。また、表示図形
については、図形辞書4内に定義しである基本図形の名
前を記述する。
(3)動作マツピング定義16 プログラムの動作と表示図形の動きとの対応づけを行う
ために、以下の形式で動作マツピングを定義する。これ
は、プログラム実行中に起こっている事象に基づいて表
示図形の形状をどのように変化させてその事象を表現す
るかを定義するものである。
プログラムの動作→表示図形の動き プログラムの動作は、プログラム実行中に呼ばれるメソ
ッドで記述する。また、表示図形の動きは、図形辞書4
内に定義しである基本図形の形状変化を行なわせるため
の操作を記述する。
このように構成された装置において、前述した(2)、
(3)のマツピング定義を用いてプログラムの構造及び
その動作を表示づけるようになっている。第2図の例で
は、構造マツピング定義15中にソースプログラム1内
のProducer及びConsumerというモジュ
ールを図形辞書4内のmoduleという表示図形を用
いて表示し、Queueというモジュールをd o w
 n queueという表示図形を用いて表示するとい
うことが定義されている。そして、構造マツピング定義
15と第3図に示した図形辞書4の例とから、表示画面
5のような図形が表示される。
また、動作マツピング定義16中では、ソースプログラ
ムの中のenq (Element)が実行された際に
は、表示図形に対する操作put(rectangle
)を発行するように定義しである。また、deq (E
lement)が実行された際には、表示図形に対すへ
る操作get(rectangle)を発行するように
定義しである。表示図形に対する操作が発行されると、
図形辞書4を参照してその操作に応じた図形の形状変化
が起こるようになっている。
第4図は本発明に係わるプログラム可視化を行うシステ
ムの構成例を示すブロック図である。第2図と同一のも
のは、同一の符号を付して示す。
図において、13はソースプログラム1からのプログラ
ムを受けてマツピングメモリ14内の構造マツピング定
義15及び動作マツピング定義16を参照してプログラ
ムの解析を行う解析部、11は解析部13の出力を受け
る構造表示部、12は同じく解析部13の出力を受ける
動作表示部でいずれも図形辞書4を参照するようになっ
ている。
そして、これら構造表示部11及び動作表示部12の出
力は、表示画面5に出力され、表示される。
解析部13では、ソースプログラム1と構造マツピング
定義15.動作マツピング定義16を参照して、プログ
ラム中の構成要素及び実行されている事象を表示図形の
形状、形状変化に対応づけ、表示図形に対する操作命令
を構造表示部11あるいは動作表示部12に送出する。
構造表示部11は、構造マツピング定義15に従って、
表示図形に対応づけられたプログラム中の構成要素が送
られると、図形辞書4中に定義しである形状の表示図形
を画面上に描画する。動作表示部12は、動作マツピン
グ定義16を参照し、解析部13において対応づけられ
た表示図形に対する操作が送られると、図形辞書4を参
照し、この操作に対応する表示図形の形状変化を画面上
に描画する。
第4図のシステム構成に従って、先ず解析部13と構造
表示部11によりソースプログラム1の構造の表示図形
が表示画面5上に表示される。その後、ソースプログラ
ム1を実行することにより解析部10で実行中の事象が
抽出され、動作表示部12により対応する表示図形上の
形状変化を行なわせる。これにより、プログラムの構造
を図形上で表現すること及びプログラム実行時の動作を
図形上の動作に対応づけて表示することが可能になり、
プログラムの可視化を実現することができる。
次に、プログラム可視化をどのように行うかをprol
og言語を用いた実施例で示す。
(プログラム構造の表示) 第5図はプログラム構造表示の方式を示す図である。第
4図と同一のものは、同一の符号を付して示す。図中、
11aはマツピングテーブルで、構造表示部ll内に含
まれる。解析部13では、先ず構造マツピング定義15
に従って、プログラム構造の対応づけを行う。ここでは
、プログラム中のクラスproducerを図形辞書4
中に定義しであるクラスmoduleに対応づけること
が定義されている。
そこで、構造表示部11に対してクラスmoduleの
初期形状を表示するように指示する。構造表示部11で
は、この指示を受けて図形辞書4内のクラスmodul
e中のcreateというメソッドを呼び出す。これに
より、表示画面5に描画が行われる。また、構造表示部
11内のマツピングテーブルllaには、クラスpro
duce「とクラスmoduleの対応が保持される。
同様にして、クラスq u e u e、  クラスc
onsume rについても構造表示部11において描
画され、最終的には表示画面5上にソースプログラム1
を表わす図が表示される。
第6図は前述した構造表示の処理手順を示すフローチャ
ートである。先ず、I−1に初期設定する(Sl)。こ
こで、Nは構造マツピング定義15中の個数を示す。次
に、構造マツピング定義15中の第1番目の定義map
ping (P、D)を参照する(S2)。ここで、P
はソースプログラム1中のクラス名、Dは図形辞書4中
のクラス名である。
次に、構造表示部ll内のマツピングテーブル11aに
PADの対応を保持する(S3)。そして、図形辞書を
参照し、クラス名りのクラスメソッド:create/
1を発行する(S4)、次に、create/1の処理
を行う(35)、これにより表示画面5上に描画が行わ
れる。次に、1−1+1を計算してIの値を更新する(
S6)。
次に、IkNかどうかチエツクする(S7)。そうであ
る場合にはステップS2に戻り、そうでない場合には全
ての定義の処理が終了したことになる。
(プログラム動作の表示) 第7図はプログラム動作表示の方式を示す図である。こ
れは、ソースプログラム1の実行に従って、表示画面5
でアニメーションを行なわせる場合を示している。解析
部13では、既存のインタプリタ等を用いてプログラム
実行中の事象を検出し、動作マツピング機構3を参照し
て動作表示部12に命令を送る。今、プログラム中の:
 enq(#queue、Element)が実行され
たという事象が検出されたとする。
動作マツピング定義16中には、この実行に対して:5
end(表示部、:put (#queue、rect
angle)と定義されている(■)。解析部13では
、この定義に基づいて動作表示部12に対して: pu
 t (#queue、rectangle)を発行す
る(■)。動作表示部12は、そのメソッドを受け、構
造表示部11内のマツピングテーブルllaを参照して
プログラム中のクラスqueueが図形辞書4中にどの
クラスに対応づけられているかを調べる(■)。
クラスdownqueueに対応づけられていることが
分かると、そのクラス1と対して:put(#down
queue、rectangle)を発行しく■)、図
形辞書4中に記述しであるグラフィック命令に従って、
表示画面5への表示が行われる(■)。
第8図はこの時の動作表示の処理手順を示すフローチャ
ートである。先ず、ソースプログラム1実行中の事象を
抽出する(Sl)。ここでPはソースプログラム1中の
クラスを、事象又はクラスPに対するメソッドを示す。
次に、動作マツピング定義16を参照し、Xに対応する
図形操作を動作表示部12に発行する(S2)。ここで
、Xニー:5end(表示部、Ac t ion (P
、−))次に、クラスPに対応する図形辞書4中のクラ
スを構造表示部11内のテーブルを参照して取出す(S
3)。ここで、Dは図形辞書4中のクラスを示す。最後
に、クラスDに対してActionを発行する。これに
より、表示画面5上に描画が行われる(S4)。そして
、プログラムの実行が終了したかどうかチエツクしくS
5)、終了していない場合にはステップS1に戻り、終
了したら終わる。
[発明の効果] 以上、詳細に説明したように、本発明によればプログラ
ムの構造を図形に対応づける構造マツピング機構2とプ
ログラムの動作を図形上の変化に対応づける動作マツピ
ング機構3とを備え、ソースプログラム1を実行させる
際にプログラムの動きを表示画面5上にアニメーション
表示することにより、プログラムの流れが可視化される
ので、プログラムのデバッグ及び解析が容易になる。
【図面の簡単な説明】
第1図は本発明の原理ブロック図、 第2図は本発明の一実施例を示す構成ブロック図、 第3図は表示図形の定義例を示す図、 第4図は本発明を実施するシステム構成例を示すブロッ
ク図、 第5図はプログラム構造表示の方式を示す図、第6図は
構造表示の処理手順を示すフローチャート、 第7図はプログラム動作表示の方式を示す図、第8図は
動作表示の処理手順を示すフローチャート、 第9図はソースプログラム例を示す図、第10図は従来
のトレース情報例を示す図である。 第1図において、 1はソースプログラム、 2は構造マツピング機構、 3は動作マツピング機構、 4は図形辞書、 5は表示画面である。

Claims (1)

  1. 【特許請求の範囲】 図形の形状とその変化に関する情報を保持する図形辞書
    (4)と、 プログラムの構造を図形に対応づける構造マッピング機
    構(2)と、 プログラムの動作を図形上の変化に対応づける動作マッ
    ピング機構(3)を備えることにより、プログラムの構
    造と動作を図形の形状とその変化に対応づけて表示画面
    (5)上で表示するように構成したプログラム可視化方
    式。
JP1282474A 1989-10-30 1989-10-30 プログラム可視化方式 Pending JPH03142635A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1282474A JPH03142635A (ja) 1989-10-30 1989-10-30 プログラム可視化方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1282474A JPH03142635A (ja) 1989-10-30 1989-10-30 プログラム可視化方式

Publications (1)

Publication Number Publication Date
JPH03142635A true JPH03142635A (ja) 1991-06-18

Family

ID=17652904

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1282474A Pending JPH03142635A (ja) 1989-10-30 1989-10-30 プログラム可視化方式

Country Status (1)

Country Link
JP (1) JPH03142635A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100329991B1 (ko) * 1999-10-19 2002-03-27 윤종용 프로젝트 매니저의 체크박스를 이용한 전처리기 디파인 처리방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100329991B1 (ko) * 1999-10-19 2002-03-27 윤종용 프로젝트 매니저의 체크박스를 이용한 전처리기 디파인 처리방법

Similar Documents

Publication Publication Date Title
EP0690378A1 (en) Tool and method for diagnosing and correcting errors in a computer programm
US5038348A (en) Apparatus for debugging a data flow program
JPH02272645A (ja) プログラム・デバツグ支援方法
JPS62229343A (ja) プログラム・カウンタ表示方式
JPH10105435A (ja) ソフトウェア・ライブラリのオペレーションに関する情報を提供する方法
US20160357890A1 (en) Verification Log Analysis
Laffra et al. HotWire-A Visual Debugger for C++.
US20030177471A1 (en) System and method for graphically developing a program
US7003761B2 (en) Multi-process display method in debugger system
JPH03142635A (ja) プログラム可視化方式
JPS62113244A (ja) プログラムテスト装置
JPS59105145A (ja) プログラムデバツグ装置
JPH01250109A (ja) ロボットのシミュレーション装置
JPH08202741A (ja) 機能設計支援装置及び機能設計支援方法
US20060206879A1 (en) Java program method invocation display
JPH04290168A (ja) シミュレーション装置とそのシミュレーション結果表示方法
JPH06274567A (ja) 論理シミュレーション装置
JPH04287137A (ja) ビジュアル・デバッガ
Bemmerl et al. Menu and Graphic Driven Human Interfaces for High Level Debuggers
JPS6033640A (ja) デ−タ・モニタ方式
CN115407995A (zh) 图形界面代码的生成方法和装置
JP2749224B2 (ja) デ−タ駆動型プログラム用性能解析装置
JPH0792771B2 (ja) プログラム実行状況表示システム
JPS6383842A (ja) プログラム処理装置
JPH0833846B2 (ja) 関数トレース・ステップトレース切り替え制御方式