JP3349057B2 - マルチタスク処理装置、マルチタスク処理方法およびマルチタスク処理表示方法 - Google Patents

マルチタスク処理装置、マルチタスク処理方法およびマルチタスク処理表示方法

Info

Publication number
JP3349057B2
JP3349057B2 JP03899697A JP3899697A JP3349057B2 JP 3349057 B2 JP3349057 B2 JP 3349057B2 JP 03899697 A JP03899697 A JP 03899697A JP 3899697 A JP3899697 A JP 3899697A JP 3349057 B2 JP3349057 B2 JP 3349057B2
Authority
JP
Japan
Prior art keywords
task
information
execution
program
time series
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
Application number
JP03899697A
Other languages
English (en)
Other versions
JPH10240578A (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.)
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 JP03899697A priority Critical patent/JP3349057B2/ja
Priority to US09/028,639 priority patent/US6131109A/en
Publication of JPH10240578A publication Critical patent/JPH10240578A/ja
Application granted granted Critical
Publication of JP3349057B2 publication Critical patent/JP3349057B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/323Visualisation of programs or trace data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マルチタスク・オ
ブジェクト指向プログラムをテストまたはデバッグする
ときに利用されるマルチタスク処理装置、マルチタスク
処理方法およびマルチタスク処理表示方法に関する。
【0002】
【従来の技術】従来から、オブジェクト指向環境におい
て作成したマルチタスクプログラムをテストまたはデバ
ッグする上で、プログラムの動きを一つ一つ追うのは容
易ではなく、改善が望まれている。
【0003】一般に、マルチタスク処理にて実行するア
プリケーションプログラムをオブジェクト指向言語で記
述してマルチタスク・オブジェクト指向プログラム(以
下プログラムと称す)を作成したときには、そのプログ
ラムを実際に計算機にかけてテスト動作したりデバッグ
することにより、作成したプログラムをより良いものに
仕上げることが行われている。
【0004】例えば作成したプログラムをデバッグする
上では、タスクが待ち状態か動作状態かなどのタスクの
動作状態に関する情報と、タスクから操作中のオブジェ
クトおよび操作のためのメソッドに関する情報とを対応
させてプログラム全体またはプログラム中の一部のオブ
ジェクトを詳細に分析および検討することが重要であ
る。
【0005】ところで、タスク状態に関する情報は、オ
ペレーションシステム(以下OSと称す)レベルの情報
である反面、オブジェクトおよびメソッドなどに関する
情報は、アプリケーションレベルの情報であり、それぞ
れレベルが異なる情報である。 このため、これらレベ
ルの異なる二種類の情報(タスクとオブジェクト)を対
応付けて記録することは困難である。
【0006】したがって、従来は、個々のタスクを実行
させたときに発生したイベント名をタスク実行の時間軸
に履歴として残し、個々のタスクの実行状況とイベント
の発生タイミングとからユーザがプログラムの検証を行
っていた。
【0007】
【発明が解決しようとする課題】しかしながら、マルチ
タスク処理では、複数のタスクが相互にオブジェクトを
操作することから、個々のタスクの実行状況をみる中で
ユーザがプログラム全体や一部のオブジェクトの操作内
容が正常か否かを検証することは至って難しく、例えば
スケジューリングによるタスク切り替えとオブジェクト
へのアクセスの関係が予想外の順序で行なわれてしまう
ようなプログラム上のバグを見つけ出すには多くの時間
がかかり、デバッグの効率が悪いという問題があった。
【0008】本発明はこのような課題を解決するために
なされたもので、オブジェクト指向環境におけるマルチ
タスクプログラムの開発時に、ユーザがプログラムのデ
バッグまたはテストを効率良く行うことのできるマルチ
タスク処理装置、マルチタスク処理方法およびマルチタ
スク処理表示方法を提供することを目的としている。
【0009】
【課題を解決するための手段】上記した目的を達成する
ために、請求項1記載の発明のマルチタスク処理装置
は、タスク実行それぞれを表現するマルチタスク処理装
置であって、マルチタスクOS(オペレーティングシス
テム)におけるタスク切り替えについての情報を含みか
つマルチタスク処理でのプログラム実行により得られる
タスク実行情報それぞれを時系列を追って記録するタス
ク情報記録手段と、前記マルチタスク処理でのプログラ
ム中にありタスクにより操作されるオブジェクトについ
てのオブジェクト情報を時系列を追って記録するオブジ
ェクト実行情報記録手段と、前記タスク情報記録手段に
より記録されたタスク実行情報それぞれと前記オブジェ
クト実行情報記録手段により記録されたオブジェクト情
報とを時系列を追って融合する手段と、前記タスクの前
記オブジェクト操作に基づき前記オブジェクト情報を時
系列を追って表示する手段と、前記マルチタスク処理で
のプログラムの前記実行に基づき前記タスク実行情報そ
れぞれを時系列を追って表示する手段と、前記融合手段
により時系列を追って融合され得られた結果に基づき、
前記時系列に表示された前記タスク実行情報それぞれを
前記時系列に表示された前記オブジェクト情報に連係さ
せる線を用いて、前記タスクによるオブジェクト操作の
開始と終了とおよび前記タスク切り替えによるタスク実
行それぞれの中断と再始動とを表現する手段とを具備す
ることを特徴とする。
【0010】また、請求項2記載の発明のマルチタスク
処理装置は、オブジェクトの動作をシミュレートするた
めのデータを生成するマルチタスク処理装置であって、
オブジェクト指向言語により書かれマルチタスク処理を
行うプログラムの実行で得られたタスクそれぞれについ
ての第1の情報を時系列を追って記録するタスク情報記
録手段と、前記プログラム中にあり前記タスクにより操
作されたオブジェクトについての第2の情報を時系列を
追って記録するオブジェクト情報記録手段と、前記タス
ク情報記録手段によって記録された前記第1の情報と前
記オブジェクト情報記録手段によって記録された前記第
2の情報とを時系列を追って融合することにより前記プ
ログラムの動作履歴についての第3の情報を生成する手
段と、前記生成された第3の情報を格納する履歴格納手
段と、特定のオブジェクトと特定のタスクとを指定する
手段と、前記履歴格納手段により格納された前記第3の
情報に基づき、前記特定のオブジェクトの動作をシミュ
レートするデータを前記特定のタスクに連係させて生成
する手段とを具備することを特徴とする。
【0011】請求項2記載の発明のマルチタスク処理装
置は、タスクが実行された情報を時系列を追って記録す
るタスク情報記録手段と、前記タスクにより操作された
プログラム中のオブジェクトの情報を時系列を追って記
録するオブジェクト情報記録手段と、前記タスク情報記
録手段のタスク情報と、前記オブジェクト情報記録手段
のオブジェクト情報とを時系列的に融合して前記プログ
ラムの動作履歴を生成する情報融合手段と、前記情報融
合手段により生成された前記プログラムの動作履歴を格
納する履歴格納手段と、所望のオブジェクトおよびタス
クを指定する指定手段と、前記指定手段により指定され
たオブジェクトとタスクとが連係して動作する様子をシ
ミュレーションするデータを前記履歴格納手段の動作履
歴を基に生成する出力データ生成手段とを具備したこと
を特徴としている。
【0012】また、請求項4記載の発明のマルチタスク
処理方法は、タスク実行それぞれを表現するマルチタス
ク処理方法であって、タスク切り替え情報を含みかつマ
ルチタスク処理でのプログラム実行により得られるタス
ク実行情報それぞれを時系列を追って記録するステップ
と、前記マルチタスク処理でのプログラム中にありタス
クにより操作されるオブジェクトについてのオブジェク
ト情報を時系列を追って記録するステップと、前記記録
されたタスク実行情報それぞれと前記記録されたオブジ
ェクト情報とを時系列を追って融合するステップと、前
記タスクの前記オブジェクト操作に基づき前記オブジェ
クト情報を時系列を追って表示するステップと、前記マ
ルチタスク処理でのプログラムの前記実行に基づき前記
タスク実行情報それぞれを時系列を追って表示するステ
ップと、前記時系列を追って融合するステップにより得
られた結果に基づき、前記時系列に表示された前記タス
ク実行情報それぞれを前記時系列に表示された前記オブ
ジェクト情報に連係させる線を用いて、前記タスクによ
るオブジェクト操作の開始と終了とおよび前記タスク切
り替えによるタスク実行それぞれの中断と再始動とを表
現するステップとを具備することを特徴とする。
【0013】また、請求項5記載の発明のマルチタスク
処理方法は、オブジェクトの動作をシミュレートするた
めのデータを生成するマルチタスク処理方法であって、
オブジェクト指向言語により書かれマルチタスク処理を
行うプログラムの実行で得られたタスクそれぞれについ
ての第1の情報を時系列を追って記録するステップと、
前記プログラム中にあり前記タスクにより操作されたオ
ブジェクトについての第2の情報を時系列を追って記録
するステップと、前記第1の情報と前記第2の情報とを
時系列を追って融合することにより前記プログラムの動
作履歴についての第3の情報を生成するステップと、特
定のオブジェクトと特定のタスクとを指定するステップ
と、前記第3の情報に基づき、前記特定のオブジェクト
の動作をシミュレートするデータを前記特定のタスクに
連係させて生成するステップとを具備することを特徴と
する。
【0014】また、請求項6記載の発明のマルチタスク
処理表示方法は、タスク実行それぞれを表現するマルチ
タスク処理表示方法であって、タスク切り替えについて
の情報を含みかつマルチタスク処理でのプログラム実行
により得られるタスク実行情報それぞれと、前記プログ
ラム中にありタスクにより操作されるオブジェクトにつ
いての情報とを時系列を追って融合することにより履歴
情報を生成するステップと、前記タスクの前記オブジェ
クト操作に基づき前記オブジェクト情報を時系列を追っ
て表示するステップと、前記マルチタスク処理でのプロ
グラムの前記実行に基づき前記タスク実行情報それぞれ
を時系列を追って表示するステップと、前記生成された
履歴情報に基づき、前記時系列に表示された前記タスク
実行情報それぞれを前記時系列に表示された前記オブジ
ェクト情報に連係させる線を用いて、前記タスクによる
オブジェクト操作の開始と終了とおよび前記タスク切り
替えによるタスク実行それぞれの中断と再始動とを表現
するステップとを具備することを特徴とする。
【0015】また、請求項7記載の発明のマルチタスク
処理表示方法は、タスク実行それぞれを表現するマルチ
タスク処理表示方法であって、オブジェクト指向言語に
より書かれマルチタスク処理を行うプログラムの実行で
得られたタスクそれぞれについての第1の情報を時系列
を追って記録するステップと、前記プログラム中にあり
前記タスクにより操作されたオブジェクトについての第
2の情報を時系列を追って記録するステップと、前記第
1の情報と前記第2の情報とを時系列を追って融合する
ことにより前記プログラムの動作履歴についての第3の
情報を生成するステップと、前記タスクによる前記オブ
ジェクト操作に基づき前記第2の情報を時系列を追って
表示するステップと、前記マルチタスク処理でのプログ
ラムの前記実行に基づき前記第1の情報を時系列を追っ
て表示するステップと、前記生成された第3の情報に基
づき、前記時系列に表示された前記第1の情報を前記時
系列に表示された第2の情報に連係させる線を用いて、
前記タスクによるオブジェクト操作の開始と終了とおよ
びタスク切り替えによる前記タスク実行それぞれの中断
と再始動とを表現するステップとを具備することを特徴
とする。
【0016】上記のように本発明の場合、時系列的に融
合されたタスクとオブジェクトの動作状況が連係して表
現されるので、それを見たユーザは、タスクとオブジェ
クトの関係が良く分かり、プログラムの内容を容易に把
握できる。
【0017】すなわち、本発明では、ユーザがマルチタ
スクプログラムをデバッグまたはテストする上で、デバ
ッグ対象またはテスト対象のオブジェクトを操作してい
るタスクをオブジェクトの動きに連係させて表示するの
で、タスクとオブジェクトとの関係がユーザに良く分か
るようになり、ユーザはプログラムのデバッグまたはテ
ストを効率良く行うことができる。
【0018】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して詳細に説明する。
【0019】図1は本発明のマルチタスク処理装置に係
る一つの実施形態であるデバッグ支援装置の構成を示す
図である。
【0020】同図において、1はこのデバッグ支援装置
に用いられるオペレーティングシステム(以下OSと称
す)である。このOS1では、ユーザが定義したタスク
名とタスク識別子との対応が予めプログラムのコンパイ
ル時に確定している。2はマルチタスク・オブジェクト
指向言語プログラム(以下アプリケーションプログラム
と称す)であり、例えば図2、図3に示すようなソース
プログラムで記述されており、例えばtaskA,taskB,
taskCなどの3つのタスクからなる。3はデバッグ支援
装置であり、OS1およびアプリケーションプログラム
2をロードしてOS1の環境下でアプリケーションプロ
グラム2を実行し、この際にユーザがアプリケーション
プログラム2をデバッグするための支援表示を行うもの
である。4はオブジェクト実行情報記録手段であり、プ
ログラム実行中にメソッド・システムコールを含む関数
呼び出しおよび関数からの復帰を検出し、シンボル情報
格納手段14のオブジェクト識別子情報およびクラス情
報格納手段15のクラス識別子情報を基に、オブジェク
ト名、関数名などを解釈し、オブジェクト実行情報とし
て情報融合手段6に送る。5はタスク情報記録手段であ
り、プログラム実行中にOS1からタスク切り替えおよ
びタスク状態変更を検出し、タスク情報として情報融合
手段6に送る。情報融合手段6は、プログラム実行中に
オブジェクト実行情報記録手段4とタスク情報記録手段
5から送られてきた情報を、順に履歴格納手段9に格納
する。7は入出力手段であり、ユーザからの入力に従
い、出力データ生成手段8に出力情報生成要求を行な
い、出力データ生成手段8から送られた出力情報を出力
する。またこの入出力手段7は、アプリケーションプロ
グラム2の起動および停止の指示を行なう。入出力手段
7としては、例えばマウス、キーボート、外部記憶装
置、モニタ、プリンタなどである。8は出力データ生成
手段であり、入出力手段7からの出力情報生成要求に従
い、システムコール情報格納手段17に格納されたシス
テムコール名、オブジェクトクラス識別子格納手段11
に格納されたオブジェクト識別子およびクラス識別子、
タスク識別子格納手段13に格納されたタスク識別子情
報、履歴格納手段9に格納された履歴情報などを利用し
て出力情報を生成し入出力手段7に送る。10はオブジ
ェクト指定手段であり、ユーザの入力操作に従い、オブ
ジェクトクラス識別子格納手段11にユーザが指定した
オブジェクト識別子あるいはクラス識別子を格納する。
12はタスク指定手段であり、ユーザの入力操作に従い
ユーザが指定したタスク識別子をタスク識別子格納手段
13に格納する。14はシンボル情報格納手段であり、
アプリケーションプログラム2のコンパイル時に生成さ
れたシンボル情報を格納する。15はクラス情報格納手
段であり、アプリケーションプログラム2のコンパイル
時に生成されたクラス情報を格納する。16はタスク情
報格納手段であり、アプリケーションプログラム2のコ
ンパイル時に生成されたタスク情報を格納する。17は
システムコール情報格納手段であり、OS毎に準備され
ているシステムコール情報が格納されている。
【0021】次に、このデバッグ支援装置3の動作を説
明する。
【0022】このデバッグ支援装置3にかけるアプリケ
ーションプログラム2は、図2,図3に示すようなソー
スプログラムの記述で示されるようにダイスゲームを複
数のプレイヤーが行うプログラムである。
【0023】ここでは、taskA,taskB,taskCからな
るアプリケーションプログラム2をデバッグ支援装置3
で実行し、各タスク動作をオブジェクト操作に関連付け
て表示する動作について説明する。
【0024】まず、タスク/オブジェクト/クラス情報
の準備について説明する。
【0025】アプリケーションプログラム2をデバッグ
支援装置3にコンパイルするときに、デバッグ支援装置
3は、図4に示すようなタスク識別子情報としてのタス
ク識別子テーブル40と、図5に示すようなシンボル情
報としてのオブジェクト識別子リスト41と、図6に示
すようなクラス情報としてのクラス識別子リスト42と
を準備する。なお、システムコール情報格納手段17に
格納されているシステムコール情報としてのシステムコ
ール名は、図7に示すように、タスクの状態変更のシス
テムコールwup_tsk()、フラグをセットするシステムコ
ールset_flg 、フラグが特定の状態になるのを待つシス
テムコールwai_flg()、タスクが特定の状態になるのを
待つシステムコールwai_tsk()などがある。
【0026】そして、ユーザにより入出力手段7に起動
指示の操作があると、入出力手段7は、アプリケーショ
ンプログラム2を起動する。
【0027】このアプリケーションプログラム2が起動
したとき、図2,図3に示したソースプログラムの記述
にあるように、taskA(タスク識別子は「1」)は実行
可能状態(Ready 状態)、taskB(タスク識別子は
「2」)およびtaskC(タスク識別子は「3」)は休止
状態(Dormant 状態)にある。
【0028】この起動時にタスク情報記録手段5は、O
S1からtaskA,taskB,taskCの初期状態の情報を取
得し情報融合手段6に送る。情報融合手段6は、送られ
てきた初期状態の情報を履歴格納手段9に記録する。
【0029】まずオペレーティングシステム1は、アプ
リケーションプログラム2のオブジェクトである、例え
ばdicegame、playerB、playerC、diceなどを初期化す
るため、初期化ハンドラを起動して、それぞれのコンス
トラクタを実行する。タスク情報記録手段5は、初期化
ハンドラの起動/終了を検出して、自身に記録されてい
る情報を情報融合手段6に送る。またオブジェクト実行
情報記録手段4もコンストラクタの実行を検出して、自
身に記録されている情報を情報融合手段6に送る。
【0030】すると、情報融合手段6は、まず初期化ハ
ンドラを起動したことを履歴格納手段9に記録し、次に
各コンストラクタの起動/終了を履歴格納手段9に記録
する。タスク情報記録手段5あるいはオブジェクト実行
情報記録手段4が情報融合手段6に情報を送ったとき
は、その情報を必ず履歴格納手段9に記録しているが、
以降の説明では省略する。
【0031】初期化ハンドラ終了後、OS1は、Ready
状態にあるtaskAに切り替え、taskAを起動し、起動し
たtaskAは、実行状態(Run 状態)へと変化する。タス
ク情報記録手段5は、OS1での初期化ハンドラ終了、
タスクの切り替え、タスク状態変更を検出し、その情報
を自身に記録すると共に情報融合手段6に送る。
【0032】taskAでは、まず、dicegameオブジェクト
のready()メソッドが呼び出される。呼び出されたread
y()メソッドは、Dormant 状態のタスクをReady 状態に
変更する(タスクの状態変更)システムコールwup_ts
k()と、フラグが特定の状態になるのを待つシステムコ
ールwai_flg()とを実行する。
【0033】オブジェクト実行情報記録手段4は、シス
テムコールwup_tsk(2)の発行を検出し、その情報を情
報融合手段6に送る。システムコールwup_tsk(2)の発
行により、taskBの状態は、Ready に変更され、これを
タスク情報記録手段5が検出し、その情報を情報融合手
段6に送る。同様にシステムコールwup_tsk(3)の発行
によりtaskCの状態が変更される。最後にシステムコー
ルwai_flg (1)を発行し、これがオブジェクト実行情
報記録手段4により検出されて記録され、このシステム
コールwai_flg (1)の発行によってtaskAが待ち状態
(Wait状態)へと変化すると、この変化がタスク情報記
録手段5に検出され記録される。
【0034】次に、OS1によるスケジューリングが発
生し、実行タスクがtaskBに切り替わると、それがタス
ク情報記録手段5により検出され記録される。
【0035】taskBでは、dicegameのentry()メソッド
を呼び出しており、この呼び出しはオブジェクト実行情
報記録手段4に検出される。さらに、entry()は、play
erBオブジェクトをオブジェクト実行情報記録手段4が
検出し、setNum()メソッドから戻ると、それをオブジ
ェクト実行情報記録手段4が検出し、フラグをセットす
るシステムコールset_flg をセットする。この時点で
は、counter 値は、“1”でありフラグ値も“1”とな
る。またシステムコールwai_flg(2)が発行されると、
それをオブジェクト実行情報記録手段4が検出し、この
システムコールwai_flg(2)の発行によりtaskBもWait
状態となり、それをタスク情報記録手段5が検出し記録
する。
【0036】そして、OS1によるスケジューリングが
発生し、実行タスクがtaskCに切り替わると、それをタ
スク情報記録手段5が検出し記録する。
【0037】以降、このような動作をアプリケーション
プログラム2が続けると、デバッグ支援装置3内で、そ
の都度、情報の記録が続けられるが、taskCが終了した
時点で、ユーザが入出力手段7からアプリケーションプ
ログラム2の実行停止を指示すると、この時点で処理を
終了する。
【0038】この処理終了までの履歴情報は、図8に示
すように、履歴情報テーブル50のタスク/オブジェク
トの種別、イベント種別、イベント内容の各欄にそれぞ
れの履歴発生順(イベント発生順)に記録されている。
なおこの履歴情報テーブル50の内容は履歴情報の一部
である。
【0039】ここで、表示条件の選択について説明す
る。
【0040】記録終了後、ユーザがオブジェクト指定手
段10にて履歴格納手段9に格納された履歴情報とシン
ボル情報格納手段14のシンボル情報とから生成された
選択可能なオブジェクト識別子リスト41と、クラス情
報格納手段15に格納されたクラス識別子リスト42と
を参照して、「オブジェクトdice」、「オブジェクトdi
cegame」、「Playerクラス」などを選択したものとす
る。
【0041】すると、選択された識別子は、オブジェク
トクラス識別子格納手段11に格納される。このオブジ
ェクトクラス識別子格納手段11は、図9に示すような
クラス/オブジェクト識別子格納テーブル51を有して
おり、クラス/オブジェクト識別子の欄に“Ox2210”、
“Ox2290”、“Player”などが記録され、それぞれの種
別として「O」(オブジェクト)または「C」(クラ
ス)のいずれかが記録される。
【0042】ここで、ユーザがタスク指定手段12に
て、タスク識別子格納手段16に格納されたタスク識別
子リスト40から、全てのタスク、つまり「taskA」、
「taskB」、「taskC」を選択したものとする。
【0043】すると、選択された「taskA」、「task
B」、「taskC」のタスク識別子は、タスク識別子格納
手段13に格納される。このタスク識別子格納手段13
は、図10に示すようなタスク識別子格納テーブル52
を有しており、タスク識別子として「1」、「2」、
「3」が記録される。
【0044】以下、図8の履歴情報テーブル50と図1
1〜図13を参照して履歴の出力動作について説明す
る。図11は出力データ生成手段8の動作を示すフロー
チャート、図12、図13は表示例を示す図である。
【0045】ユーザが入出力手段7にて表示要求を入力
すると、入出力手段7は、出力データ生成手段8に対し
て表示データの生成を要求する。つまり情報生成要求を
発行する。なお、ここでは説明を分かりやすくするため
にタスク名、関数名(メソッド名)は出力するが、シス
テムコール名は生成しないものとする。
【0046】出力データ生成手段8は、図11に示すよ
うに、入出力手段7からの情報生成要求を受け取ると
(ステップ101 )、履歴格納手段9の履歴情報を順次読
み込み、履歴情報を基に表示データを生成する。
【0047】すなわち、まず初めにオブジェクトクラス
識別子格納手段11に格納されている「オブジェクトdi
ce」、「オブジェクトdicegame」それぞれのためのオブ
ジェクト実行表示領域(dice表示領域22、dicegame表
示領域23)を出力し(ステップ102 )、「Playerクラ
ス」のためのクラス実行表示領域(class Player表示領
域21)を出力し(ステップ103 )、さらにタスク実行
表示領域24を出力する(ステップ104 )。このように
出力データ生成手段8から出力された表示領域のデータ
は、入出力手段7に入力されてモニタの表示画面上に、
図12に示すように表示される。
【0048】出力データ生成手段8は、表示領域データ
を出力後、履歴格納手段9の履歴情報テーブル50から
1履歴づつ情報を読み取り(ステップ105 )、履歴情報
がない場合は(ステップ106 )、表示情報の生成を終了
し、履歴情報があった場合は、それぞれの履歴に応じた
出力データを生成し出力する。
【0049】履歴情報があり、履歴情報のイベント種別
がstatusであれば(ステップ107 のYes )、読み取った
タスク識別子がタスク識別子格納手段13に格納されて
いるか否かを調べ(ステップ108 )、格納されていれ
ば、タスク動作記述の種別を変更して出力し(ステップ
109 )、初めて扱うタスクであれば、タスク名を出力す
る(ステップ110 )。
【0050】履歴情報のイベント種別がstatusでなけれ
ば(ステップ107 のNo)、イベント種別がtask切り替え
か否かを調べ(ステップ111 )、task切り替えであれば
(ステップ111 のYes )、読み取ったタスク識別子が二
つともタスク識別子格納手段13に格納されているか否
かを調べ(ステップ112 )、格納されていれば、タスク
切り替え記述を出力し(ステップ113 )、実行中のタス
ク識別子を記憶する(ステップ114 )。
【0051】一方、イベント種別がtask切り替えでなけ
れば(ステップ111 のNo)、記憶中のタスク識別子が二
つともタスク識別子格納手段13に格納されているか否
かを調べ(ステップ115 )、格納されていれば、イベン
ト内容がシステムコールであるか否かを調べ(ステップ
116 )、システムコールであれば(ステップ116 のYes
)、イベント種別がcallであるか否かを調べ(ステッ
プ117 )、callであれば、システムコール記述を出力す
る(ステップ118 )。
【0052】またイベント内容がシステムコールでなけ
れば(ステップ116 のNo)、読み取ったオブジェクト識
別子がオブジェクトクラス識別子格納手段11に格納さ
れているか否かを調べ(ステップ119 )、格納されてい
れば、タスク切り替え記述とタスク遷移記述とを出力す
る。なお、ステップ115 、119 の処理で、識別子が格納
されてない場合は、タスク動作記述を継続して出力する
(ステップ121 )。
【0053】ここで、具体的なデータ生成動作について
説明する。
【0054】図8の履歴情報テーブル50において、履
歴順の初め、つまり1)として、taskAは、タスク識別
子格納手段13に格納されており、この時点でtaskA
は、Ready 状態であることから、図12のタスク実行表
示領域24に例えば点線などでタスク動作記述25を出
力する。ここでは、タスク名の記述、つまりTaskAとい
うデータを点線の下に出力する。以降、taskAは、状態
が変わるまでイベント毎にタスク動作記述25の出力を
続ける。2)では、taskBは、タスク識別子格納手段1
3に格納されているものの、ここではstatusがDormant
であることから何も出力しない。3)では、taskCもタ
スク識別子格納手段13に格納されているものの、stat
usがDormant であることから何も出力しない。
【0055】4)では、実行タスクがInit Handlerに切
り替わったが、タスク識別子格納手段13で何も指定さ
れていないので(タスク/オブジェクトの欄がnoneなの
で)何も出力しない。5−12)では、Init Handler実
行中のため何も出力しない。
【0056】13)では、実行タスクがInit Handlerに
切り替わったが、タスク識別子格納手段13で何も指定
されていないので(タスク/オブジェクトの欄が0なの
で)何も出力しない。
【0057】14)では、taskAは、タスク識別子格納
手段13に格納されており、Run 状態になったことか
ら、タスク実行表示領域24に実線でタスク動作記述を
出力。以降、状態が変わるまでイベント毎に出力を続け
る。
【0058】15)では、taskAを実行中であり、オブ
ジェクトdicegameは、オブジェクトクラス識別子格納手
段11に格納されているので、タスク実行表示領域24
からdicegame表示領域23へタスク接続記述26を実線
で出力し、dicegame表示領域23にタスク動作記述を出
力する。以降、タスクの状態が変わるまでイベント毎に
タスク動作記述の出力を続ける。またタスク動作記述の
上にメソッド名ready()を出力する。
【0059】16)では、関数wup_tsk()は、システム
コール情報格納手段17に登録されていることからシス
テムコールであることが分かり、システムコールを表示
するための菱形をtaskAのタスク動作記述上に出力す
る。
【0060】17)では、taskBは、タスク識別子格納
手段13に格納されており、Ready状態になったことか
ら、タスク実行表示領域24に点線などでタスク動作記
述を出力する。ここでもタスク名を点線の下に出力す
る。以降、タスクの状態が変わるまでタスク動作記述の
出力を続ける。
【0061】18)では、システムコールが終了したが
何も出力しない。
【0062】19)では、関数wup_tsk()は、システム
コール情報17に登録されていることからシステムコー
ルであることが分かり、システムコールを表示するため
のマーク、例えば菱形のマークなどをtaskAのタスク動
作記述上に出力する。
【0063】20)では、taskCは、タスク識別子格納
手段13に格納されており、Ready状態になったことか
ら、タスク実行表示領域24に点線などでタスク動作記
述を出力する。ここでもタスク名を点線の下に出力す
る。以降、タスクの状態が変わるまでタスク動作記述の
出力を続ける。
【0064】21)では、システムコールが終了したが
何も出力しない。
【0065】22)では、関数wai_tsk()は、システム
コール情報格納手段17に登録されていることからシス
テムコールであることが分かり、システムコールを表示
するための菱形のマークをtaskAのタスク動作記述上に
出力する。
【0066】23)では、taskAは、タスク識別子格納
手段13に格納されており、Wait状態になったことか
ら、引き続きdicegame表示領域23に一点鎖線などでタ
スク動作記述を出力する。以降、タスクの状態が変わる
まで出力を続ける。
【0067】24)では、taskAからtaskBに動作が切
り替わり、どちらも識別子がタスク識別子格納手段13
に格納されていることから、矢印でタスク切り替え記述
27を出力する。
【0068】25)では、taskBは、タスク識別子格納
手段13に格納されており、Run 状態になったことか
ら、タスク実行表示領域24に実線でタスク動作記述を
出力する。以降、タスクの状態が変わるまで出力を続け
る。
【0069】26)では、taskBを実行中であり、dice
gameは、オブジェクトクラス識別子格納手段11に格納
されているので、タスク実行表示領域24からdicegame
表示領域23へタスク接続記述を実線などで出力し、こ
の実線の上にメソッド名entry()を出力する。
【0070】27)では、taskBを実行中であり、clas
s Playerは、オブジェクトクラス識別子格納手段11に
格納されているので、dicegame表示領域23からclass
Player表示領域21へタスク接続記述を実線で出力し、
この実線の上にオブジェクト名playerBとメソッド名se
t Num()を出力する。
【0071】28)では、メソッドset Num の実行が終
了したため、class Player表示領域21からdicegame表
示領域23へタスク接続記述を実線で出力し、dicegame
表示領域23にタスク動作記述を実線で出力する。以
降、タスクの状態が変わるまで出力を続ける。
【0072】29)では、関数set_flg()は、システム
コール情報17に登録されていることからシステムコー
ルであることが分かり、システムコールを表示するため
の菱形のマークをtaskBのタスク動作記述上に出力す
る。
【0073】30)では、システムコールが終了したが
何も出力しない。31)では、taskBを実行中のため、
dicegame表示領域23に実線でタスク動作記述を出力す
る。関数wai_flg()は、システムコール情報17に登録
されていることからシステムコールであることが分か
り、システムコールを表示するための菱形のマークをタ
スク動作記述上に出力する。
【0074】32)では、taskBは、タスク識別子格納
手段13に格納されており、Wait状態になったことか
ら、引き続きdicegame表示領域23に一点鎖線でタスク
動作記述を出力する。以降、タスクの状態が変わるまで
出力を続ける。
【0075】33)では、taskBからtaskCに動作が切
り替わり、どちらも識別子がタスク識別子格納手段13
に格納されていることから矢印でタスク切り替え記述を
出力する。
【0076】34)では、taskCは、タスク識別子格柄
手段13に格納されており、Run 状態になったことか
ら、タスク実行表示領域24に実線でタスク動作記述を
出力する。以降、タスクの状態が変わるまで出力を続け
る。以後、同様の処理を繰り返す。
【0077】この結果、モニタの表示画面上には、図1
2に示すように、ユーザにより選択された全てのtask
A,taskB,taskCの実行経過とそれぞれのオブジェク
ト操作とが時系列的に順を追って表示されるので、ユー
ザが注目しているオブジェクトがtaskA,taskB,task
Cによりどう操作されているか、といったことがユーザ
に良く分かり、ユーザは、自分が作成したプログラムに
潜むバグなどを容易に見つけ出すことができる。
【0078】次に、表示条件の設定(オブジェクト優先
表示)について説明する。
【0079】このデバッグ支援装置では、ユーザから所
望の条件を指定することにより表示内容を変更すること
ができる。
【0080】例えばtaskBとtaskCの指定をタスク指定
手段12で解除し、dicegameオブジェクト表示領域23
のみを入出力手段7で指定し、オブジェクト優先表示を
要求すると、出力データ生成手段8では、図8の履歴情
報テーブル50に基づいて出力データを生成する。
【0081】以下、図8の履歴情報テーブル50の履歴
順に説明する。
【0082】1)では、taskAは、タスク識別子格納手
段13に格納されており、Ready 状態であることから、
タスク実行表示領域24に点線でタスク動作記述を出
力。タスク名を点線の下に出力。以降、状態が変わるま
で、タスク実行表示領域24にタスク動作記述の出力を
続ける。
【0083】2)では、taskBは、タスク識別子格納手
段13に格納されておらず何も出力しない。
【0084】3)では、taskCは、タスク識別子格納手
段13に格納されておらず何も出力しない。
【0085】4)では、実行タスクがInit Handlerに切
り替わったが、タスク識別子格納手段13で指定されて
いないので何も出力しない。
【0086】5)では、dicegameが優先表示指定されて
いるため、Init Handlerは、指定されていないがdicega
me表示領域23に実線でタスク動作記述を出力し、メソ
ッド名(DiceGame())を出力する。タスク名を実線の
下に出力する。以降、タスクの状態が変わるまでdicega
me表示領域23にタスク動作記述の出力を続ける。
【0087】6)では、dicegame表示領域23の実線の
出力を中止する。
【0088】7−12)では、Init Handler実行中のた
め何も出力しない。
【0089】13−19)では、処理内容が前の例と同
じため説明を省略する。
【0090】20)では、taskCは、タスク識別子格納
手段13に格納されていないため何も出力しない。
【0091】21−23)では、処理内容が前の例と同
じため説明を省略する。
【0092】24)では、taskAからtaskBに動作が切
り替わったが、オブジェクト優先表示のため何も出力し
ない。
【0093】25)では、taskBは、タスク識別子格納
手段13に格納されていないため、何も出力しない。
【0094】26)では、dicegameが優先表示指定され
ているため、taskBは、指定されていないがdicegame表
示領域23に実線でタスク動作記述を出力し、メソッド
名(Entry())を出力する。タスク名を実線の下に出力
する。以降、タスクの状態が変わるまでdicegame表示領
域23にタスク動作記述の出力を続ける。
【0095】27−28)では、taskBを実行中であ
り、オブジェクト優先表示のため引き続きdicegame表示
領域23にtaskBのタスク動作記述を出力する。
【0096】29−32)では、処理内容が前の例と同
じため説明を省略する。
【0097】33)では、taskBからtaskCに動作が切
り替わったが、オブジェクト優先表示のため何も出力し
ない。
【0098】34)では、taskCは、タスク識別子格納
手段13に格納されておらず何も出力しない。以降、同
様の処理を繰り返す。
【0099】このようにして出力データ生成手段8によ
り生成された出力データは、入出力手段7に入力されて
モニタの表示画面上に図13に示すように表示される。
【0100】この図13では、taskBとtaskCの指定を
タスク指定手段12で解除し、dicegameのオブジェクト
を指定しオブジェクト優先表示を要求したことにより、
dicegameのオブジェクト表示領域23とtaskAのタスク
実行表示領域24とが表示画面上に表示され、dicegame
のオブジェクトを操作したtaskAの実行経過のみが時系
列的に順を追って示されているので、ユーザが注目して
いるオブジェクトがtaskAによりどう操作されている
か、といったことがユーザに良く分かる。
【0101】このようにこのデバッグ支援装置によれ
ば、オブジェクト指向言語で作成したマルチタスクプロ
グラムであるアプリケーションプログラム2をデバッグ
(またはテスト)する上で、デバッグ対象(またはテス
ト対象)のオブジェクトを操作しているtaskA,task
B,taskCが実行された経過をオブジェクトの操作に連
係させて表示することにより、ユーザが注目しているオ
ブジェクトをtaskA,taskB,taskCがどう操作してい
るかをユーザは視覚的に時系列を追ってチェックするこ
とができる。
【0102】この結果、ユーザは、作成したアプリケー
ションプログラム2のデバッグ(またはテスト)を効率
良く行うことができる。
【0103】なお、上記実施形態では説明しなかった
が、class PlayerのオブジェクトとplayerBのオブジェ
クトとを共に指定すると、タスク動作記述が2ヵ所に表
示される可能性があるが、この場合、ユーザが指定した
いずれか一方の領域のみにタスク動作記述が表示され、
両方にタスク動作記述が表示されることはない。
【0104】また、上記実施形態では、システムコール
名を表示しなかったが、表示しても良い。さらにイベン
ト内容として関数呼び出しのパラメータを記録/表示し
なかったが、これも記録/表示するようにしても良い。
【0105】
【発明の効果】以上説明したように本発明によれば、マ
ルチタスク・オブジェクト指向プログラムをデバッグ
(またはテスト)する際に、デバッグ対象のタスク実行
情報とタスクが操作したオブジェクトの情報とを時系列
を追って履歴として記録し、所望のタスクの実行状況と
オブジェクトの動きを時系列的に連係させて出力、つま
り表示するので、例えばスケジューリングによるタスク
切り替えとオブジェクトへのアクセスの関係が予想外の
順序で行なわれたようなバグをユーザが容易に発見でき
るようになり、ユーザは、作成したプログラムのデバッ
グ(またはテスト)を効率良く行うことができる。これ
によりデバッグまたはテストの作業効率の向上を図るこ
ともできる。
【図面の簡単な説明】
【図1】本発明の一つの実施形態のデバッグ支援装置の
構成を示す図。
【図2】ソースプログラムを示す図。
【図3】ソースプログラムを示す図。
【図4】このデバッグ支援装置のタスク識別子テーブル
を示す図。
【図5】このデバッグ支援装置のオブジェクト識別子リ
ストを示す図。
【図6】このデバッグ支援装置のクラス識別子リストを
示す図。
【図7】このデバッグ支援装置のシステムコール名を示
す図。
【図8】このデバッグ支援装置の履歴情報テーブルを示
す図。
【図9】このデバッグ支援装置のクラス/オブジェクト
識別子格納テーブルを示す図。
【図10】このデバッグ支援装置のタスク識別子格納テ
ーブルを示す図。
【図11】このデバッグ支援装置の動作を示すフローチ
ャート。
【図12】このデバッグ支援装置の表示結果の一例を示
す図。
【図13】このデバッグ支援装置の表示結果の他の例を
示す図。
【符号の説明】
1…オペレーティングシステム(OS)、2…アプリケ
ーションプログラム、3…デバッグ支援装置、4…オブ
ジェクト実行情報記録手段、5…タスク情報記録手段、
6…情報融合手段、7…入出力手段、8…出力データ生
成手段、9…履歴格納手段、10…オブジェクト指定手
段、11…オブジェクト識別子格納手段、12…タスク
指定手段、13…タスク識別子格納手段、14…シンボ
ル情報格納手段、15…クラス情報格納手段、16…タ
スク情報格納手段、17…システムコール情報格納手
段。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 小山 徳章 神奈川県川崎市幸区柳町70番地 株式会 社東芝 柳町工場内 (72)発明者 岡島 正明 神奈川県川崎市幸区柳町70番地 株式会 社東芝 柳町工場内 (72)発明者 小田原 育也 神奈川県川崎市幸区柳町70番地 株式会 社東芝 柳町工場内 (56)参考文献 特開 平5−324399(JP,A) 特開 昭61−262858(JP,A) 特開 平5−134903(JP,A) 特開 平7−295856(JP,A) 特開 平8−77036(JP,A) 特開 平7−84832(JP,A) 特開 平5−233248(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 11/32 G06F 9/46

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】 タスク実行それぞれを表現するマルチタ
    スク処理装置であって、 マルチタスクOS(オペレーティングシステム)におけ
    るタスク切り替えについての情報を含みかつマルチタス
    ク処理でのプログラム実行により得られるタスク実行情
    報それぞれを時系列を追って記録するタスク情報記録手
    段と、 前記マルチタスク処理でのプログラム中にありタスクに
    より操作されるオブジェクトについてのオブジェクト情
    報を時系列を追って記録するオブジェクト実行情報記録
    手段と、 前記タスク情報記録手段により記録されたタスク実行情
    報それぞれと前記オブジェクト実行情報記録手段により
    記録されたオブジェクト情報とを時系列を追って融合す
    る手段と、 前記タスクの前記オブジェクト操作に基づき前記オブジ
    ェクト情報を時系列を追って表示する手段と、 前記マルチタスク処理でのプログラムの前記実行に基づ
    き前記タスク実行情報それぞれを時系列を追って表示す
    る手段と、 前記融合手段により時系列を追って融合され得られた結
    果に基づき、前記時系列に表示された前記タスク実行情
    報それぞれを前記時系列に表示された前記オブジェクト
    情報に連係させる線を用いて、前記タスクによるオブジ
    ェクト操作の開始と終了とおよび前記タスク切り替えに
    よるタスク実行それぞれの中断と再始動とを表現する手
    段とを具備することを特徴とするマルチタスク処理装
    置。
  2. 【請求項2】 オブジェクトの動作をシミュレートする
    ためのデータを生成するマルチタスク処理装置であっ
    て、 オブジェクト指向言語により書かれマルチタスク処理を
    行うプログラムの実行で得られたタスクそれぞれについ
    ての第1の情報を時系列を追って記録するタスク情報記
    録手段と、 前記プログラム中にあり前記タスクにより操作されたオ
    ブジェクトについての第2の情報を時系列を追って記録
    するオブジェクト情報記録手段と、 前記タスク情報記録手段によって記録された前記第1の
    情報と前記オブジェクト情報記録手段によって記録され
    た前記第2の情報とを時系列を追って融合することによ
    り前記プログラムの動作履歴についての第3の情報を生
    成する手段と、 前記生成された第3の情報を格納する履歴格納手段と、 特定のオブジェクトと特定のタスクとを指定する手段
    と、 前記履歴格納手段により格納された前記第3の情報に基
    づき、前記特定のオブジェクトの動作をシミュレートす
    るデータを前記特定のタスクに連係させて生成する手段
    とを具備することを特徴とするマルチタスク処理装置。
  3. 【請求項3】 タスク実行それぞれを表現するマルチタ
    スク処理装置であって、 マルチタスク処理でのプログラム実行により得られかつ
    タスク切り替え情報を含むタスク実行情報それぞれと、
    前記プログラム中にありタスクにより操作されるオブジ
    ェクトの情報とを時系列を追って融合することによって
    履歴情報を生成する手段と、 前記タスクによる前記オブジェクト操作に基づいて前記
    オブジェクト情報を時系列を追って表示する手段と、 前記マルチタスク処理でのプログラムの前記実行に基づ
    いて前記タスク実行情報それぞれを時系列を追って表示
    する手段と、 前記生成された履歴情報に基づき、前記時系列に表示さ
    れたタスク実行情報それぞれを前記時系列に表示された
    オブジェクト情報に連係させる線を用いて、前記タスク
    による前記オブジェクト操作の開始と終了とおよび前記
    タスク切り替えによる前記タスク実行それぞれの中断と
    再始動とを表現する手段とを具備することを特徴とする
    マルチタスク処理装置。
  4. 【請求項4】 タスク実行それぞれを表現するマルチタ
    スク処理方法であって、 タスク切り替え情報を含みかつマルチタスク処理でのプ
    ログラム実行により得られるタスク実行情報それぞれを
    時系列を追って記録するステップと、 前記マルチタスク処理でのプログラム中にありタスクに
    より操作されるオブジェクトについてのオブジェクト情
    報を時系列を追って記録するステップと、 前記記録されたタスク実行情報それぞれと前記記録され
    たオブジェクト情報とを時系列を追って融合するステッ
    プと、 前記タスクの前記オブジェクト操作に基づき前記オブジ
    ェクト情報を時系列を追って表示するステップと、 前記マルチタスク処理でのプログラムの前記実行に基づ
    き前記タスク実行情報それぞれを時系列を追って表示す
    るステップと、 前記時系列を追って融合するステップにより得られた結
    果に基づき、前記時系列に表示された前記タスク実行情
    報それぞれを前記時系列に表示された前記オブジェクト
    情報に連係させる線を用いて、前記タスクによるオブジ
    ェクト操作の開始と終了とおよび前記タスク切り替えに
    よるタスク実行それぞれの中断と再始動とを表現するス
    テップとを具備することを特徴とするマルチタスク処理
    方法。
  5. 【請求項5】 オブジェクトの動作をシミュレートする
    ためのデータを生成するマルチタスク処理方法であっ
    て、 オブジェクト指向言語により書かれマルチタスク処理を
    行うプログラムの実行で得られたタスクそれぞれについ
    ての第1の情報を時系列を追って記録するステップと、 前記プログラム中にあり前記タスクにより操作されたオ
    ブジェクトについての第2の情報を時系列を追って記録
    するステップと、 前記第1の情報と前記第2の情報とを時系列を追って融
    合することにより前記プログラムの動作履歴についての
    第3の情報を生成するステップと、 特定のオブジェクトと特定のタスクとを指定するステッ
    プと、 前記第3の情報に基づき、前記特定のオブジェクトの動
    作をシミュレートするデータを前記特定のタスクに連係
    させて生成するステップとを具備することを特徴とする
    マルチタスク処理方法。
  6. 【請求項6】 タスク実行それぞれを表現するマルチタ
    スク処理表示方法であって、 タスク切り替えについての情報を含みかつマルチタスク
    処理でのプログラム実行により得られるタスク実行情報
    それぞれと、前記プログラム中にありタスクにより操作
    されるオブジェクトについての情報とを時系列を追って
    融合することにより履歴情報を生成するステップと、 前記タスクの前記オブジェクト操作に基づき前記オブジ
    ェクト情報を時系列を追って表示するステップと、 前記マルチタスク処理でのプログラムの前記実行に基づ
    き前記タスク実行情報それぞれを時系列を追って表示す
    るステップと、 前記生成された履歴情報に基づき、前記時系列に表示さ
    れた前記タスク実行情報それぞれを前記時系列に表示さ
    れた前記オブジェクト情報に連係させる線を用いて、前
    記タスクによるオブジェクト操作の開始と終了とおよび
    前記タスク切り替えによるタスク実行それぞれの中断と
    再始動とを表現するステップとを具備することを特徴と
    するマルチタスク処理表示方法。
  7. 【請求項7】 タスク実行それぞれを表現するマルチタ
    スク処理表示方法であって、 オブジェクト指向言語により書かれマルチタスク処理を
    行うプログラムの実行で得られたタスクそれぞれについ
    ての第1の情報を時系列を追って記録するステップと、 前記プログラム中にあり前記タスクにより操作されたオ
    ブジェクトについての第2の情報を時系列を追って記録
    するステップと、 前記第1の情報と前記第2の情報とを時系列を追って融
    合することにより前記プログラムの動作履歴についての
    第3の情報を生成するステップと、 前記タスクによる前記オブジェクト操作に基づき前記第
    2の情報を時系列を追って表示するステップと、 前記マルチタスク処理でのプログラムの前記実行に基づ
    き前記第1の情報を時系列を追って表示するステップ
    と、 前記生成された第3の情報に基づき、前記時系列に表示
    された前記第1の情報を前記時系列に表示された第2の
    情報に連係させる線を用いて、前記タスクによるオブジ
    ェクト操作の開始と終了とおよびタスク切り替えによる
    前記タスク実行それぞれの中断と再始動とを表現するス
    テップとを具備することを特徴とするマルチタスク処理
    表示方法。
JP03899697A 1997-02-24 1997-02-24 マルチタスク処理装置、マルチタスク処理方法およびマルチタスク処理表示方法 Expired - Fee Related JP3349057B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP03899697A JP3349057B2 (ja) 1997-02-24 1997-02-24 マルチタスク処理装置、マルチタスク処理方法およびマルチタスク処理表示方法
US09/028,639 US6131109A (en) 1997-02-24 1998-02-24 Multitask processor, a multitask processing method, a multitask processing display method and a storage medium for processing by correlating task and object

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03899697A JP3349057B2 (ja) 1997-02-24 1997-02-24 マルチタスク処理装置、マルチタスク処理方法およびマルチタスク処理表示方法

Publications (2)

Publication Number Publication Date
JPH10240578A JPH10240578A (ja) 1998-09-11
JP3349057B2 true JP3349057B2 (ja) 2002-11-20

Family

ID=12540752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03899697A Expired - Fee Related JP3349057B2 (ja) 1997-02-24 1997-02-24 マルチタスク処理装置、マルチタスク処理方法およびマルチタスク処理表示方法

Country Status (2)

Country Link
US (1) US6131109A (ja)
JP (1) JP3349057B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3809727B2 (ja) * 1998-06-17 2006-08-16 富士ゼロックス株式会社 情報処理システム、回路情報管理方法および回路情報記憶装置
US6233729B1 (en) * 1998-10-29 2001-05-15 Nortel Networks Limited Method and apparatus for identifying dynamic structure and indirect messaging relationships between processes
US6346945B1 (en) * 1998-12-28 2002-02-12 Klocwork Solutions Method and apparatus for pattern-based flowcharting of source code
US6789092B1 (en) * 1999-11-01 2004-09-07 Oppedahl & Larson, Llp Status monitoring system
US20050149559A1 (en) * 1999-11-01 2005-07-07 Oppedahl & Larson Llp Status monitoring system
US7124134B2 (en) 2003-05-08 2006-10-17 Eugene Buzzeo Distributed, multi-user, multi-threaded application development system and method
US9195498B2 (en) * 2007-02-28 2015-11-24 International Business Machines Corporation Supply capability engine weekly poller
WO2008114323A1 (ja) 2007-03-20 2008-09-25 Fujitsu Microelectronics Limited プロセッサ・システム最適化支援装置、および支援方法
EP3862873A4 (en) * 2018-10-03 2021-10-13 Mitsubishi Electric Corporation SOFTWARE ANALYSIS DEVICE, SOFTWARE ANALYSIS METHOD AND SOFTWARE ANALYSIS PROGRAM
CN113127162B (zh) * 2019-12-31 2022-04-26 阿里巴巴集团控股有限公司 自动化任务执行方法、装置、电子设备及计算机存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4885717A (en) * 1986-09-25 1989-12-05 Tektronix, Inc. System for graphically representing operation of object-oriented programs
US5845125A (en) * 1993-06-21 1998-12-01 Kabushiki Kaisha Toshiba Debugger using class information and dynamic instance inter-relationships
US5519867A (en) * 1993-07-19 1996-05-21 Taligent, Inc. Object-oriented multitasking system
US5592600A (en) * 1994-09-27 1997-01-07 International Business Machines Corporation Animated display showing execution of object-oriented programs
US5606699A (en) * 1995-04-28 1997-02-25 International Business Machines Corporation Storing and querying execution information for object-oriented programs

Also Published As

Publication number Publication date
US6131109A (en) 2000-10-10
JPH10240578A (ja) 1998-09-11

Similar Documents

Publication Publication Date Title
US5214780A (en) Synchronized journaling system
US7380235B1 (en) Application program interface call replay tool
US6378124B1 (en) Debugger thread synchronization control points
Gait A debugger for concurrent programs
US5574854A (en) Method and system for simulating the execution of a computer program
EP0752653B1 (en) Method and system for synchronizing the execution of events during software testing
US8793115B2 (en) Interface converter for unified view of multiple computer system simulations
JP4472615B2 (ja) プログラマブルデバイスのモデリング方法および装置
US8225140B2 (en) Method and system for graphical user interface testing
US8510716B1 (en) System and method for simultaneously validating a client/server application from the client side and from the server side
JPH02272645A (ja) プログラム・デバツグ支援方法
JP3349057B2 (ja) マルチタスク処理装置、マルチタスク処理方法およびマルチタスク処理表示方法
Steinert et al. Coexist: overcoming aversion to change
EP3948547A1 (en) Reversible debugging in a runtime environment
JP2000066904A (ja) マルチタスク制御方法及び記憶媒体
Lämsä Comparison of GUI testing tools for Android applications
US20050079478A1 (en) Learning system
JP3339708B2 (ja) イベント記録方式
Griffin et al. A debugger for parallel processes
JP3207564B2 (ja) イベント記録方法及び装置
JP2788353B2 (ja) タスクトレース方法
Sienkiewicz et al. DDB: a distributed debugger based on replay
Lesavich Distributed debugging: an integrated approach
Francioni et al. A debugging standard for high-performance computing
Capuano Interactive visualization of concurrents programs [concurrents read concurrent]

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020827

LAPS Cancellation because of no payment of annual fees